31
數數數數 Digital Logic 數數數 數數數數 : 數數 CS912 07-3121101 數 2782 [email protected]

數位邏輯 Digital Logic

Embed Size (px)

DESCRIPTION

數位邏輯 Digital Logic. 陳以德 助理教授 : 濟世 CS912 07-3121101 轉 2782 [email protected]. 學習目標. 布林運算與邏輯閘 布林代數化簡 半加器與全加器 積之和 v.s. 和之積 卡諾圖化簡 多工器與解多工器 編碼器與解碼器 Summery. 布林代數. 用來處理只有二個值的數學系統 true ; false on ; off 1 ; 0 基本布林運算 : AND 、 OR 、 NOT 其他邏輯閘 - NAND 、 NOR 、 XOR 、 XNOR. - PowerPoint PPT Presentation

Citation preview

Page 1: 數位邏輯 Digital Logic

數位邏輯Digital Logic

陳以德 助理教授 : 濟世 CS91207-3121101 轉 2782

[email protected]

Page 2: 數位邏輯 Digital Logic

學習目標

布林運算與邏輯閘 布林代數化簡 半加器與全加器 積之和 v.s. 和之積 卡諾圖化簡 多工器與解多工器 編碼器與解碼器 Summery

2

Page 3: 數位邏輯 Digital Logic

布林代數

用來處理只有二個值的數學系統 true ; false on ; off 1 ; 0 基本布林運算 : AND 、 OR 、 NOT 其他邏輯閘- NAND 、 NOR 、 XOR 、 XNOR

3

Page 4: 數位邏輯 Digital Logic

基本布林運算 真值表

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

Page 5: 數位邏輯 Digital Logic

基本數位電路( 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

蔡哲民老師提供

Page 6: 數位邏輯 Digital Logic

基本數位電路( NOT 閘)

Vcc

Gnd

A

C

NOT Gate:A=1 C=0A=0 C=1

A=1 A=0

Vcc

Gnd

C

Vcc

Gnd

C

蔡哲民老師提供

Page 7: 數位邏輯 Digital Logic

基本數位電路( NOR 閘)

NOR 閘:A B C0 0 10 1 01 0 01 1 0

Vcc

Gnd

B

A

C

蔡哲民老師提供

Page 8: 數位邏輯 Digital Logic

基本數位電路( NAND 閘)

NAND 閘:A B C0 0 10 1 11 0 11 1 0

Vcc

Gnd

B

A

C

蔡哲民老師提供

Page 9: 數位邏輯 Digital Logic

基本數位電路( XOR 閘)

XOR 閘:A B C0 0 00 1 11 0 11 1 0

Vcc

Gnd

A

B

C

AB+AB

蔡哲民老師提供

Page 10: 數位邏輯 Digital Logic

多輸入邏輯閘 Logisim 邏輯自由軟體

10

Page 11: 數位邏輯 Digital Logic

基本布林運算 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⊕

Page 12: 數位邏輯 Digital Logic

組合電路 寫出下列電路數算式

12

Page 13: 數位邏輯 Digital Logic

組合電路 – 半加器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

Page 14: 數位邏輯 Digital Logic

組合電路 – 全加器

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

Page 15: 數位邏輯 Digital Logic

四位元加法器

1 byte ( 位元組) = 8 bit (位元)Word ( 字元 ) = ? bit

一位元全加器

A B

Sum

CinCout一位元全加器

A B

Sum

CinCout一位元全加器

A B

Sum

CinCout一位元全加器

A B

Sum

CinCout

蔡哲民老師提供

Page 16: 數位邏輯 Digital Logic

布林代數化簡 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

Page 17: 數位邏輯 Digital Logic

練習

試化簡 F(X,Y,Z) = (X+Y)(X+Y)(XZ)

Page 18: 數位邏輯 Digital Logic

積之和 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)

Page 19: 數位邏輯 Digital Logic

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

Page 20: 數位邏輯 Digital Logic

卡諾圖化簡

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

Page 21: 數位邏輯 Digital Logic

卡諾圖化簡練習

00 01 11 10

00

01

11

10

Y = A'B' + AB'C'D'+ ABC'D'

A

B

C

D

Page 22: 數位邏輯 Digital Logic

多工器 Multiplexer

S1 S0 Y

0 0 D0

0 1 D1

1 0 D2

1 1 D3

22

多工器

D0

D3

D1

D2

S1 S0

Y

Page 23: 數位邏輯 Digital Logic

解多工器 Demultiplexer

解多工器

Data

Sn S0

Data

Data

Data

.

.

.

1 對 4 解多工器

Page 24: 數位邏輯 Digital Logic

編碼器 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

Page 25: 數位邏輯 Digital Logic

解碼器 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

Page 26: 數位邏輯 Digital Logic

七段顯示器

試設計解碼器

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

Page 27: 數位邏輯 Digital Logic

基本數位電路(多工器)

ABCD

C0C1C2C3

Out

C0-C3 同時只能有一個為 1C0=1時 out = A ,只要控制 C0-C3 哪一個為 1 ,就能控制到底哪一個輸入會送到 Out去

移位器

A0 A1 A2 A3 0

B0 B1 B2 B3

Shift

蔡哲民老師提供

Page 28: 數位邏輯 Digital Logic

算術邏輯單元( ALU )

依賴控制信號控制多工器與移位器的輸出、藉以完成加減乘除與邏輯運算

127x 101

127 00001270012827

一連串的控制信號就組成「程式」

(十進位)(二進位) 加法器

暫存器

多工器(資料選擇器)

多工器、移位器

A輸入 B輸入

控制信號控制信號

輸出

控制信號

控制信號

Page 29: 數位邏輯 Digital Logic

時脈與算數邏輯單元

在每一個同步信號週期中,電路作一個運算。

加法器

多工器(資料選擇器)

控制信號

輸出

控制信號

1

3

?

加法器

暫存器

多工器(資料選擇器)

多工器、移位器

A輸入 B輸入

控制信號控制信號

輸出

控制信號

控制信號

暫存器 暫存器同步信號同步信號

同步信號

Page 30: 數位邏輯 Digital Logic

由基本電路到簡單的電腦

解決問題需要一連串的控制信號例如:計算梯形面積:(上底+下底) x 高 /2

把程式和資料都放在記憶體中循序取出執行

ALUProgram Counter

主記憶體

控 制 信 號位 址 控 制 信 號 資 料

位 址 資 料ALU

資料

結果

10

10

.....11

01

1.....0

01

10

.....1

控制

信號

Page 31: 數位邏輯 Digital Logic

SUMMARY

布林運算與邏輯閘 布林代數化簡 半加器與全加器 積之和 v.s. 和之積 卡諾圖化簡 多工器與解多工器 編碼器與解碼器

31