Visible to Intel only — GUID: zsr1711751026299
Ixiasoft
A.1.1. ebfm_barwr Procedure
A.1.2. ebfm_barwr_imm Procedure
A.1.3. ebfm_barrd_wait Procedure
A.1.4. ebfm_barrd_nowt Procedure
A.1.5. ebfm_cfgwr_imm_wait Procedure
A.1.6. ebfm_cfgwr_imm_nowt Procedure
A.1.7. ebfm_cfgrd_wait Procedure
A.1.8. ebfm_cfgrd_nowt Procedure
A.1.9. BFM Configuration Procedures
A.1.10. BFM Shared Memory Access Procedures
A.1.11. BFM Log and Message Procedures
A.1.12. Verilog HDL Formatting Functions
Visible to Intel only — GUID: zsr1711751026299
Ixiasoft
2.4.3. PIO Design Example Testbench
The figure below shows the PIO design example simulation design hierarchy.
Figure 13. PIO Design Example Simulation Design Hierarchy
The tests for the PIO design example are defined with the apps_type_hwtcl parameter set to 3.
The tests run under this parameter value are defined in the following tasks:
- ebfm_cfg_rp_ep_rootport
- find_mem_bar
- downstream_loop
The testbench starts with link training and then accesses the configuration space of the IP for enumeration. A task called downstream_loop (defined in the Root Port PCIe* BFM (altpcietb_bfm_rp_gen4_x16.sv)) then performs the PCIe* link test.
This test consists of the following steps:
- Issue a memory write command to write a single dword of data into the on-chip memory behind the Endpoint.
- Issue a memory read command to read back data from the on-chip memory.
- Compare the read data with the write data. If they match, the test counts this as a Pass.
Figure 14. PIO Design Example—Memory Write Followed by Memory Read Simulation Waveforms
Figure 15. PIO Design Example—Completion TLP Simulation Waveforms