Post-CTS Clock Tree Restructuring for User-Specified Clock Instances
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional EDA software systems lack the ability to efficiently and automatically integrate user-specified clock instances into a post-CTS clock tree, requiring manual modifications or rerunning the entire clock tree synthesis process, which is time-consuming and prone to suboptimal results.
Innovation Solution
An EDA software system implements an application programming interface (API) that allows users to specify clock instances and automatically restructures the post-CTS clock tree by selecting optimal connections based on logical equivalence and conductive trace length, reducing manual intervention and synthesis time.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If manual modifications are made to integrate user-specified clock instances into a post-CTS clock tree, then flexibility and customization are improved, but time consumption and complexity increase
Solution Approach 1:
The system automatically integrates user-specified clock instances into the post-CTS clock tree by detecting logically equivalent clock nets and determining optimal connection points without requiring manual intervention. The EDA software system performs self-service by autonomously completing the integration process that would otherwise require manual effort, thereby reducing time consumption while maintaining flexibility.
2Reliability
If the entire clock tree synthesis process is rerun to include user-specified clock instances, then completeness and correctness are improved, but productivity and time efficiency deteriorate
Solution Approach 1:
The invention extracts and isolates only the necessary portion of the clock tree synthesis process by directly integrating user-specified clock instances into the existing post-CTS clock tree. Instead of rerunning the entire CTS process, the system takes out and processes only the specific integration task, thereby maintaining correctness while dramatically improving productivity and time efficiency.
Solution Approach 2:
The system performs preliminary analysis to detect logically equivalent clock nets and determine optimal connection points before actually integrating the user-specified clock instances. This preliminary action ensures correctness of the integration while avoiding the need to rerun the entire synthesis process, thus improving time efficiency.
3Productivity
If automated integration methods are implemented, then productivity and time efficiency are improved, but adaptability and ease of operation may worsen
Solution Approach 1:
The system introduces an intermediary mechanism that automatically detects logically equivalent clock nets and determines optimal connection points between user-specified clock instances and the existing clock tree. This intermediary analysis layer maintains ease of operation by handling the complexity automatically while preserving productivity through efficient automated integration.
4Adaptability or versatility
If manual modifications are used to add clock instances, then adaptability is improved, but device complexity and difficulty of operation increase
Solution Approach 1:
The system performs self-service by automatically detecting logically equivalent clock nets and determining optimal connection points, thereby handling the complexity of customization internally. This maintains adaptability and customization capabilities while reducing the operational complexity for users, as they no longer need to manually navigate the complex integration process.
Data Source
AI summary
A clock tree generated through clock tree synthesis (CTS) for an integrated circuit (IC) design is stored in memory. The IC design includes a post-CTS clock tree having a plurality of clock nets. An application programming interface (API) implements a set of commands to allow a user, through a user request, to provide inputs to restructure the post-CTS clock tree to include a user-specified clock instance. The request is received from a user through the API and includes inputs defining the user-specified clock instance, a physical location of the clock instance, and a logical equivalence of a clock signal to be provided by one of the plurality of clock nets. One of the clock nets in the post-CTS clock tree is selected based on the inputs of the request and the post-CTS clock tree is restructured to include the user-specified clock instance.


