cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Highlighted
Visitor
Visitor
487 Views
Registered: ‎12-09-2018

How can I read more than 1000-bit of data in BRAM at the same time?

Jump to solution

 

If I create block memory generator, the bit-width of BRAM is set to 32-bit in maximum.

 

But, I want to read more than 1000-bit of data in BRAM at the same clock.

 

When I see the architecture of FPGA as below figure, I can see many BRAMs. 

So I guess multiple BRAMs exist in FPGA, and I might access multiple BRAMs in same clock. My guess is illustrated in below figure.

If I create multiple Block Memory Generators as below figure, Can I access multiple data in BRAMs from PL side? My guess is right?

 

aaa.png

0 Kudos
1 Solution

Accepted Solutions
Highlighted
Advisor
Advisor
437 Views
Registered: ‎04-26-2015

Each block memory generator will represent at least half a block RAM (because a 36K block RAM can be divided into two 18K ones, and that is the smallest BRAM unit that Vivado will work with). Depending on the RAM size/width, Vivado may use multiple block RAMs.

 

In standalone mode (no AXI interface) you can actually specify a 1000-bit width on the block memory generator and it'll automatically use the necessary number of BRAM tiles.

View solution in original post

0 Kudos
4 Replies
Highlighted
Advisor
Advisor
459 Views
Registered: ‎04-26-2015

You can certainly access multiple BRAMs in parallel, but an AXI master can only talk to a single slave at a time - to access multiple BRAMs you'll have to skip AXI and interface with the RAMs directly.

0 Kudos
Visitor
Visitor
449 Views
Registered: ‎12-09-2018

Thank you for your reply!

 

Then, my guess "2.each BRAM corresponds to each block memory generator?" in the figure is correct?

0 Kudos
Highlighted
Advisor
Advisor
438 Views
Registered: ‎04-26-2015

Each block memory generator will represent at least half a block RAM (because a 36K block RAM can be divided into two 18K ones, and that is the smallest BRAM unit that Vivado will work with). Depending on the RAM size/width, Vivado may use multiple block RAMs.

 

In standalone mode (no AXI interface) you can actually specify a 1000-bit width on the block memory generator and it'll automatically use the necessary number of BRAM tiles.

View solution in original post

0 Kudos
Highlighted
Visitor
Visitor
423 Views
Registered: ‎12-09-2018

Thanks!!

 

Your reply is all I want!! Have a nice day!

0 Kudos