减法器

减法器可以由基础的半减器和全减器模块组成,或者基于加法器和控制信号搭建。
定义Nbit被减数x,减数Y,差为D(difference);
来自低bit的借位Bi,想高bit借位Bi+1,i为bit序号。
在这里插入图片描述

一、半减器

半减器用于计算两bitXi和Yi的减法,输出结果Di和向高位的借位Bo(Borrow output)。其真值表、逻辑表达式、verilog描述和门电路图如下:
在这里插入图片描述
在这里插入图片描述

module half_sub(
	input xi,
	input yi,
	output di,
	output bi
);
assign di = xi ^ yi;
assign bi = (~xi)&yi;

endmodule

在这里插入图片描述

二、全减器

全减器不同于半减器在于,全减器输入来自低位的借位Bi(Borrow input),另外两个输入xi、yi,输出为Di和向高位借位Bo。
在这里插入图片描述
逻辑表达式
在这里插入图片描述

module full_sub(
	input xi,
	input yi,
	input bi,
	output di,
	output do
);
assign di = x1^yi^bi;
assign do = (~xi&bi) | (~xi&yi) | (yi&bi);
endmodule

在这里插入图片描述

三、减法器

全减器
在这里插入图片描述根据全减器搭建16bit减法器,如下图:
在这里插入图片描述除了使用半减器和全减器搭建减法器之外,减法器使用控制信号便可以与加法器共用相同的结构。X和Y均采用二进制补码表示
在这里插入图片描述
~Y是对Y按bit取反。
在这里插入图片描述加减法器

以上是基于行波进位加法器修改的电路结构,使其同时具有加法和减法的功能。由加或者减的控制信号,决定该部件的功能,输入C0=0时表示加法,C0=1表示减法。为了溢出与符号位考虑,以上结构最后进位输出要与控制信号进位异或以满足减法器需求。

(1)基于全减器
在这里插入图片描述(2)根据行波进位加法器,通过控制信号,使其同时具有加法和减法的功能。注意进位
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_43727437/article/details/106921444