Incremental Compilation via Structural Netlist Comparison

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Electronic design automation tools require extensive reprocessing when making localized changes to large systems, leading to inefficiencies and potential design alterations in unmodified portions, known as the 'seed' effect, due to the need to recompile entire circuits from scratch.

Innovation Solution

Implementing incremental compilation through structural netlist comparison to identify preserved portions of a system, allowing reuse of previous design results and applying constraints for optimizations such as LUT insertion, rotation, and node duplication, thereby reducing the need for full reprocessing.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the entire system is reprocessed from scratch when making localized changes, then design consistency is maintained, but compilation time increases significantly and unmodified portions may undergo unfavorable design alterations

Engineering Contradiction:
Improvedesign consistencyVSAvoidcompilation time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent segments the compilation process into two distinct parts: (1) preserved portions that remain unchanged and can be reused, and (2) modified portions that require reprocessing. This segmentation is achieved through netlist comparison that identifies unchanged nodes and edges, allowing the compiler to process only the modified segments while maintaining the preserved segments from the previous compilation, thus resolving the contradiction between design consistency and compilation time.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies preliminary actions by performing netlist comparison before the actual compilation to identify which portions of the design have changed and which have remained unchanged. This preliminary identification allows the system to prepare preservation constraints and transformation rules in advance, enabling efficient incremental compilation without reprocessing unchanged portions, thereby reducing compilation time while maintaining design consistency.

Inventive Principle:
Principle #10Preliminary action

2Manufacturing precision

If the entire system is reprocessed from scratch, then all design results are updated, but the seed effect causes unfavorable alterations in unmodified portions and reprocessing time is excessive

Engineering Contradiction:
Improvedesign result accuracyVSAvoidcompilation efficiency
Core Design Contradiction:
Manufacturing precisionVSProductivity

Solution Approach 1:

The patent applies local quality by treating modified and unmodified portions of the design differently. Preserved portions maintain their original design results without reprocessing, while modified portions undergo full processing to ensure accuracy. The netlist comparison identifies which nodes and edges require updates, allowing the system to apply compilation efforts locally only where needed, thus maintaining design result accuracy for modified portions while improving overall compilation efficiency.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent extracts the modified portions from the entire design through netlist comparison, identifying specific nodes and edges that have changed. By separating the modified portions from the preserved portions, the system can apply compilation processing only to the extracted modified segments, preventing the seed effect from affecting unmodified portions while ensuring accurate design results for the changed areas, thereby improving compilation efficiency without sacrificing accuracy.

Inventive Principle:
Principle #2Taking out (Extraction)

3Loss of time

If incremental compilation reuses previous design results, then compilation time is reduced, but additional processing is required to compare netlists and transform modified portions

Engineering Contradiction:
Improvecompilation timeVSAvoidcompilation process complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The patent introduces an intermediary netlist comparison mechanism that acts as a mediator between the previous design results and the current compilation process. This intermediary compares the current netlist with the previous netlist, identifies changes, and generates transformation rules that guide the incremental compilation. While this adds a comparison step, it enables efficient reuse of preserved portions and systematic processing of modified portions, ultimately reducing overall compilation time despite the added complexity of the comparison mechanism.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS11507722B2Method and apparatus for performing incremental compilation using structural netlist comparison
Publication Date: 2022.11.22 ALTERA CORP
  • US11507722B2 patent drawing
  • US11507722B2 patent drawing
  • US11507722B2 patent drawing

AI summary

A method for designing a system on a target device includes identifying portions in the system to preserve based on comparing structural characteristics of the system with another system. Design results from the another system are reused for portions in the system that are preserved.