Wallace树乘法器

本文介绍了Wallace树乘法器的算法原理,以4×4位乘法器为例,详细阐述了从数据最多的列开始,通过半加器和全加器逐步压缩求和的过程。此外,还探讨了使用Verilog HDL进行乘法器的硬件实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

当前乘法器的设计主要有两种方式,Wallace树乘法器和booth编码乘法器。本篇主要讲述的是Wallace树乘法器。

1、算法讲解

以4×4位乘法器为例,如表1-1所示,列出了各个部分的积
表1-1:
两个四位数相乘
随后我们从数据最多的那一列开始,用半加器将数据最多有四个数据的那一列中的两个数相加,得到和a0以及向高列的进位b0,这时得到进位的那一列也有四个数据,我们也用半加器相加得到积a1和进位b0,如表1-2进行以上操作后可以的到表1-3所示。黄色表是半加器相加,红色表示全加器相加。
表1-2:
第一级半加器
表1-3:
在这里插入图片描述
对于表1-3我们可以,用半加器和全加器反复压缩覆盖所有数据超过三个的列,得到表1-4所示的数据:
表1-4:
在这里插入图片描述
最后采用简单的2输入加法器,就可以得到相乘结果了。

2、Verilog HDL的实现

module wallace(x,y,out);
	parameter size=4;
	input [size-1:0]x,y;
	output [size-1:0]out;
	wire [size*size-1:0]a;
	wire [1:0]b0,b1,c0,c1,c2,c3;
	wire [5:0]add_a,add_b;
	wire [6:0]kk;
	wire [7:0]out;
	assign a={
   x[3],x[3],x[2],x[3],x[2],x[1]
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值