Cross-Clock Event Timeline Rendering for SoC Debugging

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Debugging complex system-on-chip (SoC) applications is complicated by the separate clock domains of its subsystems, making it difficult to evaluate the relative timing of events across different subsystems.

Innovation Solution

A method and system that sample a system timer in a first clock domain and request subsystem timestamps from timers in different clock domains, translating these timestamps to a system-level timeline using a host processor, thereby synchronizing events across clock domains without interrupting the application.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Power

If subsystems operate in separate clock domains to maximize performance, then processing capability is improved, but timing evaluation across subsystems becomes difficult

Engineering Contradiction:
Improveprocessing capabilityVSAvoidtiming evaluation difficulty
Core Design Contradiction:
PowerVSDifficulty of detecting and measuring

Solution Approach 1:

The patent introduces a host processor as an intermediary that collects timestamps from multiple subsystem timers operating in different clock domains and translates them to a common system timer reference. This mediator enables timing evaluation across subsystems without requiring them to share the same clock domain, thus preserving processing capability while solving the timing measurement problem.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent changes the reference parameter for timing from subsystem-specific clock domains to a unified system timer reference. By translating timestamps from different clock domains to the system timer's time base, the patent enables consistent timing evaluation across all subsystems while they continue to operate independently in their own clock domains.

Inventive Principle:
Principle #35Parameter changes

2Measurement precision

If traditional synchronization methods are used across clock domains, then timing alignment is achieved, but message traffic and synchronization overhead increase

Engineering Contradiction:
Improvetiming alignmentVSAvoidsynchronization overhead
Core Design Contradiction:
Measurement precisionVSLoss of energy

Solution Approach 1:

The patent performs preliminary sampling of the system timer and subsystem timers to establish offset values before actual event tracing begins. This preliminary synchronization action captures the relative timing relationships between different clock domains, allowing subsequent timestamp translations to be performed efficiently without continuous heavy synchronization overhead during runtime.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent creates a virtual copy of the subsystem timestamps by translating them to the system timer's time reference. Instead of physically synchronizing all subsystems to a common clock domain (which would generate excessive message traffic), the patent copies the timing information and transforms it mathematically to appear as if all events occurred in the same time reference frame.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS12578754B2Method and system for rendering event data from subsystems in different clock domains according to a system-level timeline
Publication Date: 2026.03.17 XILINX INC
  • US12578754B2 patent drawing
  • US12578754B2 patent drawing
  • US12578754B2 patent drawing

AI summary

Disclosed approaches for rendering event data from subsystems in different clock domains according to a system-level timeline include, for each of multiple subsystems, sampling a system timer in a first clock domain for a first timestamp by a host processor. A host processor requests a subsystem timestamp from a subsystem timer in each of the subsystems. The subsystem timestamp is associated with the first timestamp, and the subsystem timer operates in a clock domain different from the first clock domain. The host processor translates timestamps in traced event data of the subsystems to a timeline of the system timer using the first timestamp and associated subsystem timestamps.