Compiler Instrumentation for HLS Transaction-Accurate Simulation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

High-level synthesis (HLS) circuit design simulation is time-consuming due to the need for converting HLL specifications into RTL specifications and subsequent RTL simulation, which requires significant computational resources and makes iterative debugging difficult.

Innovation Solution

Instrumenting the HLS kernel by replacing global address space accesses with calls to wrapper functions, generating a simulation kernel in assembly language that can be executed natively, thereby avoiding RTL conversion and improving simulation speed and debugging efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If HLL specification is converted to RTL specification for simulation, then functional verification is achieved, but simulation time and computational resources increase significantly

Engineering Contradiction:
Improvefunctional verificationVSAvoidsimulation time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent segments the simulation process by creating a separate transaction-level simulation model that operates independently from the detailed RTL simulation. This model extracts and simulates only the critical transaction behaviors, allowing functional verification without requiring full RTL conversion and execution, thereby reducing simulation time while maintaining verification reliability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent creates a simplified copy or abstraction of the RTL design at the transaction level. This transaction-level model replicates the essential functional behavior and interface characteristics of the original RTL design, enabling functional verification through simulation of the simplified model rather than the complex RTL implementation, thus reducing computational resources and simulation time.

Inventive Principle:
Principle #26Copying

2Reliability

If RTL simulation is performed to verify circuit design, then design functionality is confirmed, but debugging capability is reduced

Engineering Contradiction:
Improvedesign functionalityVSAvoiddebugging capability
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The patent introduces a transaction-level simulation model as an intermediary between the high-level design specification and the detailed RTL implementation. This intermediary model maintains the semantic meaning and debugging capabilities of the high-level language while providing functional verification, allowing designers to debug using familiar high-level constructs rather than struggling with low-level RTL simulation limitations.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Manufacturing precision

If iterative modifications are made to HLL specification and re-simulated, then design optimization is achieved, but total development time increases

Engineering Contradiction:
Improvedesign optimizationVSAvoiddevelopment speed
Core Design Contradiction:
Manufacturing precisionVSProductivity

Solution Approach 1:

The patent performs preliminary extraction of transaction-level behavior from the HLL specification before iterative optimization begins. This pre-extracted model serves as a fast simulation target that can be quickly re-simulated during iterative design optimization, avoiding the need to re-convert and re-simulate full RTL specifications with each design iteration, thus accelerating the optimization process while maintaining design precision.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS12032932B2Compiler-based generation of transaction accurate models from high-level languages
Publication Date: 2024.07.09 XILINX INC
  • US12032932B2 patent drawing
  • US12032932B2 patent drawing
  • US12032932B2 patent drawing

AI summary

Compiling a high-level synthesis circuit design for simulation includes analyzing, using computer hardware, a kernel specified in a high-level language to detect pointers therein. A determination is made as to which of the pointers are global address space pointers referencing a global address space. The kernel is instrumented by replacing accesses in the kernel to the global address space with calls to wrapper functions for performing the accesses. A simulation kernel is generated that specifies an assembly language version of the kernel as instrumented.