cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Highlighted
Explorer
Explorer
10,273 Views
Registered: ‎02-24-2016

Minimum BRAM size

Hi All,

 

What's the minimum size of the Block RAM should be used?

 

I mean the BRAM is being produced with slices... So what's the slice size which the BRAM is composed from?

 

Thank you!

 

P.S. I'm using zynq 7020 if it's a matter...

0 Kudos
7 Replies
Highlighted
Moderator
Moderator
10,267 Views
Registered: ‎01-16-2013

@dmitry1417,

 

Not sure about the size of Block RAM but If you want Bram to infer then you can try using Block Memory Generator IP from Vivado IP catalog.

 

--Syed

---------------------------------------------------------------------------------------------
Kindly note- Please mark the Answer as "Accept as solution" if information provided is helpful.
Give Kudos to a post which you think is helpful and reply oriented.

Did you check our new quick reference timing closure guide (UG1292)?
---------------------------------------------------------------------------------------------
0 Kudos
Highlighted
Xilinx Employee
Xilinx Employee
10,263 Views
Registered: ‎08-01-2008

block ram are dedicated block which size from 18K -36K .

There is three type of memory in FPGA

1.Distributed memory which is created from slices /LUTs
2. BRAMs - these are dedicated block of memory
3. Built in FIFO these also dedicated block

For detail refer memory resources guide for target device

http://www.xilinx.com/support/documentation/user_guides/ug473_7Series_Memory_Resources.pdf

hope it will help you

Thanks and Regards
Balkrishan
--------------------------------------------------------------------------------------------
Please mark the post as an answer "Accept as solution" in case it helped resolve your query.
Give kudos in case a post in case it guided to the solution.
0 Kudos
Highlighted
Explorer
Explorer
10,247 Views
Registered: ‎02-24-2016

As for the Distributed Memory should it be used in the same way as BRAM?

 

How can I connect the Distributed RAM to AXI bus?

 

Actually I need to build 16 DPR memories of 32*4KB each one. What's preferable to use - BRAM or Distributed RAM?

 

Thank you

0 Kudos
Highlighted
Xilinx Employee
Xilinx Employee
10,243 Views
Registered: ‎08-01-2008

Use distributed memory Generator core
http://www.xilinx.com/products/intellectual-property/dist_mem_gen.html
Thanks and Regards
Balkrishan
--------------------------------------------------------------------------------------------
Please mark the post as an answer "Accept as solution" in case it helped resolve your query.
Give kudos in case a post in case it guided to the solution.
0 Kudos
Highlighted
Moderator
Moderator
10,242 Views
Registered: ‎07-01-2015

Hi @dmitry1417,

 

The difference lies in the resources used. If you are using Distribted RAM then the LUT utilization might go high and may not be available for rest of the design. Please verify the no. of BRAMs available in your device. If its enough for your design requirement, then you can make use of BRAMs.

Thanks,
Arpan
----------------------------------------------------------------------------------------------
Kindly note- Please mark the Answer as "Accept as solution" if information provided is helpful.

Give Kudos to a post which you think is helpful and reply oriented.
----------------------------------------------------------------------------------------------
1.JPG
0 Kudos
Highlighted
Advisor
Advisor
10,237 Views
Registered: ‎04-26-2015

In the Zynq 7000 series, the minimum block RAM size is 18K or 16K, depending on what mode it's in (you can only have 18K if it's in 9-bit, 18-bit, or 36-bit mode; otherwise it's a 16K RAM). For small bit widths (18-bit or lower) you can treat each 18K/16K RAM as two 9K/4K RAMs if you want, by using a single port for each one.

 

In your specific case, 4K*32-bit will be best done with eight 16K block RAMs operating in 4K*8-bit mode.

 

In general, block RAM is preferred over distributed RAM for anything that uses a reasonably large amount of space. For a 128K array (as you need) block RAM is definitely better; producing such a large array would use a lot of the general-purpose logic resources. On the other hand, if you only wanted to store 128 bytes of data (1Kbit) then distributed RAM may well make more sense; it won't take up much logic and only storing 1Kbit in an 18Kbit RAM is not a particularly good use of the available resources.

 

Of course, the primary rule for pretty much any software/hardware work is "whatever meets the requirements". If you've got a device where the logic is nearly full but there's plenty of spare block RAM, go ahead and shove a 32-byte array into a spare block RAM to save logic. Or, if you're running out of block RAM but there's spare logic, creating a 128Kb distributed RAM might just be what you need.

Highlighted
Teacher
Teacher
10,079 Views
Registered: ‎03-31-2012

BRAM or as you suggest block ram is not made of slices. It's minimum size is 18Kbits in different aspect ratios. Maybe you mean LUTRAM? the minimum there is 32 bits I believe.
- Please mark the Answer as "Accept as solution" if information provided is helpful.
Give Kudos to a post which you think is helpful and reply oriented.
0 Kudos