38
Unit 9 Multiplexers, Decoder, and Programmable logic Devices ( 멀멀멀멀멀 , 멀멀멀 , 멀멀멀멀멀멀 멀멀멀멀 )

Unit 9 Multiplexers, Decoder, and Programmable logic Devices ( 멀티플렉서 , 디코더 , 프로그래머블 논리소자 )

Embed Size (px)

DESCRIPTION

Unit 9 Multiplexers, Decoder, and Programmable logic Devices ( 멀티플렉서 , 디코더 , 프로그래머블 논리소자 ). 강의 개요. 멀티플렉서 , 디코더 , 프로그래머블 논리소자 멀티플렉서 3-State Buffer 디코더와 인코더 읽기 전용 메모리 Programmable Logic Device PLA(Programmable Logic Array) PAL(Programmable Array Logic) - PowerPoint PPT Presentation

Citation preview

Page 1: Unit 9  Multiplexers, Decoder, and Programmable logic Devices  ( 멀티플렉서 ,  디코더 ,  프로그래머블 논리소자 )

Unit 9 Multiplexers, Decoder, and

Programmable logic Devices ( 멀티플렉서 , 디코더 , 프로그래머블 논리소

자 )

Page 2: Unit 9  Multiplexers, Decoder, and Programmable logic Devices  ( 멀티플렉서 ,  디코더 ,  프로그래머블 논리소자 )

강의 개요멀티플렉서 , 디코더 , 프로그래머블 논리소자

멀티플렉서 3-State Buffer 디코더와 인코더 읽기 전용 메모리 Programmable Logic Device

• PLA(Programmable Logic Array)• PAL(Programmable Array Logic)

CPLD(Complex Programmable Logic Devices) FPGA(Field Programmable Gate Array)

Page 3: Unit 9  Multiplexers, Decoder, and Programmable logic Devices  ( 멀티플렉서 ,  디코더 ,  프로그래머블 논리소자 )

9.2 Multiplexer멀티플렉서 (Multiplexer, 데이터 선택기 , MUX )

데이터 입력과 제어 입력으로 구성된 소자 . 제어 입력은 데이타 입력 중에서 하나를 선택하여 출력단과 연결하는

역할을 한다 .

2-to-1 멀티플렉서 및 등가 스위치

0 1'Z A I AI

Page 4: Unit 9  Multiplexers, Decoder, and Programmable logic Devices  ( 멀티플렉서 ,  디코더 ,  프로그래머블 논리소자 )

9.2 Multiplexer 여러 가지 멀티플레서들

3210 ABIIBABIAIBAZ

7654

3210

ABCIICABCIBAICBA

BCIAICBACIBAICBAZ

12

0

n

kkk ImZ

Page 5: Unit 9  Multiplexers, Decoder, and Programmable logic Devices  ( 멀티플렉서 ,  디코더 ,  프로그래머블 논리소자 )

9.2 Multiplexer 멀티플렉서는 디지털 시스템에서 처리되거나 저장되는

데이터를 선택하는데 자주 사용된다 .

4 개의 2-to-1 멀티플렉서를 이용한 데이터 워드 선택 구현 제어입력 A 에 따라 다른 워드 선택

• A = 0 : x0, x1, x2, x3• A = 1 : z0, z1, z2, z3

Page 6: Unit 9  Multiplexers, Decoder, and Programmable logic Devices  ( 멀티플렉서 ,  디코더 ,  프로그래머블 논리소자 )

9.2 Multiplexer Bus

여러 개의 논리 신호가 공통된 기능을 수행하기 위해 그룹화 된 것 여러 개의 선을 다 그리는 대신 하나의 굵은 선과 사선을 이용하여

표현

4 bit 입력과 출력을 가지는 2-to-1 멀티플렉서

4

]3..0[a0a1a

3a2a

a

Page 7: Unit 9  Multiplexers, Decoder, and Programmable logic Devices  ( 멀티플렉서 ,  디코더 ,  프로그래머블 논리소자 )

다양한 멀티플렉서들 선택된 입력 값을 반전시켜 출력하는 멀티플렉서

• Active low 상태 출력을 가짐• 반전이 없는 경우는 Active high 상태 출력을 가진다고 함

Enable 단자를 가지는 멀티플렉서• 멀티플렉서의 입력에 Enable 단자를 추가• E (Enable) = 0 인 경우 입력에 무관하게 출력은 0• E = 1 인 경우 멀티플렉서로 동작• Enable 단자 역시 Active high/low 존재• Enable 단자의 버블 유무로 구별 가능

9.2 Multiplexer

Page 8: Unit 9  Multiplexers, Decoder, and Programmable logic Devices  ( 멀티플렉서 ,  디코더 ,  프로그래머블 논리소자 )

9.3 Three-State Buffers 버퍼 (Buffer)

디지털 시스템의 성능을 저하를 피하기 위해 게이트의 출력을 제한된 수의 다른 소자의 입력에만 연결하는 경우가 있다 .

버퍼는 게이트 출력의 구동 능력을 향상시키기 위해 사용된다 .

• 예시 : 비반전 버퍼를 추가하여 하나의 게이트 출력과 다수의 게이트 입력을 연결

Page 9: Unit 9  Multiplexers, Decoder, and Programmable logic Devices  ( 멀티플렉서 ,  디코더 ,  프로그래머블 논리소자 )

9.3 Three-State Buffers2 개 이상의 게이트 또는 다른 소자들의 출력들이 서로 직접

연결 된다면 정상상태에서 논리회로는 올바르게 동작하지않는다 .

하나의 게이트 출력이 0 이고 또 다른 게이트의 출력이 1 일 때 , 두 출력이 서로 연결된 경우 결과 출력 전압은 0 이나 1 로 뚜렷이

구별되지 않는 중간 값을 갖게 된다 . 어떤 경우에는 게이트가 파손되기도 한다 .

High

Low

Page 10: Unit 9  Multiplexers, Decoder, and Programmable logic Devices  ( 멀티플렉서 ,  디코더 ,  프로그래머블 논리소자 )

9.3 Three-State Buffers 3-state buffer

2 개 이상의 게이트나 다른 논리소자들의 출력을 서로 연결하는 데사용

3-state buffer 와 그 논리적 등가모델

B 는 동작 허용 입력 B=1 일 때 C=A B=0 일 때 C=Z (High Impedance/ 개방회로 )

Three-state or Tri-state Buffer 라 불림

Page 11: Unit 9  Multiplexers, Decoder, and Programmable logic Devices  ( 멀티플렉서 ,  디코더 ,  프로그래머블 논리소자 )

9.3 Three-State Buffers4 가지 3-state buffer 와 그 논리표

Enable 단자 B 와 출력 C 에 버블의 유무에 따라 4 가지 경우 존재

Page 12: Unit 9  Multiplexers, Decoder, and Programmable logic Devices  ( 멀티플렉서 ,  디코더 ,  프로그래머블 논리소자 )

9.3 Three-State Buffers 3-state buffer 를 이용한 데이터 선택

3-state buffer 로 구성된 버스를 3-state 버스라 함 4 개의 발생원으로부터 operand 를 입력 받는 4 비트 덧셈기

• B=0 이면 D=A 이므로 A 입력 선택• B=1 이면 D=C 이므로 C 입력 선택

• 2-to-1 멀티플렉서와 동등

Page 13: Unit 9  Multiplexers, Decoder, and Programmable logic Devices  ( 멀티플렉서 ,  디코더 ,  프로그래머블 논리소자 )

9.3 Three-State Buffers 양방향 입출력을 가진 집적회로

하나의 핀을 때에 따라 입 / 출력으로 사용할 수 있는 회로

버퍼가 동작 가능 상태 : 출력 버퍼가 동작 불가능 상태 : 입력

Page 14: Unit 9  Multiplexers, Decoder, and Programmable logic Devices  ( 멀티플렉서 ,  디코더 ,  프로그래머블 논리소자 )

9.4 Decoders and Encoders 디코더 (Decoder)

n 개의 입력변수를 가진 함수의 모든 최소항 (2^n) 을 생성한다 . 입력변수에 따라 출력 선 중 단 하나만이 1 이 된다 .

3-to-9 라인 디코더와 진리표

Page 15: Unit 9  Multiplexers, Decoder, and Programmable logic Devices  ( 멀티플렉서 ,  디코더 ,  프로그래머블 논리소자 )

9.4 Decoders and Encoders 반전 출력을 가지는 디코더

•4-to-10 디코더•나머지 ABCD 입력은 모두 1•2 진수 입력에 해당하는 10 진수 출력

Page 16: Unit 9  Multiplexers, Decoder, and Programmable logic Devices  ( 멀티플렉서 ,  디코더 ,  프로그래머블 논리소자 )

9.4 Decoders and Encoders 일반적인 n-to-2n 라인 디코더는 n 개의 입력에 대해

아래와 같은 출력을 가진다 .

• m 은 n 개의 입력변수의 최소항• M 은 n 개의 입력변수의 최대항

n 입력 디코더를 이용하여 n- 변수 함수를 최소항 출력들을 선택한 뒤 OR 함으로써 구현 가능

디코더 출력을 반전하면 NAND 게이트로 구현 가능

outputs) (inverted 12 to0 ,

outputs) ed(noninvert 12 to0 ,

niii

nii

iMmy

or

imy

Page 17: Unit 9  Multiplexers, Decoder, and Programmable logic Devices  ( 멀티플렉서 ,  디코더 ,  프로그래머블 논리소자 )

9.4 Decoders and Encoders 디코더 출력 반전 - NAND 게이트를 이용하여 함수 생성

)''''(

),,,(

421

4211

mmm

mmmdcbaf

)''''(

),,,(

974

9742

mmm

mmmdcbaf

Page 18: Unit 9  Multiplexers, Decoder, and Programmable logic Devices  ( 멀티플렉서 ,  디코더 ,  프로그래머블 논리소자 )

9.4 Decoders and Encoders 인코더

디코더의 Inverse Function 2n-to-n 입출력

8-to-3 인코더

• 입력의 하나 이상이 ‘ 1’ 인 경우 우선순위에 의해 결정됨

Page 19: Unit 9  Multiplexers, Decoder, and Programmable logic Devices  ( 멀티플렉서 ,  디코더 ,  프로그래머블 논리소자 )

9.5 Read-Only Memories ROM(Read-Only Memory)

2 진 데이터 배열을 저장하기 위해 상호 연결된 반도체 소자의 배열로구성

읽을 수는 있지만 변경할 수는 없음 예시 : 3 개의 입력선과 4 개의 출력선을 가지는 ROM

ROM 에 저장되는 각각의 출력 패턴을 워드 (word) 라 부른다 .

Page 20: Unit 9  Multiplexers, Decoder, and Programmable logic Devices  ( 멀티플렉서 ,  디코더 ,  프로그래머블 논리소자 )

9.5 Read-Only Memoriesn 개의 입력을 가지는 경우 2n 가지의 다른 조합을 가짐

입력 선은 2n 개의 워드 중 하나의 주소의 역할m 개의 출력을 가지면 워드의 길이는 m 비트n 개의 변수를 가지는 m 개의 함수 구현 가능

Page 21: Unit 9  Multiplexers, Decoder, and Programmable logic Devices  ( 멀티플렉서 ,  디코더 ,  프로그래머블 논리소자 )

9.5 Read-Only Memories 기본적인 ROM 구조

n 개의 패턴이 디코더에 인가 디코더 출력 중 하나가 ‘ 1’ 이 됨 이 출력 선 하나가 메모리 배열의 하나인 워드를 선택하여 출력

Page 22: Unit 9  Multiplexers, Decoder, and Programmable logic Devices  ( 멀티플렉서 ,  디코더 ,  프로그래머블 논리소자 )

9.5 Read-Only Memories 8 워드 4 비트 ROM 내부구조 예시

스위칭 소자에 의해 출력선 F 에 연결된 최소항들은 서로 OR 되어 출력을 생성 함

4)7,6,5,3,2(

''')6,2,1,0(

')7,6,4,3,2(

''')6,4,1,0(

3

2

1

0

BACmF

BCBAmF

ACBmF

ACBAmF

''')6,4,1,0(0 ACBAmF

Page 23: Unit 9  Multiplexers, Decoder, and Programmable logic Devices  ( 멀티플렉서 ,  디코더 ,  프로그래머블 논리소자 )

9.5 Read-Only Memories ROM 을 이용한 다중 출력 조합회로 구현

예제 : 16 진수 -ASCII Code 변환기

• 4 비트 2 진수를 16 비트로 변환• 7 비트 ASCII Code 출력• 진리표의 A4A3A2A1A0 이 ROM 에 저장

Page 24: Unit 9  Multiplexers, Decoder, and Programmable logic Devices  ( 멀티플렉서 ,  디코더 ,  프로그래머블 논리소자 )

9.5 Read-Only Memories 스위칭 소자는 x 표시로 나타낼 수 있음 위 예제의 내부 도표

Page 25: Unit 9  Multiplexers, Decoder, and Programmable logic Devices  ( 멀티플렉서 ,  디코더 ,  프로그래머블 논리소자 )

9.5 Read-Only Memories대표적인 ROM 의 종류

Mask-Programmable ROM• 생산공정시 데이터 배열이 영구적으로 저장

PROM(Programmable ROM) • 아무 내용이 들어있지 않은 빈 상태로 제조하여 공급되고 사용자가

PROM 라이터를 이용하여 내용을 써넣을 수 있음 EEPROM(Electrically Erasable Programmable ROM)

• 디지털 시스템 개발 과정 중 이용• 전하 저장 장치를 사용하여 재 프로그램 가능

– cf) 플래시는 프로그래밍 및 소거 기능을 내장하고 있음

Page 26: Unit 9  Multiplexers, Decoder, and Programmable logic Devices  ( 멀티플렉서 ,  디코더 ,  프로그래머블 논리소자 )

9.6 Programmable Logic Devices Programmable Logic Device

다양한 논리 함수를 제공하도록 프로그램이 가능한 디지털 집적회로 Programmable Logic Array

• ROM 과 동일한 기본 기능을 수행• n 개의 입력과 m 개의 출력을 가질 경우 n 개의 변수를 가진 m 개의

함수 구현 가능

• PLA 는 논리곱의 합 표현을 구현함 (ROM 은 진리표를 그대로 구현 )

• ROM 의 디코더 ->AND Array 로 대체되어 곱 항 실현

• OR 배열은 선택된 곱 항을 OR 하여 출력 실현

Page 27: Unit 9  Multiplexers, Decoder, and Programmable logic Devices  ( 멀티플렉서 ,  디코더 ,  프로그래머블 논리소자 )

9.6 Programmable Logic Devices ROM 과 PLA 의 비교

ROM

ACBF

BCBAF

BACF

ACBAF

3

2

1

0

'''

'

'''

PLA

Page 28: Unit 9  Multiplexers, Decoder, and Programmable logic Devices  ( 멀티플렉서 ,  디코더 ,  프로그래머블 논리소자 )

9.6 Programmable Logic Devices 앞 예제와 등가인 PLA

Product

Term

Inputs Outputs

A B C F0 F1 F2 F3

A’B’

AC’

B

BC’

AC

0

1

-

-

1

0

-

1

1

-

-

0

-

0

1

1

1

0

0

0

0

1

1

0

0

1

0

0

1

0

0

0

1

0

1

ACBF

BCBAF

BACF

ACBAF

3

2

1

0

'''

'

'''

Page 29: Unit 9  Multiplexers, Decoder, and Programmable logic Devices  ( 멀티플렉서 ,  디코더 ,  프로그래머블 논리소자 )

9.6 Programmable Logic Devices PLA 를 이용한 최소 다중 출력 함수 구현

• PLA Table 을 생성한 후 PLA 구조 구현

dca

or

abd

cbabcf

bdacf

bacbbdf

3

2

1

•PLA table 의 각 행은 최소항을 나타냄

Page 30: Unit 9  Multiplexers, Decoder, and Programmable logic Devices  ( 멀티플렉서 ,  디코더 ,  프로그래머블 논리소자 )

9.6 Programmable Logic Devices Programmable Array Logic(PAL)

• AND 배열은 프로그램이 가능하지만 OR 배열은 고정되어 있는 특별한 형태의 PLA

• PAL 은 하나의 입력이 많은 수의 AND 게이트를 구동하기 때문에 버퍼를 사용함

• 프로그램을 하지 않은 상태의 PAL 의 일부분

• 논리적으로 동등한 입력 버퍼

Page 31: Unit 9  Multiplexers, Decoder, and Programmable logic Devices  ( 멀티플렉서 ,  디코더 ,  프로그래머블 논리소자 )

9.6 Programmable Logic Devices 예제 1: I1I’2+I’1I2 함수를 PAL 로 구현

• PAL 의 일부분 사용

21210 IIIIF

Page 32: Unit 9  Multiplexers, Decoder, and Programmable logic Devices  ( 멀티플렉서 ,  디코더 ,  프로그래머블 논리소자 )

9.6 Programmable Logic Devices 예제 2: 전가산기 (Full-Adder) 를 PAL 로 설계하기

• 전가산기의 논리식

inininin XYCCXYYCXCYXSum ''''''

XYYCXCC ininout

Page 33: Unit 9  Multiplexers, Decoder, and Programmable logic Devices  ( 멀티플렉서 ,  디코더 ,  프로그래머블 논리소자 )

9.7 Complex Programmable Logic Devices

CPLD(Complex Programmable Logic Devices) 하나의 칩 안에 여러 개의 PAL 또는 PLA 를 집적하여 연결한

논리소자 기억소자가 같이 집적된다면 하나의 디지털 시스템을 CPLD 안에

구현 가능함 CPLD 내부의 상호 연결은 컴퓨터 소프트웨어로 설계 가능

Xilinx CPLD 구조 및 회로

Page 34: Unit 9  Multiplexers, Decoder, and Programmable logic Devices  ( 멀티플렉서 ,  디코더 ,  프로그래머블 논리소자 )

9.8 Field Programmable Gate Array

FPGA(Field Programmable Gate Array) 프로그램이 가능한 연결선들과 함께 동일한 기능을 가지는 논리

셀들의 배열을 가지는 집적회로

논리 셀들 간의 연결선을 이용하여 함수를 프로그램 할 수 있음

CLB(Configurable Logic Block) 들의 배열로 구성되어 있음

CLB 는 I/O 블록으로 둘러쌓여 있음

FPGA 의 Layout

Page 35: Unit 9  Multiplexers, Decoder, and Programmable logic Devices  ( 멀티플렉서 ,  디코더 ,  프로그래머블 논리소자 )

9.8 Field Programmable Gate Array

CLB• 내부 interconnection 을 위한 다양한

MUX 가짐• 함수 발생기는 LUT(Look-up Table) 에

의해 구현– 4 변수 함수 발생기– ROM– 생성하고자 하는 함수의 진리표 저장

• LUT– 최소항을 몇 개 가지건 하나의 함수

발생기가 필요함

CLB

LUT 구현

' ' ' ' ' ' ' ' ' '

' ' ' ' ' '

F a b c d a b cd a bc d a bcd

ab c d ab cd abc d abcd

Page 36: Unit 9  Multiplexers, Decoder, and Programmable logic Devices  ( 멀티플렉서 ,  디코더 ,  프로그래머블 논리소자 )

9.8 Field Programmable Gate Array

스위칭 함수의 분할• 4 개 이상의 변수를 가지는 스위칭 함수를 4- 변수 함수 발생기를

이용하여 구현하기• 스위칭 함수를 4- 변수를 가지는 서브함수로 분할• 샤논의 정리를 이용 - 변수 xi 에 대하여 n 변수 함수를 전개

– f0 : 원래 함수에서 xi 를 0 으로 하여 얻은 (n-1) 개의 변수를 갖는 함수

– f1 : 원래 함수에서 xi 를 1 로 하여 얻은 (n-1) 개의 변수를 갖는 함수

iii

niiiniii

nii

fxfx

xxxxxfxxxxxxfx

xxxxxf

0

11211121

1121

'

),...,,0,,...,,(),...,,0,,...,,('

),...,,0,,...,,(

Page 37: Unit 9  Multiplexers, Decoder, and Programmable logic Devices  ( 멀티플렉서 ,  디코더 ,  프로그래머블 논리소자 )

9.8 Field Programmable Gate Array

• 예제 1: 5- 변수 함수를 4- 변수 함수 발생기로 구현

– 5 개 변수를 갖는 어떠한 함수도 2 개의 4- 변수 함수 발생기와 하나의 2-to-1 MUX 를 가지고 구현할 수 있음을 나타냄

• 예제 2: 6- 변수 함수를 4- 변수 함수 발생기로 구현– 샤논의 전개이론을 두 번 적용

– G00, G01, G10, G11 은 모두 4- 변수 함수

10'),,,,1(),,,,0('),,,,( affaedcbafedcbfaedcbaf

11101

01000

10

'),,,,1,1(),,,,0,1('

'),,,,1,0(),,,,0,0('

'),,,,,1(),,,,,0('),,,,,(

bGGbfedcbGfedcGbG

bGGbfedcbGfedcGbG

aGGafedcbaGfedcbGafedcbaG

11100100 ''''),,,,,( abGGabbGaGbafedcbaG

Page 38: Unit 9  Multiplexers, Decoder, and Programmable logic Devices  ( 멀티플렉서 ,  디코더 ,  프로그래머블 논리소자 )

9.8 Field Programmable Gate Array

• 4- 입력 함수발생기를 예제 1 번과 2 번 함수의 구현

n (n>4) 변수 함수는 2n-4 개의 4- 변수 함수발생기와 2n-4-to-1 MUX 를 이용하여 구현할 수 있음