3.2. Class summary

This section provides a summary of the AMBA-PV classes and interfaces.

Note

For the full list of classes and interfaces, see the AMBA-PV header files. The top-level file is amba_pv.h which contains includes for the other header files.

All AMBA-PV classes and interfaces use the amba_pv namespace.

The following classes and interfaces are defined in AMBA-PV:

amba_pv_attributes

This supports additional user-defined attributes.

amba_pv_ace_master_base

This is the base class for AMBA-PV ACE master modules.

amba_pv_ace_master_socket<>

This is the socket to be instantiated on the master side for full ACE modeling.

amba_pv_ace_slave_socket<>

This is the socket to be instantiated on the slave side for full ACE modeling.

amba_pv_bw_snoop_if

This is a tagged variant of the tlm_bw_transport_if interface, to be implementedby AMBA-PV ACE master modules.

amba_pv_bw_transport_and_snoop_if

This is a simple combination of the interfaces amba_pv_bw_snoop_if and amba_pv_bw_transport_if.

amba_pv_bw_transport_if

This is a tagged variant of the tlm_bw_transport_if interface, to be implemented by AMBA-PV master modules.

amba_pv_control

This supports additional control information that is part of the AMBA buses.

amba_pv_dvm

This provides additional transaction information for DVM operations.

amba_pv_extension

This is the AMBA-PV extension type.

amba_pv_fw_transport_if

This is a tagged variant of the tlm_fw_transport_if interface, to be implemented by AMBA-PV slave modules.

amba_pv_if<>

This is the user-layer transaction interface.

amba_pv_master_base

This is the base class for AMBA-PV master modules.

amba_pv_master_socket<>

This is the socket to be instantiated on the master side. This socket is also automatically instantiated on the slave side when an amba_pv_ace_slave_socket<> is instantiated.

amba_pv_slave_base<>

This is the base class for AMBA-PV slave modules.

amba_pv_slave_socket<>

This is the socket to be instantiated on the slave side.

amba_pv_snoop_socket<>

This socket is automatically instantiated on the master side when an amba_pv_ace_master_socket<> is instantiated.

The templated AMBA-PV classes and interfaces have a BUSWIDTH parameter.

An AMBA-PV bus master invokes methods on its amba_pv_master_socket to generate burst read and write requests on the AMBA-PV bus and check the returned responses.

An AMBA-PV bus slave implements read() and write() methods to process requests and return the associated responses.

The TLM 2.0 b_transport() blocking interface is the basic mechanism that implements this master-slave interaction. In addition, AMBA-PV uses the extension mechanism to extend TLM 2.0 and provide maximum interoperability.

Copyright © 2009-2013 ARM. All rights reserved.ARM DUI 0455H
Non-ConfidentialID112213