Reliance on legacy methods of probing buses and signals with dedicated, proprietary debug and test equipment across layers can be impractical. It's often too disjointed, too complex and too costly—particularly with so many different components working together across today’s systems for mobile, IoT, automotive, industrial, 5G and other ecosystems.
To solve this, the MIPI Debug Working Group develops low-cost and interoperable hardware and software interface and protocol specifications that work together across the full stack, leveraging functional interfaces as often as possible to improve the applicability of designers’ existing toolsets and hold down costs. Updates to four of these specifications have been recently released.
MIPI System Trace Protocol (MIPI STPSM) is a generic base protocol for trace functions shared by multiple coexistent trace protocols that are optimized for specific applications. It was never intended to supplant or replace these highly optimized protocols used to convey data about processor program flow, timing or low-level bus transactions; instead, STP is designed so that its data streams coexist with the application-specific protocols as part of a complete debug system. STP serves as a wrapper protocol that merges disparate streams that typically contain different trace protocols from different trace sources.
The latest version of MIPI STP, v2.3, builds on the specification’s existing capabilities, adding a new packet type to carry payload information that identifies the platform from which the trace was captured and describes the contained trace data formats. STP v2.3 adds a Platform Description ID (PDID) packet that is used by the trace tool to identify the correct decoders for trace data, especially in those cases in which the system being traced or the presence of virtual guests is unknown. STP PDID provides a simple mechanism to link the trace data to the correct decoder, and it can be applied either globally (identifying the overall platform) or locally (targeting a single trace source or groups of trace sources).
In addition, updated versions of MIPI Debug for I3CSM, v1.0.1, MIPI Narrow Interface for Debug and Test (MIPI NIDnTSM), v1.2.1, and MIPI Parallel Trace Interface (MIPI PTISM), v2.0.1, were recently released with terminology revisions that are more inclusive and more accurately reflect the functions of technical devices.
MIPI NIDnT is a specification for utilizing a device’s functional ports for debug and testing of finished products, and is designed to enable easier identification of problems in complex designs and contribute to higher product quality. NIDnT v1.2.1 also adds references in the specification’s informative sections for the MIPI I3C® two-wire intelligent bus interface in accordance with the MIPI Debug for I3C specification.
MIPI PTI is a parallel interface with multiple data signals and a clock that can be used to export data about system functionality and behavior to a host system for analysis and display, helping developers to reconstruct some portion of system activity.
All MIPI debug and trace specifications—including MIPI Debug for I3C, MIPI NIDnT, MIPI PTI and MIPI STP—are available for download and use by the public and open-source community. Members of the MIPI Alliance enjoy additional benefits, such as access to relevant licenses and opportunities to participate in development activities, interoperability workshops and other events.
The MIPI Debug Working Group collaborates with other MIPI Alliance groups and industry organizations as necessary to achieve its goals. To learn more about the group and how to participate, please visit the MIPI Debug Working Group.