Heterogeneous Hardware Core Instantiation via HLL Interface Code
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing techniques for instantiating hardware accelerators in integrated circuits (ICs) struggle with complexities arising from multiple instances with different configurations, particularly when handling multi-function accelerators.
Innovation Solution
A method and system that detect references to a high-level language (HLL) library within an application, determine multiple instances of a core by analyzing function calls, and generate interface code for each instance, allowing for the creation of an executable version that binds interface code to the respective core instances.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If multiple instances of hardware accelerators with different configurations are implemented, then the functionality and versatility of the system is improved, but the device complexity and difficulty of management increases
Solution Approach 1:
The patent implements a universal interface code generation system that can handle multiple instances of hardware accelerators with different configurations through a single standardized process. The system generates interface code that automatically adapts to different core configurations, allowing one unified mechanism to manage diverse accelerator instances, thereby improving versatility without proportionally increasing complexity
Solution Approach 2:
The system manages complexity by parameterizing the interface code generation process. Instead of creating entirely separate interface code for each configuration, the system uses parameter changes to adapt a single interface code template to different core configurations. This allows multiple instances with different parameters to be managed through a unified approach, reducing the overall system complexity
2Manufacturing precision
If interface code is generated for each core instance, then the binding accuracy and resource management is improved, but the manufacturing time and processing complexity increases
Solution Approach 1:
The patent applies preliminary action by generating interface code for all core instances during the compilation phase before execution. The system analyzes the HLL application, identifies all core references, and pre-generates the appropriate interface code bindings. This upfront preparation ensures accurate binding without adding complexity during runtime, as all interface generation is completed in advance
Solution Approach 2:
The system segments the interface code generation process into distinct phases: detecting HLL library references, identifying function calls correlated to each core instance, and generating interface code for each instance separately. This segmentation allows the complex task of managing multiple core bindings to be broken into manageable steps, improving both accuracy and efficiency
Data Source
AI summary
Using a high-level language (HLL) callable library for multiple instances of a core includes detecting, using computer hardware, a reference to an HLL library for a core within an HLL application, determining, using the computer hardware, a plurality of instances of the core by detecting function calls within the HLL application correlated to each of the plurality of instances of the core, and generating, using the computer hardware, interface code within the HLL application for each of the plurality of instances of the core using the HLL library. An executable version of the HLL application is generated, using the computer hardware, wherein the interface code for each of the plurality of instances of the core is bound to the respective instance of the core. The function calls can specify different parameterization files corresponding to the plurality of instances of the core.


