54 use IEEE.STD_LOGIC_1164.
ALL;
55 use IEEE.NUMERIC_STD.
ALL;
65 poHours : out std_ulogic_vector(31 downto 0));
71 signal ticks : std_ulogic_vector(63 downto 0);
72 signal seconds : std_ulogic_vector(31 downto 0);
73 signal minutes : std_ulogic_vector(31 downto 0);
74 signal hours : std_ulogic_vector(31 downto 0);
80 if rising_edge(piClk) then
83 ticks <= (others => '0');
84 seconds <= (others => '0');
85 minutes <= (others => '0');
86 hours <= (others => '0');
89 if unsigned(ticks) = ClockFrequencyHz - 1 then
90 ticks <= (others => '0');
92 if unsigned(seconds) = 59 then
93 seconds <= (others => '0');
95 if unsigned(minutes) = 59 then
96 minutes <= (others => '0');
98 if unsigned(hours) = 23 then
99 hours <= (others => '0');
101 hours <= std_ulogic_vector(unsigned(hours) + 1);
105 minutes <= std_ulogic_vector(unsigned(minutes) + 1);
109 seconds <= std_ulogic_vector(unsigned(seconds) + 1);
113 ticks <= std_ulogic_vector(unsigned(ticks) + 1);
out poHoursstd_ulogic_vector(31 downto 0)
out poMinutesstd_ulogic_vector(31 downto 0)
out poSecondsstd_ulogic_vector(31 downto 0)