1. 加法器
1.1 一位加法器
1.1.1 半加器
- 半加器:是隻考慮兩個1位二進制數相加,不考慮低位的進位
- 真值表
備註:CO爲進位
- 邏輯表達式
S=A′B+AB′=A⊕B
CO=AB
- 電路與邏輯符號
1.1.2 全加器
- 全加器,全加器除了考慮加數和被加數外,還要考慮低位的進位
- 真值表
- 邏輯表達式
S=A′B′CI+A′BCI′+AB′CI′+ABCI
=(A′B′+AB)CI+(A′B+AB′)CI′
=((A′B′+AB)′)′CI+(A′B+AB′)CI′
=((A′B′)′(AB)′)′CI+(A′B+AB′)CI′
=((A+B)(A′+B′))′CI+(A′B+AB′)CI′
=(A′B+AB′)′CI+(A′B+AB′)CI′
=A⊕B⊕CI
(老師課件採用的是取零取反,我覺得那樣做的好處是可以更加方便的運用反演律,不用想我這樣兩次取反)
CO=(A′B′+B′CI′+A′CI′)′
=(A+B)(B+CI)(A+CI)
=(AB+B+BCI+ACI)(A+CI)
=AB+(A+B)CI
【老師課件上這裏應該出錯了】
- 電路與邏輯符號
1.2 多位加法器
1.2.1 串行進位加法器
串行進位加法器(行波進位加法器): 兩個多位二進制數相加,必須利用全加器,1位二進制數相加用1個全加器,n 位二進制數相加用n個全加器。只要將低位的進位輸出接到高位的進位輸入
下圖爲四位全加器
爲各位相加後的和。
- 優點:結構簡單
- 缺點:運算速度慢
邏輯表達式爲:
(CI)i=(CO)i−1
Si=A⊕B⊕(CI)i
(CO)i=AiBi+(Ai+Bi)CIi
1.2.2 超前進位加法器
超前進位加法器,爲了提高速度,若使進位信號不逐級傳遞,而是運算開始時,即可得到各位的進位信號,採用這個原理構成的加法器,就是超前進位(CarryLook-ahead)加法器,也成快速進位(Fast carry) 加法器
- 由全加器真值表可知,高位的進位信號的產生是在兩種情況下:①在A·B=1;②在A+B=1且C I=1。故向高位的進位信號爲(CO)i=AiBi+(Ai+Bi)CIi
- 設Gi=AiBi 爲進位生成函數,Pi=Ai+Bi 爲進位傳遞函數,則上式可寫成
- 和爲:
Si=A⊕B⊕(CI)i
下圖爲超前四位加法器
- 邏輯圖符號如下:
A3−A0 爲一個四位二進制數的輸入;B3−B0 爲另一個二進制數的輸入;CI爲最低位的進位;CO是最高位的進位;S3−S0
- 優點:提升了運算數度
- 缺點:增加了電路複雜性,位數越多,電路越複雜
1.3 用加法器設計組合邏輯電路
如果能將要產生的邏輯函數能化成輸入變量與輸入變量相加,或者輸入變量與常量相加,則用加法器實現這樣邏輯功能的電路常常是比較簡單
例一
利用4位超前進位加法器74LS283 器件組成的電路如圖所示,試分析電路所能完成邏輯功能
分析可知,D7以及D7與D6−D0的異或作爲兩片的兩個加數,其他兩個加數取0
- 當Y7=0時,74LS283(1):A3=0,A2=D6,A1=D5,A0=D4,74LS283(2):A3=D3,A2=D2,A1=D1,A0=D0,CI=0,做加法後和爲Y7~Y0=0D6...D0
- 當Y7=1時,74LS283(1):A3=1,A2=D′6,A1=D′5,A0=D′4 ,74LS283(2):A3=D′3,A2=D′2,A1=D′1,A0=D′0,CI=1,做加法後和爲 Y7~Y0=1D′6 D′0+1
電路是一個帶符號位的二進制求補碼電路,Y7 爲符號位,輸入二進制數碼爲D6...D0
例二
利用4位超前進位加法器74LS283器將BCD的8421碼轉換爲餘3碼
- 真值表
- 邏輯表達式
Y3Y2Y1Y0=DCBA+0011
- 電路
2. 數值比較器
2.1 一位數值比較器
- 三種比較結果
- 電路圖
2.2 多位數值比較器
多位數值比較器:在比較兩個多位數的大小時,必須自高位向低位逐位比較
- 兩個4位二進制數比較的結果如下:
- 電路圖如下
它有三個附加輸入端I (A<B) 、I (A=B) 和I (A>B) 用於擴展(記得是低位的比較結果)
- 電路邏輯符號如下
- 輸出端邏輯表達式
- 拓展