hara.runtime.basic.impl.process-verilog
sh-exec-verilog
added in 4.1
(sh-exec-verilog input-args input-body process)Executes a Verilog program using the Icarus Verilog two-step toolchain: iverilog -o <out> <file.v> followed by vvp <out>.
transform-form
added in 4.1
(transform-form forms opts)Normalises Verilog forms for execution.
- A single symbol (usually a module pointer) is emitted as-is.
- A single module definition is emitted as-is.
- A single non-module statement is wrapped in a temporary testbench module.
- A sequence of forms keeps module definitions at the top level and wraps the remaining statements in a testbench module.
If the wrapped statements already contain an initial/always block they are placed directly inside the module body; otherwise they are wrapped in an initial block and $finish is appended so the simulator terminates.