Tagged Flip-Flop Debugging for Integrated Circuit Error Identification

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Debugging and identifying errors in integrated circuit designs is a time-consuming and costly process, especially when errors are discovered late in the design stage, as manual debugging of complex circuit designs using electronic design automation tools is intensive and inefficient.

Innovation Solution

A method and system that automate the debugging process by tagging flip-flops in a netlist with path names from the hardware description language specification, simulating the netlist, capturing event data, and comparing it to expected data to determine the source of errors, allowing for efficient identification and correction of issues.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If manual debugging is used to identify errors in circuit designs, then debugging can be performed, but the process is time-consuming and intensive

Engineering Contradiction:
Improveerror identification accuracyVSAvoiddebugging time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent applies preliminary action by tagging flip-flops with path names from the HDL specification before simulation occurs. This pre-tagging enables automatic traceability of signal origins during debugging, eliminating the need for manual tracing and significantly reducing error identification time while maintaining precision.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces path names as an intermediary element that connects flip-flops to their HDL specification origins. These path names act as mediators that automatically track signal provenance through the design hierarchy, enabling precise error identification without manual intervention and reducing debugging time.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If extensive testing is performed on cores before release, then functional correctness is verified, but the process is time-intensive

Engineering Contradiction:
Improvefunctional correctnessVSAvoiddesign development speed
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The path name tagging is performed preliminarily during netlist generation, before extensive testing. This pre-prepared traceability infrastructure enables rapid error localization during testing without adding time to the testing process itself, thus maintaining reliability while improving productivity.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The debugging system performs self-service by automatically tracing errors to their source using the pre-tagged path names. This automation eliminates manual debugging effort during testing, allowing extensive testing to be performed without proportionally increasing time investment, thereby maintaining reliability while improving design development speed.

Inventive Principle:
Principle #25Self-service

3Reliability

If errors are discovered late in the design stage, then comprehensive testing has been performed, but fixing errors becomes extremely expensive and time-consuming

Engineering Contradiction:
Improveerror detection thoroughnessVSAvoiderror correction time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The path names serve as intermediaries that maintain continuous traceability from the HDL specification through synthesis and implementation stages. This enables errors discovered late in the design process to be rapidly traced back to their original source, significantly reducing error correction time while maintaining thorough error detection.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The path name tagging is established preliminarily and preserved through all design stages. This pre-established traceability infrastructure enables rapid error localization even when errors are discovered late, reducing correction time and cost while maintaining comprehensive error detection capability.

Inventive Principle:
Principle #10Preliminary action

4Measurement precision

If manual debugging processes are used, then detailed analysis can be performed, but the process is intensive and inefficient

Engineering Contradiction:
Improveerror source identification accuracyVSAvoiddebugging efficiency
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The debugging system performs self-service by automatically tracing errors to their source using pre-tagged path names. This automation provides detailed error source identification without requiring manual analysis, thereby maintaining measurement precision while dramatically improving debugging efficiency and productivity.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The path name tagging is performed preliminarily, enabling automatic error traceability without manual intervention. This pre-prepared information structure allows the system to self-identify error sources with high precision, eliminating intensive manual debugging while maintaining accurate error source identification.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS8813005B1Debugging using tagged flip-flops
Publication Date: 2014.08.19 XILINX INC
  • US8813005B1 patent drawing
  • US8813005B1 patent drawing
  • US8813005B1 patent drawing

AI summary

Approaches for testing a module of a circuit design include tagging flip-flops in a netlist of the module with respective path names of the flip-flops from a hardware description language specification of the module. In simulating with the netlist, event data are captured to a first file. A process determines whether or not event data in the first file matches event data in a second file of event data. In response to a difference determined between the first file and the second file, an earliest occurrence of an event in the first file having an associated signal value of a first signal that does not match an associated signal value of a corresponding event in the second file is determined. The one of the plurality of flip-flops that output the first signal is determined, and the respective path name of the one flip-flop is output.