學習目標
布林運算與邏輯閘 布林代數化簡 半加器與全加器 積之和 v.s. 和之積 卡諾圖化簡 多工器與解多工器 編碼器與解碼器 Summery
2
布林代數
用來處理只有二個值的數學系統 true ; false on ; off 1 ; 0 基本布林運算 : AND 、 OR 、 NOT 其他邏輯閘- NAND 、 NOR 、 XOR 、 XNOR
3
基本布林運算 真值表
4
X Y AND
0 0 0
0 1 0
1 0 0
1 1 1
X Y OR
0 0 0
0 1 1
1 0 1
1 1 1
X NOT
0 1
1 0
基本數位電路( MOS 電晶體)
DS
G
NMOS: G=1 S,D 導通 G=0 S,D 不通
PMOS: G=1 S,D 不通 G=0 S,D 導通
A B
C
A LA LA L
P
N N
Poly S i0 2S i0 2S i0 2 S i0 2
A LA LA L
N
P P
Poly S i0 2S i0 2S i0 2 S i0 2
蔡哲民老師提供
基本數位電路( NOT 閘)
Vcc
Gnd
A
C
NOT Gate:A=1 C=0A=0 C=1
A=1 A=0
Vcc
Gnd
C
Vcc
Gnd
C
蔡哲民老師提供
基本數位電路( NOR 閘)
NOR 閘:A B C0 0 10 1 01 0 01 1 0
Vcc
Gnd
B
A
C
蔡哲民老師提供
基本數位電路( NAND 閘)
NAND 閘:A B C0 0 10 1 11 0 11 1 0
Vcc
Gnd
B
A
C
蔡哲民老師提供
基本數位電路( XOR 閘)
XOR 閘:A B C0 0 00 1 11 0 11 1 0
Vcc
Gnd
A
B
C
AB+AB
蔡哲民老師提供
多輸入邏輯閘 Logisim 邏輯自由軟體
10
基本布林運算 NAND 、 NOR 、 XOR 、 XNOR
11
X Y NAND
0 0 1
0 1 1
1 0 1
1 1 0
X Y NOR
0 0 1
0 1 0
1 0 0
1 1 0
X Y XOR
0 0 1
0 1 0
1 0 0
1 1 1
X Y XNOR
0 0 0
0 1 1
1 0 1
1 1 0X Y=XY+XY⊕
組合電路 寫出下列電路數算式
12
組合電路 – 半加器X Y Su
mCarry
0 0 0 0
0 0 1 0
0 1 1 0
0 1 0 1
10101101+ 11011
11001000
111111
一位元的全加器大約需要 30 個電晶體
AB
組合電路 – 全加器
X Y Carry in
Sum
Carryout
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
四位元加法器
1 byte ( 位元組) = 8 bit (位元)Word ( 字元 ) = ? bit
一位元全加器
A B
Sum
CinCout一位元全加器
A B
Sum
CinCout一位元全加器
A B
Sum
CinCout一位元全加器
A B
Sum
CinCout
蔡哲民老師提供
布林代數化簡 0X = 0 1X = X XX = X XX = 0
0+X = X 1+X = 1 X+X = X X+X = 0
XY=YX (XY)Z=X(YZ) X+YZ=(X+Y)(X+Z) X+Y = Y+X (X+Y)+Z = X+(Y+Z) X(Y+Z) = XY+XZ X(X+Y)=X X+XY=X (XY)=X+Y (X+Y)=X Y
DeMorgan’s LawDeMorgan’s Law
練習
試化簡 F(X,Y,Z) = (X+Y)(X+Y)(XZ)
積之和 v.s. 和之積 積之和 (sum-of-products) 相互 AND 變數 , 用 OR 串起來 F(X,Y,Z)=XY+XZ+YZ
和之積 (product-of-sums) 相互 OR 變數 , 用 AND 串起來 F(X,Y,Z)=(X+Y)(X+Z)(Y+Z)
SOP (Sum-of-Products)
F(X,Y,Z)=XY+Z
= X Y Z+X Y Z+X Y Z+ X Y Z+ X Y ZX Y Z NAND
0 0 0 0
0 0 1 1
0 1 0 0
0 1 1 1
1 0 0 1
1 0 1 1
1 1 0 0
1 1 1 1
X Y ZX Y ZX Y ZX Y ZX Y ZX Y ZX Y ZX Y Z
卡諾圖化簡
00 01 11 10
0 0 1 1 0
1 0 1 1 0
B
A
C
也有人用 ' 表示Y=AB'C+A'B'C+BC =C
卡諾圖化簡練習
00 01 11 10
00
01
11
10
Y = A'B' + AB'C'D'+ ABC'D'
A
B
C
D
多工器 Multiplexer
S1 S0 Y
0 0 D0
0 1 D1
1 0 D2
1 1 D3
22
多工器
D0
D3
D1
D2
S1 S0
Y
解多工器 Demultiplexer
解多工器
Data
Sn S0
Data
…
Data
Data
.
.
.
1 對 4 解多工器
編碼器 Encoder
X0 X1 X2 X3 Y1 Y0
1 0 0 0 0 0
0 1 0 0 0 1
0 0 1 0 1 0
0 0 0 1 1 1
解碼器 Decoder
A B Y0 Y1 Y2 Y3
0 0 1 0 0 0
0 1 0 1 0 0
1 0 0 0 1 0
1 1 0 0 0 1
七段顯示器
試設計解碼器
zh.wikipedia.org
數字 發亮線段 數字 發亮線段0 a,b,c,d,e,f 5 a,c,d,f,g
1 e,f 6 c,d,e,f,g
2 a,b,d,e,g 7 a,b,c
3 a,b,c,d,g 8 a,b,c,d,e,f,g
4 b,c,f,g 9 a,b,c,d,f,g
基本數位電路(多工器)
ABCD
C0C1C2C3
Out
C0-C3 同時只能有一個為 1C0=1時 out = A ,只要控制 C0-C3 哪一個為 1 ,就能控制到底哪一個輸入會送到 Out去
移位器
A0 A1 A2 A3 0
B0 B1 B2 B3
Shift
蔡哲民老師提供
算術邏輯單元( ALU )
依賴控制信號控制多工器與移位器的輸出、藉以完成加減乘除與邏輯運算
127x 101
127 00001270012827
一連串的控制信號就組成「程式」
(十進位)(二進位) 加法器
暫存器
多工器(資料選擇器)
多工器、移位器
A輸入 B輸入
控制信號控制信號
輸出
控制信號
控制信號
時脈與算數邏輯單元
在每一個同步信號週期中,電路作一個運算。
加法器
多工器(資料選擇器)
控制信號
輸出
控制信號
1
3
?
加法器
暫存器
多工器(資料選擇器)
多工器、移位器
A輸入 B輸入
控制信號控制信號
輸出
控制信號
控制信號
暫存器 暫存器同步信號同步信號
同步信號
由基本電路到簡單的電腦
解決問題需要一連串的控制信號例如:計算梯形面積:(上底+下底) x 高 /2
把程式和資料都放在記憶體中循序取出執行
ALUProgram Counter
主記憶體
控 制 信 號位 址 控 制 信 號 資 料
位 址 資 料ALU
資料
結果
10
10
.....11
01
1.....0
01
10
.....1
控制
信號
SUMMARY
布林運算與邏輯閘 布林代數化簡 半加器與全加器 積之和 v.s. 和之積 卡諾圖化簡 多工器與解多工器 編碼器與解碼器
31