Processing math: 100%
 

Encoder/Decoder 설계

 

 

Encoder

Encoder의 정의와 역할

인코더는 주어진 입력을 특정한 출력 코드로 변환하는 디지털 회로이다.

이는 주로 입력 신호를 더 작은 비트 크기의 이진 코드로 변환하는 데 사용된다.

데이터 전송, 데이터 압축, 오류 검출 및 수정 등의 다양한 디지털 시스템에서 중요한 역할을 한다.

 

 

다시말해서, 

m-bit input code를 n-bit output code로 변환하는 장치이다. (여기서 nm2n)

인코더는 2n (또는 그 이하)개의 input lines과 n개의 output lines를 가지며,

입력 값에 해당하는 이진 코드를 생성하게 된다.

일반적으로 인코더는 1인 비트가 하나만 있는 코드를 이 비트가 나타나는 위치에 해당하는 이진 코드로 변환한다.

 

2n-to-n 인코더는 n개의 OR 게이트로 구현할 수 있다.

 

Encoder의 종류

Binary Encoder (이진 인코더)

이진 인코더는 n개의 입력 신호 중 하나만이 활성화되는 경우에 대해 출력 이진코드를 생성하게 된다.

예를 들어 4 to 2 Encoder는 4개의 입력을 2비트 이진 코드로 변환한다.

 


4 to 2 Encoder 예시

입력 (D3, D2, D1, D0) 출력 (A1, A0)
0001 00
0010 01
0100 10
1000 11

 

A0=D1+D3

A1=D2+D3

 

 

 


Octal(8) to Binary Encoder 예시

입력
(D7, D6, D5, D4, D3D2D1, D0 )
출력
(A2, A1A0 )
00000001 000
00000010 001
00000100 010
00001000 011
00010000 100
00100000 101
01000000 110
10000000 111

 

A0=D1+D3+D5+D7

A1=D2+D3+D6+D7

A2=D4+D5+D6+D7

 

  • Inputs (입력) :  8진수 숫자에 해당하는 8 bits 입력
  • Output (출력) : 3bits 이진 코드

 

 

Priority Encoder (우선순위 인코더)

Priority Encoder는 여러 입력 값 중 하나 이상의 값이 1일 때, 가장 높은 우선순위의 입력 위치를 선택하여 해당 위치에 대한 이진 코드를 출력하는 디지털 회로이다.

이는 일반적인 인코더가 여러 입력 값이 동시에 1일 때 제대로 동작하지 않는 문제를 해결하기 위해 사용된다.

 

동작원리

  • 여러 입력 값 중 1이 여러개일 경우, 가장 중요한 입력 위치(또는 가장 덜 중요한 입력 위치)에 있는 1을 선택한다.
  • 선택된 입력 위치에 해당하는 이진 코드를 출력한다.
  • V 출력은 적어도 하나의 입력 값이 1인지 여부를 나타낸다.
입력 ( D3D2D1, D0 ) 출력 ( A1, A0, V )
0000 xx,0
0001 00,1
001x 01,1
01xx 10,1
1xxx 11,1

 

A0=D3+D1¯D2

A1=D2+D3

V=D0+D1+D2+D3

 

 

Encoder 설계

etc-image-0
Encoder Simulation Waveform

 

 

 

Decoder

 

Decoder의 정의

디코딩을 수행하는 회로를 디코더라고 한다.

디코더는 n개의 입력을 받아 2n(또는 그 이하)의 출력을 생성한다.

 

디코딩은 n-bit 입력 코드를 m-bit 출력 코드로 변환하는 과정이다. 

이때, nm2n 의 조건을 만족하며, 각 유효한 코드 단어는 고유한 출력 코드를 생성한다.

 

Decoder 예시

etc-image-1
1-to-2 Line Decoder

1개의 입력을 받아 2개의 출력을 생성하는 1-to-2 Line Decoder의 예시이다.

 

 

etc-image-2
2-to-4 Line Decoder

2개의 입력을 받아 4개의 출력을 생성하는 2-to-4 Line Decoder의 예시이다.

 

  • 출력 AND 게이트의 수: 4
  • 출력 AND 게이트를 구동하는 디코더의 Input 개수 : 2
  • 분할
    • 두 개의 1-to-2 Line decoder

etc-image-3
3-to-8 Line Decoder

3개의 입력을 받아 8개의 출력을 생성하는 3-to-8 Line Decoder의 예시이다.

  • 출력 AND 게이트의 수: 8
  • 출력 AND 게이트를 구동하는 디코더의 Input 개수 : 2
  • 분할
    • 2-to-4 Line Decoder
    • 1-to-2 Line Decoder

 

Decoder의 확장 방법

두 개의 작은 디코더를 결합하여 더 큰 디코더로 확장하는 방법이다.

두 디코더의 출력을 결합하여 더 큰 디코더를 만든다.

 

n1-to-2n1 Decoder
n2-to-2n2 Decoder
2n1+n2 2-input ANDs
(n1+n2)-to-2(n1+n2) Decoder

 

 

 

Decoder 설계

etc-image-4
Decoder Simulation Waveform