Skip to main content

K6_PORTS_EVERY

Constant K6_PORTS_EVERY 

Source
pub const K6_PORTS_EVERY: usize = 2;
Expand description

The K6 ports engine’s register placement: a register after every K6_PORTS_EVERY-th level of each lane’s multiply tree and after its last (simt_ports). MEASURED (2026-10-18, Sky130 HD: yosys 0.33 with OpenLane v1’s DELAY 0 ABC script at a 2 ns target, OpenSTA at the typical corner, no wires; a step every clock throughout): every level = 536,394 µm² at 3.35 ns and 8 clocks; every second = 488,462 at 3.86 and 5; every third = 468,797 at 5.10 and 4; the product only = 437,985 at 8.30 and 3; no register in the tree = 423,320 at 9.27 and 2. Every second is within 5% of every level in steps a second per area, with 39% of its flip-flops and three clocks fewer.