ADM-XRC SDK 2.8.1 User Guide (Linux)
© Copyright 2001-2009 Alpha Data
procedure plxsim_write( order : in natural; multiburst : in boolean; address : in std_logic_vector; be : in byte_enable_t; data : in 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 write transfer with incrementing 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_write:
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 starting local bus byte address of the transfer, which will be incremented during the transfer. It need not be aligned to the word size of the local data bus. The manner in which the address is output on the local bus depends upon the type of local bus agent being used:
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 specifies the data to be written on local bus. For a nonmultiplexed address/data bus, the data is output on the LD signal, whereas for a multiplexed address/data bus, the data is output on 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 written on the local bus.