Retiming Tool Resolving Initial Condition Conflicts

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Retiming in integrated circuit designs is limited by initial conditions conflicts, which prevent the computation of new register initial conditions that guarantee identical circuit performance, leading to rejected retiming moves and reduced performance benefits.

Innovation Solution

A software solution that identifies and displays source registers involved in initial condition conflicts, providing recommended corrective actions through a graphical user interface (GUI) to modify the circuit design and compute expected performance improvements, including changing reset strategies and setting registers to 'don't care' power states.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If retiming is performed to improve clock signal frequency, then circuit performance is improved, but initial conditions conflicts prevent successful retiming moves

Engineering Contradiction:
Improveclock signal frequencyVSAvoidfunctional equivalence
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The patent changes the initial conditions parameters of registers during retiming. When a retiming move creates initial conditions conflicts, the system modifies the initial state values of affected registers to resolve the conflict while maintaining the retiming benefit. This allows the circuit to achieve higher clock frequencies without sacrificing functional equivalence.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent introduces dynamic adjustment of register initial conditions based on the specific retiming move being performed. Rather than preserving static initial conditions, the system dynamically computes and applies new initial condition values that are appropriate for the retimed circuit configuration, enabling successful retiming moves that would otherwise be blocked.

Inventive Principle:
Principle #15Dynamics

2Reliability

If initial conditions are preserved during retiming, then functional equivalence is maintained, but retiming moves are rejected

Engineering Contradiction:
Improvefunctional equivalenceVSAvoidretiming effectiveness
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system intentionally changes the initial conditions parameters of registers when retiming moves would otherwise be rejected. By computing new initial state values that are appropriate for the retimed configuration, the system maintains functional equivalence while enabling productivity-improving retiming moves that preserve the original initial conditions would block.

Inventive Principle:
Principle #35Parameter changes

3Speed

If registers are repositioned to improve performance, then clock signal frequency increases, but initial conditions conflicts arise

Engineering Contradiction:
Improveclock signal frequencyVSAvoidinitial conditions computation
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The retiming tool automatically computes the appropriate initial condition values for registers after retiming moves. The system self-services by internally handling the complexity of initial conditions computation and adjustment, transparently resolving conflicts without requiring additional user intervention or manual analysis of the complex computational requirements.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS10949599B2Overcoming retiming limitations due to initial conditions conflicts
Publication Date: 2021.03.16 ALTERA CORP
  • US10949599B2 patent drawing
  • US10949599B2 patent drawing
  • US10949599B2 patent drawing

AI summary

In one embodiment, a computer-implemented method includes performing retiming using a first circuit design to determine one or more variations to the first circuit design, identifying one or more source registers that are involved in one or more unsuccessful retiming moves due to initial conditions conflicts, and recommending, via a graphical user interface, one or more corrective actions to the one or more source registers to avoid the initial conditions conflicts and improve performance of the one or more variations.