自学数字设计,针对《数字系统设计教程》中部分思考题做整理
第4章思考题
1.逻辑运算符与按位逻辑运算符有什么不同,它们各在什么场合使用?
2.指出两种逻辑等式运算符的不同点,解释书上的真值表
3.拼接符的作用是什么?为什么说合理的使用拼接符可以提高程序的可读性和可维护性?拼接符表示的操作其具体物理意义是啥?
4.如果都不带时间延迟,阻塞和非阻塞赋值有什么不同?举例说明它们的不同点?
5.举例说明顺序块和并行块的不同?
6.如果在顺序块中,前面有一条语句是无限循环的,下面的语句能否进行?
7.如果在并行块中,发生上述问题,会如何?
答:
1.逻辑运算符是两个操作数进行逻辑运算,而按位逻辑运算符运算时是两个操作数对应的每一位进行逻辑运算。逻辑运算符多用于条件的判断,而按位逻辑运算符用于信号的运算和检测。
2.==是等于,只包括0和1之间的等式比较;===是全等,包含0,1,x(不定态),z(高阻态)
3.拼接符的作用就是将两个信号或多个信号的某些位拼接起来进行运算操作,其物理意义是多个信号结合成一个信号。
4.阻塞赋值要等上一条语句完成才进行,非阻塞赋值语句之间会并行运行
5.顺序块begin end 之间是顺序执行,并行块fork join 之间是并行结构
6.不会进行
7.并行块中会执行下面的语句