7. 乘法器

1. 无符号数的乘法

1.1 设计要求:

求无符号数MUL[15:0] = A[9:0] * B[5:0]的结果

通过写乘法器了解乘法器原理,了解如何优化乘法器的时序。理论上,对于一个普通的乘法器,我们直接使用a*b就可以得出。但它的时钟频率会很低。

1.2 补充:

无符号数乘法器的设计——方法1:(几乎没人用该方法)

  1. 选定部分积产生方式。尽量减小部分积数目
  2. 采用移位加实现
  3. 得到6个部分积分P1~P6
  4. 最终结果MUL = P1+P2+P3+P4+P5+P6
  5. 缺点是速度慢,面积大

3-2压缩器(全加器),把三个部分积压缩为2个

  1. Cout = A&B | A&Ci | B&Ci
  2. Sum = A^B^Ci
  3. {Cout, Sum} = A+B+Ci

2-2压缩器(半加器)

其他如4-2压缩器等等

1.3 设计代码

1. pp_gen模块:用于产生部分积

2.compress3_2模块,通过全加器将其中三个部分积压缩为两个

3. mul_top顶层模块

1. 仿真代码及波形

仿真代码:

波形:

2. 有符号数的乘法

有符号数与无符号数的乘法的区别:部分积的产生方式不同。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值