18.03.2015 Views

Open Core Protocol Debug Interface Specification rev 1.0 - OCP-IP

Open Core Protocol Debug Interface Specification rev 1.0 - OCP-IP

Open Core Protocol Debug Interface Specification rev 1.0 - OCP-IP

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

<strong>OCP</strong>-<strong>IP</strong> Confidential<br />

Restarting cores synchronously through the TAP is not difficult, since the TAP hardware has to<br />

be only slightly extended by a synchronization technique (e.g., run-test-idle pass can<br />

synchronize several cores in an ARM11 MP-<strong>Core</strong>).<br />

Hardly any multicore architecture on the market implements SS by means of fetching and<br />

executing exactly one instruction on every single core. Neither the heterogeneous (e.g. RISC +<br />

DSP) nor the homogenous system (Multi<strong>Core</strong> PPC or ARM11MP<strong>Core</strong>) have cross-core SS<br />

hardware-implementation as of today.<br />

<br />

One favorite solution for this problem is "Virtual Single Stepping".<br />

1. System is halted. <strong>Debug</strong>ger reads/has the full state of all cores/memories<br />

2. Run ca. 100-1000 cycles and halt then synchronously.<br />

Trace during this time frame <strong>IP</strong> and all data accesses. (No problem with MCDS, even with a<br />

small trace memory.)<br />

3. With this information debugger can exactly reconstruct all states and data values between<br />

start and end point<br />

This means the user can then virtually single step forth and back (!) in this time window.<br />

The timing relationship between the cores is as well maintained. There is possibly only a slight<br />

impact at the start and the end of the period.<br />

A similar solution is using an on-chip test platform with IEEE 1500 (developed by National<br />

Cheng Kung University, Taiwan). For each core there is a register to trigger the halt then use<br />

the 1500 scan chain to dump the core and memory. With the dump an ESL debugger can trace<br />

the bug. When thinking about how to halt all cores simultaneously, although we like to<br />

leverage test gates as much as possible, it seems additional debug gates are needed.<br />

6. EDA and SW Tools Support<br />

6.1 ESL Design and Design Checkers Support<br />

The <strong>OCP</strong> <strong>Debug</strong> <strong>Interface</strong>, after selection of the debug signal groups, generates an XML<br />

description text file that allows for easy modeling in the ESL abstracted chip design. This<br />

XML file is the basic information for the automatic debug interface checkers.<br />

The association of an XML interface file with a specific chip design is proposed to be an ID in<br />

the JTAG interface readable by software level debuggers and EDA hardware level debuggers<br />

that can access the XML file from a library maintained on the web. The ID must be at least 128<br />

bits long or have a self-extensible format and size to be accepted by the world-wide chip<br />

industry.<br />

6.2 Programmers Model<br />

We do not intend to include a programmer’s model for debug interactions into the <strong>OCP</strong><br />

standard. That is left to the vendors of the debug hardware blocks to satisfy the software DAS-<br />

API interface requirements in providing and covering the minimum set of control sequences<br />

25 of 62<br />

© 2007 <strong>OCP</strong>-<strong>IP</strong> Association, All Rights Reserved.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!