截图来自B站,讲的非常好,地址:
串行进位加法器
门级电路图和进位位、加和位
延迟计算
先行进位加法器(Carry Lookahead Adder):
所以在下面的verilog代码中,会把四位先行进位加法器叫做C4
ci+1=ai*bi+(ai+bi)*ci
ai*bi意思是两个数如果都是1,那就一定会有一个进位
(ai+bi)*ci意思就是,如果ai+bi=1并且上一级来的进位等于1,那么本级的进位一定等于1
ci+1=ai*bi+(ai+bi)*ci就是上述的两种情况只需要发生一种,本级就会有进位
推导
g是generate,生成,p是propagate传递,A*B直接就能生成一个进位,但是A+B还需要一个上一级进位才能生成本级的进位
G4等于G3(单个G加上第一位的数字)+从最高的G到这个G的下标能放几个P*G2(G加上再第一位数字)+最后一个G换成C0