vhdl를 이용한 bcd to excess-3 코드 변환기 설계(순차회로)
- 최초 등록일
- 2010.06.11
- 최종 저작일
- 2007.06
- 11페이지/ 한컴오피스
- 가격 2,000원
소개글
2진수로 표현된 10진수인 BCD에 3을 더하는 Bcd_to_Excess3 코드변환기의 설계를 실시한다. 입력을 동시에 인가하지 않고 한 클록 주기에 한 비트씩 차례차례 하는 회로를 설계한다. 이전 시퀀스가 종료되면 그 즉시 새로운 4비트 시퀸스를 받을 수 있도록 하며, 입력으로 클럭과, 리셋, ‘0’을 입력하는 신호와, ‘1’을 입력하는 신호를 사용하고 출력으로 4비트의 excess3_code를 표현하고 이것을 다시 7-segment 신호로 표현한다.
목차
1. Specification
2. Formulation : State diagram
3. State table
4. FF input equations
본문내용
입력신호로 O을 입력하는 button_0과 1을 입력하는 button_1를 사용하고, 현재 상태와 나중상태를 A, B, C의 3비트로 표현하였다. 입력 버튼의 경우 1 신호를 넣어주게 되면 신호가 들어가고 0을 주게 되면 신호가 들어가지 않는다. 각각의 신호 입력에 따른 상태 값은 0이 들어 갔을때 8개와, 1이 들어 갔을때 8가지로 총 16가지 상태가 존재하고, 그 16개의 상태중에 3개의 같은 상태가 존재한다. 위의 상태표에서 같은 상태의 출력인 경우 다음상태(Next State)를 000으로 하여 나타내었다.
입력으로 4개의 입력신호(button_0, button_1, 클럭(clk), 리셋(rst))을 사용하였고, 5개의 D플립플롭을 이용하여 입력에 따른 순간적인 상태의 변화를 제어 하였고 AND, OR, INVERT를 이용하여 회로를 구성하였습니다.
7. Technology mapping
Technology mapping을 실시하여 FLIP-FLOP, NAND GATE, INVERT로 표현했습니다.
8. Verification
HDL 구술언어 중 verilog를 이용하여 코드를 작성하였습니다. 기본적으로 각 상태에 따라 bcd값과 excess3 값이 변화도록 순차적으로 작동하는 순차회로이며, excess3값을 7-segment로 받어 최종적으로 보드 구현시 표현 가능하도록 하였습니다. 초기 상태(아무런 신호도 없는 상태)에서는 bcd의 경우 0000을 출력하고, excess3의 경우 1111을 출력하도록 하여 0000 신호가 입력되면 0011이 나와 초기상태와 구분되게 하였습니다.
9. 핀 할당
참고 자료
없음