Data Unit Breakpoint Circuits for Continuous Clock Debugging

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Debugging hardware accelerators is time-consuming due to the repeated stopping and restarting of the clock signal to evaluate breakpoints, which slows down the execution of the hardware accelerator.

Innovation Solution

Implementing data-specific breakpoints that allow the clock signal to continue oscillating until a tagged data unit is input for processing, enabling the debug circuit to evaluate breakpoint conditions in parallel with data unit inputs, and stopping the clock only when a matching breakpoint is detected.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If the clock signal is stopped after each cycle to evaluate breakpoint conditions, then debugging accuracy is improved, but execution speed deteriorates

Engineering Contradiction:
Improvedebugging accuracyVSAvoidexecution speed
Core Design Contradiction:
Measurement precisionVSSpeed

Solution Approach 1:

The patent applies preliminary action by tagging data units with breakpoint identifiers before they enter the execution circuit. The debug circuit is pre-configured with breakpoint conditions, so when a tagged data unit arrives, the breakpoint evaluation can immediately compare the tag against pre-loaded conditions without stopping the clock. This preparation in advance allows breakpoint detection to occur during normal operation rather than requiring interruptive clock stops.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent replaces the mechanical approach of stopping the clock signal to evaluate breakpoints with a digital signal processing approach. The debug circuit uses parallel data paths to simultaneously receive tagged data units and evaluate breakpoint conditions using digital logic comparisons. This substitution of mechanical clock interruption with electronic parallel processing maintains execution speed while achieving breakpoint detection accuracy.

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

2Measurement precision

If the clock signal is repeatedly stopped and restarted to evaluate breakpoints, then breakpoint detection accuracy is improved, but productivity deteriorates

Engineering Contradiction:
Improvebreakpoint detection accuracyVSAvoiddebugging efficiency
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The patent implements continuity of useful action by allowing the clock signal to continue oscillating and the execution circuit to process data units without interruption. The debug circuit operates in parallel, continuously monitoring tagged data units for breakpoint conditions. This eliminates the stop-start cycle that previously disrupted productive action, while maintaining accurate breakpoint detection through continuous parallel evaluation.

Inventive Principle:
Principle #20Continuity of useful action

Solution Approach 2:

By pre-tagging data units with breakpoint identifiers and pre-configuring the debug circuit with breakpoint conditions, the system prepares all necessary information in advance. This preliminary preparation enables the debug circuit to perform accurate breakpoint detection during normal continuous operation, eliminating the need for repeated clock stops and restarts that reduce productivity.

Inventive Principle:
Principle #10Preliminary action

3Measurement precision

If manual restarting of the clock is required after each breakpoint, then debugging precision is improved, but ease of operation deteriorates

Engineering Contradiction:
Improvebreakpoint evaluation precisionVSAvoiduser convenience
Core Design Contradiction:
Measurement precisionVSEase of operation

Solution Approach 1:

The patent implements self-service by enabling the debug circuit to automatically detect breakpoint conditions and control clock signal cessation without requiring manual user intervention. When a tagged data unit matches a breakpoint condition, the debug circuit autonomously stops the clock signal. The system can also automatically resume the clock when a continue command is issued, eliminating the tedious manual restart process while maintaining precise breakpoint evaluation.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The debug circuit provides feedback by continuously monitoring tagged data units and automatically responding when breakpoint conditions are met. This feedback mechanism includes automatically stopping the clock signal upon breakpoint detection and providing status information to the user. The system can also provide feedback about breakpoint hits, allowing users to observe debugging progress without manual intervention, thereby improving ease of operation while preserving evaluation precision.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS10621067B1Data unit breakpointing circuits and methods
Publication Date: 2020.04.14 XILINX INC
  • US10621067B1 patent drawing
  • US10621067B1 patent drawing
  • US10621067B1 patent drawing

AI summary

An execution circuit is configured to input data units, perform unit operations on the data units, and register results of the unit operations in response to oscillations of a clock signal. A control circuit controls activation and deactivation of the unit operations. A debug circuit inputs, in parallel with input of the data units to the execution circuit, at least one of the data unit or one or more attributes associated with the data unit. The debug circuit evaluates, upon each input of the at least one of the data unit or the one or more attributes, a breakpoint condition based on the at least one of the data unit or the one or more attributes while the clock signal oscillates. In response to evaluation of the breakpoint condition indicating a break, the debug circuit stops oscillations of the clock signal to the execution circuit.