全加全减器

512 阅读3分钟

一、解释下selcet Ci A B S Co (当为全加器的时候)

1.当select = 0 时, 为全加器

2.Ci低位向本位的进位

3.A 与 B 都称为加数

4.S 被称为 和

5.Co为本位向高位的借位

二、详细分析如下

0+0+0=00
0+0+1=10
0+1+0=10
0+1+1=02,进1为01
1+0+0=10
1+0+1=02,进1为01
1+1+0=02,进1为01
1+1+1=03,进1为11

这是加法器  用MOS管搭建的

一、解释下selcet Ci A B S Co  (当为全减器的时候)

1.当select = 0 时, 为全加器 , 当select = 1 时, 为全减器

2.Ci被称为   低位向本位的进位 (这句话比较官方,我刚开始也没一下子看懂)举个例子:比如41-19 在十位上是4-1,本来4-1应该等于3,但是为什么最后结果为22呢?因为个位上1-9不够减,他向高位的4借了一位,所以你在算4-1的时候要多减去一个1,因为你的低位“1”向你借了一位,所以应该是4-1-1=2,这就是全减器为什么要再减去一个低位向本位的借位,就是这个意思。

3.A 是被减数

4.B是减数

5.S为差

6.Co为本位向高位的借位

二、详细分析如下

Ci = 0,A = 0,B = 0时, S = A - B = 0, 此时A的值足够减B,不需要向高位借位,因此Co = 0.

Ci = 0,A = 0,B = 1时, S = A - B = 1,此时A的值不足够减B,因此需要向高位借位,因此Co = 1,这里很多人会好奇,A 只向 Co借了一位啊,怎么A-B的值还是1,这是因为二进制的借位规则是借1当2(就像十进制运算中向上一位是借1当10运算).

Ci = 0,A = 1,B = 0时, S = A - B = 1,此时的A的值够减B,所以Co = 0.

Ci = 0,A = 1,B = 1时, S = A - B = 0,此时的A的值够减B,所以Co = 0.

Ci = 1,A = 0,B = 0时, S = A - B = 1,这里因为Ci等于1,说明Ci(低位)向A(高位)借位了,但是A也为0,所以只能向Co借位,所以Co = 1,然后A = 2,借给Ci(低位)一位,此时A还剩下1,所以S = A-B = 1.

Ci = 1,A = 0,B = 1时, S = A - B = 0,Ci = 1表明低位向A借位了,但此时A = 0,A就向Co借位,故Co = 1,A = 2,然后Ci借走一位,A = 1,再次A -B = 1 -1 =0,所以S = 0.

Ci = 1,A = 1,B = 0时, S = A - B = 0,Ci = 1表明低位向A借位了,故此时的A = 0,S = A - B= 0 - 0=0.

Ci = 1,A = 1,B = 1时, S = A - B = 1,Ci = 1表明低位向A借位了,故此时的A = 0,但是A-B不够减,得向Co借位,故Co = 1,此时A = 2,S = A - B = 2 - 1 = 1.

用MOS管来实现 这一张是S输出的

这一张是Co输出的,因为图太大了,我就分开来截了。