hara.runtime.basic.impl.process-verilog

+program-init+

+verilog-twostep+

+verilog-twostep-config+

+verilog-verify+

+verilog-verify-config+

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.