Arm Community
Arm Community
  • Site
  • User
  • Site
  • Search
  • User
  • Groups
    • Research Collaboration and Enablement
    • DesignStart
    • Education Hub
    • Innovation
    • Open Source Software and Platforms
  • Forums
    • AI and ML forum
    • Architectures and Processors forum
    • Arm Development Platforms forum
    • Arm Development Studio forum
    • Arm Virtual Hardware forum
    • Automotive forum
    • Compilers and Libraries forum
    • Graphics, Gaming, and VR forum
    • High Performance Computing (HPC) forum
    • Infrastructure Solutions forum
    • Internet of Things (IoT) forum
    • Keil forum
    • Morello Forum
    • Operating Systems forum
    • SoC Design and Simulation forum
    • 中文社区论区
  • Blogs
    • AI and ML blog
    • Announcements
    • Architectures and Processors blog
    • Automotive blog
    • Graphics, Gaming, and VR blog
    • High Performance Computing (HPC) blog
    • Infrastructure Solutions blog
    • Innovation blog
    • Internet of Things (IoT) blog
    • Operating Systems blog
    • Research Articles
    • SoC Design and Simulation blog
    • Smart Homes
    • Tools, Software and IDEs blog
    • Works on Arm blog
    • 中文社区博客
  • Support
    • Arm Support Services
    • Documentation
    • Downloads
    • Training
    • Arm Approved program
    • Arm Design Reviews
  • Community Help
  • More
  • Cancel
Arm Community blogs
Arm Community blogs
Tools, Software and IDEs blog Introducing DSTREAM-XT: Debug and trace over functional I/O via PCIe
  • Blogs
  • Mentions
  • Sub-Groups
  • Tags
  • Jump...
  • Cancel
More blogs in Arm Community blogs
  • AI and ML blog

  • Announcements

  • Architectures and Processors blog

  • Automotive blog

  • Embedded blog

  • Graphics, Gaming, and VR blog

  • High Performance Computing (HPC) blog

  • Infrastructure Solutions blog

  • Internet of Things (IoT) blog

  • Operating Systems blog

  • SoC Design and Simulation blog

  • Tools, Software and IDEs blog

Tags
  • pcie
  • Arm Development Studio
  • DSTREAM Family
  • Arm Debugger
  • Debug and Trace
Actions
  • RSS
  • More
  • Cancel
Related blog posts
Related forum threads

Introducing DSTREAM-XT: Debug and trace over functional I/O via PCIe

Ronan Synnott
Ronan Synnott
June 24, 2021
3 minute read time.

As we move to an autonomous world of self-driving cars and other intelligent systems, there are two undeniable truths that present new challenges to the designers: Complexity and safety.

These systems require significant processing power, resulting in many CPUs integrated into a single device, and software workloads shared across multiple processors with hypervisor or similar technology. These systems are safety-critical, with increased scrutiny applied to debug, testing, validation, and code coverage analysis. With a limited number of pins available on the SoC, the designer must make system trade-off decisions between dedicated debug interfaces and other functionality.

Debug and trace over functional I/O

To help address these design trade off decisions, Arm developed the CoreSight SoC-600 library of debug IP. Traditionally a (JTAG-based) debug port is provided, alongside a trace port, using either many pins, or expensive high-speed serial interfaces. With CoreSight SoC-600, you can reuse existing interfaces on your devices, resulting in fewer resources reserved for debug use.

The (open-source) CoreSight Wire Protocol library enables you to perform on-target debug and trace through standard interfaces such as USB and TCP/IP. The Arm Debugger (part of Arm Development Studio) can use these interfaces to connect to such targets.

DSTREAM-XT enables debug and trace support for suitably designed platforms over on-target PCIe interfaces. The CoreSight SoC-600 IP is available to license from Arm, and is included as part of Arm Flexible Access.

Why the need for a probe?

If you can connect to the target over PCIe, why is there a need for a probe?

During any debugging phase, the target is likely to be reset frequently. This would require reinitialization of the PCIe link and enumeration of devices. This is generally not possible on the host machine without rebooting. The probe also provides isolation between target and host from any spurious memory writes on the PCIe interface that may occur during a debug session.

It is also unlikely that standard host storage would be able to keep up with the high-bandwidth trace generated. The dedicated 16GB of DDR4 memory on the probe removes this bottleneck. This data is subsequently sent to the host with a standard USB 3.0 or Gigabit TCP/IP connection.

Configurability is another big reason for a probe. A host would typically only function as a Root Complex (a collection of PCIe Root Ports) and so would only be able to connect to targets that are configured as a PCIe Endpoint. With the probe, we support both PCIe Root Port (RP) and PCIe Endpoint (EP).

The following figure shows an example configuration of how the DSTREAM-XT probe could connect to a target, with trace sources routing to the PCIe interface.

Example topology 1

It is possible to remove the dedicated debug interface altogether, by implementing an appropriate driver on the target side to configure the PCIe interface for all debug activities.

Example topology 2

Best in class trace bandwidth

DSTREAM-XT is Arm’s most capable debug adapter. It can support debug connections to up to 4096 CoreSight components. The probe supports PCIe 3.0 (1-8 lanes) or PCIe 4.0 (1-4 lanes), providing a total trace bandwidth of (up to) 64Gbps. This bandwidth enables many trace sources to be utilized in parallel. The probe has a 16GB on-board buffer, allowing for a deep history of trace to be recorded. Included with the probe are a variety of standard PCIe connectors to suit your target hardware. See the Arm Developer website for full specifications.

Availability

DSTREAM-XT is available to order now, with first shipments expected in July 2021, and is used with Arm Development Studio 2021.1 and later. If you are new to Arm Development Studio, a fully-featured 30-day evaluation license is available. For more information on DSTREAM-XT and all the Arm debug adapters, go to the Arm Developer website.

Compare DSTREAM debug probes

Anonymous
Tools, Software and IDEs blog
  • Product update: Arm Development Studio 2022.2 now available

    Ronan Synnott
    Ronan Synnott
    Arm Development Studio 2022.2 is now available, providing support for PSA-ADAC authenticated debug.
    • December 7, 2022
  • Product update: Arm Development Studio 2022.1 now available

    Ronan Synnott
    Ronan Synnott
    Arm Development Studio 2022.1 (and 2022.b) is now available.
    • July 25, 2022
  • Arm Compiler for Linux: what is new in the 22.0 release?

    Ashok Bhat
    Ashok Bhat
    Arm Compiler for Linux 22.0 is now available with performance improvements and support for new hardware like AWS Graviton 3.
    • May 27, 2022