
Mentor VIP AE AXI3/4 User Guide, V10.2b
476
VHDL AXI3 and AXI4 Slave BFMs
Helper Functions
September 2013
Helper Functions
AMBA AXI protocols typically provide a start address only in a transaction, with the following
addresses for each byte of a data burst calculated using the size, length, and type transaction
fields of the transaction. Helper functions provide you with a simple interface to set and get
actual address/data values.
get_write_addr_data()
This nonblocking procedure returns the actual address addr and data of a particular byte in a
write data burst . It also returns the maximum number of bytes (dynamic_size) in the write data
phase (beat). It is used in a slave test program as a helper procedure to store a byte of data at a
particular address in the slave memory. If the corresponding index does not exist, then this
function returns false; otherwise, it returns true.
Prototype
-- * = axi| axi4
-- ** = AXI | AXI4
procedure get_write_addr_data
(
transaction_id : in integer;
index : in integer;
byte_index : in integer;
dynamic_size : out integer;
addr : out std_logic_vector(**_MAX_BIT_SIZE-1
downto 0);
data : out std_logic_vector(7 downto 0);
bfm_id : in integer;
path_id : in *_path_t; --optional
signal tr_if : inout *_vhd_if_struct_t
);
Arguments transaction_id
Transaction identifier. Refer to “Overloaded Procedure
Common Arguments” on page 203 for more details.
index
Data words array element number.
byte_index Data byte number in a data phase (beat)
dynamic_size Number of data bytes in a data phase (beat).
addr Data byte address.
data Write data byte.
bfm_id BFM identifier. Refer to “Overloaded Procedure Common
Arguments” on page 203 for more details.
path_id (Optional) Parallel process path identifier:
**_PATH_0
**_PATH_1
**_PATH_2
**_PATH_3
**_PATH_4
Refer to “Overloaded Procedure Common Arguments” on
page 203 for more details.
Komentáře k této Příručce