ADM-XRC SDK 2.8.1 User Guide (Linux)
© Copyright 2001-2009 Alpha Data
procedure plxsim_read_const( order : in natural; multiburst : in boolean; address : in std_logic_vector; be : in byte_enable_t; data : out byte_vector_t; nxfered : out natural; signal bus_in : in locbus_in_t; signal bus_out : out locbus_out_t);
Performs a basic local bus read transfer with constant local bus address.
This procedure uses the bus_in and bus_out signals to drive a local bus agent as shown in this figure, where the stimulus process makes calls to plxsim_read_const:
The order parameter specifies the width of the local data bus. Valid values are:
The multiburst parameter specifies the action taken if the target of the transfer terminates the burst before the desired number of bytes has been transferred:
The address parameter specifies the local bus byte address of the transfer, which will not be incremented during the transfer. The address need not be aligned to the word size of the local data bus, although an unaligned address generally makes little sense when using constant addressing. The manner in which the address is output on the local bus depends upon the type of local bus agent being used:
After the first word of data has been transferred, LBE# will revert to being determined by the be parameter, and on the last word of the transfer, also determined by any residual bytes that do not comprise a full word of data.
The be parameter specifies the byte enables to be used for the transfer. They are active high, and so a '1' in a particular element of be results in a '0' in the corresponding bit of LBE#. The length of be must be the same as the length of data.
The data parameter returns the data read from the local bus. For a nonmultiplexed address/data bus, the data comes from the LD signal, whereas for a multiplexed address/data bus, the data comes from the LAD signal. The length of data must be the same as the length of be.
The nxfered parameter returns the actual number of bytes read from the local bus.