Incremental Circuit Synthesis via Partition Dependency Graphs
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current electronic design automation (EDA) tools require significant time and may compromise quality of result (QoR) when making small changes to circuit designs, as they often resynthesize the entire circuit or require users to manually partition changed and unchanged sections, leading to inefficiencies and potential errors.
Innovation Solution
A method where a computer processor partitions a circuit design into sections during initial synthesis, generates a partition dependency graph, and then re-synthesizes only the changed and dependent partitions, combining them with unchanged partitions to form a complete synthesized design, thereby reducing the need for full re-synthesis and optimizing cross-partition optimizations.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the entire circuit design is resynthesized after a small change, then the quality of result (QoR) is maintained, but the synthesis time increases significantly
Solution Approach 1:
The circuit design is divided into multiple partitions, allowing the synthesis process to selectively re-synthesize only the changed partition and its dependent partitions rather than the entire design. This segmentation enables incremental updates while maintaining optimization quality in affected areas.
Solution Approach 2:
The system dynamically determines which partitions need re-synthesis by analyzing dependencies between partitions. The partition dependency graph is updated based on changes, and only partitions that are affected by the changes are re-synthesized, making the process adaptive to the specific nature of each modification.
2Loss of time
If only changed partitions are resynthesized, then the synthesis time is reduced, but the quality of result deteriorates due to limited cross-partition optimizations
Solution Approach 1:
The system dynamically determines which partitions need re-synthesis by analyzing dependencies between partitions. The partition dependency graph is updated based on changes, and only partitions that are affected by the changes are re-synthesized, making the process adaptive to the specific nature of each modification.
Solution Approach 2:
The system uses a partition dependency graph that provides feedback about which partitions are affected by changes in other partitions. This feedback mechanism ensures that all necessary partitions are included in the re-synthesis process, maintaining cross-partition optimization quality while avoiding unnecessary re-synthesis of independent partitions.
3Productivity
If users manually partition changed and unchanged sections, then re-synthesis scope is controlled, but the process becomes time-consuming and error-prone
Solution Approach 1:
The system automatically performs partitioning and determines which partitions need re-synthesis by analyzing the circuit design and changes. The partition dependency graph is constructed and updated automatically, eliminating the need for manual user intervention in partition management while ensuring accurate identification of affected partitions.
Solution Approach 2:
The system performs preliminary analysis to construct the partition dependency graph before re-synthesis is needed. This preliminary action establishes the foundation for automatic partition determination, so when changes occur, the system can quickly identify affected partitions without requiring manual user input.
Data Source
AI summary
A circuit design is partitioned into a plurality of partitions during a first synthesis by a computer processor. After modification of the circuit design, the computer processor determines changed partitions and unchanged partitions of the circuit design. The computer processor then determines dependent partitions of the changed partitions. The changed partitions and the dependent partitions are re-synthesized by the computer processor into respective re-synthesized partitions, and the computer processor then combines the respective re-synthesized partitions and the unchanged partitions into a complete synthesized circuit design in a memory.


