Multithreading Programmable Logic Configuration Software
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current programmable logic device configuration software lacks the ability to recognize and utilize multithreading in user logic designs without affecting functionality, limiting the optimization of operating speed.
Innovation Solution
The method involves accepting user inputs to specify multithreading characteristics of user logic designs, determining configurations, and retiming them to maximize operating speed, using enhancements to hardware-description language statements and graphical user interfaces to indicate multithreaded modules, and employing entry and exit primitives to manage clocking.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If configuration software attempts multithreading in user logic designs, then operating speed can be optimized, but functionality may be altered
Solution Approach 1:
The configuration software performs preliminary analysis of the user logic design to identify cyclic logic paths before attempting multithreading. This preliminary action allows the software to determine which portions can be safely multithreaded without altering functionality, thereby optimizing speed while preserving reliability.
Solution Approach 2:
The software applies multithreading locally only to specific portions of the user logic design that contain cyclic logic paths, rather than applying it universally. This localized approach allows optimization of speed in relevant sections while maintaining functionality in other sections that would be adversely affected.
2Reliability
If configuration software does not attempt multithreading, then functionality is preserved, but operating speed cannot be optimized
Solution Approach 1:
The configuration software incorporates feedback mechanisms to analyze the user logic design and automatically identify cyclic logic paths that are suitable for multithreading. This feedback loop enables the software to optimize speed by applying multithreading where appropriate without compromising functionality.
Solution Approach 2:
The configuration software performs self-analysis to determine which portions of the user logic design can be multithreaded. By autonomously identifying suitable sections and applying multithreading accordingly, the software optimizes operating speed while preserving functionality without requiring manual intervention.
3Device complexity
If manual logic layout is used, then device complexity is reduced, but it becomes impractical for current larger devices
Solution Approach 1:
The patent replaces manual mechanical logic layout with automated configuration software that uses hardware description language and graphical user interfaces. This substitution enables complex logic designs to be configured efficiently without manual intervention, making it feasible for current larger devices while reducing the complexity burden on users.
Data Source
AI summary
A method of configuring a programmable integrated circuit device with a user logic design includes accepting a first user input defining the user logic design, accepting a second user input defining multithreading characteristics of at least a portion the user logic design, determining a configuration of the programmable integrated circuit device having the user logic design, multithreading the at least a portion of the configuration based on the second user input, and retiming the multithreaded configuration.


