Duda sobre divisores de frecuencia VHDL.

Para diseñar un divisor de frecuencia en VHDL siempre se debe conocer la frecuencia de entrada? o se puede generar el código de forma general para cualquier frecuencia?
Por ejemplo, para pasar de 50MHz a 1 Hz:

LIBRARY IEEE;
USE IEEE.STD_LOGIC_UNSIGNED.ALL;
USE IEEE.STD_LOGIC_ARITH.ALL;
USE IEEE.STD_LOGIC_1164.ALL;

ENTITY CIRCUITO IS
PORT(
CLK: IN STD_LOGIC;
Q: BUFFER STD_LOGIC);
END CIRCUITO;

ARCHITECTURE BEHAVIORAL OF CIRCUITO IS
SIGNAL CONTADOR: STD_LOGIC_VECTOR(24 DOWNTO 0);
BEGIN
PROCESS(CLK)
BEGIN
IF CLK='1' AND CLK'EVENT THEN
CONTADOR<=CONTADOR+1;
IF CONTADOR=24999999 THEN
CONTADOR<=(OTHERS=>'0');
Q<= NOT Q;
END IF;
END IF;
END PROCESS;
END BEHAVIORAL;

en donde se usa un contador que cuenta 25millones de veces, debido a la relacion entre las frecuencias, pero teniendo en cuenta sus valores.

Pero si digamos necesito hacer un divisor de frecuencia programable entre 7 y 5 para cualquier frecuencia en general. como se haría?
 
Última edición:
Atrás
Arriba