Mapping Critical Path Components to High-Level Synthesis Source Code

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In programmable integrated circuits, users face challenges in optimizing the critical path of a custom logic circuit due to the inability to map components back to high-level synthesis source code, limiting performance enhancement.

Innovation Solution

The method involves generating a compiler intermediate representation and hardware description from high-level synthesis source code, identifying critical paths in the netlist, and mapping these components back to the source code, allowing designers to modify and optimize the source code for improved performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If critical path analysis is performed on gate-level netlist, then performance limitations can be identified, but the inability to map components back to high-level synthesis source code prevents effective optimization

Engineering Contradiction:
Improvecritical path identification accuracyVSAvoidoptimization capability
Core Design Contradiction:
Measurement precisionVSEase of operation

Solution Approach 1:

The patent introduces an intermediary mapping mechanism that connects gate-level netlist components back to high-level synthesis source code constructs. This mapping system acts as a mediator, allowing designers to trace critical path components through multiple compilation stages (HLS to RTL to netlist) and identify the corresponding source code lines that need modification, thus resolving the disconnect between analysis and optimization

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent implements a feedback loop by reporting critical path information back to the high-level synthesis source code level. Instead of leaving designers with only gate-level information, the system provides feedback that includes mappings to original source constructs, enabling designers to make informed modifications at the highest level of abstraction and iteratively optimize performance

Inventive Principle:
Principle #23Feedback

2Productivity

If high-level synthesis source code is used for design, then productivity is improved through higher-level abstraction, but the ability to optimize critical path is reduced due to loss of detailed component information

Engineering Contradiction:
Improvedesign efficiencyVSAvoidperformance optimization precision
Core Design Contradiction:
ProductivityVSManufacturing precision

Solution Approach 1:

The patent adds another dimension to the design information by maintaining mappings across multiple abstraction levels (HLS, RTL, netlist) simultaneously. This multi-dimensional information structure allows designers to work at the convenient high-level abstraction while having access to detailed gate-level critical path information when needed, effectively combining the benefits of both levels

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

3Reliability

If gate-level netlist is analyzed for critical path, then performance bottlenecks can be located, but the complexity of mapping back to source code increases without the proper mapping mechanism

Engineering Contradiction:
Improveperformance analysis accuracyVSAvoidmapping process complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent performs preliminary action by establishing and maintaining component mappings during the compilation process itself, rather than attempting to create mappings after the netlist is generated. The mapping information is preserved through each compilation stage (HLS to RTL to netlist), making the reverse mapping process straightforward and automated rather than complex and manual

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11361133B2Method of reporting circuit performance for high-level synthesis
Publication Date: 2022.06.14 ALTERA CORP
  • US11361133B2 patent drawing
  • US11361133B2 patent drawing
  • US11361133B2 patent drawing

AI summary

Methods and apparatus for implementing a programmable integrated circuit using circuit design tools are provided. The circuit design tools may receive a high-level synthesis source code, parse the high-level synthesis source code to generate a compiler intermediate representation, process the compiler intermediate representation to generate a register transfer level (RTL) description, and then synthesize and compile the RTL description to generate an output netlist. Timing analysis may be performed on the output netlist to identify a critical path. Components in the critical path may be mapped back to specific portions in the RTL descriptions, to specification portions of the compiler intermediate representation, and to specific lines in the high-level synthesis source code. The designer can then optimize the high-level synthesis source code to shorten the critical path. This process may be iterated as many times as desired.