《Verilog数字系统设计教程》(第4版)第3章思考题及答案

1.模块由几个部分组成?
由描述接口和描述逻辑功能两部分组成。
2.端口分为几种?
三种:输出口,输入口,输入/输出口。
3.为什么端口要说明信号的位宽?
因为如果不说明信号的位宽可能会在信号发生改变时发生错误,不容易看出接收到的信号的数据宽度,就很难进行数据的处理。
4.能否说模块相当于电路图中的功能模块,端口相当于功能模块的引脚?
可以那样说,每个模块都有特定的功能,而功能的实现就必须依靠具体的电路得以实现,端口是信号传递的通道,可以说是功能模块的引脚。
5.模块中的功能描述可以由哪几类语句或语句块组成?它们出现的顺序会不会影响功能的描述?
用assign语句声明,用实例元件,用always块。它们出现的顺序不会影响到功能的描述。
6.这几类描述中的哪一种直接与电路结构有关?
用实例元件直接与电路结构有关。
7.最基本的Verilog变量有哪几种类型?
wire型、reg型、memory型。
8.reg型和wire型变量的差别是什么?
reg型变量是寄存器变量,wire型变量是连线型变量。两者根本性的差别在于reg型变量有个寄存器来存放变量,这个值只有变量发生改变时才会改变,否则保证原来的值不变,wire型变量的值不是确定的值。
9.由连续赋值语句(assign)赋值的变量是否能是reg类型的?
可以是reg类型的变量。
10.在always模块中被赋值的变量能否是wire类型的?如果不能是wire类型的,那么必须是什么类型的?它们表示的一定是实际的寄存器吗?
不能。必须是reg类型的变量,它们表示的不一定是实际的寄存器。
11.参数类型的变量有什么用处?
参数类型的变量的好处是可以提高程序的可读性和可维护性。
12.Verilog语法规定的参数传递和重新定义功能有什么直接的应用价值?
可以用于定义延迟时间和变量宽度。
13.逻辑比较运算符小于等于“<=”和非阻塞赋值大于等于“<=”的表示是完全一样的,为什么Verilog在语句解释和编译时不会搞错?
因为逻辑比较时“<=”两边是两个操作数,此时“<=”是双目运算符,而在非阻塞赋值时“<=”的右边是操作数,此时“<=”是单目运算符。
14.是否可以说实例引用的描述实际就是严格意义上的电路结构描述?
不能实例引用的描述是在门级电路上加以描述的,和严格意义上的电路结构描述还是有点差距的。

  • 14
    点赞
  • 49
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值