VHDL 설계-encoder
- 최초 등록일
- 2012.07.12
- 최종 저작일
- 2010.12
- 15페이지/ 한컴오피스
- 가격 2,000원
소개글
VHDL을 이용하여 64 x 6 priority encoder를 설계한 것입니다. 소스코드와 시뮬레이션 결과가 체계적으로 설명되어 있습니다.
목차
1. 개요
2. 이론
3. 설계
4. 소스코드
5. 시뮬레이션
6. 결론 및 고찰
7. 참고문헌
본문내용
2. 이론
- Encoder : 인코더는 active 입력 신호를 부호화된 출력 신호로 바꾼다. 아래 그림 (a)와 같이,
개의 비트로 구성된 정보를 입력하여 n비트의 2진수로 변환하여 출력한다. 그림 (b)는 83 encoder를 나타낸 것인데, 보는 바와 같이 OR 게이트로 구성된다. 또한 8개의 수에 대해 각각의 입력이 필요하므로 8개의 입력이 있어야 하며, 그에 대응되는 2진수를 출력하기 위해 3개의 출력이 필요하다.
- Priority Encoder : 인코더는 다중 입력을 가지며, 한 번에 하나의 입력만 active되도록 보장된다면 인코딩은 간단하게 이루어질 수 있다. 하지만 하나 이상의 입력이 동시에 active된다면 각 입력에 대해 우선순위가 정해져 있어야 정상적으로 인코딩이 이루어진다. 이러한 2개 이상의 입력이 동시에 active 되는 경우를 고려한 소자를 우선권 인코더(priority encoder)라 한다. 높은 우선순위를 갖는 입력을 우선적으로 적용하여 이에 해당하는 출력값을 출력한다. 대표적인 우선권 인코더로는 74148소자가 있다. 아래에 74148소자의 다이어그램과 진리표를 나타내었다.
- 74148소자는 8개의 입력에 대해 3비트의 2진수로 변환하여 출력하는 우선권 인코더이다. 입력과 출력은 acitve low이며, 각 입력에 대해 우선순위대로 동작한다. 위의 진리표로부터 우선순위를 구해보면 I7_L I6_L I5_L I4_L I3_L I2_L I1_L I0_L이 된다. 우선순위가 높은 입력이 ‘0’이면 아래 순위의 입력은 고려하지 않는다.
- 83 encoder를 확장하여 더 많은 입력과 출력을 가진 인코더를 구성할 수 있다. 아래 그림은 74148소자를 추가 연결하여 325 encoder를 구성한 것이다.
- 74148소자 4개와 NAND gate를 이용하여 위와 같이 325 encoder가 구성된다. 각 소자의 EO출력이 다음 소자의 enable신호로 입력되어 동작을 결정하며, 각 소자의 출력 A2~A0이 2진 변환값 RA2~RA0의 값을 결정하고, 각 소자의 출력 GS가 RA4~RA3, RGS의 값을 결정한다.
참고 자료
John F.Wakerly, 『Digital Design - Principles and Practices』, Pearson, 2007.
Weng Fook Lee, 『VHDL - Coding and Logic Synthesis with Synopsys』, Academic press, 2000.