Group Based Routing in Programmable Logic Devices

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing approaches to routing connections in programmable logic devices (PLDs) are inefficient, often failing to meet timing requirements and leading to degraded performance due to the need for ripup and reroute operations, which increase processing time and resource usage.

Innovation Solution

The method involves dynamically determining priority groups based on timing slacks for connections, routing the highest priority connections first, and iteratively updating priority groups as connections are routed, reducing the risk of rerouting and conserving processing resources.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If maze routing techniques are used to route connections one at a time, then routing can be performed sequentially, but routing efficiency decreases and processing time increases due to failed routings requiring ripup and reroute operations

Engineering Contradiction:
Improverouting success rateVSAvoidprocessing time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent applies preliminary action by determining priorities for all connections before routing begins. Connections are ranked based on timing slacks and routing difficulty estimates, allowing the router to process high-priority connections first. This preliminary prioritization prevents later ripup and reroute operations by ensuring that connections most likely to fail or require rerouting are handled first, when routing resources are still available.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements dynamics by adaptively adjusting routing priorities during the routing process. As connections are routed, the priority rankings of remaining unrouted connections are dynamically updated based on current routing resource availability and timing requirements. This dynamic priority adjustment allows the system to respond to changing conditions and optimize routing efficiency throughout the process.

Inventive Principle:
Principle #15Dynamics

2Productivity

If negotiation routing techniques are used to route multiple connections using shared routing resources, then resource utilization improves, but routing efficiency still deteriorates due to conflicts requiring ripup and reroute operations

Engineering Contradiction:
Improverouting throughputVSAvoidprocessing time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent applies preliminary action by pre-calculating priorities for all connections based on timing slacks and estimated routing difficulty before the routing process begins. This preliminary prioritization enables the negotiation router to resolve conflicts efficiently by always attempting to route high-priority connections first, minimizing the need for ripup and reroute operations and improving overall routing throughput.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements feedback by continuously monitoring routing progress and updating priority rankings as connections are routed. The system uses feedback from each routing decision to adjust the priorities of remaining connections, ensuring that routing resources are allocated optimally throughout the process. This feedback mechanism prevents resource conflicts that would otherwise require time-consuming ripup and reroute operations.

Inventive Principle:
Principle #23Feedback

3Reliability

If ripup and reroute operations are performed to resolve routing failures, then routing completeness improves, but device performance degrades and processing resources are significantly increased

Engineering Contradiction:
Improverouting completenessVSAvoidprocessing efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent applies preliminary action by determining priorities for all connections before routing begins, using timing slacks and routing difficulty estimates to rank connections. This preliminary prioritization ensures that connections most likely to require rerouting are handled first, when routing resources are still available, thereby minimizing the need for ripup and reroute operations and maintaining high processing efficiency while achieving complete routing.

Inventive Principle:
Principle #10Preliminary action

4Ease of manufacture

If conventional routing approaches are used, then implementation is straightforward, but timing requirements are not met and performance is degraded

Engineering Contradiction:
Improverouting implementation simplicityVSAvoidtiming requirement compliance
Core Design Contradiction:
Ease of manufactureVSManufacturing precision

Solution Approach 1:

The patent applies preliminary action by calculating timing slacks and determining routing priorities before the routing process begins. This preliminary analysis allows the router to focus on meeting timing requirements for critical connections first, ensuring that timing constraints are satisfied while maintaining a relatively simple implementation based on established routing algorithms.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements parameter changes by using timing slacks as a key parameter to determine routing priorities. Connections with tighter timing slacks are assigned higher priorities and routed first. This parameter-based prioritization approach ensures that timing requirements are met while building upon conventional routing techniques, maintaining implementation simplicity.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS9152756B2Group based routing in programmable logic device
Publication Date: 2015.10.06 LATTICE SEMICON CORP
  • US9152756B2 patent drawing
  • US9152756B2 patent drawing
  • US9152756B2 patent drawing

AI summary

Various techniques are provided to route connections within a programmable logic device (PLD). In one example, a method includes determining timing slacks for connections described in a netlist for a programmable logic device (PLD). The method also includes determining a plurality of priority groups. The connections are associated with one or more of the priority groups based on the timing slacks. The method also includes routing the connections associated with each priority group, from a highest priority group to a lowest priority group. Each priority group is iteratively routed to remove routing conflicts before lower priority groups are routed. Additional methods, systems, machine-readable mediums, and other techniques are also provided.