5.2.4. PVBusRange component

PVBusRange is used to divide and remap the memory range into two output ports, a and b. This component is currently used to implement the TrustZone Memory Adaptor (TZMA).

You must only use PVBusRange components if the routing decisions change infrequently, for example as part of a memory remap.

Figure 5.4 shows a view of the component in System Canvas.

Figure 5.4. PVBusRange in System Canvas

PVBusRange in System Canvas

This component is written in C++.

Ports

Table 5.4 provides a brief description of the PVBusRange ports.

Table 5.4. PVBusRange ports

NamePort protocolTypeDescription

control_64

Value_64

Slave

A 64 bit value port used to signal the remapped range, X.

pvbus_input

PVBus

Slave

PVBus input.

pvbus_port_a

PVBus

Master

PVBus output, with remapped address range of [0, X].

pvbus_port_b

PVBus

Master

PVBus output, with remapped address range of [X+1, msize].


Value_64 protocol

The PVBusRange component has one additional protocol.

The Value_64 protocol provides the rules to communicate with the TZMA to signal the remapped range X.

setValue(uint64_t value)

Sets a 64-bit wide address to the slave port.

Parameters

The PVBusRange component has no parameters

Registers

The PVBusRange component has no registers.

Debug features

The PVBusRange component has no debug features.

Verification and testing

The PVBusRange component has been tested by directed component tests.

Performance

The PVBusRange component is optimized to have negligible impact on transaction performance except when memory remap settings are changed when there might be a significant effect.

Library dependencies

The PVBusRange component has no dependencies on external libraries.

Copyright © 2008-2013 ARM. All rights reserved.ARM DUI 0423O
Non-ConfidentialID060613