HDLBits (72) — 4位BCD加法器
2022-03-13 21:11 作者:僚机Wingplane | 我要投稿
本题链接:
https://hdlbits.01xz.net/wiki/Bcdadd4
提供了一个 BCD (二进制编码的十进制数)一位加法器 BCD _ fadd,它将两个BCD数字和进位相加,并生成一个和和和进位。
实例化4个BCD_FADD副本以创建4位BCD并行加法器。加法器应该加上两个4位BCD数(压缩成16位向量)和一个进位,以产生4位和并输出。

题目
提示:
5位十进制数12345 的 BCD 表示是20'h12345,与14'd12345 不同(应该是14'h3039).
该电路的结构类似于二进制并行加法器,只是加法器是以10为基数的,而不是以2为基数的。

答案

输出波形


当位宽大于 1 时,wire 或 reg 即可声明为向量的形式。例如:
对于上面的向量,我们可以指定某一位或若干相邻位,作为其他逻辑使用。例如:
Verilog 支持可变的向量域选择,例如:
Verillog 还支持指定 bit 位后固定位宽的向量域选择访问。
[bit+: width] : 从起始 bit 位开始递增,位宽为 width。
[bit-: width] : 从起始 bit 位开始递减,位宽为 width。
对信号重新进行组合成新的向量时,需要借助大括号。例如:
参考内容:
2.3 Verilog 数据类型| 菜鸟教程:
https://www.runoob.com/w3cnote/verilog-data-type.html