Skip to main content

emit_harness

Function emit_harness 

Source
pub fn emit_harness(k: &Kernel, c: &Candidate, mode: Mode) -> String
Expand description

The wrapper qorbist_<candidate>(clk, rst, sig) around c for kernel k in mode. Call check_ports first: the wrapper assumes the binding fits.

The operands of the call being presented sit in registers (p_<port>, one set per batch slot as p_<port>_<j>), computed one call ahead from the stimulus state by a per-port function; a batch of n advances the state n steps through one GF(2) matrix per slot. Each result is registered when it is captured and folded into the MISR one per cycle in operation order — so no wrapper path is longer than one field adder, one jump network or one fold tree, and the measured timing is the candidate’s.