Skip to main content

Module signoff_blocks

Module signoff_blocks 

Source
Expand description

The clock period every hardened block is signed off at — held here, derived from its measured SLOW corner, and the only period emit_flow_config accepts for a registered block.

Signoff means every corner closes (ss_100C_1v60 / tt_025C_1v80 / ff_n40C_1v95 x min/nom/max RC), at a period set to what the slow corner actually meets. A period chosen at the typical corner is a frequency the part does not guarantee: measured 2026-09-23, 16 of 18 blocks then recorded clean failed setup at the slow corner, fabric_soc by 121.40 ns on a 300 ns clock.

Structs§

SignoffBlock
One hardened block’s signoff clock.

Constants§

SLOW_CORNER_MARGIN
Headroom kept above the measured slow-corner requirement. Lengthening the period relaxes timing-driven synthesis and resizing, so the rebuilt critical path can come out a little slower than the one measured; 5% absorbs that without a second round.

Statics§

SIGNOFF_BLOCKS
Every hardened block, with the run its measurement came from: the period that run was built at and its worst setup slack across every corner, so the derivation is visible, not just its result. A block iterates: when a run at the derived period still misses, its entry moves to THAT run.

Functions§

honest_period_ns
The period a block must be built at, given the period it was measured at and the worst setup slack across every corner of that run. A block that met every corner keeps its period; one that missed gets the miss plus SLOW_CORNER_MARGIN, rounded UP to the 0.5 ns grid.
registered_period_ns
The registered signoff period for name, if the block is registered.
registered_synth_strategy
The synthesis strategy name’s period was measured under (Some(None) for OpenLane’s default), if the block is registered.
resolve_synth_strategy
The strategy name is synthesized under, given the one asked for (None: none asked; Some(None): OpenLane’s default). A registered block takes its registered strategy and refuses any other; an unregistered block takes what was asked.