Race Condition Detection in Digital Circuits via Delay Analysis

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Digital circuits, particularly those with flip-flops and latches, are prone to race conditions due to manufacturing variations and external factors, leading to unpredictable operations, and existing solutions often result in design overhead through added buffers and power consumption.

Innovation Solution

A method and system that detect race conditions by generating alternating data streams, using delay elements between memory elements, and comparing inputs and outputs to determine the minimum number of delays required to prevent race conditions, thereby minimizing design overhead.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If padding (buffers) is added to slow critical fast paths, then race conditions are prevented, but space is wasted and additional power is consumed

Engineering Contradiction:
Improverace condition preventionVSAvoiddesign overhead
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent changes the parameter being controlled from speed (adding buffers to slow paths) to timing margin analysis (computing exact delay requirements). By calculating the precise timing parameters needed to prevent race conditions, the system avoids adding excessive buffering while maintaining reliability.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent replaces the mechanical approach of adding physical buffers with a computational approach using timing analysis and delay computation. Instead of physically slowing down fast paths with buffer elements, the system uses timing calculations to determine minimal delay requirements, substituting mechanical overhead with computational precision.

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

2Reliability

If timing margining is used to ensure fast path is always faster or slow path is slower, then race conditions are prevented, but additional padding and buffers are required

Engineering Contradiction:
Improvetiming marginVSAvoidpower consumption
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The patent transforms the timing margin approach from a conservative physical padding strategy to a precise parameter-based computation. By calculating exact timing parameters and minimum delay requirements, the system achieves timing margins without the excessive power consumption associated with adding multiple buffer elements throughout the circuit.

Inventive Principle:
Principle #35Parameter changes

3Reliability

If clock frequency is reduced, then timing problems are eased, but speed and performance are degraded

Engineering Contradiction:
Improvetiming stabilityVSAvoidsystem performance
Core Design Contradiction:
ReliabilityVSSpeed

Solution Approach 1:

The patent replaces the mechanical solution of reducing clock frequency with a computational timing analysis system. Instead of slowing down the entire system to prevent race conditions, the system uses delay computation and timing margin analysis to identify and fix specific timing issues, maintaining high-speed operation while ensuring timing stability.

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

Data Source

PatentUS7461305B1System and method for detecting and preventing race condition in circuits
Publication Date: 2008.12.02 ORACLE AMERICAN INC
  • US7461305B1 patent drawing
  • US7461305B1 patent drawing
  • US7461305B1 patent drawing

AI summary

A system and method for detecting and preventing race conditions in a circuit is provided. The system includes a first memory element for receiving a data stream. The system further includes a plurality of additional memory elements for directly receiving an output of the data stream from the first memory element. Delay elements are defined between the first memory element and the plurality of additional memory elements other than a second memory element, so that each delay element between the first memory element and the plurality of additional memory elements other than the second memory element are combined to define a sum delay. A plurality of comparators are connected to the plurality of memory elements such that each comparator being configured to compare an input to the first memory element and an output of each of the plurality of additional memory elements. The output from the comparator helps to identify whether a race condition is present between the first memory element and any one of the plurality of additional memory elements.