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

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


HDLBits (72) — 4位BCD加法器的评论 (共 条)

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