Use BRAM as high bandwidth averager buffer
Posted: Wed Oct 20, 2021 2:43 am
Hi,
I am trying to make High-Bandwidth averager with FPGA. I need over 8k samples per pulse and averaging over 2k times (or 1k times). So I tried to modify Anton's averager project that use BRAM, but I can't extend the number of samples over 1024. It uses 32bit data width.
I set Block Memory generator 32 width/16384 depth. But it looks like they don't save data after 1024. When I call data to C, they return dummy data after 1024(that dummy data are always same, don't change). It uses 0x4000_0000 ~ 0x4000_0FFF (range 4k) for BRAM data memory map address.
Can I use BRAM as I want? Or should I use another memory like DRAM? Also it will be thankful to tell me my mistake or misunderstanding.
Thanks for the help
I am trying to make High-Bandwidth averager with FPGA. I need over 8k samples per pulse and averaging over 2k times (or 1k times). So I tried to modify Anton's averager project that use BRAM, but I can't extend the number of samples over 1024. It uses 32bit data width.
I set Block Memory generator 32 width/16384 depth. But it looks like they don't save data after 1024. When I call data to C, they return dummy data after 1024(that dummy data are always same, don't change). It uses 0x4000_0000 ~ 0x4000_0FFF (range 4k) for BRAM data memory map address.
Can I use BRAM as I want? Or should I use another memory like DRAM? Also it will be thankful to tell me my mistake or misunderstanding.
Thanks for the help