Parallel Trace Receiver Architecture for High Bandwidth Debugging

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current processor and memory emulation technologies face challenges in accurately modeling cache events and system interactions, leading to performance discrepancies between simulated and actual target performance, especially with cache-based architectures, which affects developer confidence and necessitates advanced emulation for visibility and optimization.

Innovation Solution

A trace architecture with a programmable component or ASIC, utilizing compression techniques for trace data, adaptive calibration for data extraction, and multi-input recording interfaces to enhance bandwidth and accuracy, allowing for better visibility into system and memory behavior, and supporting advanced debugging and profiling capabilities.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If a single trace receiver processes incoming trace data, then device complexity is low, but bandwidth is limited and cannot handle high-speed trace data

Engineering Contradiction:
ImprovebandwidthVSAvoiddevice complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The trace receiver is divided into multiple parallel input units (first input unit, second input unit, etc.), each capable of independently processing a portion of the incoming trace data. This segmentation allows the system to handle higher bandwidth by distributing the processing load across multiple units, resolving the contradiction between limited bandwidth and low device complexity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent transitions from a single-dimensional processing approach to a multi-dimensional parallel processing architecture. By adding spatial dimensionality through multiple input units operating simultaneously, the system achieves higher bandwidth without proportionally increasing complexity, as each unit handles a specific portion of the data stream.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Quantity of substance

If multiple parallel input units process portions of input trace data, then bandwidth increases, but synchronization and coordination become more complex

Engineering Contradiction:
ImprovebandwidthVSAvoidsynchronization complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

Multiple parallel input units are merged into a unified trace receiver architecture that processes portions of the same input data stream simultaneously. The merging of these parallel processing paths enables the system to achieve high bandwidth while managing synchronization complexity through coordinated operation of the input units under a common control framework.

Inventive Principle:
Principle #5Merging (Combining)

3Quantity of substance

If trace data is compressed, then bandwidth efficiency improves, but measurement precision of trace events may be reduced

Engineering Contradiction:
Improvebandwidth efficiencyVSAvoidtrace event precision
Core Design Contradiction:
Quantity of substanceVSMeasurement precision

Solution Approach 1:

The patent applies compression techniques to trace data while maintaining the ability to accurately represent trace events. By changing the parameter representation of trace data through compression algorithms, the system achieves improved bandwidth efficiency while preserving measurement precision through careful design of the compression scheme that retains critical event information.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS7555682B2Distributed width trace receiver
Publication Date: 2009.06.30 TEXAS INSTRUMENTS INC
  • US7555682B2 patent drawing
  • US7555682B2 patent drawing
  • US7555682B2 patent drawing

AI summary

Input processing limitations may be solved by placing two units in parallel, with each unit recording some portion of the incoming data. This requires the generation of simultaneous actions across units operating in parallel, with both the data recording and user command execution happening at the same point in the trace data stream.