.. _simulation_and_runtime: ********************** Simulation and runtime ********************** .. _simulation_options: Simulation options ================== In most system environments, it is possible to pass options while invoking a program. Contrary to most programming languages, there is no standard method in VHDL to obtain the arguments or to set the exit status. In GHDL, it is impossible to pass parameters to your design. A later version could do it through the generics interfaces of the top entity. However, the GHDL runtime behaviour can be modified with some options; for example, it is possible to stop simulation after a certain time. The exit status of the simulation is :samp:`EXIT_SUCCESS` (0) if the simulation completes, or :samp:`EXIT_FAILURE` (1) in case of error (assertion failure, overflow or any constraint error). Here is the list of the most useful options. Some debugging options are also available, but not described here. The :option:`--help` options lists all options available, including the debugging one. .. option:: --assert-level= Select the assertion level at which an assertion violation stops the simulation. `LEVEL` is the name from the `severity_level` enumerated type defined in the `standard` package or the :samp:`none` name. By default, only assertion violation of severity level :samp:`failure` stops the simulation. For example, if `LEVEL` was :samp:`warning`, any assertion violation with severity level :samp:`warning`, :samp:`error` or :samp:`failure` would stop simulation, but the assertion violation at the :samp:`note` severity level would only display a message. Option :option:`--assert-level=none` prevents any assertion violation to stop simulation. .. option:: --ieee-asserts= Select how the assertions from :samp:`ieee` units are handled. `POLICY` can be :samp:`enable` (the default), :samp:`disable` which disables all assertion from :samp:`ieee` packages and :samp:`disable-at-0` which disables only at start of simulation. This option can be useful to avoid assertion message from :samp:`ieee.numeric_std` (and other :samp:`ieee` packages). .. option:: --stop-time=