Hola,
A ver si esto te puede ayudar. Yo haría así la arquitectura de una máquina de estados (FSM) (bueno, parte del código, claro):
Codigo:
-- declaraciones
entity elena_fsm is
port ( clk, enable: in std_logic;
zero, cnt_eq: in std_logic; -- entradas de control
.................... --salidas etc);
end elena_fsm;
estado:process(clk) -- proceso para el estado de las transiciones
begin
if (enable = "1") then
-- bla bla...;
elsif (clk"event and clk="1") then
-- flanco de subida del reloj bla bla
end if;
end process estado;
No se si te servirá. Intenta no hacer el if anidado sino más bien combinar ambas condiciones.
Ya me contarás.
Saludos!