pub fn emit_systolic_os_bist_wrapper(core: &str, r: usize, c: usize) -> StringExpand description
The self-test wrapper an output-stationary tile core is signed off in: the LFSR drives the r west activation
and c north weight lanes, and the r × c stationary accumulators fold into the MISR through registers, row by
row. Each row’s accumulators fold into a row word, the row words into two half-folds (foldA, foldB), and the
MISR XORs those. The fold stays off the critical path, so the block’s critical path is the array’s PE, and no
register reads more than one row’s accumulators, so no fold gathers every accumulator at one point of the die.