Timing Error Detection in Programmable Logic Devices

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional techniques fail to effectively minimize clock skew between multiple clock signals in programmable logic devices, leading to failures in clock-to-clock data transfers between different clock domains, which cannot meet hold time and setup time constraints.

Innovation Solution

A method involving timing analysis to calculate a slack value based on delays and time constraints for data transfers between clock domains, determining whether the configuration satisfies these constraints, and adjusting clock periods to optimize timing for successful data transfers.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If additional delays are introduced into clock signal paths to minimize clock skew, then clock edge alignment is improved, but device complexity increases

Engineering Contradiction:
Improvedata transfer reliabilityVSAvoidclock signal path complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system performs automatic timing analysis and calculates slack values without requiring manual intervention. The PLD configuration itself provides the necessary timing information through the routing resources, allowing the system to self-detect and report timing errors without external assistance.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system performs timing analysis on the PLD configuration and provides feedback about timing errors through slack value calculations. This feedback mechanism allows designers to identify and correct timing issues before final implementation, improving data transfer reliability between clock domains.

Inventive Principle:
Principle #23Feedback

2Ease of manufacture

If conventional clock skew minimization techniques are used, then clock signal routing is simplified, but hold time and setup time constraints cannot be met

Engineering Contradiction:
Improveclock signal routing easeVSAvoidtiming constraint satisfaction
Core Design Contradiction:
Ease of manufactureVSManufacturing precision

Solution Approach 1:

The system replaces physical clock skew compensation methods with a computational timing analysis approach. Instead of manually adjusting clock signal paths to achieve synchronization, the system uses automated algorithms to analyze routing resources and calculate timing slack values, providing precise timing verification without physical modifications.

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

Solution Approach 2:

The timing analysis is performed during the configuration stage, before the PLD is fully implemented. This preliminary action allows timing errors to be detected and corrected in the design phase, preventing issues from manifesting in the final product and ensuring timing constraints are met from the start.

Inventive Principle:
Principle #10Preliminary action

3Adaptability or versatility

If user-configurable routing is used in PLDs, then adaptability is improved, but clock signal delay prediction becomes inaccurate

Engineering Contradiction:
Improverouting configuration flexibilityVSAvoidclock signal delay measurement
Core Design Contradiction:
Adaptability or versatilityVSMeasurement precision

Solution Approach 1:

The system changes the approach from trying to predict clock signal delays based on routing configuration to actually measuring and calculating them through timing analysis. By analyzing the specific routing resources assigned to each clock signal in the PLD configuration, the system accurately determines delay values and slack times despite the variability introduced by user-configurable routing.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS7831856B1Detection of timing errors in programmable logic devices
Publication Date: 2010.11.09 LATTICE SEMICON CORP
  • US7831856B1 patent drawing
  • US7831856B1 patent drawing
  • US7831856B1 patent drawing

AI summary

In one example, a method of detecting timing errors in a configuration of a programmable logic device (PLD) includes performing a timing analysis on the PLD configuration. The PLD configuration is adapted to configure the PLD to perform a data transfer between a first clock domain synchronized by a first clock signal received by a double data rate (DDR) block of the PLD configuration and a second clock domain synchronized by a second clock signal received by the DDR block. The method includes calculating a slack value associated with the data transfer using a first delay associated with the first clock signal, a second delay associated with the second clock signal, and a time constraint associated with the data transfer. The first delay and the second delay are provided by the timing analysis. The method includes determining whether the PLD configuration satisfies the time constraint based on the slack value.