數位邏輯設計與實習
ch04 組合邏輯電路設計
2
組合邏輯電路定義
組合
X1 X2
Xn
Z1 Z2
Zn
Z1=f1(X1,X2...Xn) Z2=f2(X1,X2...Xn) Zn=fn(X1,X2...Xn)
任何時刻的輸出 與當時的輸入有關
組合邏輯電路設計步驟
由電路的規格,決定所需的輸入與輸出的個 數,並且對每一個輸入與輸出安排一個變數 符號。
導出真值表並定義輸入與輸出間所需的關 係。
對每一個輸出求出以輸入變數為函數之簡化 的布林函數。4
組合電路種類
算術電路(加法器、減法器、乘法器)
解碼器
編碼器
多工器
解多工器
比較器
數碼轉換器
同位元產生器/檢查器加法器/減法器
1bit 加法器
1bit 減法器
4bit 並加器(漣波加法器)
4bit 加減器
4bit 加減器有旗號指示
1位數BCD加法器十進制
(重要)
6
1bit加法器定義
半加器 :一位元與一位元相加, 不考慮進位
全加器 :一位元與一位元相加, 考慮前一級 進位Half Adder,H.A Full Adder,F.A
X
Y
S和
C進位 H.A
F.A
Si
Ci+1 Xi
Yi Ci
半加器設計
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
iCi+1
B
iA
i入 真值表 出
8
全加器設計
Ai
Bi
Ci
Si
Ci+1
F.A
全加器真值表
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+1C
iB
A
0 1 2 3 4 5
10
全加器布林式
Si=Σ(1,2,4,7)=Ai♁Bi♁CiCi+1=Σ(3,5,6,7)=AiBi+AiCi+BiCi
=AiBi+Ci(Ai♁Bi)用半加器設計全加器
A⊕B
A‧B
A⊕B⊕C
C‧(A⊕B) AB+C‧(A⊕B)
F.A=2H.A+OR gate
12
1bit 減法器
半減器 :一位元與一位元相減,不考慮借位
全減器 :一位元與一位元相減, 考慮前一級 借位H.S
F.S X
Y
Xi Yi
Bi Bi+1
Di B D
Half Subtractor
半減器設計
Di=Σ(1,2)=Ai♁Bi Bi+1=Σ(1)= A'BAi Bi Bi+1 Di 0 0
0 1 1 0 1 1
0 0 1 1 0 1 0 0
14
全減器設計
Di=Σ(1,2,4,7)=Xi ♁ Yi ♁ BiBi+1=Σ(1,2,3,7)=XiYi+XiBi+YiBi
Xi Yi Bi Bi+1 Di 0 0 0
0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1
0 0 1 1 1 1 1 0 0 1 0 0 0 0 1 1
4bit 並加器(漣波加法器)
16
4bit 加減法器分析
4bit減法器
‧ 法 :
F.S F.S F.S F.S
‧ 法 : 加法代替減法 A+B=A+B+0
A B=A+( B)=A+(B+1)
4bit 加減器
M=0加 M=1減
B3 B2 B1 B0
1
18
4bit 加減器有旗號指示
ZF(Zero Flag)
CF(Carry Flag)
SF(Sign Flag)
OF(Over Flag)進位 符號 益位
零 ZF=1→結果為0 ZF=0→結果不為0
SF=0→結果為正 SF=1→結果為負
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 加
20
1位數BCD加法器分析
1位數BCD加法器
22
漣波加法器缺點
進位傳遞延遲產 結果
須經過兩個邏輯閘 作Delay越
作頻率越
進位前看加法器(Carry Look-ahead Adder,CLA)
己知:A3A2A1A0,B3B2B1B0,C0
未知: C4,C3,C2,C1
Si=(Ai ♁ Bi) ♁ Ci
Ci+1=AiBi + Ci(Ai♁Bi)
令Gi=AiBi (進位產生)
Pi=Ai ♁ Bi (進位傳遞)F.A
=Gi+CiPi
24
進位前看加法器
Ci+1=Gi+CiPi
i=0 C1=G0+CoPo i=1 C2=G1+C1P1
=G1+G0P1+CoPoP1 i=2 C3=G2+C2P2
=G2+G1P2+G0P1P2+CoPoP1P2 i=3 C4=G3+C3P3
=
G
3+G
2P
3+G
1P
2P
3+G
0P
1P
2P
3+C
oP
oP
1P
2P
3進位前看產生電路圖
26
進位前看加法器
漣波4gate
8bit 4gate ripple 16gate FA 2
乘法器
1bit 乘法器
2bit 乘法器(用HA,FA)28
1bit 乘法器
a b p 0 0 0 0 1 0 1 0 0 1 1 1
and
2bit 乘法器真值表
30
2bit 乘法器
1 2 4 5
6 U2A 7421
9 10 11
8 U3C
7411
1 2 13
12 U4A
7411
3 4 5
6 U4B
7411
9 10 11
8 U4C
7411 1 2 13
12 U3A
7411
3 4 5
6 U3B
7411
5 6
U1C
7404
8 9
U1D
7404
12 13
U1F
7404
10 11
U1E
7404
1 2
U1A
7404
3 4
U1B
7404
4 5
6 U6B
7432
8 9
10 U6C 7432
11 12
13 U6D 7432 1
2
3 U6A7432
1 2
3 U5A
7408
A1 A0 B1 B0
P3
P1 P2
P0
2bit 乘法器(用HA,FA分析)
a1b0 a0b0 + a1b1 a0b1
a1 a0
* b1 b0
S S C
C
P3 P2 P1 P0
b0 b1 a0 a1
H.A H.A
C
S C
32
2bit 乘法器(用HA,FA)
1bit乘法器
3bit 乘法器(用HA,FA)
a2 a1 a0 * b2 b1 b0 a2b0 a1b0 a0b0 a2b1 a1b1 a0b1
+ a2b2 a1b2 a0b2
FA FA FA HA C C C C
P5 P4 P3 P2 P1 P0
34
解碼器方塊圖
解 碼 器
E致能端 輸入有n條
輸出有2的n次方條
有致能解碼器方塊圖
有些解碼器電路沒有致 能控制線;有些電路為 高電位啟動。
Y0 Y1
解碼器 輸
入 端
輸出端
致能控制線 Ym-1 Ym-2
⎫
⎬⎪
⎭⎪
n m×
E x0 x1
xn-1 xn-2
⎧
⎨
⎪⎪
⎩
⎪⎪
(a) 非反相輸出
Y0 Y1
解碼器 輸
入 端
輸 出 端
致能控制線 Ym-1 Ym-2
⎫
⎬⎪
⎭⎪
n m×
E x0 x1
xn-1 xn-2
⎧
⎨
⎪⎪
⎩
⎪⎪
(b) 反相輸出
高態同相 低態輸出
36
2對4解碼器(高態輸出)
真值表
a b d3 d2 d1 d0 0 0 0 0 0 1 0 1 0 0 1 0 1 0 0 1 0 0 1 1 1 0 0 0 a b
D0 D1 D2 D3
有致能端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
低態
致能
38
有致能端2對4解碼器(低態輸出)
(a) 方塊圖
(b) 功能表 (c) 邏輯電路
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
40
4對16解碼器—利用2對4解碼器
X0 X1
X2 X3
Y0
Y15
編碼器方塊圖
輸入有2的n次方條 輸出有n條
42
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
I7優先編碼器 當I7為1 I0~I6不在乎數值
8對3優先權編碼器
低態輸出 低態輸入
44
多工器方塊圖
輸入2的n次方條
選擇n條
輸出1條
2對1多工器
Y I0
I1 S MUX
2 1×
(a) 方塊圖 (b) 功能表
S Y
0 1
I0 I1
(c) 邏輯電路 S
I0
I1
Y
真值表
46
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 );
or( f, sa, sb );
endmodule
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 S1 S1 S0 S0
48
有致能端2對1多工器
(a) 功能表 (b) 邏輯電路
S Y
0 1
I0 I1 E
1 1
0 φ 0
S I0
I1
Y
E=1高態致能E
E端元件才能擴充
4對1多工器—利用2對1多工器
S I0
多工器Y 2 ×1
I1 E
S I0
多工器Y 2 ×1
I1 E I0
Y I1
I2
I3
2對1額外需求 not和or閘
50
8對1多工器—利用2對1多工器
S0 S1 S2 S0
S0 S0
S1
Y
需要7個高態致能
解多工器方塊圖
輸入 輸入出2的n次方條
52
1 對2解多工器
(a) 方塊圖 (b) 功能表 (c) 邏輯電路
S Y0
0 1
D 0
Y1
D 0 D
Y0
Y1 S
DeMUX1 2×
S
D Y0
Y1
有致能端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
低態致能
54
8對1解多工器—利用4對1解多工器
1 4 DeMUX
D
Y0 Y1 Y2
Y3 S0 S1
E
1 4 DeMUX
D
Y0 Y1 Y2
Y3 S0 S1
E
Y0 Y1 Y2 Y3
Y4 Y5 Y6 Y7 D
S2
S1 S0 S1 S0
1bit比較器方塊圖
56
4 bit比較器方塊圖
8 bit比較器—利用4 bit比較器
A0 A1
A3 A2
B0 B1
B3 B2
IA>B IA=B IA<B OA>B
OA=B OA<B
4位元比較器
A0 A1
A3 A2
B0 B1
B3 B2
IA>B IA=B IA<B OA>B
OA=B OA<B
4位元比較器
0 1 0
B0 B1
B3 B2
A0 A1
A3 A2
B4 B5
B7 B6
A4 A5
A7 A6
A B
低位元 相等
58
XOR特性1
N=2
N=40 1 1 0
1 0 0 1
A⊕B A⊙B=A⊕B
0101 1010 0101 1010
1010 0101 1010 0101
A⊕B⊕C⊕D A⊙B⊙C⊙D
XOR特性2
N=30101
1010 1010
0101 A⊕B⊕C
=A⊙B⊙C
A⊙B⊙C
=A⊕B⊕C
=A⊕B⊙C
=A⊙B⊕C
60
2進制對葛雷碼轉換器
b0 b1 b2
g2 g1 g0
b0 b1 b2 g0 g1 g2 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0 0 1 1 0 1 1 0 1 0 1 0 0 1 1 0 1 0 1 1 1 1 1 1 0 1 0 1 1 1 1 1 0 0
g2∑=(4,5,6,7)=b2
g1∑=(2,3,4,5)=b1⊕b2 g0∑=(1,2,5,6)=b0⊕b1
葛雷碼 對2進制轉換器
g0 g1 g2 b0 b1 b2 0 0 0 0 0 0 0 0 1 0 0 1 0 1 1 0 1 0 0 1 0 0 1 1 1 1 0 1 0 0 1 1 1 1 0 1 1 0 1 1 1 0 1 0 0 1 1 1
b2∑=(4,5,6,7)=g2
b1∑=(2,3,4,5)=g1⊕g2 b0∑=(1,2,5,6)=g0⊕g1
62
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
z = D'
y = CD +C'D‘
x = B'C + B'D+BC'D‘
w = A+BC+BD
w
x
y
z
D
C
B
A
64
BCD碼對七段的轉換電路
7447=>共陽型 7448=>共陰型
BCD
w x y z
g f e d c b a
a f b e c d
g
同位元產生器/檢查器
同位產生器與檢查
偶同位位元: P = x ♁ y ♁ z
同位檢查器: C = x ♁ y ♁ z ♁ P
C =1:奇數個資料位元錯誤發生
C = 0:資料正確或偶數個資料位元錯誤發 生66
3bit同位元產生器/檢查器
可規劃邏輯元件(PLD)
PLD: Programmable Logic Device
PROM (Programmable Read Only Memory )
PAL (Programmable Array Logic )
PLA (Programmable Logic Array)
FPGA –現場可規劃邏輯陣列 (field- programmable gate array)68
ROM
PROM
70
PLD區別
PLA
72
PLA內部圖
3bit平方電路--分析
74