¿Cuál es el efecto de esta declaración demorada en el siguiente proceso?

2

Hola chicos en el siguiente proceso, ¿cómo se debe interpretar la asignación retrasada?

clk_process : process
begin
        clk <= '0','1' after 5 ns;
        wait for 10 ns;
end process;

Se interpreta como ...

clk se establece en '0' para 5 ns, luego i cambia a '1' y después de 10 ns se configura nuevamente en '0'? o simplemente es '0' para 5 ns y '1' para 5 ns?

Estoy un poco confundido ...

    
pregunta user8469759

1 respuesta

3

El proceso no tiene una lista de sensibilidad y una instrucción de espera. Por lo tanto, se ejecutará en varias ocasiones. Se pueden ver las siguientes etapas:

  • Tiempo = 0; establezca clk en '0' , con una asignación retrasada en '1' después de 5 ns.
  • Iniciar 10 ns espera.
  • Tiempo = 5 ns. realizar la asignación retrasada a '1' .
  • Tiempo = 10 ns, la instrucción de espera se ha completado.
  • Volver al inicio del proceso

El resultado final es un reloj, que comienza en '0' , con un período de 10 ns.

    
respondido por el scary_jeff

Lea otras preguntas en las etiquetas