Para un proyecto en el que estoy trabajando, necesito un contador cuyo valor aumente tan pronto como el control de incremento aumenta (es decir, en el flanco ascendente). Sin embargo, he tenido problemas para implementar esto en VHDL.
Aquí hay un código que he escrito:
IF Reset='1' THEN
count := 0; -- Asynchronous reset
ELSIF rising_edge(clock) THEN
IF Enable = '1' THEN
count := count+1; -- Increment
END IF;
END IF;
q <= std_logic_vector(to_unsigned(count,12));
Aquí está la forma de onda de simulación de ModelSim:
Como puede ver, 'q' solo se actualiza en un ciclo de reloj DESPUÉS de que la entrada de Habilitar esté alta. Quiero que q se incremente tan pronto como Habilitar sea alto. ¿Hay alguna manera de hacer esto?