Starting Utilization and Congestion
Starting utilization depends on the type of architecture:
- A cell-dominated design will have higher cell density.
- A net-dominated design will have lower cell density.
Congestion equals required tracks divided by available tracks. Required tracks are affected by placement constraints (blockages, keepout) and by detour nets that have to cross a critical area, sometimes needing extra buffers.
Available tracks are affected by the spacing left between macros or in the standard-cell area, by the type of power structure (thick power stripes), by power stripes not aligned to the routing track, and by clock NDRs.
KEY Starting utilization depends on architecture (cell- vs net-dominated); congestion is required tracks over available tracks.
Keeping Flops Out of Macro Channels
- Clock NDR consumes extra routing tracks, and this was not accounted for in the placement-stage congestion estimate.
- The solution is the early-clock flow, used in lower technology nodes, which gives a correct estimate of routing-track demand and standard-cell area.
- Another solution is to reserve a percentage of tracks on each layer, though this affects the design's timing.
KEY Clock NDR tracks aren't counted at placement, so flops are kept out of channels - fixed by the early-clock flow.
What a Macro Model Must Provide
- Clock data from the macro IO port to the registers inside the macro - the min and max insertion delays - which CTS needs while building the tree.
- Transition and load information for all macro pins; for the macro clock port this is needed during CTS, and for other macro ports it is needed for correct timing computation.
