Stap 5: Beneden Counter Module
De omlaag teller is gebonden aan de LED control en de klok om te controleren de timing en de LED. De omlaag teller begint bij 60 seconden (we veranderd om te veranderen het tellen tot seconden, de frequentie van de klok) en zal beginnen aftellen zodra er geen meer mensen in de kamer zijn. De teller zal verlagen door 1 in elke klokcyclus totdat zij 0 seconden tot. Zodra de omlaag teller tot 0 tweede, LED inschakelen signaal wordt 0 en alle LEDs zal worden uitgeschakeld. Terwijl de teller is aftellen, als iedereen de kamer gedurende de tijd binnenkomt, de bijbehorende LED zal oplichten en het omlaag zal opnieuw op nul terug tot 60 seconden.
architecture Behavioral of counter is signal num: std_logic_vector(5 downto 0); begin process (en, reset, clk) begin if (en = '0') then LED_en <= '0'; else LED_en <= '1'; if(reset = '1') then num <= "111100"; else if (rising_edge(clk)) then if (num > 0) then num <= num - 1; end if; if (num = 0) then LED_en <= '0'; end if; end if; end if; end if; end process; Q <= num; end Behavioral;