Chapter 16: Testbench and Design Example
16–29
BFM Procedures and Functions
November 2012
Altera Corporation
Arria V GZ Hard IP for PCI Express
ebfm_barwr_imm Procedure
The
ebfm_barwr_imm
procedure writes up to four bytes of data to an offset from the
specified Endpoint BAR.
byte_len
Length, in bytes, of the data written. Can be 1 to the minimum of the bytes remaining in
the BAR space or BFM shared memory.
tclass
Traffic class used for the PCI Express transaction.
Table 16–20. ebfm_barwr Procedure (Part 2 of 2)
Table 16–21. ebfm_barwr_imm Procedure
Location
altpcietb_bfm_driver_rp.v
Syntax
ebfm_barwr_imm(bar_table, bar_num, pcie_offset, imm_data, byte_len, tclass)
Arguments
bar_table
Address of the Endpoint
bar_table
structure in BFM shared memory. The
bar_table
structure stores the address assigned to each BAR so that the driver code does not need
to be aware of the actual assigned addresses only the application specific offsets from
the BAR.
bar_num
Number of the BAR used with
pcie_offset
to determine PCI Express address.
pcie_offset
Address offset from the BAR base.
imm_data
Data to be written. In Verilog HDL, this argument is
reg [31:0]
.In both languages, the
bits written depend on the length as follows:
Length Bits Written
4 31
downto
0
3
23 downto 0
2 15
downto
0
1
7 downto 0
byte_len
Length of the data to be written in bytes. Maximum length is 4 bytes.
tclass
Traffic class to be used for the PCI Express transaction.