-- Contador de 16 estados
-- Tiene carga paralela y señal de capacitación (enable)
library ieee;
use ieee.std_logic_1164.ALL;
- Declaración de la entidad
Entity compt_x is
port (
ck, enable, load: in bit;
d: in natural range 0 to 15;
q: out natural range 0 to 15);
end compt_x ;
-- Definición de la arquitectura
Architecture bhr of compt_x is
signal estat: natural:=0;
begin
Process
Beginloop -- Bucle de carga de estado (se activa con la señal load)
loop -- Bucle de conteo
wait until ck='1'; -- Cambio de estado activo por flanco de reloj
exit when load=‘1'; -- load=1 indica carga de estado
if enable='1' then estat <= (estat+1) mod 16;
end if;end loop;
estat <= d; -- Carga paralela
wait until load=‘0';end loop;
End process;
q <= estat; -- La salida toma el valor del estado: asignación concurrente
end bhr;