數位邏輯設計與實習
ch04 組合邏輯電路設計
組合邏輯電路定義
組合
何時候的輸出 與當時的輸入有關
組合邏輯電路設計步驟
由電路的規格,決定所需的輸入與輸出的個 數,並且對每一個輸入與輸出安排一個變數 符號。
導出真值表並定義輸入與輸出間所需的關 係。
對每一個輸出求出以輸入變數為函數之簡化 的布林函數。表決電路 A
B C
F
多數電位
A B C F
5 6 7
組合電路種類
算術電路(加法器、減法器、乘法器)
解碼器
編碼器
多工器
解多工器
比較器加法器/減法器
1bit 加法器
1bit 減法器
4bit 並加器(漣波加法器)
4bit 加減器
4bit 加減器有旗號指示
1位數BCD加法器1bit加法器定義
半加器 :一位元與一位元相加, 不考慮進位
全加器 :一位元與一位元相加, 考慮前一級 進位Half adder,HA
和
進位
半加器設計
Si=Σ(1,2)=Ai♁Bi Ci+i=Σ(3)=Ai*Bi
0 1
1 1
1 0
0 1
1 0
1 0
0 0
0 0
S i
C
i+1B i A i
真直表
全加器設計
全加器真值表
0 1
1 0
1
1 0
0 0
1
0 1
1 1
0
1 0
0 1
0
1 0
1 0
0
0 0
0 0
0
S C i+1
C i B
A
行為
A B C
S Ci+1
= (1,2,4,7)
全加器布林式
Si
=Σ(1,2,4,7)=Ai
♁Bi
♁Ci
C
i+1
=Σ(3,5,6,7)=Ai
Bi
+Ai
Ci
+Bi
Ci
=Ai
Bi
+Ci
(Ai
♁Bi
)用半加器設計全加器
1bit 減法器
半減器 :一位元與一位元相減,不考慮借位
全減器 :一位元與一位元相減, 考慮前一級 借位差 借位
Half Subtractor
半減器設計
Di
=Σ(1,2)=Ai
♁Bi
Bi+1
=Σ(1)= A'B差
借
全減器設計
Di
=Σ(1,2,4,7)=Xi
♁ Yi
♁ Bi
B
i+1
=Σ(1,2,3,7)=Xi
Yi
+Xi
Bi
+Yi
Bi
Ai Bi Di
Di
Bi+1
X Y B
0 0 0
0 1
0 0 1 1 0
0
1 0 1 0 1
0 0
1 1 1
1 1 0
0 1
Bi+1 D 0
1 2 3 4
4bit 並加器(漣波加法器)
ripple Adder
4bit 加減法器分析
減法器
方法一: FS
FS FS FS
A+B+0
B0 B4bit 加減器
4bit 加減器有旗號指示
ZF(Zero Flag)
CF(Carry Flag)
SF(Sign Flag)
OF(Over Flag)零
進位 符號
溢為
超出範圍
ZF=1
ZF=0 結果不為零
Flag 狀態(況)
0正
1負 符號,1'S,2'S
Over Flow
4bit 加減器有旗號指示電路圖
FA FA FA FA
A A A A
OF ZF SF CF
A
S3 S2 S1 S0
C1 C2
C3 C4
A3B3 A2B2 A1B1 A0B0
C0
S:1 減
S:0 加
1位數BCD加法器分析
1位數BCD加法器
漣波加法器缺點
進位傳遞延遲 AiBiCi
s Ci+1
產生2個閘delay
a3 b3 a2 b2 a1 b1 a0 b0
進位前看加法器(Carry Look-ahead Adder,CLA)
己知:A3
A2
A1
A0
,B3
B2
B1
B0
,C0
未知: C4
,C3
,C2
,C1
Si
=(Ai
♁ Bi
) ♁ Ci
Ci+1
=Ai
Bi
+ Ci
(Ai
♁Bi
)
令Gi
=Ai
Bi
(進位產生)
Pi
=Ai
♁ Bi
(進位傳遞)a0~a3
b0~b3
a b
進位前看加法器
C
i+1
=Gi
+Ci
Pi
i=0 C
1
=G0
+Co
Po
i=1 C2
=G1
+C1
P1
=G
1
+G0
P1
+Co
Po
P1
i=2 C3
=G2
+C2
P2
=G
2
+G1
P2
+G0
P1
P2
+Co
Po
P1
P2
i=3 C =G +C P進位前看產生電路圖
進位前看加法器
三連波
乘法器
1bit 乘法器
2bit 乘法器(用HA,FA)1bit 乘法器
2bit 乘法器真值表
2bit 乘法器
1 2 4 5
6 U2A 7421
9 10 11
8 U3C
7411
1 2 13
12 U4A
7411
3 U4B 7411 1 2 13
12 U3A
7411
3 4 5
6 U3B
7411
5 6
U1C
7404
8 9
U1D
7404 U1E
1 2
U1A
7404
3 4
U1B
7404
4 5
6 U6B
7432
11 12
13 U6D 7432 1
2
3 U6A7432
A1 A0 B1 B0
P3
P1
P2
2bit 乘法器(用HA,FA分析)
2bit 乘法器(用HA,FA)
1Bit乘法器
3bit 乘法器(用HA,FA)
解碼器方塊圖
低態輸出
1對2解碼器
有致能解碼器方塊圖
有些解碼器電路沒有致 能控制線;有些電路為 高電位啟動。
Y
0Y
1解碼器 輸
入 端
輸出端
致能控制線
Y
m-1Y
m-2⎫
⎬⎪
⎭⎪
n m
×E x
0x
1x
n-1x
n-2⎧
⎨
⎪ ⎪
⎩
⎪ ⎪
(a) 非反相輸出
Y
0Y
1解碼器 輸
入 端
輸 出 端
致能控制線
Y
m-1Y
m-2⎫
⎬⎪
⎭⎪
n m
×E x
0x
1x
n-1x
n-2⎧
⎨
⎪ ⎪
⎩
⎪ ⎪
(b) 反相輸出
低態 低態輸出
2對4解碼器(高態輸出) (1)方塊圖 (2)真直表
a b 0 0 1 1
0 1 0 1
d3 d2 d1 d0 1 1 1 1
0 0 0
0 0
0
0 0 0
0 0 0
(3)邏輯圖
a b有致能端2對4解碼器(高態輸出)
(a) 方塊圖
0 x1 x0
0 1 0 1 0
Y0 Y1 Y2 Y3 E
1 0 0 0 0
1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0
0 0 0
φ φ
1 1
Y0 x1
Y2 Y3 E
Y1 x0
2 4 解碼器
x1
x0
E
Y0
Y1
Y2
Y3
低態
致 能
有致能端2對4解碼器(低態輸出)
(a) 方塊圖
x1
x0
E
Y0
Y1
Y2
Y3 Y0
x1
Y2 Y3 E
Y1 x0
2 4 解碼器
0 x1 x0
0 1 0 1 0
Y0 Y1 Y2 Y3 E
1 1 1 1 1
0 1 1 1 1 0 1 1 1 1 0 1 1 1 1 0 0
0 0 0
φ φ
1 1
致 能
平常
3對8解碼器—利用2對4解碼器
Y0 x0
Y2 Y3 E
Y1 x1
2 4 解碼器
Y0 x0
Y2 Y3 E
Y1 x1
2 4 解碼器
x2 x0 x1
Y0 Y1 Y2 Y3
Y4 Y5 Y6 Y7 A
B
4對16解碼器—利用2對4解碼器
編碼器方塊圖
8對3編碼器
(a) 功能表 0
I2 I3
0 0 1 0 1
I4 I5 I6 I7
0 0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
1 0 0 0
1 0 0
0 0 0 I1
I0 Y2 Y1 Y0
1 0 0 0 0
0 0
0 1 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1
0 0 1 0 1 1 0
0 0 0 1 1 1 1
(b) 邏輯電路 I0
I2 I3 I1
I4
I6 I7 I5
Y2 Y1 Y0 不重要
優先
8對3優先權編碼器
優先低態
低態 111
110 101 100 011 010
多工器方塊圖
2對1多工器
Y I
0I
1S MUX
2 1 ×
(a) 方塊圖 (b) 功能表
S Y
0 1
I
0I
1(c) 邏輯電路 S
I
0I
1Y
真直表
Verilog 程式
module mux_2_1(
input a, input b, input s, output f );
wire s0,sa,sb;
not( s0, s );
and( sa, a, s0 );
and( sb, b, s );
MUX2X1
4對1多工器
Y I0
I1 MUX4 1× I2
I3 S1 S0
Y
0 1
I0 I1 S1 S0
0 0
0 1 1 1
I2 I3
I0
I1
Y I2
I3
S1 S0
有致能端2對1多工器
(a) 功能表 (b) 邏輯電路
S Y
0 1
I
0I
1E
1 1
0 φ 0
S I
0I
1Y
E
4對1多工器—利用2對1多工器
S I0
多工器Y 2 ×1
I1 E
S I0
多工器Y 2 ×1
I1 E I0
Y I1
I2
I3
8對1多工器—利用2對1多工器
高態致能7個
解多工器方塊圖
選擇線
輸出(DEMUX)
DeMultiplexer
1 對2解多工器
(a) 方塊圖 (b) 功能表 (c) 邏輯電路
S Y
00 1
D 0
Y
1D 0 D
Y
0Y
1S
DeMUX 1 2 ×
S
D Y
0Y
1有致能端1 對4解多工器
D
0 S1 S0
0 1 0 1 0
Y0 Y1 Y2 Y3 E
1 0 0 0 0
D 0 0 0 0 D 0 0 0 0 D 0 0 0 0 D 0
0 0 0
φ φ
1 1
1 4 DeMUX
D
Y0 Y1 Y2
Y3 S0 S1 E
Y0
S1 S0 E
Y1
Y2
Y3
8對1解多工器—利用4對1解多工器
1 4 DeMUX
D
Y0 Y1 Y2
Y3 S0 S1
E
1 4 DeMUX
D
Y0 Y1 Y2 Y3 E
Y0 Y1 Y2 Y3
Y4 Y5 Y6 Y7 D
S2
S1 S0
1bit比較器方塊圖
4 bit比較器方塊圖
8 bit比較器—利用4 bit比較器
A
0A
1A
3A
2B
0B
1B
3B
2I
A>BI
A=BI
A<BO
A>BO
A=BO
A<B4位元比較器
A
0A
1A
3A
2B
0B
1B
3B
2I
A>BI
A=BI
A<BO
A>BO
A=BO
A<B4位元比較器
0 1 0
B
0B
1B
3B
2A
0A
1A
3A
2B
4B
5B
7B
6A
4A
5A
7A
6A B
XOR特性1
N=2
N=4XOR特性2
N=32進制對葛雷碼轉換器
葛雷碼 對2進制轉換器
BCD碼對加三碼的轉換電路
輸入BCD碼 輸出加三碼
w x y z D C B A
0 0 0 0 0 0 1 1
0 0 0 1 0 1 0 0
0 0 1 0 0 1 0 1
0 0 1 1 0 1 1 0
0 1 0 0 0 1 1 1
0 1 0 1 1 0 0 0
0 1 1 0 1 0 0 1
0 1 1 1 1 0 1 0
1 0 0 0 1 0 1 1
1 0 0 1 1 1 0 0
W X Y Z
B A D C
w
x
y
z
D
C
B
A
BCD碼對七段的轉換電路
w x y z
b a d c
f e g
共陽極
送0亮
a b
c d e
f g
同位元產生器/檢查器
同位產生器與檢查
偶同位位元: P = x ♁ y ♁ z
同位檢查器: C = x ♁ y ♁ z ♁ P
C =1:奇數個資料位元錯誤發生
C = 0:資料正確或偶數個資料位元錯誤發 生偶同位
0 1
0 0 0
0 0 1