detectar el flanco ascendente y el flanco descendente para determinar la señal para habilitar

1

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);
    
pregunta DASA

1 respuesta

1

No veo nada malo en tu código. Tu requisito parece cumplirse cuando simulé el código. La habilitación fue alta en el primer flanco ascendente y descendió cuando detectó el primer flanco descendente después. Creo que forzaste las entradas de manera incorrecta.

    
respondido por el MITU RAJ

Lea otras preguntas en las etiquetas