The embedded tools company
MCD API Download Page


MCD API Download Page

MCD API Overview

Today, SoC design flows span several levels of abstraction, ranging from high level simulations to the final integrated hardware. Throughout this design, various off-the-shelf components of intellectual property (IP) are assembled in order to achieve high quality designs in short time. The Open SoC Design Platform for Reuse and Integration of IPs (SPRINT) Project has taken the challenge to develop a standards-based platform supporting the creation of interoperable and reusable IP as well as their efficient integration into high class SoCs. The SPRINT consortium consists of numerous companies and research facilities from the IP business, including both providers and users.

Within the scope of this project, ARM, Infineon Technologies, Lauterbach, NXP Semiconductors, STMicroelectronics and TIMA Laboratory jointly created the MCD API. It was designed to provide debug tools with a unified debug interface to both real hardware and software simulations. This allows engineers to start the application development early in the SoC platform design flow without having to switch to other debug tools during the transition from virtual prototypes to real hardware. Furthermore, the MCD API addresses multi-core debugging which is inevitable due to the complexity of today's SoC designs. Experiments within the SPRINT project have proven the feasibility and applicability of the interface.

The MCD API is a powerful but simple C-interface. It provides the necessary means in order to perform efficient application debugging for multi-core SoCs and comes with a set of sub-APIs offering the following features:

  • Target Connection: Connection/instantiation and configuration of debug servers in order to connect debug tools to multi-core systems; multiple cores of a system can be connected to a tool simultaneously.
  • Target System Description: Retrieving information about the connected system through API function calls and IP-XACT descriptions (as specified by the SPIRIT consortium); enables retargetability of the debug tool and additional debug and analysis features.
  • Target Run Control: Run control designed for multi-core systems; the reaction of a system's processing units to these calls can be configured core by core.
  • Trigger Support: Generic trigger interface; offers predefined trigger types (e.g. for breakpoints) and allows customized ones; cross-triggering is possible via trigger buses.
  • Trace Support: Generic trace interface; offers predefined trace sources and allows customized ones.
  • Memory and Register Accesses: Unified memory and register access mechanism using transaction lists.
  • Communication Channels: Various types of communication channels between debug tool and target system, e.g. for communication with applications running on the targeted core or for configuration of additional analysis resources.

Copyright © 2023 Lauterbach GmbH, Altlaufstr.40, 85635 Höhenkirchen-Siegertsbrunn, Germany   Impressum     Privacy Policy
The information presented is intended to give overview information only.
Changes and technical enhancements or modifications can be made without notice. Report Errors
Last generated/modified: 12-May-2023