Clock Placement in Programmable Logic Devices via Flow Network

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional methods for placing clock resources in programmable logic devices are inefficient and often fail to find a valid solution, especially when the number of clock resources is limited relative to the design requirements, leading to wasted computing resources and suboptimal clock resource utilization.

Innovation Solution

The approach translates clock resource placement into a flow network model, allowing for the determination of a valid and optimized placement using maximum flow algorithms, which reduces the computational overhead and identifies whether a solution exists, enabling efficient implementation of user designs.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If conventional methods are used for clock resource placement, then the placement process can be completed, but it takes a relatively long time and may fail without indicating whether a solution exists

Engineering Contradiction:
Improvesolution existence indicationVSAvoidplacement completion time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent replaces conventional trial-and-error placement methods with a maximum flow algorithm from graph theory. This mathematical approach systematically determines clock resource placement by modeling the PLD as a flow network, where clock sources, logic elements, and routing resources form nodes and edges. The algorithm efficiently computes optimal placements and definitively indicates whether a valid solution exists, eliminating the time-consuming and unreliable conventional approaches.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

2Quantity of substance

If the number of clock resources is limited relative to design requirements, then resource constraints are reduced, but conventional methods fail to find valid solutions and waste computing resources

Engineering Contradiction:
Improveclock resource availabilityVSAvoidplacement efficiency
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

The patent substitutes inefficient conventional placement algorithms with a maximum flow algorithm that is specifically suited for resource-constrained scenarios. The algorithm models clock sources, logic elements requiring clocks, and available routing resources as a flow network, enabling efficient computation of valid placements even when clock resources are limited. This approach eliminates wasted computing resources by providing definitive solution existence determination.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Solution Approach 2:

The patent transforms the clock resource placement problem into a maximum flow problem by changing the parameter representation. Clock sources become source nodes, logic elements become sink nodes, and routing resources become edges with capacity constraints. This parameter transformation enables the use of efficient maximum flow algorithms that can handle resource constraints optimally.

Inventive Principle:
Principle #35Parameter changes

3Productivity

If conventional methods are used for clock resource allocation, then placement can be performed, but it results in inefficient allocation that negatively impacts throughput and clock speed

Engineering Contradiction:
Improvethroughput and clock speedVSAvoidclock resource allocation complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent replaces ad-hoc conventional allocation methods with a rigorous maximum flow algorithm that optimizes clock resource allocation. By modeling the PLD as a flow network and computing maximum flow, the algorithm automatically determines optimal clock distributions that maximize throughput and clock speed. This systematic approach handles allocation complexity efficiently without requiring complex manual intervention.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Data Source

PatentUS9672307B2Clock placement for programmable logic devices
Publication Date: 2017.06.06 LATTICE SEMICON CORP
  • US9672307B2 patent drawing
  • US9672307B2 patent drawing
  • US9672307B2 patent drawing

AI summary

Various techniques are provided to efficiently implement user designs in programmable logic devices (PLDs). In one example, a computer-implemented method includes determining clock resources in a design identifying operations to be performed by a PLD, determining available clock resources of the PLD, determining a flow network model corresponding to the design and the PLD, and determining a clock resource placement based on the flow network model. The flow network model may include a plurality of levels of vertices disposed between source and sink vertices, where vertices are coupled to each other using edges with unit capacity.