본문내용
1. 실험 개요
1.1. 실험 목적
이번 실험의 목적은 Verilog HDL을 사용하여 디지털 시계를 설계하고 구현하는 것이다. 기본적인 시간 표시와 시간 조정 기능을 포함하며, 다양한 추가 기능들을 자유롭게 설계 및 구현하는 것이 목표이다.
디지털 시계의 필수 기능인 시/분/초 표현과 시간 조정 기능을 반드시 포함하도록 한다. 이에 더해 알람, 스톱워치, 타이머, 세계시간, 피아노, 비밀번호 입력 등의 추가 기능들을 설계하여 텍스트 LCD를 통해 출력하도록 한다.
RESET, 스위치(SW), 버스 스위치(BUS_SW) 등의 입력장치를 활용하여 각 기능들을 제어하고, 1kHz와 1MHz의 클럭을 사용하여 시계와 부가 기능들을 구현한다.
이를 통해 Verilog HDL 언어를 활용한 디지털 시계 설계 능력을 기르고, 다양한 입출력 장치와 타이밍 제어 기술을 익힐 수 있을 것이다.
1.2. 실험 장치 및 재료
'1.2. 실험 장치 및 재료'에 대한 내용은 다음과 같다.
실험에 사용된 장치와 재료는 HBE Combo-II SE와 Xilinx ISE를 구동하기 위한 컴퓨터 또는 노트북이다. HBE Combo-II SE는 전자전기컴퓨터공학부 설계 및 실험2 실험에 사용되는 메인 실험 장치로, 다양한 입출력 포트와 스위치, LED, LCD 등의 구성 요소를 포함하고 있다. 이를 통해 학생들은 Verilog HDL 언어를 사용하여 디지털 시계와 같은 복합적인 설계 과제를 구현할 수 있다. Xilinx ISE는 Verilog HDL 코드를 작성하고 시뮬레이션하며 실제 하드웨어에 구현하는 데 사용되는 통합 개발 환경이다. 컴퓨터 또는 노트북은 Xilinx ISE를 실행하고 구현한 모듈을 Combo-II SE에 업로드하는 용도로 사용된다.
2. 실험 방법
2.1. 기본 기능
2.1.1. 시계 작동
시계 작동은 시간에 따른 시, 분, 초 단위의 카운팅과 이를 LCD 화면에 출력하는 것이다. 이는 기본 모드(MODE=0)에서 동작하며, 시계의 기본적인 기능이라고 할 수 있다.
시계 작동을 위해서는 먼저 초단위부터 증가하는 counter 모듈을 구현해야 한다. 이를 위해 REG [6:0] 형식의 s_one, s_ten, m_one, m_ten, h_one 등의 변수를 선언하여 초, 분, 시를 각각 나타낼 수 있게 한다. 각 변수는 99까지 표현 가능하도록 7비트로 설정했다.
초 단위 counter는 CLK_100Hz 신호를 이용하여 1초마다 1씩 증가하도록 설계했다. 분 단위와 시 단위 counter도 이와 유사한 방식으로 구현하되, 분이 60이 되면 시가 증가하고 초가 60이 되면 분이 증가하도록 조건을 만들었다. 이 때 시간 조절 버튼(SW_#)을 누르면 현재 시간에 설정값을 바로 적용할 수 있도록 하였다.
다음으로 counter 값을 LCD에 출력하기 위해 binar...