Incremental Circuit Synthesis via Partition Dependency Graphs

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvequality of resultVSAvoidsynthesis time
Core Design Contradiction:
ReliabilityVSLoss of time

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #15Dynamics

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

Engineering Contradiction:
Improvesynthesis timeVSAvoidquality of result
Core Design Contradiction:
Loss of timeVSReliability

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.

Inventive Principle:
Principle #15Dynamics

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.

Inventive Principle:
Principle #23Feedback

3Productivity

If users manually partition changed and unchanged sections, then re-synthesis scope is controlled, but the process becomes time-consuming and error-prone

Engineering Contradiction:
Improvere-synthesis efficiencyVSAvoiduser effort
Core Design Contradiction:
ProductivityVSEase of operation

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.

Inventive Principle:
Principle #25Self-service

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.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10839118B1Optimization-aware incremental synthesis
Publication Date: 2020.11.17 XILINX INC
  • US10839118B1 patent drawing
  • US10839118B1 patent drawing
  • US10839118B1 patent drawing

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.