- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Device: 1SM21BHU2F53E2VGS1 (Stratix 10 MX)
Quartus version: 19.2 (19.4 is possible to use)
Connection to host PC from FPGA: JTAG through FPGA Blaster II (USB cable)
Hi, we want to preload HBM memory with some dataset so that we can process that data on FPGA. Is there any way to initialized HBM memory with hex file or binary file? Like .hex file or .mif file it used to be there for this purpose?
Thank you.
HSuh.
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
The question is for initializing "actual" HBM memory on Stratix 10 MX board. Not for the simulation.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi HSuh,
Short answer is NO due to HBM IP need to perform calibration for every power up cycle.
Even if we have a way to pre-load the data to memory, it will be overwritten by pre-define training data used in calibration process.
Thanks.
Regards,
dlim
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thanks for the answer and help. But then, how do we initialize HBM? There must be some way of doing it.
I am currently looking into the design example AN881, which has DMA IP, PCIe Hard IP and HBM interface/controller IP.
Isn't it there for the communication between host PC's CPU and HBM through PCIe connection?
By using those IPs, we can give a DMA module some kind of commands that can initialize the HBM memory with dataset we want on the host side.
This will happen after the configuration and calibration finished. Since writing into the HBM thorugh PCIe using DMA module will happen in the USER mode, it won't be affected by the calibration process and the FPGA will retain what we write into the HBM. Isn't it?
Thank you
Best,
Han-sok.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Han-sok,
Now i understand the difference between your definition of HBM2 initialization vs mine.
My understanding of HBM2 initialization is during FPGA power up, HBM2 IP will initialize HBM2 chipset and then perform calibration. Once calibration completed and successful, user can then perform write/read operation to HBM2
Your understanding of HBM2 initialization in my opinion will be the user mode HBM2 write/read operation.
I visualize what you are trying to perform is as below :
- Store some pre-defined data in FPGA on chip memory
- Power up FPGA and boot into Linux, PCIe driver will then control DMA IP to copy on chip memory data to HBM2
Unfortunately, Intel FPGA doesn't provide customized service on PCIe driver design.
Perhaps you want to consult on other active PCIe forum to get advise on how to do it.
Thanks.
Regards,
dlim
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Han-sok,
It's been a while since we last communicated. I hope I explained our difficulty on providing customized design service.
Hopefully you manage to find help from other PCIe forum.
For now, I am setting this case to closure.
Thanks.
Regards,
dlim
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page