스톱워치 vhdl 구현 보고서
- 최초 등록일
- 2013.12.24
- 최종 저작일
- 2013.11
- 14페이지/ 한컴오피스
- 가격 2,000원
소개글
블록도 ,상태도, 모든코드
스타트 스톱, 리셋, 랩타임 구현
quartus2 사용.
목차
1.블록도
2.statemachine 상태도
3.vhdl 코드
본문내용
3.vhdl 코드
1)Clk_div
1MHz -> 100Hz 로 분주하여 0.01 초 단위로 숫자가 카운트 될 수 있도록 설계한다.
--clkdiv.vhd
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity clkdiv is
port(
mclk : in std_logic;
clkout : out std_logic
);
end clkdiv;
architecture behavior of clkdiv is
signal cnt : std_logic_vector(12 downto 0) :="0000000000000";
signal sclk : std_logic :='0';
begin
process (mclk)
begin
if(rising_edge(mclk)) then
if ( cnt >= "1001110001000") then -- 5000일 때 클럭이 한번만 뛰게하여 100Hz 로 분주한다.
cnt <= "0000000000000";
sclk <= not sclk;
else
cnt <= cnt + "1";
end if;
end if;
end process;
clkout <= sclk;
end behavior;
2)Switch
key 입력을 세 개를 받아 key 입력을 statemachine에 전달할 수 있게 설계하였다.
--switch.vhd
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity switch is
port (
MCLK : in std_logic;
<이하생략>
참고 자료
없음