Bfm memory map, Configuration space bus and device numbering, Configuration of root port and endpoint – Altera Arria V Avalon-ST User Manual
Page 195
• BFM Read/Write Request Functions(
altpcietb_bfm_driver_rp.v
)—These functions provide the basic
BFM calls for PCI Express read and write requests. For details on these procedures, refer to BFM Read
and Write Procedures.
• BFM Configuration Functions(
altpcietb_bfm_driver_rp.v
)—These functions provide the BFM calls to
request configuration of the PCI Express link and the Endpoint Configuration Space registers. For
details on these procedures and functions, refer to BFM Configuration Procedures.
• BFM Log Interface(
altpcietb_bfm_driver_rp.v
)—The BFM log functions provides routines for writing
commonly formatted messages to the simulator standard output and optionally to a log file. It also
provides controls that stop simulation on errors. For details on these procedures, refer to BFM Log and
Message Procedures.
• BFM Request Interface(
altpcietb_bfm_driver_rp.v
)—This interface provides the low-level interface
between the
altpcietb_bfm_rdwr
and
altpcietb_bfm_configure
procedures or functions and the
Root Port RTL Model. This interface stores a write-protected data structure containing the sizes and
the values programmed in the BAR registers of the Endpoint, as well as, other critical data used for
internal BFM management. You do not need to access these files directly to adapt the testbench to test
your Endpoint application.
• Avalon-ST Interfaces (
altpcietb_bfm_vc_intf.v
)—These interface modules handle the Root Port interface
model. They take requests from the BFM request interface and generate the required PCI Express
transactions. They handle completions received from the PCI Express link and notify the BFM request
interface when requests are complete. Additionally, they handle any requests received from the PCI
Express link, and store or fetch data from the shared memory before generating the required
completions.
Related Information
•
on page 4-58
•
BFM Shared Memory Access Procedures
BFM Memory Map
The BFM shared memory is configured to be two MBytes. The BFM shared memory is mapped into the
first two MBytes of I/O space and also the first two MBytes of memory space. When the Endpoint applica‐
tion generates an I/O or memory transaction in this range, the BFM reads or writes the shared memory.
Configuration Space Bus and Device Numbering
The Root Port interface is assigned to be device number 0 on internal bus number 0. The Endpoint can be
assigned to be any device number on any bus number (greater than 0) through the call to procedure
ebfm_cfg_rp_ep
. The specified bus number is assigned to be the secondary bus in the Root Port Configu‐
ration Space.
Configuration of Root Port and Endpoint
Before you issue transactions to the Endpoint, you must configure the Root Port and Endpoint Configu‐
ration Space registers. To configure these registers, call the procedure
ebfm_cfg_rp_ep
, which is included
in altpcietb_bfm_driver_rp.v.
2014.12.15
BFM Memory Map
16-25
Testbench and Design Example
Altera Corporation