이진 디코더

디지털 회로에서 이진 디코더, 바이너리 디코더(binary decoder) 또는 이진 복호기는 n개의 부호화된 입력으로부터 최대 2n개의 고유한 출력으로 이진 정보를 변환하는 조합 논리 회로이다. 이들은 명령어 디코딩, 데이터 다중화 및 데이터 역다중화, 7세그먼트 표시 장치, 그리고 기억 및 포트 맵 입출력을 위한 주소 디코더 등 매우 다양한 응용 분야에서 사용된다.

이진 디코더에는 여러 유형이 있지만, 모든 경우에 디코더는 여러 입력 및 여러 출력 신호를 갖는 전자 회로로서, 입력 상태의 모든 고유한 조합을 출력 상태의 특정 조합으로 변환한다. 정수 데이터 입력 외에도 일부 디코더는 하나 이상의 "인에이블(enable)" 입력을 가진다. 인에이블 입력이 부정(비활성화)되면 모든 디코더 출력은 비활성 상태가 된다.

기능에 따라 이진 디코더는 n개의 입력 신호로부터의 이진 정보를 최대 2n개의 고유한 출력 신호로 변환한다. 일부 디코더는 2n개 미만의 출력 라인을 가지며, 이러한 경우 서로 다른 입력 값에 대해 적어도 하나의 출력 패턴이 반복될 수 있다.

이진 디코더는 대개 독립적인 집적 회로(IC)로 구현되거나 더 복잡한 IC의 일부로 구현된다. 후자의 경우 디코더는 VHDL 또는 베릴로그와 같은 하드웨어 기술 언어를 통해 합성될 수 있다. 널리 사용되는 디코더들은 표준화된 IC 형태로 제공되는 경우가 많다.

 디코더의 종류 

 1-of-n 디코더 
섬네일|2-to-4 라인 디코더

1-of-n 이진 디코더는 n개의 출력 비트를 가진다. 이 유형의 디코더는 모든 정수 입력 값에 대해 n개의 출력 비트 중 정확히 하나만 활성화하거나, 아무것도 활성화하지 않는다. 활성화된 출력의 "주소"(비트 번호)는 정수 입력 값에 의해 지정된다. 예를 들어, 입력에 정수 값 0이 가해지면 0번 출력 비트가 선택된다.

이러한 유형의 디코더의 예는 다음과 같다:
 3-to-8 라인 디코더는 0에서 7 사이의 각 입력 값(3비트로 표현할 수 있는 정수 범위)에 대해 8개의 출력 비트 중 하나를 활성화한다. 마찬가지로 4-to-16 라인 디코더는 [0, 15] 범위의 각 4비트 입력에 대해 16개의 출력 중 하나를 활성화한다.
 BCD-십진 디코더는 10개의 출력 비트를 가진다. 이는 이진화 십진법 정수 값으로 구성된 입력 값을 받아들이고 [0, 9] 범위의 모든 입력 값에 대해 고유한 하나의 출력을 활성화한다. 입력에 십진수가 아닌 값이 가해지면 모든 출력은 비활성 상태를 유지한다.
 역멀티플렉서(demultiplexer)는 데이터 비트를 n개의 출력 중 하나로 전달하는 데 사용되는 1-of-n 이진 디코더이며, 이때 다른 모든 출력은 비활성 상태로 유지된다.

 코드 변환기 
코드 변환기는 동시에 여러 출력 비트가 활성화될 수 있다는 점에서 1-of-n 디코더와 다르다. 대표적인 예로 7세그먼트 디코더가 있는데, 이는 정수를 7세그먼트 표시 장치 숫자에 표시하는 데 필요한 세그먼트 제어 신호의 조합으로 변환한다.

7세그먼트 디코더의 변형 중 하나는 BCD-7세그먼트 디코더로, 이는 이진화 십진법 값을 0에서 9 사이의 입력 정수 값에 대응하는 세그먼트 제어 신호로 변환한다. 이 디코더 기능은 CMOS 4511과 같은 표준 IC에서 제공된다.

 이진-단항 디코더 

이진-단항 디코더는 각 이진 값을 그와 연관된 단항 부호 표현으로 변환하며, 여기서는 여러 출력 비트가 활성화될 수 있다. 이러한 디코더는 각 비트의 가중치가 동일한 DAC나, 이진 마스크 또는 윈도우가 필요한 회로에서 사용될 수 있다.

 같이 보기 
 멀티플렉서
 원-핫(1-of-n 디코더의 출력 인코딩)

 각주 

분류:디지털 회로