Emulating Hardware Acceleration Kernels via RTL Simulation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Developers face challenges in verifying the functionality and performance of hardware-accelerated program code without undergoing lengthy hardware implementation processes, especially when they lack access to the hardware acceleration device or do not have the time for complex synthesis, placement, and routing procedures.

Innovation Solution

A method is introduced that emulates a kernel designated for hardware acceleration by executing a device program binary that implements a register transfer level simulator, in coordination with a host binary and a static circuitry binary, to detect error conditions such as memory access violations or kernel deadlocks, allowing for notification of these errors.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If hardware implementation processes (synthesis, placement, and routing) are undertaken to verify functionality and performance, then verification accuracy is improved, but development time and complexity increase significantly

Engineering Contradiction:
Improveverification accuracyVSAvoiddevelopment time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent creates a software-based register transfer level (RTL) simulator that copies the functionality of the hardware accelerator in software form. This simulator allows developers to verify kernel functionality and performance without requiring actual hardware implementation, thus maintaining verification accuracy while eliminating time-consuming synthesis, placement, and routing processes

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The patent introduces an intermediary emulation layer that sits between the host binary and the actual hardware accelerator. This intermediary RTL simulator provides a virtual hardware environment where kernels can be executed and tested, serving as a mediator that eliminates the need for physical hardware while preserving verification capabilities

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If actual hardware accelerator devices are accessed for verification, then verification reliability is improved, but device availability and access requirements worsen

Engineering Contradiction:
Improveverification reliabilityVSAvoiddevice access requirements
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The patent creates a software copy of the hardware accelerator's behavior through the RTL simulator. This copy replicates the hardware's functional characteristics, memory interface, and execution semantics, allowing verification to proceed with the same reliability as actual hardware while eliminating access requirements

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The system enables self-service verification where the RTL simulator provides all necessary hardware emulation capabilities locally on the developer's system. Developers no longer need to access external hardware accelerator devices, as the simulation environment provides all verification functions independently

Inventive Principle:
Principle #25Self-service

3Difficulty of detecting and measuring

If comprehensive error detection (memory access violations, kernel deadlocks) is implemented during emulation, then debugging capability is improved, but system complexity increases

Engineering Contradiction:
Improvedebugging capabilityVSAvoidemulation system complexity
Core Design Contradiction:
Difficulty of detecting and measuringVSDevice complexity

Solution Approach 1:

The patent implements feedback mechanisms within the RTL simulator that automatically monitor kernel execution and detect error conditions such as memory access violations and kernel deadlocks. The diagnostic program code in the static circuitry binary provides continuous feedback about system state, enabling comprehensive debugging without significantly increasing overall system complexity

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The emulation system performs self-diagnosis through built-in diagnostic program code that automatically detects and reports error conditions. This self-service error detection capability provides comprehensive debugging functionality without requiring external monitoring tools or increasing operational complexity

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS10691580B1Diagnosing applications that use hardware acceleration through emulation
Publication Date: 2020.06.23 XILINX INC
  • US10691580B1 patent drawing
  • US10691580B1 patent drawing
  • US10691580B1 patent drawing

AI summary

Diagnosing applications that use hardware acceleration can include emulating, using a processor, a kernel designated for hardware acceleration by executing a device program binary implementing a register transfer level simulator for the kernel. The device program binary is executed in coordination with a host binary and a static circuitry binary. During the emulation, error conditions may be detected using diagnostic program code of the static circuitry binary. The error conditions may relate to memory access violations or kernel deadlocks. A notification of error conditions may be output.