蔡觉平老师,verilog上机作业.docx

上传人:s****u 文档编号:12788506 上传时间:2020-05-24 格式:DOCX 页数:20 大小:75.50KB
返回 下载 相关 举报
蔡觉平老师,verilog上机作业.docx_第1页
第1页 / 共20页
蔡觉平老师,verilog上机作业.docx_第2页
第2页 / 共20页
蔡觉平老师,verilog上机作业.docx_第3页
第3页 / 共20页
点击查看更多>>
资源描述
上机作业题目2:简述begin-end语句块和fork-join语句块的区别,并写出下面信号对应的程序代码begin-end语句块和fork-join语句块的区别:1、执行顺序:begin-end语句块按照语句顺序执行,fork-join语句块所有语句均在同一时刻执行;2、语句前面延迟时间的意义:begin-end语句块为相对于前一条语句执行结束的时间,fork-join语句块为相对于并行语句块启动的时间;3、起始时间:begin-end语句块为首句开始执行的时间,fork-join语句块为转入并行语句块的时间;4、结束时间:begin-end语句块为最后一条语句执行结束的时间,fork-join语句块为执行时间最长的那条语句执行结束的时间;5、行为描述的意义:begin-end语句块为电路中的数据在时钟及控制信号的作用下,沿数据通道中各级寄存器之间的传送过程。fork-join语句块为电路上电后,各电路模块同时开始工作的过程。程序如下:module b(a,b);output a,b;reg a,b;initialbegin a=0; b=1; #10 a=1;fork b=0; #10 b=1; #20 a=0;join #10 b=0; #10 a=1; b=1;endendmodule题目3. 分别用阻塞和非阻塞赋值语句描述如下图所示移位寄存器的电路图。程序如下:module block1(din,clk,out0,out1,out2,out3);input din,clk;output out0,out1,out2,out3;reg out0,out1,out2,out3;always(posedge clk)begin out3=out2;out2=out1;out1=out0;out0=din;endendmodulemodule non_block1(din,clk,out0,out1,out2,out3);input din,clk;output out0,out1,out2,out3;reg out0,out1,out2,out3;always(posedge clk)begin out0=din;out1=out0;out2=out1;out3=out2;endendmodule题目4:设计16位同步计数器要求:(1)分析16位同步计数器结构和电路特点; (2)用硬件描述语言进行设计; (3)编写测试仿真并进行仿真。程序如下:module b; reg clk; reg reset; wire 3:0count,result; always #5 clk=clk; initial begin clk=0;reset=0; #20 reset=1;end a U1(.clk(clk),.reset(reset),.result(result),.count(count);endmodule module a(count,clk,reset,result); output count,result; input clk,reset; reg 3:0count; always(posedge clk) begin if(!reset) count=4b0000; else count=count+1; end assign result=count0|count1|count2|count3;endmodule题目5. 试用Verilog HDL门级描述方式描述如下图所示的电路。程序如下:module diwuti(D0,D1,D2,D3,S1,S2,Z);output Z;input D0,D1,D2,D3,S1,S2;wire wi1,wi2,w3,w4,w5,w6;not U1(w1,S1), U2(w2,S2);and U3(w6,D3,S2), U4(w5,D2,S1,w2), U5(w4,D1,S1,w1), U6(w3,D0,w1,w2);or U7(Z,w3,w4,w5,w6);endmodule题目6. 试用查找真值表的方式实现真值表中的加法器,写出Verilog HDL代码:CinainbinsumCout0000000110010100110110010101011100111111程序如下:module fulladder(SUM,C_OUT,A,B,C_IN);output SUM,C_OUT;input A,B,C_IN;reg SUM,C_OUT;always(A or B or C_IN)case(A,B,C_IN) 3b000:SUM=0; 3b000:C_OUT=0; 3b001:SUM=1; 3b001:C_OUT=0; 3b010:SUM=1; 3b010:C_OUT=0; 3b011:SUM=0; 3b011:C_OUT=1; 3b100:SUM=1; 3b100:C_OUT=0; 3b101:SUM=0; 3b101:C_OUT=1; 3b110:SUM=0; 3b110:C_OUT=1; 3b111:SUM=1; 3b111: C_OUT=1; endcase endmodule题目7:设计16位同步加法器和乘法器要求:(1)分析16位同步加法器和乘法器结构和电路特 点; (2)用硬件描述语言进行设计; (3)编写测试仿真并进行仿真。程序如下:module c; parameter adder16_width=16; reg adder16_width-1:0ain,bin; reg Cin; wire adder16_width-1:0sum; wire Cout; initial begin ain=10;bin=10;Cin=1; end initial begin #5 ain=16b1111111111111111;#10 bin=1; end a U1(.ain(ain),.bin(bin),.Cin(Cin),.Cout(Cout),.sum(sum);endmodulemodule d; parameter width=16; reg width-1:0ain,din; wire width*2-1:0mul; initial begin ain=2;din=2; end initial begin #10 ain=100;#15 din=100; end b U1(.ain(ain),.din(din),.mul(mul);endmodulemodule a(bin,ain,sum,Cout,Cin); parameter width=16; output width-1:0sum; output Cout; input width-1:0ain,bin; input Cin; assign Cout,sum=ain+bin+Cin;endmodule module c(ain,din,mul); parameter width=16; input width-1:0ain,din; output width*2-1:0mul; assign mul=ain*din;endmodule题目8. 将下面的状态转移图用Verilog HDL描述。在图中,状态机的输入只与状态的跳转有关,与状态机的输出无关,因此该状态机为摩尔型状态机。下面为三段式描述方式程序如下:module b(clk,out,step,clr); output 2:0out; input step,clk,clr; reg 2:0out; reg 1:0state,next_state; always (posedge clk) state=next_state; always (state or clr) if(clr) next_state=0; else case(state) 2b00: case(step) 1b0:begin next_state=2b00;out=3b001;end 1b1:begin next_state=2b01; out=3b001;end endcase 2b01: begin out=3b010; next_state=2b11; end 2b11: case(step) 1b0:begin next_state=2b00;out=3b100;end 1b1:begin next_state=2b10;out=3b100;end endcase 2b10: case(step) 1b0:begin next_state=2b10;out=3b111;end 1b1:begin next_state=2b00;outy)=(10,12,14); (b=y)=(10,12,14); (s=y)=(11,13,15); (s0=y)=(11,13,15); endspecifyendmodulemodule b(a,s,b,y); input s,a,s,b; output y; wire s0; not #(4)U1(s0,s); delay_door U2(a,s,b,y,s0);endmodule题目10.设计一个8位数字显示的简易频率计。要求:能够测试10Hz10MHz方波信号;电路输入的基准时钟为1Hz,要求测量值以8421BCD码形式输出;系统有复位键;采用分层次分模块的方法,用Verilog HDL进行设计。程序如下:module x; reg standard_clk; reg test_clk; wire 7:0out; reg reset; initial begin reset=0; test_clk=0; standard_clk=0; end initial #15 reset=1; always #1 test_clk=test_clk; always #10 standard_clk=standard_clk; a U1(.reset(reset),.test_clk(test_clk),.standard_clk(standard_clk),.ratio_final(out);endmodulemodule a(reset,test_clk,standard_clk,ratio_final); input reset,test_clk,standard_clk; output 7:0ratio_final; wire mul_clk; wire reset_comp; wire 7:0ratio_start; and U0(reset_comp,reset,standard_clk); t U1(.ain(test_clk),.din(standard_clk),.mul(mul_clk); w U2(.clk(mul_clk),.count(ratio_start),.reset(reset_comp); c U3(.ratio_start(ratio_start),.ratio_final(ratio_final);endmodule module w(clk,count,reset); input clk,reset; output count; parameter bit=8; reg bit-1:0count; always (posedge clk or negedge reset) if(!reset) count=8b00000000; else count=count+1; endmodulemodule t(ain,din,mul); parameter width=1; input width-1:0ain,din; output width*2-1:0mul; assign mul=ain*din;endmodulemodule c(ratio_start,ratio_final); input 7:0ratio_start; output 7:0ratio_final; assign ratio_final=2*ratio_start;endmodule题目11. 用Verilog HDL设计一个4位LED显示器的动态扫描译码电路。要求:4个七段显示器共用一个译码驱动电路;显示的数码管清晰明亮,无闪烁现象发生。程序如下:module a(out,in); output out; input in; reg6:0out; wire3:0in; always(in) begin case(in) 4d0:out=7b1111110; 4d1:out=7b0110000; 4d2:out=7b1101101; 4d3:out=7b1111001; 4d4:out=7b0110011; 4d5:out=7b1011011; 4d6:out=7b1011111; 4d7:out=7b1110000; 4d8:out=7b1111111; 4d9:out=7b1111011; endcase endendmodulemodule w(in1,in2,in3,in4,out1,out2,out3,out4); output out1,out2,out3,out4; input in1,in2,in3,in4; wire 3:0in1,in2,in3,in4; wire6:0out1,out2,out3,out4; a U1(.in(in1),.out(out1); a U2(.in(in2),.out(out2); a U3(.in(in3),.out(out3); a U4(.in(in4),.out(out4);endmodulemodule c; reg 3:0in1,in2,in3,in4; wire6:0out1,out2,out3,out4; initial begin in1=4b0010; in2=4b0100; in3=4b1000; in4=4b0000; end initial begin #5 in4=4b0111; in3=4b0110; in2=4b0100; in1=4b0000; end w U1(in1,in2,in3,in4,out1,out2,out3,out4); endmodule
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 图纸专区 > 考试试卷


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!