输入为两个16位有符号数,输出32位相乘结果。要求采用Booth编码和Wallace树型结构。 计算例子: 0110000010000000 * 1000000000000001 = 11001111110000000110000010000000 (24704) * (-32767) = (-809475968) 顶层模块名为mul_tc_16_16,输入输出功能定义: 名称 方向 位宽 描述 a I 16 输入数据,二进制补码 b I 16 输入数据,二进制补码 product O 32 输出乘积a * b,二进制补码
1
关于 这个代表是一个modelsim 10.2c项目,该项目是一个快速乘法器电路的Verilog实现。 细节: 使用booth-radix 4算法生成部分乘积 使用基于 CSA 的 Wallace-tree-like 树来压缩部分乘积 进位超前加法器进行最终压缩。 压缩树的描述可以在 doc/CompressTreeDesign 目录中找到。
2022-03-06 15:23:55 139KB Verilog
1