What is Bulk Timing Optimization?
Bulk Timing Optimization (BTO) is a method to help backend designers of advanced digital ASICs and SoCs to improve design timing in a pre-CTS optimization. Bulk Timing refers to a holistic approach of creating improved timing overall, throughout the ‘bulk of the timing paths’. This helps to improve backend design closure, by making it easier to achieve timing closure in the given block, as well as reducing design overhead.
FloorDirector-BTO (the TimingOptimizer™) supports multi-dimensional optimization objectives and constraints: Reduce TNS (both setup and hold) and Number of Failing Endpoints (NFE), or put focus on near failing endpoints, i.e. the endpoints which have positive slack values close to zero. The optimization algorithm features automated and adaptive Auto Targets that make setting up the optimization objectives very easy and straight forward. The targets, constraints and trade-offs can be adjusted through user controlled parameters according to the design manager’s goals. Focus can be put on either setup- or hold-time.
The graph shows the improvement in bulk timing for an SoC design block:
The NFE plot above is an example of how the number of endpoints with negative, as well as with low slack values, is reduced by the optimization, pushing the “bulk” of the timing towards higher slack values. I.e. at the same time as the total negative slack is reduced, the timing headroom is also improved by increasing the slack for endpoints which have a near critical positive slack. The latter will often make design closure easier later in the flow.
The FloorDirector platform is silicon-proven down to 7nm