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
- 1Values used
- 2BRAM allocation
- 3Block RAMs required= 68 blocks
- 4Blocks for depth= 34 blocks
- 5Blocks in parallel for width= 2 blocks
- 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.
Related Calculators
- Decoupling Capacitance Requirement Calculator
- DSP Slice Requirement Calculator
- Amdahl Speedup Calculator
- ASIC Development Cost Calculator
- ATE Throughput Calculator
- Ball Grid Array Pitch Calculator
- Bit Error Rate From SNR Calculator
- Bitstream Size Calculator
- Branch Misprediction Penalty Calculator
- Burn In Time Calculator
You might also need
- Decoupling Capacitance Requirement CalculatorAlso in Semiconductor, VLSI & Hardware Design
- DSP Slice Requirement CalculatorAlso in Semiconductor, VLSI & Hardware Design
- Amdahl Speedup CalculatorAlso in Semiconductor, VLSI & Hardware Design
- ATE Throughput CalculatorAlso in Semiconductor, VLSI & Hardware Design
- Bitstream Size CalculatorAlso in Semiconductor, VLSI & Hardware Design
- Burn In Time CalculatorAlso in Semiconductor, VLSI & Hardware Design
