[논리회로설계] Decoders, Encoders

젠니·2023년 5월 29일
0

논리회로설계

목록 보기
4/15

04 Decoders, Encoders

Decoders (minterm generator)

Decoder 는 Enable Signal 을 통해 활성화될 때, 입력 신호에 따라 여러 출력선 중 하나를 선택하도록 만드는 장치이다.

기계가 사용하는 2진수가 사람에게 전달되는 것이 Decoder 의 역할이라고 보면 된다.

따라서, 입력은 n비트 2진수 형태이고, 2^n 개의 출력선이 존재한다.

One-hot output 이란? -> "한번에 하나의 출력만 1이 되도록 만들어줘" 라고 하는 것 !

말 그대로, 하나의 수도꼭지가 열린다고 보면 된다.

여기서 잠깐! 왜 최소항 생성기 (minterm generator) 라고 불리는걸까?

위와 같이 2:4 Decoder 의 경우, 2개의 입력이 주어지면 4개의 출력이 나오게 된다.

최소항은 truth table 에서 한 행만 1이 되고 나머지는 0이 되는 곱을 말하는데, Decoder 을 사용하면 4개의 최소항을 생성할 수 있다.

Decoder with Enable

만약 e=0 이면, outputs 는 모두 0 이다. 주로 shutdown 용도로 사용한다.
e=1 이면, 평소처럼(?) 진행한다.

Decoder from Smaller Decoders

만약 3:8 이 없고 2:4 Decoder 가 두개 있다고 가정하자.

다음은 4:16 을 만들기 위해 2:4 Decoder 를 5개 사용했다.

4:1 MUX Using Decoder and Logic Gates

s0, s1을 2:4 Decoder 의 입력으로 넣어준다. enable 은 항상 켜둔다. (상수 1로 설정)

여기서 OR gate 안쓰고 그냥 묶어주는건 왜 안될까?
-> 0이 정확한 0이 아니라 0.001, 0.002 이럴 수 있기 때문이다.

참고로, 4:1 MUX 만들 때 필요한 Decoder 는 2:4 Decoder 이다. 4:1 MUX 의 select signal 은 2인데, Decoder 의 input 이 된다. 8:1 MUX 의 경우, 3:8 Decoder 가 필요하다.

1:4 DEMUX Using Decoder and Logic Gates

Decoder 는 그냥 한 곳을 켜주기만 하는 역할을 하므로 그 켜준 곳에 값이 얼마가 들어가 있는지는 알 수 없다. 그것을 해결해주기 위해 DEMUX 를 활용한다.

다음은 Decoder 를 적용한 DEMUX 이다.

enable 을 DEMUX의 input(f) 으로 둔다.
만약 f = 1010 일 때,
f=1 이면 x1=1,
f=0 이면 x1=0,
f=1 이면 x1=1,
f=0 이면 x1=0 이 돼서 x1 이 켜지면서 1010 이 들어간다.

ROM Decoder

한 번 기록한 정보는 반영구적으로 기억되며 (첫 내용 작성에 특수 기기가 필요하고), 삭제나 수정이 불가능한 기억장치를 가리킨다. (동적으로 write할 수 없는 장비이다.)

예시: 8-Word X 4-bit ROM

8개의 words 가 들어가려면 3개의 input lines을 필요로 한다. (2^3 = 8)

그리고, 4개의 output line을 가진다.

Encoders

기계적인 위치의 변화나 방향·각도 등을 검출하여 전기적인 신호로 출력하는 센서이다.

사람이 사용하는 10진수가 기계로 전달되는 것이라고 보면 된다.

따라서, 2^n 개의 입력이 존재하고, n비트 2진수 형태로 출력한다.

One-hot input 이란? -> "표현하고 싶은 요소의 index 에 모두 1을 부여해줘 !"

단어 집합의 크기를 벡터의 차원으로 하고, 표현하고 싶은 단어의 index 에 1의 값을 부여하고, 다른 인덱스에는 0을 부여한다.

Decoder 와 Encoder 의 관계

하지만, 항상 같이 쓰이는 것은 아니다.

MUX, DEMUX, Decoder, Encoder 차이

  • MUX는 쉽게 말하자면 SWITCH라고 보면 된다.
    여러개의 입력이 들어가고 SELECT 신호라는 것이 보인다.
    하지만 출력은 한개이다.
    SELECT 신호로 몇 번째의 입력을 출력으로 낼 건지 결정한다.

  • Decoder는 동시에 여러신호를 출력할 수 없고 한번에 하나의 신호만 출력할 수 있다.
    MUX의 경우, select 신호로 들어오는 입력을 출력으로 내는 것이고,
    Decoder의 경우, 입력 신호가 출력을 내는 신호를 선택해줄 뿐 입력신호가 출력으로 나오지는 않는다.

profile
젠니의 개발 라이푸우

0개의 댓글

관련 채용 정보