Multi-Priority PLD Configuration via Simulated Annealing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Modern programmable logic devices (PLDs) face challenges in balancing routability and performance to achieve maximum achievable frequency (Fmax) due to the complexity of the place-and-route process, which often prioritizes routability over design speed, leading to suboptimal configurations.

Innovation Solution

A computer-implemented method for configuring PLDs that introduces three priority categories: routing priority, timing priority, and timing criticality, using simulated annealing to evaluate and optimize logical resource swaps based on cost values, prioritizing timing-critical connections to enhance Fmax.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If conventional place-and-route tools prioritize routability over timing, then routing connections can be established more easily, but the maximum frequency of operation (Fmax) is reduced

Engineering Contradiction:
ImproveroutabilityVSAvoidmaximum frequency of operation
Core Design Contradiction:
Ease of operationVSSpeed

Solution Approach 1:

The patent applies local quality by introducing multi-priority categories (routing priority, timing priority, timing criticality) that allow different regions and connections within the PLD to be treated differently. Timing-critical connections receive higher priority and more aggressive optimization, while less critical connections maintain standard routing, thus improving Fmax without compromising overall routability.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent changes the parameter of connection priority from a single uniform value to a multi-level hierarchy (routing priority, timing priority, timing criticality). This parameter transformation enables the place-and-route tool to differentiate between various connections and apply optimized placement and routing strategies specifically to timing-critical paths, thereby increasing Fmax while maintaining routability.

Inventive Principle:
Principle #35Parameter changes

2Quantity of substance

If more logical resources are added to increase PLD capacity, then the device can implement more complex designs, but the place-and-route complexity increases making it harder to achieve optimal Fmax

Engineering Contradiction:
Improvelogical resourcesVSAvoidplace-and-route complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The patent segments the place-and-route optimization process into multiple priority levels and phases. By dividing connections into routing priority, timing priority, and timing criticality categories, the tool can systematically handle complex PLDs with millions of logic gates through hierarchical optimization, making the complex routing problem more manageable and solvable.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs preliminary classification of connections into priority categories before the actual place-and-route optimization. This preliminary action allows the system to pre-identify timing-critical connections that require special attention, enabling more efficient optimization of large-scale PLDs by focusing computational resources on the most important connections first.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS8181139B1Multi-priority placement for configuring programmable logic devices
Publication Date: 2012.05.15 LATTICE SEMICON CORP
  • US8181139B1 patent drawing
  • US8181139B1 patent drawing
  • US8181139B1 patent drawing

AI summary

In one embodiment of the invention, a computer-implemented method of configuring a programmable logic device (PLD) includes placing logical functions within logical resources of the PLD to implement a desired netlist; swapping the logical function of at least one logical resource with the logical function of at least one other logical resource within the PLD; and evaluating whether to accept or reject the swap using a simulated annealing process that calculates at least three cost function values based upon routing priority groups, timing priority groups, and a timing critical group.