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

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

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

Control signals in case of gated clock domains and voltage domains in that the continuity and<br />

functionality is not interrupted if any <strong>IP</strong> block on the bus switches off clocks or voltages. By<br />

proper definition of the idle levels a blocking of the debug system shall not happen if one core<br />

or <strong>IP</strong> block goes into sleep mode.<br />

3.4 Cross Triggering Socket <strong>Interface</strong>s<br />

Information in Multi<strong>Core</strong> SoCs is complex and distributed such that global event cross<br />

triggering and system level control for multi-core debug and triggering is often needed to<br />

identify and isolate events occurring throughout the system. Event recognition and triggering is<br />

widely used in conjunction with trace to capture information on events and operations in the<br />

SoC. Conditions are monitored and compared to generate real time triggers in a Cross-trigger<br />

Manager. These triggers in turn can be used to control event actions such as configuration,<br />

breakpoints and trace collection. More complex implementations can be programmed to trigger<br />

on specific values or sequences such as address regions and data read or write cycle types.<br />

The cross-trigger block may be distributed to all <strong>IP</strong> connections to the <strong>OCP</strong> bus. If wiring is in<br />

the <strong>OCP</strong> fabric then some pre-processing or wrappers (condition/action nodes) at each <strong>OCP</strong><br />

interface can be used to simplify the cross-trigger information. Wrappers can be programmed<br />

via JTAG debugger (or native to a processor). Any block can send a trigger (edge or level) and<br />

receive a trigger. <strong>Debug</strong>ger or processor can configure specific trigger lines for each <strong>IP</strong> to send<br />

a condition signal and from which trigger line it can receive a trigger/action).<br />

CONCEPTUAL PICTURE (with two “trigger lines”)<br />

Cross-Trigger signals in <strong>OCP</strong> fabric<br />

Crosstrigger<br />

Manager<br />

Trigger_in_ condition[n:0]<br />

Trigger_out_Action[n:0]<br />

Config/Crtl lines<br />

Trigger_out_enable[n:0]<br />

Ext Trigger<br />

JTAG IF<br />

(x-trigger)<br />

Trigger<br />

<strong>IP</strong> <strong>Core</strong> Wrappers<br />

Bus<br />

Monitor<br />

JTAG Trace IF<br />

(block trace)<br />

JTAG <strong>Debug</strong> IF<br />

(core run ctrl)<br />

(in <strong>OCP</strong><br />

Socket)<br />

JTAG trace IF<br />

(bus trace)<br />

JTAG<br />

Port<br />

TAP<br />

Figure 3.3: Cross-Trigger Block Diagram<br />

Each trigger line consists of two uni-directional signals and one (optional) enable signal. A<br />

minimum dual channel concept consists of two independent trigger lines, but as there is no<br />

upper limit on number of cross-triggers realized in a design. The trigger line in, out, enable<br />

may the result of logic combination of several signals for a given core. Trigger lines can be<br />

connected directly to drive a bidirectional pin on the package and enable cross-triggering to<br />

continue between several chips. External (off chip) triggers will be supported with pulse width<br />

logic to interface external IO to the cross trigger manager.<br />

15 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!