Segmented Ring Bus for SoC Trace Multiplexing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current systems for obtaining real-time trace information from multiple processors on an integrated circuit face challenges due to bandwidth limitations, hardware complexity, and inflexibility in connector placement, making it difficult to achieve high-speed tracing and scalability.

Innovation Solution

A segmented ring bus architecture with dynamically toggled trace output circuits allows for efficient transmission of trace information from multiple processors to peripheral I/O channels, enabling flexible wiring and modular design, allowing all processors to transmit trace information simultaneously without diminishing operating frequency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If a separate peripheral I/O channel is provided for each processor to obtain trace information, then the number of processors that can be traced increases, but the number of required peripheral I/O channels increases proportionally, which is not practical due to bandwidth limitations

Engineering Contradiction:
Improvenumber of processors tracedVSAvoidnumber of peripheral I/O channels
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

Multiple processors share a common peripheral I/O channel through a ring bus architecture. The ring bus allows trace information from multiple processors to be multiplexed and transmitted through a single I/O channel, eliminating the need for separate channels for each processor while maintaining the ability to trace all processors.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

A ring bus is introduced as an intermediary between processors and the peripheral I/O channel. The ring bus collects trace information from multiple processors and manages the transmission to the I/O channel, acting as a mediator that resolves the conflict between multiple data sources and a limited number of output channels.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Device complexity

If multiple processors share a single peripheral I/O channel, then the number of required I/O channels decreases, but the operating frequency of the tracing mechanism decreases due to increased bus load

Engineering Contradiction:
Improvenumber of peripheral I/O channelsVSAvoidoperating frequency of tracing mechanism
Core Design Contradiction:
Device complexityVSSpeed

Solution Approach 1:

The ring bus is divided into multiple segments, with each segment serving a subset of processors. This segmentation reduces the load on any single segment, allowing trace information to be transmitted at higher frequencies without overwhelming the bus. Each segment operates semi-independently, improving overall system speed.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The ring bus implements periodic transmission of trace information from different processors in a round-robin or scheduled manner. This periodic action prevents any single processor from monopolizing the bus and maintains a high average operating frequency by ensuring fair and efficient utilization of the shared channel.

Inventive Principle:
Principle #19Periodic action

3Quantity of substance

If the number of processors on an SoC increases, then the tracing capability covers more processors, but the amount of hardware required for tracing increases, making the circuit more complex

Engineering Contradiction:
Improvenumber of processorsVSAvoidamount of hardware for tracing
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The ring bus architecture provides a universal tracing mechanism that can accommodate any number of processors without requiring additional hardware components. The same ring bus structure serves both as the interconnection network and as the trace collection mechanism, eliminating the need for separate dedicated trace hardware for each processor.

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

Solution Approach 2:

The tracing system is designed to be dynamically scalable. As the number of processors increases, the ring bus automatically adapts by incorporating new processors into the existing structure without requiring fundamental changes to the hardware architecture. This dynamic nature allows the system to scale efficiently from a small number of processors to hundreds or thousands.

Inventive Principle:
Principle #15Dynamics

4Ease of manufacture

If peripheral I/O channels are limited by connector placement and wiring regions, then manufacturing cost and design flexibility are constrained, but the number of processors that can be traced is limited

Engineering Contradiction:
Improveconnector placement flexibilityVSAvoidnumber of processors traced
Core Design Contradiction:
Ease of manufactureVSQuantity of substance

Solution Approach 1:

The ring bus acts as an intermediary that decouples the physical location of processors from the location of peripheral I/O channels. Trace information can be collected from processors located anywhere on the chip and routed through the ring bus to I/O channels at convenient locations, eliminating the constraint that each processor must have a nearby I/O channel.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The ring bus introduces an additional dimensional aspect to the tracing architecture by creating a logical collection network that spans the entire chip. This allows trace information to be aggregated from distributed processors and transmitted through a centralized or distributed I/O interface, separating the spatial constraints of processor placement from I/O channel placement.

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

Data Source

PatentUS7743199B2Method and apparatus for obtaining trace information of multiple processors on an SoC using a segmented trace ring bus to enable a flexible trace output configuration
Publication Date: 2010.06.22 X CORP
  • US7743199B2 patent drawing
  • US7743199B2 patent drawing
  • US7743199B2 patent drawing

AI summary

An integrated bus architecture for transmitting trace information from a plurality of processors included on an integrated chip having one or more peripheral I/O channels comprises a segmented bus having a plurality of segments arranged in a ring topology and configured to transmit trace information in a circular pathway from upstream segments to downstream segments, and one or more trace output circuits each connected to a respective segment and each including a switch configured to be dynamically toggled between enabled and disabled states. The plurality of segments includes a respective segment for each processor having a coupling unit connected to a trace port of the processor. The coupling unit is configured to receive trace information from the trace port, to receive trace information from the adjacent upstream segment, and to transmit items of trace information to the adjacent downstream segment. Each trace output circuit is configured to transmit trace information to a respective peripheral I/O channel when in the enabled state. Each trace output circuit is configured to transmit trace information to the adjacent downstream segment when in the disabled state.