Forum Discussion
Avalon to AXI implementation
Hi Michael,
There is an option in HBM Controller, which says enable burstcount greater than 2 for AXI interface. I have enabled it and entered a value of 128. Ideally, it should have solved the issue.
HBM2 Controller IP file -- you mean XML file which contains the configuration, right ?
I have attached the XML file here.
I started with the design example PCIe + DDR + HBM2 :
https://fpgacloud.intel.com/devstore/platform/19.1.0/Pro/an881-pcie-avmm-dma-gen3x16-ddr4-and-hbm2/
I upgraded the design from 19.2 to 21.3. I couldnt get the DMA software working in our Ubuntu 18.04 setup.
Problem was PIO operation was working fine, but DMA operation was always failing. Some of the functions in driver provided requires older linux kernel version, while Ubuntu 18.04 has newer linux kernel version.
If you can provide some pointers on your setup or how to make it working, it would be helpful.
Hence I replaced the AVMM PCIe IP with MCDMA IP, whose software is working in Ubuntu 18.04.
Example design has HBM to AXI verilog wrapper file, I have not modified it.
I am able to do PIO operations, DMA operations where payload is limited to 64 Bytes at a time.
Best Regards,
Pramod
Best Regards,
Pramod
Hi Pramod,
here a screenshot of our current controller settings in the HBM2 controller IP core (Quartus 20.4 / IP version 19.6.1):
HBM2 controller settings
Unfortunately we did not test the example design. Furthermore we wrote our own driver for the PCIe DMA access which I'm allowed to share due to confidential information.
We implemented our own converter (confidential, too) because the Intel AXI Bridge could not achieved the promised data rate.
We had several discussion/debug sessions with Intel Premier support over weeks but all provided possibilities with Intel IP only were not successful.
We added a signal tap in the mm_interconnect (which is autogenerated by QSYS) and AXI Bridge IP core and saw wrong AXI transactions ongoing which blocked/decreased the throughput tremendously. We proved that in our simulations, too.
Further, the data rate between PCIe DMA and HBM2 wasn't our main topic. We had some further AXI busses connected to the HBM2 which are providing the data (here we had a high data rate requirement).
The readout of the data using PCIe DMA wasn't used to have a specific data rate.
For the AXI connection to the AXI HBM2 we implemented our own fabric, too, instead of using the autogenerated mm_interconnect.
Kind regards,
Michael