• 沒有找到結果。

2 4 解碼器

N/A
N/A
Protected

Academic year: 2022

Share "2 4 解碼器"

Copied!
74
0
0

加載中.... (立即查看全文)

全文

(1)

數位邏輯設計與實習

ch04 組合邏輯電路設計

(2)

組合邏輯電路定義

組 合 電 路

z1=f1(x1,x2,...,xn) z2=f2(x1,x2,...,xn) zm=fm(x1,x2,...,xn)

任何時刻的

輸出與當時

的輸入有關

(3)

組合邏輯電路設計步驟

„ 由電路的規格,決定所需的輸入與輸出的個 數,並且對每一個輸入與輸出安排一個變數 符號。

„ 導出真值表並定義輸入與輸出間所需的關 係。

„ 對每一個輸出求出以輸入變數為函數之簡化 的布林函數。

„ 畫出邏輯圖,

表決

多數電路

(4)

組合電路種類

„ 算術電路(加法器、減法器、乘法器)

„ 解碼器

„ 編碼器

„ 多工器

„ 解多工器

„ 比較器

„ 數碼轉換器

„ 同位元產生器/檢查器

(5)

加法器/減法器

„ 1bit 加法器

„ 1bit 減法器

„ 4bit 並加器(漣波加法器)

„ 4bit 加減器

„ 4bit 加減器有旗號指示

„ 1位數BCD加法器

(6)

1bit加法器定義

„ 半加器 :一位元與一位元相加, 不考慮進位

„ 全加器 :一位元與一位元相加, 考慮前一級 進位

H.A

F.A

(7)

半加器設計

„ 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+1

B i A i

入 出

真值表

=Ai

.

Bi

H.A

H.A H.A

加法 Ai

Bi

Sium Ciarry

(8)

全加器設計

F.A

Ai

Bi Ci

Si

Ci+1

(9)

全加器真值表

1 1

1 1

1

0 1

0 1

1

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

輸入 輸出

i i i

行為

加 A

B C

Si

Ci+1

Si=Σ(1,2,4,7)

=Ai⊕Bi⊕Ci

Ci+1=Σ(3,5,6,7)

AiBi+AiCi+BiCi

(10)

全加器布林式

„ S i =Σ(1,2,4,7)=A i ♁B i ♁C i

C i+1 =Σ(3,5,6,7)=A i B i +A i C i +B i C i

„ =A i B i +C i (A i ♁B i ) =AB+C(A+B)

XOR OR Ci+1=AB+C(A⊕B)

0 0 0 0 1 1 1 0 1 1 1 1 ab

0 0 0

(11)

用半加器設計全加器

半加 S=A⊕B C=AB

全加 S=A⊕B⊕C

=(A⊕B)⊕C

Ci+1=AB+C(A⊕B)

A⊕B A⊕B⊕C

C(A⊕B)

AB+C(A⊕B) AB

F.A=2 H.A+OR gate

(12)

1bit 減法器

„ 半減器 :一位元與一位元相減,不考慮借位

„ 全減器 :一位元與一位元相減, 考慮前一級 借位

H.S

F.S x

y

D(差) B(借) Half Subtractor

Xi

Yi Bi

Di Bi+1

(13)

半減器設計

„ D i =Σ(1,2)=A i ♁B i B i+1 =Σ(1)= A'B

Bi H.S

Di

Bi+1

Ai

0 0 0 1 1 0 1 1

0 0 1 1 0 1 0 0 Ai

Bi Bi+1Di

(14)

全減器設計

„ D i =Σ(1,2,4,7)=X i ♁ Y i ♁ B i

B i+1 =Σ(1,2,3,7)=X i Y i +X i B i +Y i B i

1 bit

F.S

Xi

Yi

Bi

Di Bi+1

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 X Y B Bi+1 D

(15)

4bit 並加器(漣波加法器)

ripple adder

F.A

a b

Ci+1 C

S

(16)

4bit 加減法器分析

4bit減法器

(1)方法一:

F.S F.S F.S F.S

(2)方法二: 用加法代替減法

A+B=A+B+0=A+B+0 A B=A+( B)=A+B'+1

B 0 B 1

B

B' 1'S

2'S

(17)

4bit 加減器

M

S

A B

0~ 加 1~減

B3' B2' B1' B0'

A+B'+1=A B

(18)

4bit 加減器有旗號指示

„ ZF(Zero Flag)

„ CF(Carry Flag)

„ SF(Sign Flag)

„ OF(Over Flag)

ZF=1>>成立

ZF=0>>結果不為零

狀態 (況)

進位

符號

溢位 over flow

狀態

Flag Reg Status Reg

OF ZF SF CF 超出範圍

F.A F.A F.A F.A

S3 S2 S1 S0

(19)

4bit 加減器有旗號指示電路圖

FA FA FA FA

A A A A

OF ZF SF CF

A

A

S3 S2 S1 S0

C1 C2

C3 C4

A3B3 A2B2 A1B1 A0B0

C0

S:1 減

S:0 加

(20)

1位數BCD加法器分析

(21)

1位數BCD加法器

BCD1 BCD2

(22)

漣波加法器缺點

„ 進位傳遞延遲

F.A

A B

Ci+1 Ci

Si

F.A F.A

F.A F.A

a3 b3 a2 b2 a1 b1 a0 b0

C4 C0

C2 C1 C3

已知

產生 兩個閘

>>delay

10ns

20ns

*

8

160ns

MHz T=

f=

(23)

進位前看加法器(Carry Look-ahead Adder,CLA)

„ 己知:A 3 A 2 A 1 A 0 ,B 3 B 2 B 1 B 0 ,C 0

„ 未知: C 4 ,C 3 ,C 2 ,C 1

„ S i =(A i ♁ B i ) ♁ C i

„ C i+1 =A i B i + C i (A i ♁B i )

„ 令G i =A i B i (進位產生)

„ P i =A i ♁ B i (進位傳遞)

a3 a2 a1 a0 b3 b2 b1 b0

C4 C0

S3 S2 S1 S0

F.A

a b

Ci+1 Ci

C

i+1

=G

i

+C

i

P

i S

F.A

(24)

進位前看加法器

C i+1 =G i +C i P i

i=0 C 1 =G 0 +C o P o i=1 C 2 =G 1 +C 1 P 1

=G 1 +G 0 P 1 +C o P o P 1 i=2 C 3 =G 2 +C 2 P 2

=G 2 +G 1 P 2 +G 0 P 1 P 2 +C o P o P 1 P 2 i=3 C 4 =G 3 +C 3 P 3

= G 3 +G 2 P 3 +G 1 P 2 P 3 +G 0 P 1 P 2 P 3 +C o P o P 1 P 2 P 3

=G3 + P3 G2 + P3 P2 G1 + P3 P2 P1 G0 + P3 P2 P1 P0 C0

AND OR

(25)

進位前看產生電路圖

AND OR

(26)

進位前看加法器 三連波

4 gate

8bit>>4gate

ripple>>16gate

F.A>>2

(27)

乘法器

„ 1bit 乘法器

„ 2bit 乘法器(用HA,FA)

(28)

1bit 乘法器

a b

p

a b p 0 0

0 1 1 0 1 1

0 0 0 1

(29)

2bit 乘法器真值表

3 3

a1 a0 b1 b0

p3 p2 p1 p0

(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

3 U5A

7408

A1 A0 B1 B0

P3

P1 P2

P0

(1)

(31)

2bit 乘法器(用HA,FA分析)

a1 a0 b1 b0

*

a1b0 a0b0 a1b1 a0b1

c c H.A

H.A

P0 P2 P1

P3

S S S

b1

a1 a0 b0

H.A

H.A C

P0 P1

P3 P2

S C

S

(32)

2bit 乘法器(用HA,FA)

1bit乘法器

(33)

3bit 乘法器(用HA,FA)

6入

26=64項

a2 a1 a0 b2 b1 b0

*

a2b0 a1b0 a0b0

a1b1 a0b1 a2b1

a0b2 a2b2 a1b2

P0 P2 P1

P3 P5 P4

c c c c

F.A F.A F.A H.A

(34)

解碼器方塊圖

(decoder)

低態輸出

1對2 解 碼

高態輸出 2x4 decoder

n 2n

入 出

. 3x8

. . . . .

0

15 4x16

E

(35)

有致能解碼器方塊圖

有些解碼器電路沒有致 能控制線;有些電路為 高電位啟動。

Y

0

Y

1

解碼器 輸

入 端

輸出端

致能控制線 Y

m-1

Y

m-2

⎬ ⎪

⎭⎪

n m ×

E x

0

x

1

x

n-1

x

n-2

⎪ ⎪

⎪ ⎪

(a) 非反相輸出

Y

0

Y

1

解碼器 輸

入 端

輸 出 端

致能控制線 Y

m-1

Y

m-2

⎬ ⎪

⎭⎪

n m ×

E x

0

x

1

x

n-1

x

n-2

⎪ ⎪

⎪ ⎪

(b) 反相輸出

n m

高態同相 低態輸出

低態(低電位)

(36)

2對4解碼器(高態輸出)

(1)方塊圖

MSB a b

d1d0 d2 d3

(3)邏輯圖

d0 d1 d2

a b

(2)真值表 a b 0 0 0 1 1 0 1 1

d0 d1 d2 d3 0 0 0 1 0 0 1 0 0 1 0 0 1 0 0 0

最小值

(37)

有致能端2對4解碼器(高態輸出)

(a) 方塊圖

(b) 功能表 (c) 邏輯電路

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

平常 致能

(39)

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 MSB

3x8

. . . X0

X1 X2

Y1Y0 Y2

Y7

(40)

4對16解碼器—利用2對4解碼器

. . . X1

MSB X3

Y0

Y15 4x16

邏輯圖 ISE~繪圖 HDL~程式

X0 X1

X2 X3

Y0

(41)

編碼器方塊圖

2^n n

4對2編碼器

X0 . . . . . . X7

d2 d1 d0

n log2n

(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

不重要 8入 優先

don't care

8對3優先編碼器

(43)

8對3優先權編碼器

低態

致能

低態

優先

優先

(44)

多工器方塊圖

Multiplexer(Mux)

. . . 輸入 2^n

選擇線 n

1

I0 I1

I7 . . .

1

16

4

1 16x1

1 2x1 Mux

I0 I1 I2 I3

S1 S0 4x1 Mux

(45)

2對1多工器

Y I

0

I

1

S MUX

2 1 ×

(a) 方塊圖 (b) 功能表

S Y

0 1

I

0

I

1

(c) 邏輯電路 S

I

0

I

1

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

軟體 硬體

S

a

b

S0

Sa

Sb

f a

b

f s

Mux21

HDL

(47)

4對1多工器

(a) 方塊圖 (b) 功能表 (c) 邏輯電路

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

(48)

有致能端2對1多工器

(a) 功能表 (b) 邏輯電路

S Y

0 1

I

0

I

1

E

1 1

0 φ 0

S I

0

I

1

Y

E

(49)

49

4對1多工器—利用2對1多工器

S I0

多工器Y 2 ×1

I1 E

S I0

多工器Y 2 ×1

I1 E I0

Y I1

I2

I3

S1 S0

I0 I1 I2 I3

Y

(50)

8對1多工器—利用2對1多工器

I0

I7 . . . . .

Y

S2 S1 S0

I0 I1

I2 I3

I4 I5

I6

I7

Y

(51)

解多工器方塊圖

DeMultiplexer(DeMux)

n

2^n 輸出

選擇線 輸入

1

I0 I1 I2 I3 I4 I5 I6 I7

(52)

1 對2解多工器

(a) 方塊圖 (b) 功能表 (c) 邏輯電路

S Y

0

0 1

D 0

Y

1

D 0 D

Y

0

Y

1

S

DeMUX 1 2 ×

S

D Y

0

Y

1

(53)

有致能端1 對4解多工器

(a) 方塊圖 (b) 功能表 (c) 邏輯電路

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

1x8

DEM .

. . . .

(55)

1bit比較器方塊圖

(56)

4 bit比較器方塊圖

(57)

8 bit比較器—利用4 bit比較器

A

0

A

1

A

3

A

2

B

0

B

1

B

3

B

2

I

A>B

I

A=B

I

A<B

O

A>B

O

A=B

O

A<B

4位元比較器

A

0

A

1

A

3

A

2

B

0

B

1

B

3

B

2

I

A>B

I

A=B

I

A<B

O

A>B

O

A=B

O

A<B

4位元比較器

0 1 0

B

0

B

1

B

3

B

2

A

0

A

1

A

3

A

2

B

4

B

5

B

7

B

6

A

4

A

5

A

7

A

6

A B

相等

低位元

(58)

XOR特性1

„ N=2

„ N=4

a⊕b a⊙b=(a⊕b)'

(59)

XOR特性2

„ N=3

a⊕b⊕c

=a⊙b⊙c

a ⊙b⊙c

a ⊕b⊕c

=a ⊕b⊙c

=a ⊙b⊕c

(60)

2進制對葛雷碼轉換器

兩兩互斥

(1) g2 g1 g0 b2 b1 b0

0 0 0 0 0 1 0 1 1 0 1 0

0 0 0 0 0 1 0 1 0 0 1 1 1 1 0

1 1 1 1 0 1 1 0 0

1 0 0 1 0 1 1 1 0 1 1 1 (2)

g2=Σ(4,5,6,7) g1=Σ(2,3,4,5) g0=Σ(1,2,5,6)

g2=b2

=b2b1'+b2'b1

=b2⊕b1

=b1b0'+b1'b0

=b1⊕b0

(61)

葛雷碼 對2進制轉換器

g2 g1 g0 b2 b1 b0

0 0 0 0 0 1 0 1 1 0 1 0 1 1 0 1 1 1 1 0 1 1 0 0

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 1 0 (g)

0 1 1 (2)

b2=Σ(4,5,6,7) b1=Σ(2,3,4,5) b0=Σ(1,2,4,7)

=g2

=g2g2⊕g1=b2⊕g1⊕g1⊕g0=b1⊕g0

(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 BCD

X'3

(63)

w

x

y

z

D

C

B

A

BCD X'3

(64)

BCD碼對七段的轉換電路

BCD

共陽型

共陰型

送0亮~

W.X.Y.Z 0 0 0 0 0 0 0 1 0 0 1 0

g...c.b.a

1 0 1 1 0 1 1

...

(65)

同位元產生器/檢查器

„ 同位產生器與檢查

„ 偶同位位元: P = x ♁ y ♁ z

„ 同位檢查器: C = x ♁ y ♁ z ♁ P

„ C =1:奇數個資料位元錯誤發生

„ C = 0:資料正確或偶數個資料位元錯誤發 生

=

(1,2,4,7)

產生 (偶同位)

檢查 C=0 偶

C=1 奇

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 1 1 0 1 0 0 1

(1,2,4,7)

=

(66)

3bit同位元產生器/檢查器

(67)

可規劃邏輯元件(PLD)

„ PLD: Programmable Logic Device

„ PROM (Programmable Read Only Memory )

„ PAL (Programmable Array Logic )

„ PLA (Programmable Logic Array)

„ FPGA –現場可規劃邏輯陣列 (field- programmable gate array)

z 可規劃邏輯區塊 (programmable logic blocks)

z 可規劃內部連接 (programmable interconnects)

(68)

ROM

(69)

PROM

(70)

PLD區別

(71)

PLA

(72)

PLA內部圖

(73)

3bit平方電路--分析

(74)

3bit平方電路

參考文獻

相關文件

„ FPGA –現場可規劃邏輯陣列 (field- programmable

z 可規劃邏輯區塊 (programmable logic blocks) z 可規劃內部連接

在數位系統中,若有一個以上通道的數位信號需要輸往單一的接收端,數位系統通常會使用到一種可提供選擇資料的裝置,透過選擇線上的編碼可以決定輸入端

„ FPGA –現場可規劃邏輯陣列 (field- programmable

„ FPGA –現場可規劃邏輯陣列 (field- programmable

„ FPGA –現場可規劃邏輯陣列 (field- programmable

„ FPGA –現場可規劃邏輯陣列 (field- programmable

„ FPGA –現場可規劃邏輯陣列 (field- programmable gate