Integrated Circuit Pipelining Critical Path Register Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional pipelining techniques in integrated circuit devices face exponential runtime growth with the number of paths, assume an infinite number of registers, and often fail to pipeline critical signals, leading to inefficient register usage and potential saturation of available resources in FPGAs.

Innovation Solution

A method that identifies the most critical path in a circuit design, adds pipeline registers to it, and iteratively performs minimum cut operations on a graph to find the minimum number of required registers, interleaving re-placement to optimize register placement and reduce the number of registers needed, while avoiding illegal edges and focusing on critical paths first.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If conventional pipelining techniques are used to improve data transmission speed, then data transmission speed is improved, but runtime grows exponentially with the number of paths

Engineering Contradiction:
Improvedata transmission speedVSAvoidruntime
Core Design Contradiction:
SpeedVSLoss of time

Solution Approach 1:

The patent segments the pipelining process into iterative steps, handling one critical path at a time rather than solving all paths simultaneously. This divides the complex exponential problem into multiple manageable iterations, each processing a subset of critical paths sequentially.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs preliminary identification and processing of the most critical path before other paths. By prioritizing and handling critical paths first in iterative stages, the method avoids the exponential runtime of conventional approaches that attempt to process all paths simultaneously.

Inventive Principle:
Principle #10Preliminary action

2Ease of manufacture

If conventional pipelining techniques assume infinite registers are available, then register allocation is simplified, but available registers are saturated before finishing an iteration

Engineering Contradiction:
Improveregister allocation simplicityVSAvoidavailable registers
Core Design Contradiction:
Ease of manufactureVSQuantity of substance

Solution Approach 1:

The patent applies partial action by processing only the most critical paths in each iteration rather than attempting to pipeline all paths simultaneously. This partial approach allows the method to complete register allocation for critical paths within available register constraints, avoiding saturation while still achieving significant performance improvement.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The patent changes the parameter of register availability from infinite (conventional assumption) to finite (actual FPGA constraints). By explicitly modeling finite register availability and prioritizing critical paths, the method adapts register allocation to actual hardware constraints without requiring infinite registers.

Inventive Principle:
Principle #35Parameter changes

3Device complexity

If conventional pipelining techniques solve the entire problem in one iteration without changing placement intermediately, then the process is simpler, but a larger number of registers are required to meet cycle time

Engineering Contradiction:
Improveprocess complexityVSAvoidnumber of registers required
Core Design Contradiction:
Device complexityVSQuantity of substance

Solution Approach 1:

The patent segments the pipelining process into multiple iterations where placement is updated intermediately. Instead of solving the entire problem in one complex iteration, the method divides the process into smaller steps, each updating placement and register allocation progressively, reducing the total number of registers required.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces dynamic placement updates between iterations, allowing the placement to evolve as pipelining progresses. This dynamic approach enables the system to adapt register allocation to changing timing constraints, reducing the total register count compared to static one-iteration approaches.

Inventive Principle:
Principle #15Dynamics

4Speed

If conventional pipelining techniques are used, then data transmission speed is improved, but critical signals may not be pipelined

Engineering Contradiction:
Improvedata transmission speedVSAvoidcritical signal pipelining
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The patent applies local quality by differentiating treatment for critical versus non-critical paths. Critical signals receive prioritized pipelining attention in each iteration, while non-critical paths are processed subsequently. This localized focus ensures critical signals are pipelined effectively without wasting resources on less important paths.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent performs preliminary identification and prioritization of critical paths before executing pipelining. By pre-identifying which signals are most critical and processing them first in each iteration, the method ensures critical signals are pipelined reliably while maintaining overall data transmission speed improvement.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS8893071B1Methods of pipelining a data path in an integrated circuit
Publication Date: 2014.11.18 XILINX INC
  • US8893071B1 patent drawing
  • US8893071B1 patent drawing
  • US8893071B1 patent drawing

AI summary

A method of pipelining a data path in an integrated circuit is described. The method comprises receiving a circuit design to be implemented in the integrated circuit device; providing a placement of the circuit design in the integrated circuit device; identifying a most critical path of the placement; adding pipeline registers to the most critical path; and adding pipeline registers to all paths that are parallel to the most critical path. A computer program product for pipelining a data path in an integrated circuit is also described.