Software-Hardware Division for Embedded Systems
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Manual determination of software and hardware assignment in embedded systems is challenging due to numerous combinations, requiring a method for automatic S/W-H/W division that considers resource usage, communication bandwidth, and performance.
Innovation Solution
A design support system that calculates software and hardware processing times and circuit scales for each function, using inter-function data-flow graphs to select optimal implementation combinations for software and hardware execution.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If manual S/W-H/W division is performed, then flexibility in decision-making is maintained, but the complexity of evaluating numerous combinations increases significantly
Solution Approach 1:
The system automatically performs S/W-H/W division by having the computing device independently evaluate multiple implementation combinations based on performance metrics, resource usage, and communication bandwidth, eliminating the need for manual evaluation while maintaining optimization quality
Solution Approach 2:
The patent replaces manual mechanical evaluation processes with automated computational algorithms that systematically assess numerous S/W-H/W division combinations, using software-based performance prediction and resource estimation to substitute human analysis
2Productivity
If automatic S/W-H/W division is implemented, then evaluation efficiency is improved, but accuracy in selecting optimal combinations may deteriorate without considering function dependencies
Solution Approach 1:
The patent segments the system into distinct functional units with explicit dependency relationships, modeling each function's resource usage and communication requirements separately while maintaining awareness of inter-functional dependencies through the data-flow graph structure
Solution Approach 2:
The system incorporates feedback mechanisms by using predicted performance metrics and actual resource usage to iteratively refine S/W-H/W division decisions, adjusting the allocation based on observed system behavior and dependency constraints
3Reliability
If all implementation combinations are evaluated, then comprehensive performance analysis is achieved, but the time required for analysis increases
Solution Approach 1:
The patent performs preliminary analysis by pre-calculating performance metrics, resource usage estimates, and communication bandwidth requirements for each function before final S/W-H/W division decisions, allowing the system to quickly evaluate combinations without performing complete analysis from scratch
Solution Approach 2:
The system evaluates a subset of most promising implementation combinations rather than exhaustively analyzing all possible divisions, using heuristic methods to identify and focus on configurations that are most likely to satisfy performance and resource constraints
Data Source
AI summary
A software studying unit (122) calculates software processing time of each of a plurality of functions in a target source program. A data-flow graph generation unit (121) generates an inter-function data-flow graph of the plurality of functions based on the target source program. A hardware studying unit (130) calculates hardware processing time of each function and a circuit scale of each function by a high-level synthesis for the target source program. An implementation combination selection unit (140) selects, based on the software processing time of each function, the hardware processing time of each function, the circuit scale of each function, and the inter-function data-flow graph, an implementation combination of one or more functions to be implemented by software and one or more functions to be implemented by hardware.


