5.2.2. PVBusDecoder component

The PVBusDecoder provides support for mapping slave devices to different address ranges on a bus. Incoming bus requests are routed to the appropriate slave device, based on the transaction address.

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

Figure 5.2. PVBusDecoder in System Canvas

PVBusDecoder in System Canvas

This component is written in C++.

Ports

Table 5.2 provides a brief description of the PVBusDecoder component ports.

Table 5.2. PVBusDecoder ports

NamePort protocolTypeDescription

pvbus_s

PVBus

Slave

Accepts incoming transactions. Connect this port to a bus master, or to the output of another bus decoder.

pvbus_m_range

addressable PVBus

Master

Specifies the address range for the bus master. The range must be 4KB aligned and a multiple of 4KB in size. If the address range is larger than the size of the slave device, the slave is aliased.[a]

[a] Each slave connection is associated with a specific address range on the pvbus_m_range port. In LISA, the syntax for this is decoder.pvbus_m_range[start..end] = slave.pvbus. The values for start (inclusive) and end (inclusive) must specify a 4KB aligned region of a multiple of 4K bytes. You can specify an address range for the slave, where the decoder remaps addresses into the appropriate range.


Additional protocols

The PVBusDecoder component has no additional protocols.

Parameters

The PVBusDecoder component has no parameters.

Registers

The PVBusDecoder component has no registers.

Debug features

The PVBusDecoder component has no debug features.

Verification and testing

The PVBusDecoder component has been tested as part of the VE example system using VE test suites and by booting operating systems.

Performance

The PVBusDecoder component is does not significantly affect the performance of a PV system.

Library dependencies

The PVBusDecoder component has no dependencies on external libraries.

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