29.11.2014 Views

Fast Models Reference Manual - ARM Information Center

Fast Models Reference Manual - ARM Information Center

Fast Models Reference Manual - ARM Information Center

SHOW MORE
SHOW LESS

Create successful ePaper yourself

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

Peripheral and Interface Components<br />

Verification and testing<br />

The AMBAPVValueState2SGValueState64 component has been tested as part of the SystemC<br />

Export example systems. These systems can be found in %PVLIB_HOME%\examples\SystemCExport.<br />

On Linux, look in the $PVLIB_HOME/examples/SystemCExport directory.<br />

Performance<br />

The AMBAPVValueState2SGValueState64 component is not expected to significantly affect<br />

the performance of a PV system.<br />

Library dependencies<br />

The AMBAPVValueState2SGValueState64 component has no dependencies on external<br />

libraries.<br />

5.3.17 SystemC classes<br />

This section describes SystemC classes used in the AMBAPV protocol behaviors, and which<br />

are part of the AMBA TLM PV library for OSCI TLM 2.0.<br />

• Class amba_pv::amba_pv_control<br />

• amba_pv::amba_pv_resp_t on page 5-39.<br />

Class amba_pv::amba_pv_control<br />

The amba_pv::amba_pv_control class provides support for AMBA protocol additional control<br />

information. The additional control information supported by the AMBA protocol and modeled<br />

by this class includes:<br />

• protection units<br />

• exclusive access and locked access mechanisms<br />

• system-level caches.<br />

The class provides the API:<br />

class amba_pv_control {<br />

/* Construction */<br />

public:<br />

amba_pv_control();<br />

/* Accessors */<br />

/* Transaction ID */<br />

void set_id(unsigned int);<br />

unsigned int get_id() const;<br />

/* Protection unit support */<br />

void set_privileged(bool /* privileged */ = true);<br />

bool is_privileged() const;<br />

void set_non_secure(bool /* non_secure */ = true);<br />

bool is_non_secure() const;<br />

void set_instruction(bool /* instruction */ = true);<br />

bool is_instruction() const;<br />

/* Atomic access support */<br />

void set_exclusive(bool /* exclusive */ = true);<br />

bool is_exclusive() const;<br />

void set_locked(bool /* locked */ = true);<br />

bool is_locked() const;<br />

<strong>ARM</strong> DUI 0423J Copyright © 2008-2011 <strong>ARM</strong>. All rights reserved. 5-38<br />

ID051811<br />

Non-Confidential

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

Saved successfully!

Ooh no, something went wrong!