Sentencia Wait
La sentencia wait se usa para suspender un proceso si éste no tiene lista sensitiva. Lo único que exige esta sentencia es estar situada la final del proceso. Para entendermejor ésto, basta con decir que los dos códigos siguientes son equivalentes.
process (a,b,c)
begin
x <= a and b and c;
end process; | process
begin
x <= a and b and c;
wait ona,b,c;
end process; |
Ambos procesos se ejecutarán cuando haya un cambio en la señal a, b o c se muestra en este caso la equivalencia de una lista sensitiva y una sentencia wait explícita.
Sentencia wait until | |
No debemos confundir la sentencia wait until con la sentencia wait vista en el apartado anterior. En esta ocasión, tampoco se puede usar una lsita sensitiva con elproceso, ya que ésta queda definida con la misma sentencia. Para las descripciones la fórmula wait until debe estar al prncipio del proceso, por lo que la lógica descrita de esta menera no puede serreseteada asíncronamente. Veamos su uso en el caso de la arquitectura de un flip-flop d:
architecture ejemplo of ffd is
begin
process begin
wait until (clk='1');
q <= d;
end process;
endejemplo; | |
Este proceso se suspende hasta que la condición siguiente a wait until es verdadera. Una vez que es verdad, y las asignaciones de señal se han realizado, el proceso vuelve a esperarhasta que la señal clk vuelve a valer de nuevo 1, es decir, un flanco de subida. Pulsa aquí para ir a la práctica del Flip Flop D.
-------------------------------------------------
Mas info en :http://www.ehu.es/~jtpolagi/completo/04.htm#10
2.3. Demoras de tiempo
En la simulación es posible manipular el tiempo. Una de las cosas más comunes es esperar a que algo suceda o simplemente esperaruna determinada cantidad de tiempo. La sentencia wait nos permite realizar esto.
Existen tres formas básicas de wait, las mismas pueden ser combinadas en una misma sentencia. Las tres formas son:...
Regístrate para leer el documento completo.