VHDL를 이용한 Digital Clock의 설계
- 최초 등록일
- 2010.06.24
- 최종 저작일
- 2010.06
- 34페이지/
한컴오피스
- 가격 10,000원
![할인쿠폰받기](/images/v4/document/ico_det_coupon.gif)
소개글
VHDL을 이용한 Digital Clock의 설계레포트입니다. Mode Generator부터 LED Driver까지 필요한 모든 부품들의 Source code, 조건이 있습니다.
목차
1. Mode Generator
2. Time Block
3. Date Block
4. Timer Block
5. Selector and Alarm Block
6. Divider
7. LED Driver
8. Digital Clock Chip(Whole Chip)
본문내용
1. Purpose
- Mode Generator를 설계한다.
2. Problem statement
① Describe what is the problem.
- 입력을 CLK(System Clock & Time Base), SW1, SW2(모드 설정 switch), SET(각 mode별로 값을 증가시키는 switch)을 받고 출력으로 MODE1, MODE2, INCREASE가 나오는 기본 골격에서 다음과 같은 State로 구성되도록 설계한다.
▷ Description of MODE(SW1, SW2, SET)
▷ Expression of Mode Output
여기서 가장 중점적으로 생각해봐야 할 것은 INCREASE인데 이것은 SET의 값이 1이 되었을 때 다음 CLK의 falling edge에서 INCREASE의 값이 1로 되어야 한다.
② Describe how do you solve the problem.
우선 CLK, SW1, SW2, SET같은 input port와 MODE1, MODE2, INCREASE같은 output port를 제외하고 쓰이는 수많은 변수들은 모두 회로 내부에서 동작하므로 signal선언을 하여준다. State와 Next state의 초기상태는 시간모드(Time)로 지정해준다.
INCREASE의 코드 표현은 만약 상승에지에서 SET값이 1이라면 해당하는 State의 Inc값을 1로 바꿔주고 바로 다음 하강에지에서 Inc
-- Display selector and ALARM generator
component SELECTOR
port ( CLK, INCREASE, SET : in bit;
MODE1, MODE2 : in bit_vector (1 downto 0);
HOUR : in bit_vector (4 downto 0);
MIN, SEC : in bit_vector (5 downto 0);
MON : in bit_vector (3 downto 0);
DAY : in bit_vector (4 downto 0);
MIN_SW, SEC_SW : in bit_vector (5 downto 0);
SECC_SW : in bit_vector (3 downto 0);
OUT_H, OUT_M, OUT_S : out bit_vector (5 downto 0);
ALARM : out bit);
end component;
-- Binary to BCD converter
component DIVIDER
port ( BINARY : in bit_vector (5 downto 0);
BCD_H, BCD_L : out bit_vector (3 downto 0));
end component;
-- LED display driver (BCD to 7-segment converter)
component LED_DRIVER
port ( LED_IN : in bit_vector (3 downto 0);
LED_OUT : out bit_vector (6 downto 0) := "1111110");
end component;
참고 자료
없음