Skip to main content

slimmed_costs

Function slimmed_costs 

Source
pub fn slimmed_costs() -> Costs
Expand description

Specialized modules: the memory layout of MachineMemory::SPECIALIZED (banks M and A in UltraRAM, constants in a LUT ROM, the compress machine’s input bank in UltraRAM), as built and routed: Vivado 2023.2 out of context at 4.878 ns, every block meeting timing, on the fix9 RTL (the timing fixes through e0c9caa; measure/results.tsv, 2026-10-18):

BlockLUTDSPBRAM36URAMWNS (ns)
fixed-base machine14,61522524.532+0.848
compress machine16,5692251.564+0.679
known-key verify machine13,86322524.556+0.609
aux machine (key loader)14,5182259.548+0.863
SHA ring4,315000+1.995
small signer (1/1/1/0, fix4)29,0552484032+0.306
150-DSP Karatsuba variants (before the fixes)+4,367..4,441−75==+0.056..+0.470

BRAM18 halves are rounded up. The scalar ring and the controllers are fitted to routed whole cores (signers, verifiers; see the entries). Still derived, not built: the strict verify machine (fixed-base machine plus 2,500 LUT and 22 BRAM36); the reduce-only verify scalar ring is not built, so verifiers are costed with the built signing ring.