虚拟机:VMware-workstation-full-14.0.0.24051
环 境:ubuntu 18.04.1
应用工具:VCS(verilog compiled simulator,编译型代码仿真器)
练习1
- 下列模块被综合后会产生几个触发器
always @(posedge Clk)
begin: Blk
reg B,C;
C=B;
D<=C;
B=A;
end
//1) 2 个寄存器 B 和 D
//2) 2 个寄存器 B和C
//3) 3 个寄存器 B,C 和 D
//4) 1 个寄存器 D
//5) 2 个寄存器 C 和 D
//参考答案:1)
练习2
- 根据图8.4电路调整语句顺序。
Output=FF3
reg FF1,FF2,FF3;
FF2=FF1;
always @ (posedge Clock)
end
FF3=FF2;
begin
- 参考答案
练习3
- 根据SEL和OP列的时应关系,在模块的空括号中填入相应的值。
SEL : OP
000 : 1
001 : 3 casex(SEL)
010 : 1 3'b ( ): OP=3 ;
011 : 3 3'b ( ): OP=1;
100 : 0 3'b ( ): OP=0;
101 : 3 endcase
110 : 0
111 : 3
//参考答案:
casex(SEL)
3'bXX1: OP=3;
3'b0X0: OP=1;
3'b1X0: OP=0;
endcase
练习4
- 下面表达式正确的是?
1) 4'b1010 & 4'b1101 = 1'b1
2)~4'b1100 = 1'b1
3)!4'b1011 || !4'b0000 ≈ 1'b1
4)& 4'b1101 ≈ 1'b1
5)1'b0 || 1'b1 = 1'b1
6)4'b1011 && 4'b0100 = 4'b1111
7)4'b0101<<1 = 5'b01011
8)!4'b0010 is 1'b0
9) 4'b0001 || 4'b0000 ≈ 1'b1
//参考答案:3)、5)、8)、9)
练习5
- display的正确值是多少
integer I;
reg[3:0] A;
reg[7:0] B;
initial begin
I=-1; A=I; B=A;
$display(“%b”,B);
A=A/2;
$ display(“%b”,A);
B=A+14;
$ display(“%d”,B);
A=A+14;
$ display(“%d”,A);
A=-2; I=A/2;
$ display(“%d”,I);
end
//参考答案
I=-1 ;A=I ;B=A ;
&display( “%b ”,B);( 00001111 )
A=A/2;
&display( “%b ”,A);( 0111 )
B=A+14;
&display( “%d ”,B);( 21 )
A=A+14;
&display( “%d ”,A);( 5 )
A=-2; I=A/2;
&display( “%d ”,I);( 7 )
练习6
- {1,0}和下面哪个值相等
1) 2'b01
2) 2'b10
3) 2'b00
4) 64'H000000000002
5) 64'H0000000100000000
//参考答案:5)
练习7
- 填空
1 )defs.Reset
2) “defs.v”.Reset
3) M.Reset
4) Reset
- 参考答案
练习8
- 如果调用Pipe时,想把Depth的值变为8,问程序中的空括号内填入何值?
Module Pipe(IP,OP)
parameter Option=1;
parameter Depth=1;
…
endmodule
Pipe( ) P1(IP1,OP1);
//参考答案:#(1,8)
练习9
- 若想使P1中的Depth的值变为16,则应向空括号中填入哪个选项。
module Pipe(IP,OP);
parameter Option=1;
parameter Depth=1;
...
endmodule
module
Pipe P1(IP1,OP1);
( );
endmodule
1)defparam P1.Depth=16;
2)parameter P1.Depth=16;
3)parameter Pipe.Depth=16;
4)defparam Pipe.Depth=16;
//参考答案:1)
练习10
- 若想在Test的monitor语句中观察Count的值,则在括号中填入什么
module Test
Top T( );
initial
&monitor( )
endmodule
module Top;
Block B1();
Block B2();
endmodule
module Block;
Counter C();
endmodule
module Counter;
reg[3:0]Count;
...
endmodule
//参考答案:T.B1.C.Counter,T。B2.C.Count
练习11
- 如所示方框中用initial块给reg [7:0] V赋值,请指明每种情况下V的8位数都是什么值
作者:xlinxdu
版权:本文版权归作者所有
转载:未经作者允许,禁止转载,转载必须保留此段声明,必须在文章中给出原文连接。