《EDA技术与VerilogHDL》(清华第二版)习题1解析及答案.docxVIP

《EDA技术与VerilogHDL》(清华第二版)习题1解析及答案.docx

本文档由用户AI专业辅助创建,并经网站质量审核通过
  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

《EDA技术与VerilogHDL》(清华第二版)习题1解析及答案

考试时间:______分钟总分:______分姓名:______

一、选择题

1.下列哪个选项不是VerilogHDL中的数据类型?

(a)`reg`

(b)`integer`

(c)`logic`

(d)`array`

2.在VerilogHDL中,表示8位二进制数的正确方式是?

(a)`8

(b)`8hA2`

(c)`8d178`

(d)以上都是

3.下列关于阻塞赋值(=`)和非阻塞赋值(=)的描述,哪项是正确的?

(a)阻塞赋值主要用于连续赋值语句,非阻塞赋值主要用于`always`块。

(b)在模拟时间点上,阻塞赋值优先于非阻塞赋值发生。

(c)非阻塞赋值更适合描述组合逻辑,阻塞赋值更适合描述时序逻辑。

(d)两者在行为描述和结构描述中的使用完全相同。

4.如果一个Verilog模块的端口声明为`input[3:0]data_in,outputregy`,那么`data_in`表示的是?

(a)4位宽的输出端口

(b)4位宽的输入端口

(c)1位宽的输出端口

(d)1位宽的输入端口

5.语句`assign#5y=ab;`表示?

(a)当a或b为高电平时,y在5个时间单位后变为1。

(b)y的值等于a和b的逻辑与,并在5个时间单位后发生变化。

(c)y的值等于a和b的逻辑与,变化延迟5个时间单位。

(d)该语句语法错误,不能使用连续赋值表达时延。

二、填空题

6.VerilogHDL中用于表示字面量(常量)的数据类型包括数值、字符串和__________。

7.在VerilogHDL中,`always@(posedgeclk)`语句通常用于描述__________逻辑。

8.运算符`~`在VerilogHDL中表示__________运算。

9.语句`initialbegin#10;$finish;end`在模拟中执行一次性的初始化任务,并在__________时间后结束模拟。

10.将8位宽的数值`15`以无符号格式表示为`8b0011_1111`,其有符号格式表示为`8b__________`。

三、判断题(请判断下列描述的正误,正确的划“√”,错误的划“×”)

11.`reg`类型的变量可以在组合逻辑中驱动,也可以在时序逻辑中驱动。

12.`wire`类型的端口在模块实例化时只能单向连接(从输出端口到输入端口)。

13.`assign`语句既可以用于连续赋值,也可以用于表示组合逻辑功能。

14.`always`块和`initial`块都可以在模拟开始时执行,但`always`块通常用于描述重复的行为。

15.位运算符如`|^~`可以作用于不同位宽的数据类型,只要它们能够对齐。

四、简答题

16.简述阻塞赋值(=`)和非阻塞赋值(=)的主要区别,并说明在什么场景下通常使用非阻塞赋值。

17.解释VerilogHDL中`input`,`output`,`inout`三种端口类型的作用和区别。

18.`always@(posedgeclkornegedgeclk)`与`always@(posedgeclk)`在行为描述上有何不同?请说明原因。

五、代码改错题

19.以下是一段Verilog代码,其中包含若干错误,请找出并改正:

```verilog

moduleexample;

rega,b;

wirec;

outputd;

rege;

assignc=ab;//Line5

always@(aorb)d=c|e;//Line6

initialbegin

a=1b0;b=1b1;e=1b1;

#20;//Line9

a=1b1;b=1b0;

#10;//Line11

$display(d=%b,d);

end

endmodule

```

请指出每一行中的错误(或说明哪些行是正确的),并给出改正后的代码。

六、代码填空题

20.请将以下描述3位比较器(比较两个3位输入`a`和`b`,输出`eq`为1表示相等,`gt`为1表示`a`大于`b`)的Verilog代码补充完整:

```

您可能关注的文档

文档评论(0)

夜~紫儿 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档