[디지털시스템] Project1 보고서 VHDL을 이용한 Digital Clock 설계(최종) (소스포함)
- 최초 등록일
- 2008.07.07
- 최종 저작일
- 2008.05
- 30페이지/
어도비 PDF
- 가격 5,000원
![할인쿠폰받기](/images/v4/document/ico_det_coupon.gif)
소개글
디지털 시스템 과목에서 배우는 VHDL을 이용하여 설계한 Digital Clock 코드와 그 결과에 대한 보고서입니다. 내부에 소스코드가 함께 삽입되어 있습니다.
목차
1 Introduction
2 Problem Statement
2.1 Describe what the problem is.
2.2 Describe how you do solve the problem.
2.2.1 Digital Clock Chip
2.2.2 SELECTOR
2.2.3 DATE BLOCK 의 상태표
2.2.4 DIVIDER BLOCK
2.2.5 DIVIDER BLOCK 의 상태표
3 Implementation
3.1 설명된 내용을 바탕으로 SELECTOR, DIVIDER 를 설계하고 DIGITAL CLOCK CHIP 을
완성한다.
3.2 주어진 테스트 벤치 코드를 이용하여 설계한 SELECTOR, DIVIDER, DIGITAL CLOCK
CHIP 이 동작하는지 확인한다.
4 Result
4.1 SELECTOR BLOCK SIMULATION
4.2 DIVIDER BLOCK SIMULATION
4.3 DIGITAL_CLOCK SIMULATION
5 Conclusion & Evaluation
6 Source Code (with suitable comments)
6.1 SELECTOR BLOCK - VHDL CODE
6.2 DIVIDER BLOCK - VHDL CODE
6.3 DIGITAL_CLOCK BLOCK - VHDL CODE
6.4 DATE, WEEK, TIMER BLOCK TEST BENCH CODE
본문내용
3.1 설명된 내용을 바탕으로 SELECTOR, DIVIDER 를 설계하고 DIGITAL CLOCK
CHIP 을 완성한다.
앞에 설명된 내용을 바탕으로 SELECTOR, DIVIDER 를 설계하고, 여태까지 설계한 모든
BLOCK 들을 PORT MAPPING 을 통해 연결하여 최종적으로 완성시킨다.
SELECTOR
우선 SELECTOR 의 경우 주어진 조건상 2 개의 BLOCK 을 가지고 있으므로 코드 상에서
서로 다른 아키텍쳐로 구현한 뒤 PORT MAPPING 을 통해 연결하였다. DEV_AMPM 은
IN_AMPM 입력 신호에 대한 PROCESS 문으로 작동하도록 하였고 2bit 값인 IN_AMPM
4 가지 값 및 그 외의 예측할 수 없는 경우, 총 5 가지의 경우에 대해 if 문을 이용하여
7bit 출력값인 SEG_AMPM 을 내보내도록 구현하였다. (이 부분은 CASE 구문으로도
쉽게 구현할 수 있겠다.)
DEV_AMPM
또 다른 아키텍쳐로 선언되어 있는 SELECTOR 의 경우 내부적으로 DEV_AMPM 을
COMPONENT 형식으로 가지고 있다. 이 COMPONENT 에 IN_AMPM 을 전달하기 위해
동일한 이름인 IN_AMPM 이라는 내부 SIGNAL 을 가지고 있다.
FOUR_TO_ONE
FOUR_TO_ONE 은 SELECTOR 아키텍쳐 자체에 포함하여 설계한다. SELECTOR 의 설계는
MODE1, HOUR, MIN, SEC, MON, DAY, DAYOFWEEK, MIN_SW, SEC_SW, SECC_SW 의
변화에 따른 PROCESS 문으로 구성되어 있다. 내부는 크게 MODE 의 값에 따른
IF 문으로 구성되어 있고 각 모드에 따른 출력이 정해져 있다.
TIME MODE
첫번째 모드인 시간모드(00)에 대해서는 12 시를 기준으로 한 AM/PM 표시를 위해
HOUR 신호의 24 가지 경우에 대해 IF 문으로 단순 MAPPING 하도록 했다. 코드가
길어지는 단점이 있지만 직관적이고 이해하기 쉬운 설계방법이라고 생각하고
선택하였다. (또한 ICAMPUS 의 조교님의 답변 사항에 산술 연산을 사용하지 말라는
코멘트도 하나의 이유이다.) 나머지 신호인 분과 초는 아무런 수정 이 필요없으므로
그대로 출력하면 되므로 그대로 내보내도록 코딩하였다.
DATE MODE
참고 자료
없음