Graph-Based FPGA Implementation Reuse to Reduce Build Time

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current FPGA build times are excessively long due to the inefficiencies in reusing existing implementations, particularly in the placement and routing steps, and existing tools struggle to recognize similarities between modified and unmodified components, leading to increased waste and timing violations.

Innovation Solution

A method that generates an FPGA implementation by creating a graph-based representation of the design and comparing it with existing implementations to identify similar sub-regions, allowing for incremental and efficient generation by reusing similar components, thereby reducing build times.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If traditional place and route steps are used for FPGA implementation, then complete implementation is achieved, but build times become excessively long

Engineering Contradiction:
Improvebuild timeVSAvoidrebuild time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent performs preliminary actions by creating a graph-based representation of the FPGA design before synthesis and implementation. This model graph is created in advance and stored, enabling rapid comparison with future design versions to identify reusable components, thus avoiding complete re-synthesis and reducing rebuild time significantly.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent segments the FPGA design into reusable components by comparing the current design's model graph with previous implementations. It identifies matching sub-graphs representing reusable logic elements and components, allowing only the modified portions to be re-synthesized while reusing unchanged segments, thereby reducing overall build time.

Inventive Principle:
Principle #1Segmentation

2Productivity

If graph-based similarity search is implemented, then component reuse is improved, but computational complexity increases

Engineering Contradiction:
Improvecomponent reuse efficiencyVSAvoidsearch algorithm complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent replaces traditional mechanical/text-based similarity comparison with a graph-based representation system. By converting FPGA designs into model graphs with nodes representing logic elements and edges representing connections, the system enables efficient structural comparison that is more intelligent than simple text matching, improving component reuse while managing computational complexity through graph theory algorithms.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Data Source

PatentUS10706196B2Incremental generation of an FPGA implementation with a graph-based similarity search
Publication Date: 2020.07.07 DSPACE DIGITAL SIGNAL PROCESSING & CONTROL ENGINEERING GMBH
  • US10706196B2 patent drawing
  • US10706196B2 patent drawing
  • US10706196B2 patent drawing

AI summary

A method for generating an FPGA implementation based on an FPGA design serving as an FPGA model and/or a hardware description, including the steps of synthesizing a net list from the FPGA design and generating the FPGA implementation from the net list. The method includes searching for a similar FPGA implementation, the step of generating the FPGA implementation from the net list takes place using the similar FPGA implementation, the method includes a step of generating a graph-based representation based on the FPGA design, and the step of searching for a similar FPGA implementation comprises comparing the graph-based representation of the FPGA design with a graph-based representation of the at least one similar FPGA implementation. A method for generating a bit stream based on an FPGA design is also provided, serving as an FPGA model and/or a hardware description.