HDLBits刷题(2_5_7)Bcdadd100

文章讲述了如何使用bcd_fadd模块,通过实例化100次来构建一个100位的BCD加法器。这个过程涉及到BCD码的4位表示和进位的传递,利用generate语句实现,其中cout_next变量用于存储进位信息,genvar定义的i作为循环变量。最终的加法器将两个100位BCD数和进位输入相加,产生100位和。
摘要由CSDN通过智能技术生成

题目:

为您提供了一个名为 bcd_fadd 的 BCD 一位数加法器,它将两个 BCD 数字和进位相加,并产生总和和进位输出。

实例化 100 个 bcd_fadd 副本以创建 100 位 BCD 纹波进位加法器。加法器应将两个 100 位 BCD 数字(打包为 400 位向量)和一个进位输入相加,以产生 100 位和并执行。 


提示:

用generate语句。


思路:

其实就是给了一个一位的BCD加法器,BCD码是4bit的。然后让我们实例化100个一位BCD加法器组合成100位BCD加法器,其实就是和前面的全加器是一样的,每一位的cout就是下一位的cin。只不过这里每一位是4bit。


解答:


 总结:

1.就是generate for的格式,for begin后要接  :模块名称。

2.中间定义了cout_next来寄存每一次的进位信息,最后要记得将模块的cout赋值为cout_next的最后一位。

3.generate使用的i,一定要用genvar来定义,在generate内外定义均可。

4.数的乘法就是用 *符号。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值