Estoy tratando de crear un proceso que detecte el primer flanco ascendente de la señal PGOOD y active ENABLE.
Entonces necesito detectar el primer borde descendente de PGOOD y desactivar ENABLE para siempre.
Esto es lo que intenté pero no funciona: ENABLE siempre es '0'.
¿Qué me estoy perdiendo?
process(PGOOD,CPLD_RESETn)
begin
if (CPLD_RESETn = '0') then
off <= '0';
elsif (falling_edge(PGOOD)) then
off <= '1';
end if;
end process;
process(PGOOD,CPLD_RESETn)
begin
if (CPLD_RESETn = '0') then
firstOn <= '0';
elsif (rising_edge(PGOOD)) then
firstOn <= '1';
end if;
end process;
ENABLE <= firstOn and not(off);