LUT Input Assignment Optimization for PLD Timing Paths

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing programmable logic device implementations often fail to meet timing objectives due to propagation delays exceeding specified clock periods, particularly in critical timing paths, which can be misidentified by static timing analysis tools.

Innovation Solution

The method involves determining the topological level of look-up tables (LUTs) in a programmable logic device, identifying LUTs on critical timing paths, swapping inputs to improve circuit timing without affecting other LUTs, and recalculating timing metrics incrementally to optimize signal assignments and reduce propagation delays.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If static timing analysis tools are used to identify critical timing paths, then timing analysis is simplified, but false timing paths may be misidentified and timing objectives may not be met

Engineering Contradiction:
Improvetiming analysis complexityVSAvoidtiming path identification accuracy
Core Design Contradiction:
Device complexityVSMeasurement precision

Solution Approach 1:

The patent segments the timing analysis process into multiple phases: initial static timing analysis to identify potential critical paths, followed by incremental optimization phases that re-evaluate timing metrics after each LUT input swap. This segmentation allows the system to combine the simplicity of static analysis with the precision of iterative dynamic verification, reducing false positives while maintaining manageable complexity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs preliminary static timing analysis to identify candidate critical timing paths before committing to full optimization. This preliminary action filters out obviously non-critical paths early, reducing the search space for subsequent incremental optimization phases and improving overall timing path identification accuracy without exhaustive analysis.

Inventive Principle:
Principle #10Preliminary action

2Loss of time

If LUT input assignments are optimized for timing, then propagation delays are reduced, but the complexity of the optimization process increases

Engineering Contradiction:
Improvepropagation delayVSAvoidoptimization process complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The patent implements dynamic optimization by iteratively swapping LUT input assignments and re-evaluating timing metrics after each change. Rather than performing a single complex global optimization, the system dynamically adjusts assignments in incremental steps, evaluating the impact of each swap on propagation delay. This dynamic approach reduces timing loss while keeping each optimization step manageable in complexity.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent applies partial optimization by focusing only on LUTs that lie on identified critical timing paths, rather than optimizing all LUTs in the design. This partial action concentrates optimization efforts where they have the greatest impact on propagation delay, reducing the overall complexity of the optimization process while achieving significant timing improvements.

Inventive Principle:
Principle #16Partial or excessive action

3Measurement precision

If incremental timing recalculation is performed after each LUT optimization, then timing accuracy is improved, but computational overhead increases

Engineering Contradiction:
Improvetiming metric accuracyVSAvoidcomputational energy
Core Design Contradiction:
Measurement precisionVSUse of energy by moving object

Solution Approach 1:

The patent performs incremental timing recalculation only for the specific LUT and its associated timing paths that were modified, rather than recalculating timing metrics for the entire design. This partial recalculation maintains high timing metric accuracy for affected regions while significantly reducing computational energy consumption compared to full design re-analysis.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The patent applies local quality by focusing timing verification resources on the local region around modified LUTs. After each LUT input swap, the system performs detailed timing analysis only on the affected timing paths and neighboring LUTs, ensuring high measurement precision where it matters most while minimizing overall computational energy expenditure.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS7424697B1Assigning inputs of look-up tables to improve a design implementation in a programmable logic device
Publication Date: 2008.09.09 XILINX INC
  • US7424697B1 patent drawing
  • US7424697B1 patent drawing
  • US7424697B1 patent drawing

AI summary

Methods for improving an implementation of a design in a programmable logic device (PLD). A topological level of the design implementation is determined for each look-up table (LUT) of the PLD. A subset of the LUTs that are on the critical timing paths of the design implementation is determined. For each LUT in the subset at each topological level, a set combinations is determined for assigning signals to the inputs of the LUT. A current assignment of the signals to the LUT inputs is initialized according to the design implementation. For each LUT in the subset at each topological level, the method determines whether a respective assignment for each combination in the set for the LUT improves a timing metric for the LUT relative to the current assignment for the LUT, and the current assignment is updated when the respective assignment improves the timing metric for the LUT.