LUT Connection Collapsing Using Timing-Weighted Path Analysis
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional LUT connection collapsing processes in programmable logic devices (PLDs) fail to consider multiple performance criteria, leading to suboptimal logic designs that neglect critical timing paths and inefficient resource utilization.
Innovation Solution
A method that performs a timing analysis to determine timing slack and the number of timing paths for each connection, calculates a weight based on these factors, and selectively collapses connections using weight intervals and collapsing criteria to prioritize critical paths while conserving PLD resources.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Device complexity
If connections are collapsed to reduce the number of logic levels, then the number of logic levels is reduced, but critical timing paths are ignored and routing resources are consumed
Solution Approach 1:
The patent applies local quality by differentiating between critical and non-critical connections through weight calculation. Each connection receives a unique weight based on its timing slack and path importance, allowing the collapsing process to selectively treat different connections differently. Critical connections (high weight) are preserved while non-critical connections (low weight) are collapsed, resolving the contradiction between reducing logic levels and maintaining timing performance.
Solution Approach 2:
The patent changes the parameter of connection evaluation from simple logic level counting to a composite weight metric that incorporates timing slack and path importance. This parameter transformation enables the system to make informed collapsing decisions that balance logic level reduction with timing path preservation, directly addressing the contradiction.
2Device complexity
If maximum size LUTs are used to collapse as many connections as possible, then the number of connections is reduced, but routing resources are consumed and routing delays increase
Solution Approach 1:
The patent applies local quality by assigning different collapsing priorities to different connections based on their weight. Instead of uniformly collapsing all connections or using maximum size LUTs everywhere, the system selectively collapses connections with low weights while preserving those with high weights. This localized approach reduces connection count without uniformly consuming routing resources, maintaining ease of operation for critical paths.
Solution Approach 2:
The patent implements partial action by collapsing only a subset of connections (those with low weights) rather than attempting to collapse all possible connections. This selective approach achieves connection reduction while leaving sufficient routing resources available, avoiding the excessive action that would lead to resource exhaustion and increased routing delays.
3Ease of manufacture
If connections are collapsed to simplify logic design, then placement and routing complexity is reduced, but critical timing paths may be compromised
Solution Approach 1:
The patent applies preliminary action by performing timing analysis and weight calculation before the collapsing process. This advance evaluation identifies which connections are critical to timing performance, allowing the system to preserve these connections during collapsing. The preliminary weighting ensures that subsequent simplification actions do not compromise timing paths, resolving the contradiction between simplification and reliability.
Solution Approach 2:
The patent implements feedback by using timing slack information to guide the collapsing decisions. The weight calculation incorporates timing metrics, creating a feedback loop where timing performance information directly influences which connections are collapsed. This feedback mechanism ensures that simplification actions are taken only when they will not harm timing paths, balancing ease of manufacture with reliability.
Data Source
AI summary
Various techniques are provided to selectively collapse connections. In one example, a computer readable medium includes a computer program for performing a method of selectively collapsing connections between a plurality of LUTs. The method includes performing a first timing analysis to determine a timing slack value for each connection and determine a number of timing paths using each connection. The method also includes calculating a weight for each connection based on at least the timing slack value and the number of timing paths. The method further includes comparing the connections associated with a first one weight interval with collapsing criteria, wherein the first weight interval includes weights larger than weights of the remaining weight intervals. The method also includes collapsing the connections associated with the first weight interval that satisfy the collapsing criteria, and selectively repeating the comparing and collapsing for connections associated with remaining weight intervals.


