GTS AXI Streaming IP for PCI Express* Design Example User Guide
ID
817713
Date
10/23/2025
Public
2.1. Directory Structure
2.2. Generating the Design Example
2.3. Simulating the Design Example
2.4. Design Example Simulation Testbench
2.5. Compiling the Design Example
2.6. Hardware and Software Requirements
2.7. Program the FPGA
2.8. Installing the Linux Kernel Driver
2.9. Running the Design Example
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
1.2.2.2. Read Write Module
Prepare the Avalon® memory-mapped Write Sequence or Read Sequence for the Avalon® memory-mapped interface.
- Write Sequence: Data is aligned by the Barrel Shifter and passed to aligned data FIFO. The write state machine extracts the address, burst count, FBE/LBE, and generates the Avalon® memory-mapped write command. The command is then stored in the Avalon® memory-mapped command FIFO and passed to the Avalon® memory-mapped interface. The maximum write burst count allowed is 8, as decided from the aligned data FIFO depth.
- Read Sequence: The read state machine decodes the combination of Type1 read and Type2 read based on the PREPROC CMD. Next, it generates the Avalon® memory-mapped command for each Type1 or Type2 read. Concurrently, the CPL command is generated for each Avalon® memory-mapped read command and stored to the CPL CMD FIFO. In the event of waitrequest by the MEM device, Avalon® memory-mapped command FIFO can hold up to 16 data cycles.