3.1.12. User and transport layers

The AMBA-PV user and transport layers manage interactions between the master and slave.

Forward calls from master to slave

These calls go from the user layer through the transport layer and back to user layer as shown in Figure 3.11.

Figure 3.11. Master to slave calls

To view this graphic, your browser must support the SVG format. Either install a browser with native support, or install an appropriate plugin such as Adobe SVG Viewer.


The amba_pv_if<> interface is implemented by the master socket. Class amba_pv_slave_base<> inherits from this interface. The interface defines the following member functions:

  • read()

  • read_burst()

  • write()

  • write_burst()

  • get_direct_mem_ptr()

  • debug_read()

  • debug_write().

The amba_pv_fw_transport_if interface is an AMBA-PV core interface. Class amba_pv_slave_base<> also inherits from this interface. The interface defines the following member functions:

  • b_transport()

  • get_direct_mem_ptr()

  • transport_dbg().

Backward calls from slave to master

These calls go from the user layer through the transport layer and back to user layer as shown in Figure 3.12.

Figure 3.12. Slave to master calls

To view this graphic, your browser must support the SVG format. Either install a browser with native support, or install an appropriate plugin such as Adobe SVG Viewer.


The amba_pv_bw_transport_if interface is an AMBA-PV core interface. It defines the invalidate_direct_mem_ptr() member function to invalidate pointers that were previously established for a DMI region in the slave and features tagging through its socket identification parameter.

Using the ACE sockets

The forward calls from ACE masters to ACE slaves follow a similar flow as for the non-ACE sockets. See Figure 3.13.

Figure 3.13. ACE master to slave calls

To view this graphic, your browser must support the SVG format. Either install a browser with native support, or install an appropriate plugin such as Adobe SVG Viewer.


The user layer is not useful for modeling ACE transactions because the extra response attributes required by ACE are not available in amba_pv_control.

Note

This is so that source level compatibility with previous versions of AMBA-PV can be maintained.

Backward calls from ACE slaves to ACE masters are shown in Figure 3.14.

Figure 3.14. ACE slave to master calls

To view this graphic, your browser must support the SVG format. Either install a browser with native support, or install an appropriate plugin such as Adobe SVG Viewer.


The amba_pv_bw_transport_and_snoop_if interface is an AMBA-PV core interface. Class amba_pv_ace_master_base<> also inherits from this interface. The interface defines the following member functions:

invalidate_direct_mem_ptr()

Invalidate pointers that were previously returned via get_direct_mem_ptr().

b_snoop()

Equivalent function to the forward method b_transport() but used for transactions in the upstream slave to master direction.

snoop_dbg()

Equivalent function to the forward method transport_dbg() but used for transactions in the upstream slave to master direction.

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