Programmable Devices
CPLDs, FPGAs, SoC FPGAs, Configuration, and Transceivers
21602 Discussions

Signal bvalid of Agilex HPS is too slow when Rtile BAM writes to CCU through f2h_bridge

xianghua_li
Beginner
602 Views

Following document [Intel Agilex® 7 FPGA I-Series PCIe Root Port Reference Design | Documentation | RocketBoards.org] (Intel Agilex® 7 FPGA I-Series PCIe Root Port Reference Design | Documentation | RocketBoards.org 1)

We designed a board with Agilex I-series FPGA to run Linux on HPS and managed to enable a PCIe 5.0 x4 NVMe host with R-tile. We can run sequential read/write with FIO on HPS/Linux but sequential read speed is only ~900MB/s, far slow than expected 15GB/s. After some debugging, it is found that BVALID of HPS is too slow. As it can be seen in signal_tap below, BVALID asserts many cycles after WLAST signal. The data write channel transfers 512 bytes in 8 burst cycles (clock is 250MHz). WLAST/WVALID/WREADY seem to be correct. But BVALID signal doesn’t assert until 304ns (76 axi_clk cycles (250MHz)) after WLAST signal. This results in hugh waste on f2h write bandwidth. Can someone advise why BVALID is too slow? 

xianghua_li_0-1727186567605.png

in signal tap, data write only occurs when WREADY and WVALID are high. Because BVALID asserts too late, there is no data write in most clock cycles, resulting in low sequential read speed (memory write TLPs)

xianghua_li_1-1727186640756.png

Updated Quartus design to ingore BVALID from HPS. Sequential read speed boosts from ~900MB/s to 3.5GB/s. There are still idle cycles with no data transactions. Is F2H write to HPS really that slow (3.5GB/s, far below bandwidth of DDR4 @2666MT/s)? As it can be seen in signal tap below there are many cycles WREADY is low which probably means HPS is not ready. 

xianghua_li_2-1727186685560.png

Is there a way to make FPGA write to HPS faster? 
xianghua_li_3-1727187025136.png

 

 
 
0 Kudos
3 Replies
Jeet14
Employee
455 Views

Hi,


I think this can be improved based on the DDR refresh time and changing the mode to F2SDRAM (directly route packet to SDRAM not through CCU).


Regards

Tiwari


0 Kudos
Jeet14
Employee
418 Views

Hi,


Please let me know if you have any query on this?


Regards

Tiwari


0 Kudos
Jeet14
Employee
383 Views

As we do not receive any response from you on the previous question/reply/answer that we have provided. Please login to ‘https://supporttickets.intel.com/s/?language=en_US’, view details of the desire request, and post a feed/response within the next 15 days to allow me to continue to support you. After 15 days, this thread will be transitioned to community support. The community users will be able to help you on your follow-up questions.


0 Kudos
Reply