Endpoint Path Margin for IC Timing Optimization
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current IC design optimization techniques face challenges in improving non-timing design metrics without degrading key timing metrics like worst negative slack (WNS) and total negative slack (TNS), as they often focus on paths with positive slack, limiting the extent of non-timing metric improvements.
Innovation Solution
The method involves determining an endpoint path margin based on sub-critical timing paths with negative slack, adjusting their timing to appear as positive, allowing for non-timing design metric improvements without affecting WNS and TNS, by temporarily adding an endpoint path margin and then removing it to restore original timing.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If current IC design optimization techniques focus on paths with positive slack, then timing constraints are maintained, but non-timing design metrics cannot be improved
Solution Approach 1:
Instead of focusing optimization efforts only on paths with positive slack as conventional techniques do, this patent inverts the approach by identifying and optimizing paths with negative slack (sub-critical paths). By temporarily adding an endpoint path margin to make these negative slack paths appear positive, the optimizer can improve non-timing metrics on these paths without affecting the critical paths that determine timing constraints.
Solution Approach 2:
The patent introduces an intermediary mechanism called 'endpoint path margin' that acts as a temporary offset added to sub-critical paths. This margin serves as a mediator that allows the optimization process to treat negative slack paths as if they had positive slack, enabling non-timing metric improvements while the margin is temporarily in place. After optimization, the margin is removed and the improvements are retained, thus decoupling the optimization process from the critical timing constraints.
2Productivity
If sub-critical paths with negative slack are optimized directly, then non-timing metrics improve, but timing performance degrades
Solution Approach 1:
The patent applies preliminary action by temporarily adding an endpoint path margin to sub-critical paths before optimization begins. This preliminary modification changes the perceived slack values from negative to positive, allowing the optimizer to improve non-timing metrics without fearing timing degradation. After optimization completes, the margin is removed, and the timing performance is restored while retaining the non-timing metric improvements.
Solution Approach 2:
The patent changes the parameter representation of path slack by introducing an endpoint path margin offset. This parameter change transforms the slack values of sub-critical paths from negative to effectively positive during the optimization process. The margin acts as a temporary parameter adjustment that enables optimization on previously inaccessible paths without permanently altering the timing-critical parameters.
3Reliability
If all timing paths are treated equally during optimization, then timing constraints are maintained, but optimization efficiency is reduced
Solution Approach 1:
The patent segments the timing paths into two distinct categories: critical paths (with zero or positive slack) and sub-critical paths (with negative slack). By applying the endpoint path margin specifically to sub-critical paths, the optimization process can treat these segments differently. This segmentation allows the optimizer to focus computational efforts on improving non-timing metrics in sub-critical paths while leaving critical paths unchanged, thereby reducing overall optimization complexity and improving efficiency.
Data Source
AI summary
Techniques for integrated circuit (IC) design are disclosed. A path margin is determined for an endpoint of a plurality of timing paths for an IC design. This includes identifying a sub-critical path, among the plurality of timing paths, where the sub-critical path has more slack than a critical path relating to the endpoint. The path margin is generated based on a first slack associated with the sub-critical path. A second slack, relating to at least one of the plurality of timing paths, is modified from a first value to a second value, based on the path margin. A design metric relating to the IC design is updated based on the modified second slack. The IC design is configured to be used to fabricate an IC.


