最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 正文

Verilog_HDL试卷及答案

来源:动视网 责编:小OO 时间:2025-10-01 21:08:25
文档

Verilog_HDL试卷及答案

reg[7:0]一、选择题:1、下列标示符哪些是合法的(B)A、$timeB、_dateC、8sumD、mux#2、如果线网类型变量说明后未赋值,起缺省值是(D)A、xB、1C、0D、z3、现网中的值被解释为无符号数。在连续赋值语句中,assignaddr[3:0]=-3;addr被赋予的值是(A)//补码!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!A、4’b1101B、4’b0011C、4’bxx11D、4’bzz114、reg[7:0]mema[
推荐度:
导读reg[7:0]一、选择题:1、下列标示符哪些是合法的(B)A、$timeB、_dateC、8sumD、mux#2、如果线网类型变量说明后未赋值,起缺省值是(D)A、xB、1C、0D、z3、现网中的值被解释为无符号数。在连续赋值语句中,assignaddr[3:0]=-3;addr被赋予的值是(A)//补码!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!A、4’b1101B、4’b0011C、4’bxx11D、4’bzz114、reg[7:0]mema[
reg[7:0]

一、选择题:

1、下列标示符哪些是合法的(B)

A、$timeB、_dateC、8sumD、mux#

2、如果线网类型变量说明后未赋值,起缺省值是(D)

A、xB、1C、0D、z

3、现网中的值被解释为无符号数。在连续赋值语句中,assignaddr[3:0]=-3;addr被赋予的值是(A)//补码!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

A、4’b1101B、4’b0011C、4’bxx11D、4’bzz11

4、reg[7:0]mema[255:0]正确的赋值是(A)

A、mema[5]=3’d0,B、8’d0;C、1’b1;D、mema[5][3:0]=4’d1

5、在code模块中参数定义如下,请问top模块中d1模块delay1、delay2的值是(D)

modulecode(x,y);moduletop;

parameedelay1=1,delay2=1;…………….

………………………………code#(1,5)d1(x1,y1);

endmoduleendmodule

A、(1,1)B、(5,5)C、(5,1)D、(1,5)

6、“a=4’b11001,b=4’bx110”选出正确的运算结果(B)

A、a&b=0B、a&&b=1C、b&a=xD、b&&a=x

7、时间尺度定义为timescale10ns/100ps,选择正确答案(C)

A、时间精度10nsB、时间单位100psC、时间精度100psD、时间精度不确定

8、若a=9,执行$display(“currentvalue=%0b,a=%0d”,a,a)正确显示为(B)//去除无效0

A、currentvalue=1001,a=09B、currentvale=1001,a=9

C、1001,9D、currentvale=00…001001,a=9

9、alwaysbegin#5clk=0;#10clk=~clk;end产生的波形(A)//5占15的1/3

A、占空比1/3B、clk=1C、clk=0D、周期为10

10、在Verilog中定义了宏名`definesuma+b+c下面宏名引用正确的是(C)

//注意引用

A、out=’sum+d;B、out=sum+d;C、out=`sum+d;D、都正确

二、填空题:(共15分,每小题3分)

1、某一纯组合电路输入为in1,in2和in3,输入出为out,则该电路描述中always的事件表达式应写为always@(in1,in2,in3);若某一时序电路由时钟clk信号上升沿触发,同步高电平复位信号rst清零,该电路描述中always的事件表达是应该写为always@(posedgeclk)。

//@(条件表达式)do_something;

表示等待条件表达式满足,然后do_something,然后就往下走了。通常用在testbench中,不可综合。

------------------------------------

always@(aorborc)begin

do_something;

end

表示不停地监测a、b、c,一旦它们任何一个发生变化,就立刻do_something,并且这个“监测”是始终存在的。这种电路综合出来时组合逻辑电路。

------------------------------------

always@(posedgeclk)begin

do_something;

end

表示不停地监测clk的上升沿,一旦监测到,就立刻do_something,并且这个“监测”是始终存在的。这种电路综合出来时时序逻辑电路。

当然,也可以把posedge改成negedge,那就成了监测下降沿。

带异步复位端的寄存器的写法类似是这样的

always@(posedgeclkornegedgerst_n)begin//resetisactivelow

if(rst_n)reset_process;

elseset_register_value;

end

2、在模块中对任务进行了定义,调用此任务,写出任务的调用mytast(f,g,m,n,p)//。

//先输出,再输入

taskmytast;要求:变量的传递关系如下

outputx,y;m——a,n——b,p——c,x——f,y——g

inputa,b,c;

…….

endtask

3、if(a)out1<=int1;当a=1执行out1<=int1

elseout1<=int2;当a=0执行out1<=int2

4、4’b1001<<2=4’b100100,4’b1001>>2=4’b0010。//移位补0!!!!!!!!!!!

5、下面程序中语句5、6、7、11是并行执行,语句9、10是顺序执行

1moduleM(……);

2input…….;

3output……;

4rega,b……;

5always@(……..)

6assignf=c&d;

7always@(……..)

8begin

9a=…….;

10b=…….;

end

11muxmux1(out,in0,in1);

endmodule

四、简答题:(共30分)

1、always语句和initial语句的关键区别是什么?能否相互嵌套?(5分)

always语句是循环语句,initial只执行一次。它们不能嵌套。

2、画出下面程序段中r(reg型)的仿真波形(6分)

fork

#20r=1’b0;

#10r=1’b1;

#15r=1’b1;

#25r=1’b1;

#5r=1’b0;

join

3、画出下面程序综合出来的电路图。(7分)

always@(posedgeclk)

begin

q0<=~q2;

q1<=q0;

q2<=q1;

end

4、HA模块程序如下,写出引用HA模块描述FA模块的Verilog程序。(7分)

moduleHA(A,B,S,C);

inputA,B;

outputS,C;

assign{C,S}=A+B;

endmodule

moduleFA(A,B,Ci,Co,S);

inputA,B,Ci;

outputCo,S;

wireSl,C1,C2;

HAa(A,B,Sl,C1);

HAb(Sl,Ci,C2,S);

assignCo=C1|C2;

endmodule

5、写出下面程序中变量x,y,cnt,m,q的类型(5分)

x为wire型

y为reg或wire型

cnt为reg型

m为reg或wire型

q为reg型

Assginx=y;

always@(posegdeclk)

begin

cnt=m+1;

q=~q;

end

五、编程题:(6分)

1、设计一奇偶校验位生成电路,输入八位总线信号bus,输出及校验位odd,偶校验位even。(6分)

2、设计一个带复位端且对输入时钟clk进行二分频模块,并画出仿真波形。(9分)

设计要求:复位信号为同步、高电平有效,时钟的下降沿触发

3、设计一带异步复位端、异步置数段(低电平有效)的四位加法计数器,时钟clk上升沿有效),复位信号clr,置数信号load、输入数据data、输出qout。并画出仿真波形。(20分)

五题答案1.moduleparity(even,odd,bus);

outputeven,odd;

input[7:0]bus;//奇同偶异

assigneven=^bus;//偶校验用异或

assignodd=^~bus;//奇校验用同或

endmodule

2.modulem2(out,clk,reset);

inputreset,clk;

outputout;

regout;

always@(negedgeclk)

begin

if(reset)

out<=0;

else

out<=~out;

end

endmodule

3.moduleadder_4(qout,clr,clk,load,data);

output[3:0]qout;

input[3:0]data;

inputload,clr,clk;

reg[3:0]qout;

always@(posedgeclkornegedgeloadornegedgeclk)

begin

if(!load)

qout<=data;

elseif(!clr)

qout<=0;

elseqout<=qout+1;

end

endmodule

文档

Verilog_HDL试卷及答案

reg[7:0]一、选择题:1、下列标示符哪些是合法的(B)A、$timeB、_dateC、8sumD、mux#2、如果线网类型变量说明后未赋值,起缺省值是(D)A、xB、1C、0D、z3、现网中的值被解释为无符号数。在连续赋值语句中,assignaddr[3:0]=-3;addr被赋予的值是(A)//补码!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!A、4’b1101B、4’b0011C、4’bxx11D、4’bzz114、reg[7:0]mema[
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top