Apple1Display/impl1/divider.vhd

34 lines
601 B
VHDL

library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.numeric_std.ALL;
entity divider is
generic(div : natural := 2);
port(
input: in std_logic;
output: out std_logic);
end divider;
architecture behavior OF divider IS
signal toggle : std_logic := '0';
begin
process(input)
variable count : integer range 0 to (div/2)-1 := 0;
begin
if rising_edge(input) then
if count /= 0 then
count := count - 1;
else
count := (div/2)-1;
toggle <= not toggle;
end if;
end if;
end process;
output <= toggle;
end architecture;