VHDL_5_Digital Watch, 1초 생성기, 60진24진 카운터, MUX, FND decoder
- 최초 등록일
- 2021.09.23
- 최종 저작일
- 2019.03
- 22페이지/ 한컴오피스
- 가격 2,000원
목차
1. 주제 배경 이론
2. 소스코드 설명
3. 시뮬레이션 결과 및 설명
4. 토의 및 실습소감
본문내용
실습제목: 1초 생성기
1. 주제 배경 이론
DE2 보드는 클럭으로 50MHz를 사용한다. 이것은 1초에 50,000,000번 진동한다는 뜻이다. 한 번 진동하는데 걸리는 시간은 역수를 취하면 얻을 수 있고 20ns가 나온다. 20ns * 50,000,000 = 1s이다. 따라서 주파수를 분주할 때 25,000,000번째 클럭에서 부호를 바꿔주면 주기가 1초인 펄스 하나를 만들 수 있다.
시뮬레이션에서는 1초를 볼 수 없기 때문에 부호를 2,500번째 클럭에서 바뀌도록 했다.
실습제목: 60진/24진 카운터
1. 주제 배경 이론
분과 초는 60진법을 사용하고 시간은 최대 24까지 올라간다. Behavioral 방식으로 업카운트 설계를 했었다. 이것을 이용하여 60/24일 때 다시 0으로 초기화하는 Modulo 카운터를 설계하면 된다. 1초 생성기에서 나오는 펄스를 기준으로 이벤트를 계수하면 60진 카운터는 초시계가 된다. 그리고 하나의 60진 카운터가 60에 도달하는 것을 계수하는 60진 카운터를 만들면 그것이 분시계다. 마찬가지로 분을 표현하는 60진 카운터가 60에 도달하는 것을 계수하는 24진 카운터를 만들면 이것이 시를 표현하는 시계가 되고 모두 합하면 하나의 온전한 시계가 된다.
실습제목: MUX 2x1
1. 주제 배경 이론
MUX는 신호 선택기다. 여러개의 입력 중 하나를 선택하여 출력한다.
Digital Watch는 시간이 정상적으로 동작하는 시계의 기능과 시간을 바꿀 수 있는 2가지 기능을 구현해야 한다. 그러기 위해서 우선 일반 적인 시계의 기능을 하기 위한 clock 신호와 카운트 값을 조정하는 신호를 MUX에 받는다. 그리고 별도의 키 혹은 스위치를 이용해서 어떤 신호를 출력할지 선택한다. DE2 보드의 푸시 스위치는 누르지 않았을 때 High 상태이고 눌렀을 때 LOW이므로 이것을 고려하여 설계해야 한다.
참고 자료
없음