Incremental Compilation for FPGA Emulation Systems

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Commodity FPGA-based emulators experience long compile turnaround times, which worsen with larger devices and increased FPGA system integration, making incremental design changes in VLSI circuit designs time-consuming and inefficient.

Innovation Solution

The implementation of incremental compilation for FPGA-based systems, where changes to a circuit design are simulated using a transactor on the FPGA, allowing the system to skip recompiling the entire design. This involves configuring the FPGA to use the transactor to simulate the changed portion of the circuit design, updating the compile database, and testing the design without full recompilation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If full recompilation is performed for every circuit design change, then compilation completeness is ensured, but compile turnaround time increases significantly

Engineering Contradiction:
Improvecompilation completenessVSAvoidcompile turnaround time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent divides the circuit design into modular components and segments the compilation process. Instead of recompiling the entire design, only the modified portions are recompiled and integrated with the previously compiled segments, maintaining compilation completeness while reducing overall compilation time.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs preliminary compilation of the entire circuit design before any modifications. This pre-compiled version serves as a foundation that can be efficiently updated through incremental changes, eliminating the need for complete recompilation and significantly reducing turnaround time while ensuring correctness through the established compilation framework.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If incremental compilation is used to reduce compile turnaround time, then time efficiency improves, but system complexity increases

Engineering Contradiction:
Improvetime efficiencyVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The incremental compilation system is segmented into distinct functional modules including change detection components, selective recompiler, and integration manager. This modular structure manages system complexity by organizing the incremental compilation process into manageable, independent components that can be implemented and maintained separately.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces intermediary data structures and compilation databases that mediate between the original design, modification inputs, and final compiled output. These intermediaries manage the complexity of tracking changes and coordinating incremental updates, providing a structured interface that simplifies the overall system architecture.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Quantity of substance

If larger devices and FPGA system integration are used to improve performance, then emulation capacity increases, but compile turnaround time worsens

Engineering Contradiction:
Improveemulation capacityVSAvoidcompile turnaround time
Core Design Contradiction:
Quantity of substanceVSLoss of time

Solution Approach 1:

The patent segments the large-scale FPGA design into smaller compilable units or partitions. Each segment can be independently compiled and stored, allowing the system to leverage large FPGA capacity while avoiding the need to recompile the entire large design. When modifications occur, only affected segments are recompiled and reintegrated, maintaining both high emulation capacity and acceptable compilation time.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS12321675B2Incremental compilation for FPGA-based systems
Publication Date: 2025.06.03 SYNOPSYS INC
  • US12321675B2 patent drawing
  • US12321675B2 patent drawing
  • US12321675B2 patent drawing

AI summary

Embodiments of the present disclosure relate to a system and method for incremental compilation. The method includes identifying a change to a portion of a circuit design. The circuit design without the change was previously compiled to an FPGA. The method also includes configuring a transactor of the FPGA to simulate the portion of the circuit design with the change and configuring the FPGA to use the transactor to simulate the portion of the circuit design with the change.