欢迎光临散文网 会员登陆 & 注册

HDLBits (162) — 加法器/减法器

2022-06-14 02:49 作者:僚机Wingplane  | 我要投稿

本题链接:

https://hdlbits.01xz.net/wiki/Bugs_addsubz

以下带有零标志的加减法器不起作用, 修复错误。

题目

答案

输出波形

条件(if)语句用于控制执行语句要根据条件判断来确定是否执行。条件语句用关键字 if 和 else 来声明,条件表达式必须在圆括号中。如果 if 条件每次执行的语句只有一条,那么可以不使用 begin 与 end 关键字。但如果是 if-if-else 的形式,即便执行语句只有一条,不使用 begin 与 end 关键字也会引起歧义。当然,编译器一般按照就近原则,使 else 与最近的一个 if(例子中第二个 if)相对应。但显然这样的写法是不规范且不安全的。所以条件语句中加入 begin 与 and 关键字就是一个很好的习惯。

case 语句是一种多路条件分支的形式,可以解决 if 语句中有多个条件选项时使用不方便的问题。case 语句支持嵌套使用。case 语句中的条件选项表单式不必都是常量,也可以是 x 值或 z 值。当多个条件选项下需要执行相同的语句时,多个条件选项可以用逗号分开,放在同一个语句块的候选项中。但是 case 语句中的 x 或 z 的比较逻辑是不可综合的,所以一般不建议在 case 语句中使用 x 或 z 作为比较值。

参考内容:

4.5 Verilog 条件语句 | 菜鸟教程:

https://www.runoob.com/w3cnote/verilog-condition-statement.html

4.6 Verilog 多路分支语句 | 菜鸟教程:

https://www.runoob.com/w3cnote/verilog-case.html


HDLBits (162) — 加法器/减法器的评论 (共 条)

分享到微博请遵守国家法律