Skip to main content

emit_wprog_engine_verilog

Function emit_wprog_engine_verilog 

Source
pub fn emit_wprog_engine_verilog(name: &str, n_params: usize) -> String
Expand description

Emit the GENERIC config-driven whole-program processor: ONE fixed microcoded engine that runs ANY program by loading its WImage into on-chip config memories (via $readmemh) and interpreting it — fetch a block record, evaluate its cells one per clock (operands resolved from the register file / cell-value array / constant pool through the live-in table), commit its register writes, then follow the terminator, with a heap state plane and a frame stack for Call/Return. Proven ≡ eval_wprog_config (≡ the VM) under iverilog for any loaded image. n_params sizes only the input ports; every other bound is a fixed generic capacity, so the SAME netlist runs every program that fits.