En Verilog puedo usar la función $finish para detener la simulación, pero mi búsqueda de una opción similar en VHDL ha fallado hasta ahora.
La solución más cercana que encontré en línea es usar este código en mi banco de pruebas VHDL:
stop_simulation :process
begin
wait for 1000 ns; --run the simulation for this duration
assert false
report "simulation ended"
severity failure;
end process ;
¿Cómo establece el tiempo para su simulación en VHDL? Por ejemplo, si quiero que mi reloj funcione a las 10, ¿cuál es la opción ESTÁNDAR para lograrlo?
Se utilizan comúnmente dos formas:
Detener el reloj (o relojes). De esa forma no hay más eventos y la simulación se detiene. A veces, hay una señal (por ejemplo llamada done
) que apaga el generador de reloj. El banco de pruebas afirma la done
señal cuando se completan todas las pruebas.
Informar de un fallo . Esto no es tan elegante, pero mucha gente lo usa. La gravedad de la falla hará que el simulador se detenga.report "simulation finished successfully" severity FAILURE;
Detener procedimiento Una tercera forma, solo disponible desde VHDL 2008, es llamar al procedimiento stop
, en el env
paquete de la std
biblioteca. Por ejemplo, así:std.env.stop;
done
señal? Te has perdido el punto de la pregunta, creo.std.env.stop
método del comentario anterior de @BrianDrummond.
Saftargholi
Dr. Ehsan Alí
usuario_1818839
std.env.stop;
(y configuraría las opciones del compilador en VHDL-2008).lucas92