夏宇闻复习笔记第10章:简单的组合逻辑模块&加法器&乘法器

10.1 加法器

10.1.1 1位半加器

半加器电路是指对两个输入数据位A,B相加,输出结果位F和进位C0,没有进位输入。
S=A*~B + ~AB=A^B
C0=A
B
在这里插入图片描述

10.1.2 1位全加器

在这里插入图片描述
即:全加器和Sum=Xi*~Ci + Yi*~Ci + Ci-1*~Ci + XiYiCi-1
全加器进位Ci =三者两两相与之和,XiYi+XiCi-1+Yi*Ci-1
在这里插入图片描述

10.1.3 4位全加器

在这里插入图片描述
在进行加法运算时,首先准备好的是1号全加器的3个input。而2、3、4号全加器的Cin分别来自前一个全加器的Cout。只有等到1号全加器运算完毕,2、3、4号全加器才能依次进行进位运算,最终得到结果。 这样进位输出,像波浪一样,依次从低位到高位传递, 最终产生结果的加法器,也因此得名为行波进位加法器(Ripple-Carry Adder,RCA)
高位的运算必须等待低位的运算完成, 这样造成了整个加法器的延迟时间很长。
在这里插入图片描述

超前进位加法器

在这里插入图片描述

在这里插入图片描述
最终我们需要得到的是C4,经过换算,
C4=G3+P3·G2+P3·P2·G1+P3·P2·P1·G0+P3·P2·P1·P0·C0
所有的进位输出都是3个门延时得出,
而这些参数,全部已知,并不需要前一个全加器运算输出,由此得到了提前计算进位输出的方法, 用这样的方法实现了加法器就被称为超前进位加法器(Carry-Lookahead Adder,CLA)
在这里插入图片描述

p142 10.1 加法器
/******************************p142 10.1 加法器********************************/
module  16adder(A,B,C,sum);
input   [15:0]  A,B;
input   C;
output  [15:0]  sum;

assign  {C,sum}=A+B;

endmodule

10.2 乘法器

X=Xn-1Xn-2…X1X0
Y=Yn-1Yn-2…Y1Y0
XY的乘积有2n位,YiX称为部分积Pi,YiXi用一个与门可以实现,记做Pi,j=YjXi。

在这里插入图片描述
乘法单元:MU,由一个与门和一个1位全加器组成,全加器延时为3个门延时,再加上与门的一个门延时,故每个MU延时为4个门延时
在这里插入图片描述

10.2.1 逐位进位并行乘法器

第一行的每个MU用一个与门就可实现
每一行最右边的MU用一个与门和一个半加器(进位为0)就可实现
在这里插入图片描述

最长延时路径:1与门+8MU=33门延时

10.2.2 进位节省乘法器

这里不明白为什么要5个门延时???不是3个吗???
在这里插入图片描述
https://zhuanlan.zhihu.com/p/92596935
这篇帖子是乘法器集大成,可以多看看。

10.3 比较器

在这里插入图片描述

10.4 多路器

10.5 总线操作

在这里插入图片描述

p148 10.6 三态数据总线开关逻辑
/******************************p148 10.6 三态数据总线开关逻辑********************************/
module  3Bus(DataBus,link_bus,write);
input   link_bus,write;
inout   [11:0]  DataBus;    //12位的数据总线双向端口
reg     [11:0]  outsigs;    //模块内的12位数据寄存器
reg     [13:0]  insigs;     //乘3后的14位数据寄存器

assign  DataBus =   (link_bus)?outsigs:12'hzzz;         //当link_bus位高,将outsigs送入数据总线DataBus

always@(posedge write)  begin
    insigs  <=  DataBus*3;                              //当写信号到来,将DataBus作为输入,送入乘法器,继而送入insigs
end

endmodule

10.6 流水线

  • 6
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值