Programmable Clock Stretching for At-Speed IC Debugging

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional speed-path debugging techniques for integrated circuits (ICs) are time-intensive and resource-heavy, often requiring extensive iterations of scan dumps and laser probing, which can be destructive and inefficient, especially when detecting setup timing issues that arise between pre-silicon and post-silicon results.

Innovation Solution

The integration of clock stretching circuitry within ICs, featuring programmable clock controllers and a trigger circuit that can dynamically implement a clock stretch mode, reducing the frequency of clock signals to facilitate faster debugging without rebooting or reinitializing the IC, thereby reducing test and debug time.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If conventional speed-path debugging techniques (scan dumps and laser probing) are used, then setup timing issues can be detected, but the process is time-intensive and requires extensive iterations

Engineering Contradiction:
Improvedetection of setup timing issuesVSAvoiddebugging time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent implements dynamic clock stretching where the clock frequency is programmably reduced during specific cycles to slow down timing-critical paths. This allows observers to capture setup timing issues that occur at normal operating speed by stretching those specific clock cycles, converting a static debugging approach into a dynamic one that adapts timing to diagnostic needs.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The invention changes the clock frequency parameter dynamically during operation. By programmably reducing the clock frequency for selected cycles without stopping the IC, the system modifies the timing parameters of the circuit under test, allowing observation of setup violations that would be too fast to capture at full operating speed.

Inventive Principle:
Principle #35Parameter changes

2Measurement precision

If conventional debugging techniques are used, then faults can be identified, but extensive iterations of scan dumps and laser probing are required

Engineering Contradiction:
Improvefault detection capabilityVSAvoiddebugging efficiency
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The system performs preliminary action by programmably reducing clock frequency in advance of the actual fault detection moment. The clock stretch mode is enabled before the problematic cycle occurs, allowing the timing issues to be captured during normal operation without requiring iterative scan dumps or destructive laser probing.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The debugging system serves itself by using the IC's own clock control infrastructure to facilitate debugging. The programmable clock controllers and trigger circuits within the IC enable self-diagnosis of timing issues without requiring external debugging equipment or destructive testing methods.

Inventive Principle:
Principle #25Self-service

3Measurement precision

If clock frequency is reduced to slow down timing-critical paths, then setup timing issues become observable, but the IC operation is slowed down

Engineering Contradiction:
Improveobservability of setup timing issuesVSAvoidIC operation speed
Core Design Contradiction:
Measurement precisionVSSpeed

Solution Approach 1:

The system applies periodic action by stretching only specific clock cycles that are suspected of containing timing issues, rather than continuously slowing the clock. The trigger circuit detects specific conditions and enables clock stretch mode only for those particular cycles, maintaining normal operating speed for all other cycles.

Inventive Principle:
Principle #19Periodic action

Solution Approach 2:

The clock frequency is made dynamic rather than static. The system switches between normal frequency and stretched frequency based on real-time conditions detected by the trigger circuit. This allows the IC to operate at full speed most of the time while temporarily slowing down only when diagnostic information is needed.

Inventive Principle:
Principle #15Dynamics

4Adaptability or versatility

If programmable clock controllers and trigger circuits are added to enable dynamic clock stretching, then debugging capability is improved, but device complexity increases

Engineering Contradiction:
Improvedebugging flexibilityVSAvoidcircuit complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The clock controllers serve multiple functions: they generate normal operating clocks and also implement clock stretching for debugging. The trigger circuits serve dual purposes by both detecting timing conditions and controlling the clock stretch mode. This multi-functionality reduces the need for separate dedicated debugging hardware.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The IC uses its own existing clock control infrastructure to provide debugging capabilities. Rather than adding completely separate debugging hardware, the system repurposes the programmable clock controllers and trigger circuits already present in modern ICs, allowing them to serve both operational and diagnostic functions.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS11290095B1Programmable dynamic clock stretch for at-speed debugging of integrated circuits
Publication Date: 2022.03.29 XILINX INC
  • US11290095B1 patent drawing
  • US11290095B1 patent drawing
  • US11290095B1 patent drawing

AI summary

An integrated circuit can include one or more clock controllers. Each clock controller corresponds to a different clock signal of a set of one or more clock signals of the integrated circuit. Each clock controller is configured to implement a clock stretch mode that generates a modified clock signal having a frequency that is less than the clock signal. The integrated circuit can include a trigger circuit configured to enable selected ones of the one or more clock controllers to implement the clock stretch mode. The trigger circuit and the one or more clock controllers are hardwired and are programmable using control infrastructure circuitry of the integrated circuit.