一、異或門
1. 功能敘述
兩個輸入信號為相反電平時,輸出才為高電平
2. 符號

- 計算機符號:XOR
3. 組成基本邏輯

4. 邏輯表達式
※ X=AB'+A'B=A⊕B
5. 真值表
| A | B | X |
| 0 | 0 | 0 |
| 1 | 0 | 1 |
| 0 | 1 | 1 |
| 1 | 1 | 0 |
6. 實例應用

- 功能敘述:並行工作的兩個相同電路,只要這兩個電路工作正常,則輸出總是相同的,則異或門輸出為低電平,只要有其中一個出了問題,則輸出為高電平。用於指示其中一個電路出現了異常
- 局限性:如果兩個電路同時出現故障,但出現的故障相同,產生的錯誤輸出相同,則異或門無法檢測出電路錯誤
7. 引申到同或門
與異或門相反,兩個輸入信號為相同電平時,輸出才為高電平
X=AB+A'B'=(A⊕B)'

二、 用異或門組成半加器
1. 半加器構造:

A:輸入端1
B:輸入端2
S:求和原位(∑)
C:進位
舉例 :
- 1+1=10,(A=1,B=1,S=0,C=1)
- 1+0=01, (A=1,B=0,S=0,C=0)
- 0+0=00, (A=0,B=0,S=0,C=0)
2. 真值表
| A | B | S(∑) | C |
| 1 | 1 | 0 | 1 |
| 1 | 0 | 1 | 0 |
| 0 | 1 | 1 | 0 |
| 0 | 0 | 0 | 0 |
3. 內部原理敘述
由真值表我們分類討論
S(∑)=A⊕B
C=A+B
則我們可以畫出內部構造:

三、 用異或門組成全加器
1. 全加器構造

2. 進階與區分
- 與半加器的區別:半加器只能處理1位二進制數,而全加器不僅能處理本位的進位,還可以處理地一位的進位。請帶着這個結論看下列的真值表找尋規律
3. 真值表
|
輸入
|
輸出
|
|||
|
Ci-1
|
Ai
|
Bi
|
Si
|
Ci
|
|
0
|
0
|
0
|
0
|
0
|
|
0
|
0
|
1
|
1
|
0
|
|
0
|
1
|
0
|
1
|
0
|
|
0
|
1
|
1
|
0
|
1
|
|
1
|
0
|
0
|
1
|
0
|
|
1
|
0
|
1
|
0
|
1
|
|
1
|
1
|
0
|
0
|
1
|
|
1
|
1
|
1
|
1
|
1
|
4. 原理解釋(規律解釋)
- 全加器必須將兩個輸入位和一個進位輸入位相加
(1)詳細說明
(╯3╰)以真值表倒數第3行為例子,輸入為B=1,A=0,本位輸出按照半加器應該是為1,但是Ci-1=1意味着本位的上一位(低一位)進位了一個1上來,所以
(高一位進位0)(本位1)+(低一位進位1)=(高一位進位1)(本位0)(低一位)
( 0 10 )+ ( 010 )= 1 0 0
簡單來說:即(010+000)+(001+001)=100
( B + A )+ (低位進1) =100
(╯3╰)以真值表倒數第1行為例子,輸入為B=1,A=1,本位輸出按照半加器應該是為0,向前一位進位1,但是Ci-1=1意味着本位的上一位(低一位)進位了一個1上來,所以
(高一位進位1)(本位0)+(低一位進位1)=(高一位進位1)(本位0)(低一位)
( 1 00 )+ ( 10 )= 1 1 0
簡單來說:即(010+010)+(001+001)=100
( B + A )+ (低位進1) =110
(2)進一步剖析邏輯門:關於輸出Si
A, B, Cin進位相加
∑(Si) = ( A ⊕ B ) ⊕ C

(3)進一步剖析邏輯門:關於輸出Ci
Cout=AB+(A⊕B)Cin

Ci即為Cout, Ci-1即為Cin. ( i 指的是當前位數
5. 兩個半加器組成全加器


四、 並行加法器
- 將加法器組合在一起 形成並行二進制加法器
1. 二位並行加法器
- 下圖中,用A1、B1表示兩個數字得到最低有效位(LSB)。A2、B2來表示相鄰的高位,∑1、∑2、∑3表示三個和位,注意,最左邊全加器的進位輸出變為和中的最高有效位(MSB)∑3
2. 四位並行加法器(類推)
- 將四位作為一組稱為半字節


3. 串行進位與超前進位加法器
(1)串行進位
- 每一個全加器的進位輸出連接到下一個高一級的全加器的輸入(一級對應一個全加器)
- 任何一級的輸出和及進位必須在上一級的進位到來后才能產生,這將出現時間延遲


這樣進位輸出,像波浪一樣,依次從低位到高位傳遞, 最終產生結果的加法器,也因此得名為行波進位加法器(Ripple-Carry Adder,RCA)
- 延遲時間計算:

對於最低位的全加器,它在A、B和Cin都已經准備好。其實,輸入信號進入到這塊電路之后,在連接線上傳遞需要花時間。 稱為線延遲,而經過這樣的門,也需要花時間,稱為門延遲。 在進行設計原理分析時,我們主要關注門延遲。
從第一個全加器的A-S這條通路來看,產生第一個S輸出,需要通過兩個門的延遲。 所以它顯然不是最長的路徑,當然,從A出發或着從B出發都是一樣的, 所以對於第一個全加器,它的最長路徑,是紅色線標記的那條,后面的全加器關鍵路徑同理可得。那么,假設經過一個門電路的延遲時間為T,那么經過4個全加器所需要的總延遲時間就是:2T x 4 + T(第一個全加器產生3個T) = 9T。所以推出,經過n個全加器所產生的總延遲時間為2T x n + T = (2n+1)T。
(2)超前進位加法器
第一種超前進位加法器推導方法
產生進位信號:出現在全加器內部加法運算產生的進位輸出的時刻。當且僅當兩個輸入為1時,生成一個產生進位信號。產生進位函數Cg用兩個輸入位A和B的與運算表示。Cg=AB
傳送進位信號:出現在輸入進位串行傳送到輸出進位的時刻。當全加器額的輸入位只要有一個位為1時,輸入進位便可通過全加器進行傳送。傳送進位函數Cp用兩個輸入位的或運算表示Cp=A+B
(當Ai,Bi,Ci有任意兩個輸入為1時,Ci+1就為1)


當Ai和Bi都為1時,Gi = 1,產生進位Ci+1 = 1
當Ai和Bi有一個為1時,Pi = 1,傳遞進位Ci+1 = Ci
因此Gi 定義為進位產生信號,Pi定義為進位傳遞信號。Gi的優先級比Pi高,也就是說:當Gi = 1時(當然此時也有 Pi = 1 ),無條件產生進位,而不管Ci是多少;
當Gi=0而Pi=1時,進位輸出為Ci, 跟Ci之前的邏輯有關。
由此來表示4個全加器的進位輸出為:

根據上面的優化算法,我們重新繪制了CLA的布線方式:

延遲計算:

最后四位超前進位加法運算器的邏輯圖如下:

第二種超前加法進位器推導方法(下面這個鏈接講的很清楚)
https://zhuanlan.zhihu.com/p/101332501
五. 比較器(以同或門為核心)
(1)基本功能
比較兩個二進制數的大小以確定這兩個量的關系
(2)相等比較器
由於串行進位加法器的速度受到進位信號的限制,人們又設計了一種多位數超前進位加法邏輯電路,使每位的進位只由被加數和加數決定,而與低位的進位無關
(3)不等比較器
略

