Automated HLL Library Generation for Hardware Accelerator Integration
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The manual process of creating metadata to access hardware accelerators in integrated circuits is time-consuming, error-prone, and requires significant hardware expertise, making it difficult for software developers to utilize these accelerators effectively.
Innovation Solution
A method and system that automatically query metadata descriptions of cores to determine available ports, map function arguments to these ports, and generate high-level language libraries, which are then included in user applications during compilation, facilitating the use of hardware accelerators without manual metadata creation.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If manual metadata creation is used to access hardware accelerators, then the hardware interface can be accessed, but the process is time-consuming and error-prone
Solution Approach 1:
The system performs self-service by automatically generating metadata bindings between software functions and hardware accelerator interfaces without requiring manual intervention. The hardware generation tools query the hardware core description, extract interface information, and automatically create the binding metadata, eliminating the need for developers to manually create XML files and reducing both time consumption and errors.
Solution Approach 2:
The patent introduces an intermediary automated metadata generation system that acts as a mediator between the hardware accelerator and software applications. This intermediary automatically translates hardware interface descriptions into software-accessible metadata formats, bridging the gap between hardware and software domains without requiring manual translation by developers.
2Ease of manufacture
If manual metadata generation is performed, then bindings can be created, but significant hardware expertise is required
Solution Approach 1:
The system enables self-service by automatically generating the complex metadata bindings without requiring developer intervention. The hardware generation tools autonomously query hardware core descriptions, extract interface specifications, and generate properly formatted metadata files, making the process accessible to software developers regardless of their hardware expertise level.
Solution Approach 2:
The patent uses copying by automatically replicating hardware interface descriptions into software-accessible metadata formats. The system copies the essential binding information from hardware core descriptions and transforms it into standardized metadata formats that software developers can directly use, eliminating the need for manual copying and adaptation by developers.
3Productivity
If automated tools are used, then productivity increases, but binding accuracy must be ensured
Solution Approach 1:
The system implements feedback mechanisms where the automated metadata generation process queries hardware core descriptions, generates initial bindings, and then validates these bindings against the hardware interface specifications. Any discrepancies or errors are detected and corrected through this feedback loop, ensuring binding accuracy while maintaining automated high-speed generation.
Solution Approach 2:
The patent replaces the manual mechanical process of metadata creation with an automated computational system. The hardware generation tools use algorithmic processes to query hardware descriptions, generate bindings, and validate accuracy, substituting human manual work with automated computational mechanisms that maintain both speed and precision.
Data Source
AI summary
Creating a high-level language (HLL) callable library for a hardware core can include automatically querying, using computer hardware, a metadata description of a core to determine a plurality of available ports of the core, automatically determining, using the computer hardware, an argument of a first function specified in a header file corresponding to the core, mapping, using the computer hardware, the argument to a first port of the plurality of available ports, and automatically generating and storing, using the computer hardware, an HLL library specifying a mapping of the argument to the first port of the core. The HLL library is configured for inclusion with a user application during compilation.


