Timing Data Packet Structure for Trace Synchronization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current processor and memory emulation technologies face challenges in accurately modeling cache-based architectures, leading to performance discrepancies between simulated and actual target system performance, which affects developer confidence and necessitates advanced emulation features for visibility and debugging, especially in complex systems with multiple CPU cores.

Innovation Solution

The solution involves data compression techniques, adaptive calibration of delay lines, and advanced event triggering mechanisms to enhance debug and profiling capabilities, including stall cycle profiling, event profiling, cache viewer analysis, and memory protection, to provide better visibility into system and memory behavior.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If data compression techniques are used during trace recording, then data transmission efficiency is improved, but data corruption issues occur

Engineering Contradiction:
Improvedata transmission efficiencyVSAvoiddata integrity
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

A timing data packet structure is introduced as an intermediary between compressed trace data and the decoder. This packet includes synchronization information (sync_id, timing_id) and metadata (num_timing_entries) that act as mediators to ensure the decoder can correctly reconstruct and validate the compressed timing data without corruption

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The timing data packet includes feedback mechanisms through sync_id fields that allow the decoder to verify data integrity. The decoder uses these synchronization identifiers to detect and recover from corruption by comparing expected vs. received timing data sequences

Inventive Principle:
Principle #23Feedback

2Difficulty of detecting and measuring

If advanced emulation features are added to provide visibility into system behavior, then debugging capability is improved, but device complexity increases

Engineering Contradiction:
Improvedebugging capabilityVSAvoidemulation system complexity
Core Design Contradiction:
Difficulty of detecting and measuringVSDevice complexity

Solution Approach 1:

The trace data is segmented into distinct timing data packets with specific structures. Each packet contains only the necessary timing information (sync_id, timing_id, num_timing_entries) separated from the main trace data, making the complex emulation system manageable through modular data organization

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Timing synchronization information is extracted from the overall trace data stream and placed into dedicated timing data packets. This extraction separates the critical synchronization metadata from the main trace content, enabling independent processing and validation of timing information

Inventive Principle:
Principle #2Taking out (Extraction)

3Measurement precision

If timing data packets with synchronization information are transmitted, then data extraction accuracy is improved, but data transmission volume increases

Engineering Contradiction:
Improvedata extraction accuracyVSAvoiddata transmission volume
Core Design Contradiction:
Measurement precisionVSQuantity of substance

Solution Approach 1:

Rather than transmitting complete timing information for every trace event, the system uses partial action by transmitting only critical synchronization fields (sync_id, timing_id, num_timing_entries) in the timing data packets. This provides just enough information for accurate data extraction without the overhead of full timing details

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS7797685B2Method for generating timing data packet
Publication Date: 2010.09.14 TEXAS INSTRUMENTS INC
  • US7797685B2 patent drawing
  • US7797685B2 patent drawing
  • US7797685B2 patent drawing

AI summary

During a trace the timing stream has the active and stall information, PC stream has all the discontinuity information, and the data stream has all the data log information. The various streams are synchronized using markers called sync points. The sync points provide a unique identifier field and a context to the data that will follow it. After data corruption a sync point is inserted into the data stream. The ID of this sync point may repeat a previous sync point ID.