LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

FPGA memory partition

Two ways of partition a block RAM of a FPGA in a PXi-7833R

 

1. declare one block of block RAM, and partition it into different segment based on address.  I will have to turn on arbitration, since the memory maybe read in parallel.

2. declare multiple blocks of blck RAM and turn off abitraion.

 

Which is more speed or resoruces efficient?  I am thinking that option 2 will be more resources efficient, since no arbitration circutis need to be added.  However, I am not sure is there any addition overhead associated with declaring more memory blocks.  

 

 

I will play with this a little, but want to ping the forum to see is there a better idea out there. 

------------------------------------------------------------------

Kudos and Accepted as Solution are welcome!
0 Kudos
Message 1 of 2
(2,373 Views)

It depends on how many memory items you need to store, and how large each one should be. According to this FPGA Fundamentals page, "Depending on the FPGA family, you can configure the onboard RAM in blocks of 16 or 36 kb." So, if your data fits into blocks that are multiples of that size, then it will be more efficient to do multiple memory blocks with no arbitration. If you want to store a lot of small pieces of data, then you may need to use your first option, a single large block.

Message 2 of 2
(2,358 Views)