Encoded Debug Architecture for DSP Pipelined Event Serialization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Debugging Digital Signal Processors (DSPs) with pipelining architecture is challenging due to issues like crashes during real-time data processing, limited output pins, and the need for customized debuggers for various DSP types, leading to a difficult, time-consuming, and expensive process.

Innovation Solution

A processor-agnostic encoded debug architecture that processes events to generate a matrix of combinations, captures output data, and applies it to create encoded debug data, maximizing output pin utilization and serializing timing data separately, allowing for communication across different buffers and processors.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If pipelining architecture is used to process data faster, then processing speed is improved, but debugging reliability deteriorates due to crashes during real-time data processing

Engineering Contradiction:
Improveprocessing speedVSAvoiddebugging reliability
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The debug architecture segments the pipelined data stream into discrete events and sync packets, allowing independent processing and debugging of each segment without disrupting the overall pipeline operation

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

An intermediary debug module is introduced that interfaces between the pipelined processor and debugger, capturing and buffering debug data without interfering with the real-time processing flow, thus maintaining both speed and debugging reliability

Inventive Principle:
Principle #24Intermediary (Mediator)

2Measurement precision

If a large amount of data is recorded and encoded for debugging, then measurement precision is improved, but device complexity worsens due to limited output pins

Engineering Contradiction:
Improvedebug data completenessVSAvoidoutput pin utilization
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The system transitions from spatial expansion (more output pins) to temporal expansion (time-multiplexed serialization), encoding multiple debug data streams sequentially over a limited number of output pins through precise timing control

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

Solution Approach 2:

The debug architecture changes the parameter of data transmission from parallel (multiple pins simultaneously) to serial (single pin sequentially), allowing comprehensive debug data to be transmitted through limited pins by utilizing time as an additional dimension

Inventive Principle:
Principle #35Parameter changes

3Adaptability or versatility

If debugger is customized for different types of DSP, then adaptability is improved, but ease of manufacture deteriorates due to wide variety of instructions and packet sizes

Engineering Contradiction:
ImproveDSP type compatibilityVSAvoiddebugger standardization
Core Design Contradiction:
Adaptability or versatilityVSEase of manufacture

Solution Approach 1:

The debug architecture implements a universal event encoding scheme that can handle multiple DSP instruction types and packet sizes through a standardized event matrix format, allowing a single debugger design to work across different DSP architectures without customization

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

Data Source

PatentUS8296607B2Serialization module separating pipelined trace-worthy event and sync packet data
Publication Date: 2012.10.23 TEXAS INSTRUMENTS INC
  • US8296607B2 patent drawing
  • US8296607B2 patent drawing
  • US8296607B2 patent drawing

AI summary

A method and/or a system of a processor-agnostic encoded debug architecture in a pipelined environment is disclosed. In one embodiment, a method of a processor includes processing an event specified by a data processing system coupled to the processor to determine a boundary of the event, generating a matrix having combinations of the event and other events occurring simultaneously in the processor, capturing an output data of observed ones of the event and other events, and applying the matrix to generate an encoded debug data of the output data. The method may also include determining which of the combinations are valid based on an architecture of the processor. The event may be a trace-worthy event whose output value cannot be reliably predicted in an executable file in the data processing system and/or a sync event that is specified by a user of the data processing system.