Graphical Program Hardware Configuration via Descriptive Directives
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Graphical programming for hardware implementation is complex, error-prone, and requires maintaining multiple versions of designs for different performance and resource utilization requirements, with existing tools being difficult to use for users unfamiliar with hardware specifics and requiring manual optimization of memory resources.
Innovation Solution
A system and method for specifying and managing hardware implementations of graphical programs by storing descriptive directives associated with the program, allowing users to select optimization levels and memory implementation options through a graphical user interface, enabling synthesis tools to generate hardware configuration programs for programmable hardware elements.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If the graphical program is redesigned to achieve fast throughput (1 cycle/sample), then performance is improved, but hardware resource utilization increases
Solution Approach 1:
The system dynamically adjusts hardware resource allocation based on performance requirements. Users can select different optimization levels that automatically configure the appropriate amount of hardware resources, allowing the system to adapt between throughput-optimized and resource-efficient modes without manual redesign
Solution Approach 2:
The invention changes key parameters such as initiation interval and unrolling factor to achieve different performance levels. By modifying these parameters, the system can achieve 1 cycle/sample throughput without permanently increasing hardware resource utilization, as the changes are applied through configuration rather than structural redesign
2Speed
If more registers are inserted to execute at 160 MHz, then performance is improved, but hardware resource utilization increases
Solution Approach 1:
The system performs preliminary analysis of the graphical program to identify optimal register placement and timing. By pre-calculating the necessary registers and their positions, the system achieves 160 MHz execution frequency without excessive resource utilization, as the register insertion is optimized rather than arbitrary
Solution Approach 2:
The invention replaces manual mechanical redesign of graphical programs with an automated synthesis system. The synthesis tool automatically inserts registers and configures timing based on performance requirements, eliminating the need for users to manually add registers and maintain multiple design versions
3Manufacturing precision
If users manually specify hardware implementation details, then performance optimization is improved, but ease of operation deteriorates
Solution Approach 1:
The system introduces an intermediary synthesis tool that translates high-level graphical programs into optimized hardware implementations. This intermediary automatically handles the complex task of specifying hardware details, allowing users to focus on algorithm development while the tool handles performance optimization and resource management
Solution Approach 2:
The synthesis system performs self-service by automatically analyzing the graphical program and generating optimized hardware configurations without user intervention. The tool autonomously determines optimal initiation intervals, unrolling factors, and resource allocation, eliminating the need for users to manually specify hardware implementation details
4Adaptability or versatility
If multiple versions of graphical programs are maintained for different requirements, then adaptability is improved, but device complexity increases
Solution Approach 1:
The system creates a universal synthesis platform that can generate multiple hardware configurations from a single graphical program. Instead of maintaining separate program versions, the universal tool handles different performance requirements by applying different synthesis parameters, making the system adaptable to various needs without increasing design maintenance complexity
Solution Approach 2:
The invention segments the design process into two independent parts: the high-level graphical program (which remains unchanged) and the hardware synthesis parameters (which are adjusted for different requirements). This segmentation allows the system to maintain adaptability across different performance levels while keeping the core program design simple and easy to maintain
Data Source
AI summary
System and method for managing and specifying hardware implementation of a graphical program. A graphical program that implements an algorithm is stored in a memory of a computer system. The graphical program meets one or more first specified implementation requirements and is targeted for deployment to a programmable hardware element. A plurality of sets of descriptive directives are also stored in the memory, where the descriptive directives are associated with the graphical program and specify one or more additional specified implementation requirements, e.g., memory resource implementations, optimization directives, and so forth, where the additional directives result from programmatic and/or user-specification. Each set of descriptive directives is useable by a synthesis tool to generate a respective hardware configuration program for deployment to the graphical programmable hardware element.


