ImageVerifierCode 换一换
格式:DOCX , 页数:10 ,大小:71.79KB ,
资源ID:9887904      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/9887904.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(VerilogHDL数字设计与综合第二版第七章课后习题答案最新整理.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

VerilogHDL数字设计与综合第二版第七章课后习题答案最新整理.docx

1、VerilogHDL数字设计与综合第二版第七章课后习题答案最新整理1.声明一个名为 oscillate 的寄存器变量并将它初始化为 0。使其每 30 个时间单位进行一次取反操作。不要使用 always 语句。提示:使用 forever 循环。答:代码如下:reg oscillate;initial beginoscillate=0;forever #30 oscillate=oscillate; end2.设计一个周期为 40 个时间单位的时钟信号,其占空比为 25%。使用 always 和 initial 块进行设计。将其在仿真 0 时刻的值初始化为 0。答:代码如下:reg clock;

2、initial clock=0;always begin#30 clock=1;#10 clock=0; end3.给定下面含有阻塞过程赋值语句的 initial 块。每条语句在什么仿真时刻开始执行?a,b,c4.和 d 在仿真过程中的中间值和仿真结束时的值是什么?答:仿真输出结果:5.在第 3 题中,如果initial 块中包括的是非阻塞过程赋值语句,那么各个问题的答案是什么?答:最终 d 没有输出,因为 d= #20 a,b,c;语句执行的是先将 a,b,c 取值存储,在 20 个时间单位后将存储的值赋给 d,因为 b,c 在初始时刻没有值,所以 d 值也是不确定的。6.指出在下面的 Ve

3、rilog 代码中各条语句的执行顺序。其中是否含有不确定的执行顺序?a,b,c7.和 d 的最终值是什么?答:先执行 a=1b0,b=1b1,然后执行#0 c=b,#0 d=a,执行顺序不确定,最终输出结果 a=0,b=1,c=1,d=0.8.在下面的例子中,d 的最终值是什么?答:仿真输出波形如下,最终输出结果 d=1。0 时刻 b|c 的值是 1,在 25 个时间刻度后赋给 d。9.使用带有同步清零端的 D 触发器(清零端高电平有效,在时钟下降沿执行清零操作)设计一个下降沿触发的 D 触发器,只能使用行为语句。提示:D 触发器的输出 q 应当声明为寄存器变量。使用设计出的 D 触发器输出一

4、个周期为 10 个时间单位的时钟信号。答:第七题和第八题参见 chapter7.v10.使用带有异步清零端的D 触发器设计第 7 题中要求的D 触发器(在清零端变为高电平后立即执行清零操作,无需等待下一个时钟下降沿),并对这个 D 触发器进行测试。答:第七题和第八题参见 chapter7.v11.使用wait 语句设计一个电平敏感的锁存器,该锁存器的输入信号为d 和clock,输出为q。其功能是当 clock = 1 时 q = d。答:代码及输出波形如下: module my_latch(d,clock,q); input d,clock;output q; reg q; alwayswai

5、t(clock) begin#1 q=d; /注意,这里的赋值语句前必须要加上#延迟,否则无法仿真。end endmodulemodule test79;reg d,clock; wire q;initialclock=0; always#10 clock=clock; initialbegin d=1b0;#15 d=1b1;#50 d=1b0;#20 $stop; endmy_latch my_latch1(d,clock,q); endmodule12.使用条件语句设计例 7.19 中的四选一多路选择器。外部端口必须保持不变。答:代码如下(标注行可以去掉)module mux_41(ou

6、t,i0,i1,i2,i3,s1,s0); input i0,i1,i2,i3;input s0,s1; output out; reg out;always (*) if(s1=0 & s0=0)out=i0;else if (s1=0 & s0=1)out=i1;else if (s1=1 & s0=0)out=i2;else if (s1=1 & s0=1)out=i3; else$display(Invalid control signals); /可去endmodule 11使用条件语句对本章中的交通信号灯控制器进行重新设计。答:部分代码如下,其余代码与书中相同。always (st

7、ate) beginhwy=GREEN; cntry=RED; if(state=S1)hwy =YELLOW;else if (state=S2)hwy =RED;else if (state=S3) beginhwy=RED; cntry=GREEN;endelse if (state=S4) beginhwy=RED; cntry=YELLOW;endelse beginhwy=GREEN; cntry=RED;endendalways (state or X) beginif(state=S0) beginif (X)next_state=S1; elsenext_state=S0;e

8、ndelse if(state=S1) beginrepeat(Y2RDELAY) (posedge clock); next_state=S2;endelse if(state=S2) beginrepeat(R2GDELAY) (posedge clock); next_state=S3;endelse if(state=S3) beginif(X)endelsenext_state=S3; next_state=S4;else if(state=S4) beginrepeat(Y2RDELAY) (posedge clock); next_state=S0;end elsenext_st

9、ate=S0;end12.使用 case 语句设计八功能的算术运算单元(ALU),其输入信号 a 和 b 均为 4 位,功能选择信号 select 为 3 位,输出信号 out 为 5 位。算术运算单元 ALU 所执行的操作与 select 信号有关, 具体关系见下表。忽略输出结果中的上溢和下溢的位。select 信号 功 能3 b 000 out = a3 b 001 out = a + b3 b 010 out = a - b3 b 011 out = a / b3 b 100 out = a % b(余数)3 b 101 out = a 1out = a b(大小幅值比答:代码如下3 b

10、 111 较)module my_ALU(a,b,select,out); input 3:0 a,b;input 2:0 select;output 4:0 out;reg 4:0 out;always (*) case(select)3b000: out=a;3b001: out=a+b;3b010: out=a-b;3b011: out=a/b;3b100: out=a%b;3b101: out=a1;3b111: out=ab;default: out=5b00000; endcaseendmodule输出波形13.使用 while 循环设计一个时钟信号发生器。时钟信号的初值为 0,周

11、期为 10 个时间单位。答:代码如下module s13; reg clock; initialbeginclock=0; while (1)#5 clock=clock;#1000 $stop; end endmodule14.使用 for 循环对一个长度为 1024(地址从 0 到 1023)、位宽为 4 的寄存器类型数组 cache_ var进行初始化,把所有单元都设置为 0。答:简单的 for 语句module s14;reg 3:0 cache_var 0:1023; integer count;initial for(count=0;count1024;count=count+1)

12、cache_varcount=0;endmodule15.使用 forever 循环设计一个时钟信号,周期为 10,占空比为 40%,初值为 0。答:module s15; reg clock; initialbeginclock=0; forever begin#6 clock=1;#4 clock=0; endend endmodule16.使用 repeat 将语句 a = a + 1 延迟 20 个时钟上升沿之后再执行。答:initial beginrepeat (delay) (posedge clock) i=i+1; a=a+1;end17.下面是一个内嵌顺序块和并行块的块语句。

13、该块的执行结束时间是多少?事件的执行顺序是怎样的?每条语句的仿真结束时间是多少?答:仿真器输出如下,作为参考#0 x= 0,y= x,a= x,b= x,p= x,m= x/x=1b0#5 x= 0,y= 1,a= x,b= x,p= x,m= x/y=1b1#20 x= 0,y= 1,a= x,b= 1,p= x,m= x/b=y#25 x= 0,y= 1,a= 0,b= 1,p= x,m= x/a=x#65 x= 1,y= 1,a= 0,b= 1,p= x,m= x/x=1b1#70 x= 1,y= 1,a= 0,b= 1,p= x,m= 1/m=y#75 x= 1,y= 1,a= 1,b

14、= 1,p= 1,m= 1/p=x在时间 75 之后,还有#10 a=y; #30 b=x; 语句,由于 ab 原有值是 11,没有变化,故仿真器没有记录。在#85 执行 a=y,在#105 执行 b=x。全部结束的时间为#10518.用 forever 循环语句、命名块和禁用命名块来设计一个八位计数器。这个计数器从 count = 5开始计数,到 count = 67 结束计数。每个时钟正跳变沿计数器加 1。时钟的周期为 10。计数器的计数只用了一次循环,然后就被禁用了(提示:使用 disable 语句)。答:参考代码如下。module s18; reg clock;reg 7:0 coun

15、t; reg flag;initial begincount=5;clock=0;flag=0; forever #5 clock=clock;endalways (posedge clock) beginbegin: s18count=count+1;endif(count=8b1000010) beginflag=1; disable s18;$display(The end); #10 $stop;endend endmoduleAt the end, Xiao Bian gives you a passage. Minand once said, people who learn to

16、 learn are very happy people. In every wonderful life, learning is an eternal theme. As a professional clerical and teaching position, I understand the importance of continuous learning, life is diligent, nothing can be gained, only continuous learning can achieve better self. Only by constantly lea

17、rning and mastering the latest relevant knowledge, can employees from all walks of life keep up with the pace of enterprise development and innovate to meet the needs of the market. This document is also edited by my studio professionals, there may be errors in the document, if there are errors, please correct, thank you!

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1