Skip to content
ENExplore Calculators

Block RAM Requirement Calculator

Work out block ram requirement instantly with clear inputs, formula shown and shareable results.

About Block RAM Requirement Calculator

Block RAMs are allocated as a two-dimensional array: blocks in parallel to reach the data width, and blocks in series to reach the depth. Because both dimensions round up, the achieved bit utilisation is often well below 100% — a real cost when BRAM is the limiting resource.

Formula

BRAM allocation

width blocks = ceil(width / native width); depth blocks = ceil(depth / native depth); total = product

Worked example

With the default values below, Block RAM Requirement Calculator returns Block RAMs required of 68. Change any input above and every figure here is recalculated in your browser.

Inputs used

Memory required
2,400 kbit
Block RAM size
36 kbit
Data width required
72 bits
Native block RAM width
36 bits

Results

Block RAMs required
68 blocks
Blocks for depth
34 blocks
Blocks in parallel for width
2 blocks
Bit utilisation
98.04% %

Step by step

  1. 1Values used
  2. 2BRAM allocation
  3. 3Block RAMs required= 68 blocks
  4. 4Blocks for depth= 34 blocks
  5. 5Blocks in parallel for width= 2 blocks
  6. 6Bit utilisation= 98.04 %

Assumptions and limits

  • The result is derived only from the 4 inputs listed above. Anything not among them is not part of the calculation.
  • In particular, this calculator does not take inflation, tax, fees or charges or compounding frequency into account.
  • Figures are rounded for display to 2 decimal places, so totals built from several rounded parts can differ slightly from the unrounded arithmetic.

How these calculators are built and tested is described on the Methodology page. If a figure looks wrong, please report it.

Frequently Asked Questions

Why is utilisation often poor?

Rounding in both dimensions. A memory 40 bits wide needs two 36-bit blocks, wasting 32 bits of width across the whole depth.

When should I use distributed RAM instead?

For small memories — a few hundred bits — where a whole block RAM would be wasted. LUT-based distributed RAM is far more efficient there.

Block RAM Requirement Calculator | Calcrivo