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

Unit 9 Multiplexers, Decoder, and Programmable logic Devices (멀티플렉서 … · 2019. 12. 13. · 강의개요. 멀티플렉서, 디코더, 프로그래머블논리소자. 멀티플렉서

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

  • Unit 9Multiplexers, Decoder, and

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

  • 강의 개요

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

    3-State Buffer

    디코더와 인코더

    읽기 전용 메모리

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

    FPGA(Field Programmable Gate Array)

  • 9.2 Multiplexer

    멀티플렉서(Multiplexer, 데이터 선택기, MUX ) 데이터 입력과 제어 입력으로 구성된 소자.

    제어 입력은 데이타 입력 중에서 하나를 선택하여 출력단과 연결하는역할을 한다.

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

    0 1'Z A I AI= +

  • 9.2 Multiplexer

    여러 가지 멀티플레서들

    3210 ABIIBABIAIBAZ +′+′+′′=

    7654

    3210

    ABCIICABCIBAICBABCIAICBACIBAICBAZ

    +′+′+′′+

    ′+′′+′′+′′′=

    ∑−

    =

    =12

    0

    n

    kkk ImZ

  • 9.2 Multiplexer

    멀티플렉서는 디지털 시스템에서 처리되거나 저장되는 데이터를 선택하는데 자주 사용된다.

    4개의 2-to-1 멀티플렉서를 이용한 데이터 워드 선택 구현

    제어입력 A에 따라 다른 워드 선택• A = 0 : x0, x1, x2, x3• A = 1 : y0, y1, y2, y3

  • 9.2 Multiplexer

    Bus 여러 개의 논리 신호가 공통된 기능을 수행하기 위해 그룹화 된 것

    여러 개의 선을 다 그리는 대신 하나의 굵은 선과 사선을 이용하여 표현

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

    4

    ]3..0[a0a1a

    3a2a a

  • 9.3 Three-State Buffers

    버퍼(Buffer) 디지털 시스템의 성능을 저하를 피하기 위해 게이트의 출력을 제한

    된 수의 다른 소자의 입력에만 연결하는 경우가 있다.

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

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

  • 9.3 Three-State Buffers

    2개 이상의 게이트 또는 다른 소자들의 출력들이 서로 직접연결 된다면 정상상태에서 논리회로는 올바르게 동작하지않는다.

    하나의 게이트 출력이 0이고 또 다른 게이트의 출력이 1일 때, 두 출력이 서로 연결된 경우 결과 출력 전압은 0 이나 1로 뚜렷이 구별되지 않는 중간 값을 갖게 된다.

    어떤 경우에는 게이트가 파손되기도 한다.

    High

    Low

  • 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라 불림

  • 9.3 Three-State Buffers

    4가지 3-state buffer와 그 논리표

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

  • 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 멀티플렉서와 동등

  • 9.3 Three-State Buffers

    양방향 입출력을 가진 집적회로 하나의 핀을 때에 따라 입/출력으로 사용할 수 있는 회로

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

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

  • 9.4 Decoders and Encoders

    디코더(Decoder) n 개의 입력변수를 가진 함수의 모든 최소항(2^n)을 생성한다.

    입력변수에 따라 출력 선 중 단 하나만이 1이 된다.

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

  • 9.4 Decoders and Encoders

    반전 출력을 가지는 디코더

    •4-to-10 디코더•ABCD 입력 변수 하나만 0•Binary-coded-decimal로 사용될 때: 2진수 입력에 해당하는 10진수 출력

  • 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

    orimy

  • 9.4 Decoders and Encoders

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

    )''''(),,,(

    421

    4211

    mmmmmmdcbaf

    =++=

    )''''(),,,(

    974

    9742

    mmmmmmdcbaf

    =++=

  • 9.4 Decoders and Encoders

    인코더 디코더의 Inverse Function

    2n-to-n 입출력

    8-to-3 인코더

    • 입력의 하나 이상이 ‘1’인 경우 높은 계수 입력에 의해 결정됨• X는 don’t care: ex y5=1 이면, y0~y4는 don’t care• Output D는 모든 입력이 0인 경우와 y0=1인 경우를 구별하기 위해 필요• 입력이 하나라도 1이면 D=1

    y0 y1 y2 y3 y4 y5 y6 y7 a b c d 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 X 1 0 0 0 0 0 0 0 0 1 1 X X 1 0 0 0 0 0 0 1 0 1 X X X 1 0 0 0 0 0 1 1 1 X X X X 1 0 0 0 1 0 0 1 X X X X X 1 0 0 1 0 1 1 X X X X X X 1 0 1 1 0 1 X X X X X X X 1 1 1 1 1

  • 9.5 Read-Only Memories

    ROM(Read-Only Memory) 2진 데이터 배열을 저장하기 위해 상호 연결된 반도체 소자의 배열로

    구성

    읽을 수는 있지만 변경할 수는 없음

    예시: 3개의 입력선과 4개의 출력선을 가지는 ROM

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

  • 9.5 Read-Only Memories

    n개의 입력을 가지는 경우 2n가지의 다른 조합을 가짐 입력 선은 2n 개의 워드 중 하나의 주소의 역할

    m개의 출력을 가지면 워드의 길이는 m비트

    n개의 변수를 가지는 m개의 함수 구현 가능

  • 9.5 Read-Only Memories

    기본적인 ROM 구조

    n개의 패턴이 디코더에 인가

    디코더 출력 중 하나가 ‘1’이 됨

    이 출력 선 하나가 메모리 배열의 하나인 워드를 선택하여 출력

  • 9.5 Read-Only Memories

    8워드 4비트 ROM 내부구조 예시

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

    ∑∑∑∑

    +==

    +==

    +==

    +==

    BACmF

    BCBAmF

    ACBmF

    ACBAmF

    )7,6,5,3,2(

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

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

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

    3

    2

    1

    0

    ∑ +== ''')6,4,1,0(0 ACBAmF

  • 9.5 Read-Only Memories

    ROM을 이용한 다중 출력 조합회로 구현 예제: 16진수-ASCII Code 변환기

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

  • 9.5 Read-Only Memories

    스위칭 소자는 x 표시로 나타낼 수 있음

    위 예제의 내부 도표

  • 9.5 Read-Only Memories

    대표적인 ROM의 종류 Mask-Programmable ROM

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

    • 아무 내용이 들어있지 않은 빈 상태로 제조하여 공급되고 사용자가PROM 라이터를 이용하여 내용을 써넣을 수 있음

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

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

  • 9.6 Programmable Logic Devices

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

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

    구현 가능

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

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

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

  • 9.6 Programmable Logic Devices

    ROM과 PLA의 비교

    ROM

    ACBFBCBAF

    BACFACBAF

    +=+=+=+=

    3

    2

    1

    0

    ''''

    '''

    PLA

  • 9.6 Programmable Logic Devices

    앞 예제와 등가인 PLA

    ProductTerm

    Inputs OutputsA B C F0 F1 F2 F3

    A’B’AC’

    BBC’AC

    01--1

    0-11-

    -0-01

    11000

    01100

    10010

    00101

    ACBFBCBAF

    BACFACBAF

    +=+=+=+=

    3

    2

    1

    0

    ''''

    '''

  • 9.6 Programmable Logic Devices

    PLA를 이용한 최소 다중 출력 함수 구현• Minimum multiple output solution을 구한다.• PLA Table을 생성한 후 PLA 구조 구현

    ′+′′+=

    ′+=

    ′+′+=

    dcaor

    abdcbabcf

    bdacfbacbbdf

    3

    2

    1

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

  • 9.6 Programmable Logic Devices

    Programmable Array Logic(PAL)• AND 배열은 프로그램이 가능하지만 OR 배열은 고정되어 있는 특별한 형

    태의 PLA

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

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

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

  • 9.6 Programmable Logic Devices

    예제1: I1I’2+I’1I2 함수를 PAL로 구현• PAL의 일부분 사용

    21210 IIIIF′+′=

  • 9.6 Programmable Logic Devices

    예제2: 전가산기(Full-Adder) 를 PAL로 설계하기• 전가산기의 논리식

    inininin XYCCXYYCXCYXSum +++= ''''''XYYCXCC ininout ++=

  • 9.7 Field Programmable Gate Array

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

    의 배열을 가지는 집적회로

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

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

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

    FPGA의 Layout

  • 9.7 Field Programmable Gate Array

    CLB• 내부 interconnection을 위한 다양한

    MUX 가짐

    • 함수 발생기는 LUT(Look-up Table)에의해 구현

    – 4변수 함수 발생기– ROM with 16 words 1 bit– 생성하고자 하는 함수의 진리표 저장

    • Two output: Fiip-Flop & combinational • * MUXs are programmed

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

    발생기가 필요함

    CLB

    abcd F 0000 0 0001 1

    • • • • • •

    1111 1

    LUT 구현

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

    ab c d ab cd abc d abcd= + + +

    + + + +

  • 9.7 Field Programmable Gate Array

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

    여 구현하기

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

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

    iii

    niiiniii

    nii

    fxfxxxxxxfxxxxxxfx

    xxxxxf

    +=+= +−+−

    +−

    0

    11211121

    1121

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

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

  • 9.7 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('),,,,,(

    bGGbfedcbGfedcGbGbGGbfedcbGfedcGbGaGGafedcbaGfedcbGafedcbaG

    +=+=+=+=+=+=

    11100100 ''''),,,,,( abGGabbGaGbafedcbaG +++=

  • 9.7 Field Programmable Gate Array

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

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

    Unit 9� Multiplexers, Decoder, and Programmable logic Devices �(멀티플렉서, 디코더, 프로그래머블 논리소자)강의 개요9.2 Multiplexer9.2 Multiplexer9.2 Multiplexer9.2 Multiplexer9.3 Three-State Buffers9.3 Three-State Buffers9.3 Three-State Buffers9.3 Three-State Buffers9.3 Three-State Buffers9.3 Three-State Buffers9.4 Decoders and Encoders9.4 Decoders and Encoders9.4 Decoders and Encoders9.4 Decoders and Encoders9.4 Decoders and Encoders9.5 Read-Only Memories9.5 Read-Only Memories9.5 Read-Only Memories9.5 Read-Only Memories9.5 Read-Only Memories9.5 Read-Only Memories9.5 Read-Only Memories9.6 Programmable Logic Devices9.6 Programmable Logic Devices9.6 Programmable Logic Devices9.6 Programmable Logic Devices9.6 Programmable Logic Devices9.6 Programmable Logic Devices9.6 Programmable Logic Devices9.7 Field Programmable Gate Array9.7 Field Programmable Gate Array9.7 Field Programmable Gate Array9.7 Field Programmable Gate Array9.7 Field Programmable Gate Array