베릴로그(verilog) HDL 시계 프로젝트
- 최초 등록일
- 2022.04.15
- 최종 저작일
- 2021.09
- 17페이지/ 한컴오피스
- 가격 3,000원
* 본 문서(hwp)가 작성된 한글 프로그램 버전보다 낮은 한글 프로그램에서 열람할 경우 문서가 올바르게 표시되지 않을 수 있습니다.
이 경우에는 최신패치가 되어 있는 2010 이상 버전이나 한글뷰어에서 확인해 주시기 바랍니다.
목차
1. 프로젝트 목적
2. 설계 및 분석
2-1 Alarm Clock Module
2-2 Alarm Clock Module Simulation Analysis
2-3 Stopwatch Module
2-4 Stopwatch Module Simulation Analysis
2-5 Clock Generator Module
2-6 Clock Generator Module Simulation Analysis
2-7 Top Module
2-8 Top Module Simulation Analysis
3. Testbench
3.1 Alarm Clock Module testbench
3.2 Stopwatch Module testbench
3.3 Clock Generator Module testbench
3.4 Top Module testbench
4. 결론 및 고찰
본문내용
◈ Alarm Clock module의 설계방법 및 추가기능
1. 요일 표현
설계방법 : 요일을 나타내주는 date출력포트를 선언하고 이를 바꿔줄 수있는 daydate라는 레지스터를 선언해서 시간이 오후 12시가 될때마다 daydate값을 증가시켜 총 7일( 1~7 ), 즉 “월화수목금토일” 을 표현할 수 있게 하였다. 해당하는 daydate값에 $monitor와 $time을 이용하여 Transcript창에 명시적으로 Simulation상 어떤 시간에 날짜가 바뀌는지 표현해 주었다.
2. 알림시간과 현재시간의 차이 계산 표현
설계방법 : 자기전에 알람을 맞추면 몇시간 잘 수 있는지 한번쯤 계산해본 기억이 있다. 따라서 알람을 맞추게 되면 지금시간으로부터 몇시간 후 알람이 울리는지 계산하여 그 값을 나타내주었다. 이때 시간값을 계산해주기 위해서는 5가지의 다른 상황을 두었다.
또한 gapHours라는 변수는 ‘시‘ 만을 나타내기 때문에 알람시간까지 1시간이 채 남지 않았을 경우 0시간으로 표현해주는것이 필요해서 정각일때랑 정각이 아닐때를 구분해주었다.
1. 알람시간과 현재시간의 AM_PM이 같고, 현재시간이 알람시간보다 작고, 정각일 때
=> 알람시간에서 현재시간을 빼준다.
2. 알람시간과 현재시간의 AM_PM이 같고 현재시간이 알람시간보다 작고, 정각이 아닐 때
=> 정각이 아니기때문에 알람시간에서 현재시간을 빼주고 – 1 을 해준다.
3. AM_PM과 시간이 모두 일치할 때
=> 차이는 없다. 그러므로 gapHours <= 0 을 해준다.
3. 알람시간과 현재시간의 AM_PM이 같고 현재시간이 알람시간보다 클 때
=> 현재시간이 알람시간보다 큰데 AM_PM이 같다는것은 다음날을 의미하기 때문에 24 - (현재시간 – 알람설정시간) 을 해주어 다음날까지의 시간차이를 계산해준다.
4. 알람시간과 현재시간의 AM_PM이 다를 때
참고 자료
없음