ADM-XRC SDK 2.8.1 User Guide (Linux)
© Copyright 2001-2009 Alpha Data


PLXSIM VHDL reference - plxsim_write_const_demand

Declaration

Synopsis

Description

Declaration
procedure plxsim_write_const_demand(
           order      : in    natural;
           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;
    signal dd_in      : in    locbus_ddma_in_t;
    signal dd_out     : out   locbus_ddma_out_t);
Synopsis

Performs a demand-mode DMA local bus write transfer with constant local bus address.

Description

This procedure uses the bus_in, bus_out, dd_in, and dd_out signals to drive a local bus agent as shown in this figure, where the stimulus process makes calls to plxsim_write_const_demand:

Before calling this procedure, a stimulus process should ensure that the FPGA (ie. the unit under test) has asserted LDREQ#. This can be accomplished by calling plxsim_wait_demand before calling plxsim_write_const_demand. When called, the procedure will continue to perform transfers until one of two conditions is met:

  1. The FPGA (unit under test) deasserts LDREQ# in order to pause the DMA transfer, or
  2. All of the data has been transferred; the length of the data vector specifies how many bytes must be transferred.

During the transfer(s), LDACK# will be asserted with the proper timing with respect to LADS# etc.

The order parameter specifies the width of the local data bus. Valid values are:

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 data parameter holds the data to be written on the 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.

 


 Top of page