文件名称:Radix-4_Booth_Multiplier
文件大小:526KB
文件格式:ZIP
更新时间:2024-04-27 14:58:21
Verilog
期中作业-设计文档和仿真报告 1. 算法 根据Booth算法,一个16位二进制数A可被表示为如下形式: 将上述方程应用到A*B后,我们可以得到: 因此,基于Radix-4的Booth算法,我们可以将A*B转化为9个部分积之和。应用Wallace树,每次对三个数求和,可以将九个部分积求和的过程优化成5步。优化方式和具体流程如下图: ## 2. Verilog设计代码 模块之间的调用关系如下图,顶层设计模块为multiplier。 multiplier.v ├─booth_16x16.v └─wtree_16x16.v ├─full_adder.v └─half_adder.v multiplier.v module multiplier(A, B, M, clk, rst_n); parameter width = 16; input
【文件预览】:
Radix-4_Booth_Multiplier-master
----wtree.png(594KB)
----src()
--------booth_16x16.v(2KB)
--------half_adder.v(173B)
--------wtree_16x16.v(19KB)
--------multiplier.v(1KB)
--------full_adder.v(224B)
----simulation2.png(38KB)
----simulation1.png(37KB)
----test()
--------timescale.v(18B)
--------testbench.v(2KB)
----README.md(29KB)
----Makefile(862B)
----func1.png(26KB)
----func2.png(11KB)