加法器笔记

(没必要填的坑,手上已经有手写版笔记了)

Ripple adder 行波加法器

简单地说就是傻瓜加法器。首先有一位的全加器:

\[sum = a \oplus b \oplus c \]

\[cout = ab + ac + bc = ab + (a + b)c \]

然后将第 \(i\) 位的 \(cout\) 与第 \(i + 1\) 位的 \(c\) 相连即可。

Carry-Lookahead Adder 超前进位加法器

首先,一位全加器还是需要的。然后考虑到行波加法器中后一位的 \(cin\) 依赖于前一位的 \(cout\),我们可以通过直接 assign 每一位的进位来解决这个效率问题。

\(cout\) 的表达式化成 \(C_{i + 1} = G_i + P_i\cdot C_i\) 的形式,得到 \(G_i = A_i B_i, P_i = A_i + B_i\)。然后列出更高位的 \(C_{i + 1}\) 表达式,将其中的 \(C_i\) 替换掉,得到一系列 \(C_i\) 表达式,这就是四位超前进位加法器。

又根据

\[C_4 \]

posted @ 2023-09-27 21:51  gznpp  阅读(27)  评论(0)    收藏  举报