디지털 시계의 VHDL 소스
본 자료는 7페이지 의 미리보기를 제공합니다. 이미지를 클릭하여 주세요.
닫기
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
해당 자료는 7페이지 까지만 미리보기를 제공합니다.
7페이지 이후부터 다운로드 후 확인할 수 있습니다.

소개글

디지털 시계의 VHDL 소스에 대한 보고서 자료입니다.

목차

디지털 시계의 VHDL 소스코드
◈ TOP
◈ clock_div
◈ clock1_div
◈ debounce
◈ MODE_GEN
◈ TIME
◈ TIMER
◈ SELECTOR
◈ int2seg2
◈ cnt_onetosix

본문내용

'0'&MIN_AL;
OUT_S <= "1111111";
when "01" =>--시간 알람설정
OUT_H <= "00" & HUR_AL;
OUT_M <= "1111111";
OUT_S <= "1111111";
when "10" => --분 알람설정
OUT_H <= "1111111";
OUT_M <= '0'&MIN_AL;
OUT_S <= "1111111";
when others =>
OUT_H <= "00" & HUR_AL;
OUT_M <= "1111111";
OUT_S <= '0'&MIN_AL;
end case;
end if;
end if;
end process SELECTION;
ALARM_SET : process (INCREASE, MODE1, MODE2, HUR_AL, MIN_AL, HOUR, MIN)
begin
if (INCREASE'event and INCREASE = '1') then
if (MODE1 = "10")then
if (MODE2 = "01") then
if (HUR_AL = "10111") then
HUR_AL <= "00000";
else HUR_AL <= HUR_AL + 1;
end if;
elsif (MODE2 = "10") then
if (MIN_AL = "111011") then
MIN_AL <= "000000";
else MIN_AL <= MIN_AL + 1;
end if;
else NULL;
end if;
end if;
end if;
if((HOUR = HUR_AL) and (MIN=MIN_AL)) then
ALARM <= '1';
else ALARM <= '0';
end if;
end process ALARM_SET;
end A_SELECTOR;
◈ int2seg2
library ieee;
use ieee.std_logic_1164.all;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
entity int2seg2 is
port(reset : in std_logic;
int_value : in std_logic_vector (6 downto 0);
seg_10 : out std_logic_vector(6 downto 0);
seg_01 : out std_logic_vector(6 downto 0));
end int2seg2;
architecture design of int2seg2 is
component int2seg1 is
port (int : in std_logic_vector (6 downto 0);
seg : out std_logic_vector(6 downto 0));
end component;
signal dec_10 : std_logic_vector (6 downto 0);
signal dec_01 : std_logic_vector (6 downto 0);
begin
separate_int : process(reset, int_value)
begin
if(reset='0')then dec_10<="0000000"; dec_01<="0000000";
elsif(int_value >="1011010") then dec_10<="0001001";
dec_01 <=int_value-"1010010";
elsif(int_value >="1010000") then dec_10<="0001000";
dec_01 <=int_value-"1010000";
elsif(int_value >="1000110") then dec_10<="0000111";
dec_01 <=int_value-"1000110";
elsif(int_value >="0111100") then dec_10<="0000110";
dec_01 <=int_value-"1010010";
elsif(int_value >="0110010") then dec_10<="0000101";
dec_01 <=int_value-"0110010";
elsif(int_value >="0101000") then dec_10<="0000100";
dec_01 <=int_value-"0101000";
elsif(int_value >="0011110") then dec_10<="0000011";
dec_01 <=int_value-"0011110";
elsif(int_value >="0010100") then dec_10<="0000010";
dec_01 <=int_value-"0010100";
elsif(int_value >="0001010") then dec_10<="0000001";
dec_01 <=int_value-"0001010";
else dec_10 <= "0000000";
dec_01 <= int_value;
end if;
end process separate_int;
seg_10_ten : int2seg1 port map (int => dec_10, seg => seg_10);
seg_01_one : int2seg1 port map (int => dec_01, seg => seg_01);
end design;
◈ cnt_onetosix
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity cnt_onetosix is
port( diclock : in std_logic;
reset : in std_logic;
value : out integer range 1 to 6);
end cnt_onetosix;
architecture beh of cnt_onetosix is
signal tmp_value : integer range 1 to 6;
begin
process(diclock, reset, tmp_value)
begin
if(reset = '0' ) then tmp_value <=1;
elsif (diclock'event and diclock='1')then
if(tmp_value = 6)then
tmp_value <= 1;
else
tmp_value<=tmp_value+1;
end if;
end if;
end process;
value<=tmp_value;
end beh;

키워드

디지털시계,   VHDL,   시계,   FPGA,   ISE
  • 가격4,000
  • 페이지수20페이지
  • 등록일2010.10.30
  • 저작시기2010.5
  • 파일형식한글(hwp)
  • 자료번호#637005
본 자료는 최근 2주간 다운받은 회원이 없습니다.
청소해
다운로드 장바구니