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

上传人:h**** 文档编号:1372413 上传时间:2019-02-23 格式:DOCX 页数:20 大小:75.50KB
下载 相关 举报
蔡觉平老师,verilog上机作业.docx_第1页
第1页 / 共20页
蔡觉平老师,verilog上机作业.docx_第2页
第2页 / 共20页
蔡觉平老师,verilog上机作业.docx_第3页
第3页 / 共20页
蔡觉平老师,verilog上机作业.docx_第4页
第4页 / 共20页
蔡觉平老师,verilog上机作业.docx_第5页
第5页 / 共20页
点击查看更多>>
资源描述

1、上机作业题目 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 语句块为最后一条语句

2、执行结束的时间,fork-join 语句块为执行时间最长的那条语句执行结束的时间;5、行为描述的意义:begin-end 语句块为电路中的数据在时钟及控制信号的作用下,沿数据通道中各级寄存器之间的传送过程。fork-join 语句块为电路上电后,各电路模块同时开始工作的过程。程序如下:module b(a,b);output a,b;reg a,b;initialbegina=0;n s1 0 2 0AB0 3 0 4 0 5 0b=1;#10 a=1;forkb=0;#10 b=1;#20 a=0;join#10 b=0;#10 a=1;b=1;endendmodule题目 3. 分别用阻塞

3、和非阻塞赋值语句描述如下图所示移位寄存器的电路图。D Q D Qd i nc l kD Q D Qo u t 3o u t 2o u t 1o u t 0程序如下: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,out

4、1,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;in

5、itial begin clk=0;reset=0; #20 reset=1;enda 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)beginif(!reset) count=4b0000;else count=count+1;endassign result=count0|count1|count2|co

6、unt3;endmodule题目 5. 试用 Verilog HDL 门级描述方式描述如下图所示的电路。S 1S 2D 0D 1D 2D 3T 0T 1T 2T 3Z程序如下: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

7、题目 6. 试用查找真值表的方式实现真值表中的加法器,写出 Verilog HDL 代码:Cin ain bin sum Cout0 0 0 0 00 0 1 1 00 1 0 1 00 1 1 0 11 0 0 1 01 0 1 0 11 1 0 0 11 1 1 1 1程序如下: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;3

8、b001: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;endcaseendmodule题目 7:设计 16 位同步加法器和乘法器要求:(1)分析 16 位同步加法器和乘法器结构和电路特 点;(2)用硬件描述语言进行设计;(3)编写测试仿真并进行仿真。程序如下:module c;parameter adder16_

9、width=16;reg adder16_width-1:0ain,bin;reg Cin;wire adder16_width-1:0sum;wire Cout;initialbegin ain=10;bin=10;Cin=1;endinitialbegin#5 ain=16b1111111111111111;#10 bin=1;enda 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:

10、0mul;initial begin ain=2;din=2; endinitial begin #10 ain=100;#15 din=100; endb 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

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育教学资料库 > 试题真题

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。