Integrated Circuit Configuration Switching for Variable Input Ranges
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current programmable logic devices, especially in larger heterogeneous systems, face inefficiencies when handling parameterizable functions that operate differently across various input ranges, as existing programming software assumes static designs, leading to impractical configuration and resource wastage.
Innovation Solution
A method and software that create a library of hardware configurations tailored to specific input ranges and parameters, allowing for efficient instantiation at runtime using high-level programming languages like OpenCL, enabling the selection of the most appropriate configuration based on known input characteristics.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Device complexity
If a single static configuration is used for parameterizable functions, then device complexity is reduced, but resource usage efficiency deteriorates when handling different input ranges
Solution Approach 1:
The patent implements dynamic configuration selection by creating multiple hardware configurations for parameterizable functions and selecting the appropriate one at runtime based on input data characteristics. This allows the system to adapt its structure dynamically rather than being fixed, resolving the contradiction between simplicity and efficiency.
Solution Approach 2:
The patent changes the parameter of configuration by creating alternative hardware configurations with different parameters (e.g., different input range handling, different precision levels) and selecting based on runtime conditions. This enables the same function to operate efficiently across different input scenarios without requiring a completely different design.
2Productivity
If multiple configurations are precompiled for different input scenarios, then resource usage efficiency is improved, but device complexity increases
Solution Approach 1:
The patent applies preliminary action by precompiling multiple hardware configurations during the design phase for different anticipated input scenarios. This preparation work is done in advance, allowing efficient runtime selection without adding complex decision-making logic during operation.
Solution Approach 2:
The patent introduces an intermediary configuration selection mechanism that sits between the input data and the function implementation. This intermediary layer handles the complexity of selecting the appropriate configuration based on input characteristics, isolating the complexity from both the data flow and the function implementations.
3Ease of operation
If existing programming software is used that assumes static designs, then ease of operation is maintained, but adaptability to parameterizable functions deteriorates
Solution Approach 1:
The patent makes the programming software universal by enabling it to handle both traditional static designs and new parameterizable functions. The software automatically detects parameterizable functions and generates the appropriate multiple configurations, maintaining ease of operation while extending adaptability.
Solution Approach 2:
The patent implements self-service by enabling the programming software to automatically analyze functions, identify parameterizable patterns, and generate the necessary multiple configurations without requiring manual intervention. This automation maintains programming simplicity while achieving adaptability.
Data Source
AI summary
A method of configuring an integrated circuit device to perform a function includes storing a plurality of configurations for performing the function, each of the configurations being designed for a different characteristic of a particular input to the function. Inputs are received for the function, including the particular input. The characteristic of the particular input as received is examined, and one of the plurality of configurations is instantiated based on that characteristic of the particular input as received. A machine-readable data storage medium may be encoded with instructions to perform the method. A programmable device may be configured according to the method, and also may be incorporated into a heterogeneous system.


