數字電路基礎那些事2——組合邏輯:從異或門到半加器與全加器+比較器


一、異或門

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)不等比較器

 略


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM