Soy nuevo en la programación VHDL. Quiero tener un divisor de frecuencia de una señal de reloj de entrada por 2 enteros consecutivos x, y cada uno de ellos dura 2 ciclos. En realidad lo escribí solo para x. ¿Cómo puede durar el ciclo del reloj dos períodos? a continuación es mi código, gracias por su respuesta.
library ieee;
use ieee.std_logic_1164.all;
entity clk_divider is
generic(
x:integer:=2;
y:integer:=3);
port( clk_in:in std_logic;
clk_out:out std_logic);
end entity;
architecture beh of clk_divider is
begin
process(clk_in)
variable tmp:std_logic:='0';
variable count1:integer:=0;
--variable count2:integer:=0;
begin
if (rising_edge(clk_in)) then
count1:=count1+1;
if(count1=x-1) then
tmp:=not tmp;
count1:=0;
end if;
end if;
clk_out<=tmp;
end process;
end architecture;