DEV Community

Hedy
Hedy

Posted on

How many MB of BRAM are on a UltraScale FPGA?

The amount of Block RAM (BRAM) in UltraScale FPGAs varies significantly across the product family. Here's a detailed breakdown:

Image description

UltraScale BRAM Overview
Basic BRAM Unit: 36Kb block (can be configured as two independent 18Kb blocks)

Organization: All UltraScale devices use 36Kb BRAM primitives (RAMB36E2)

BRAM Capacity by Device Family
1. UltraScale (Standard) FPGAs

Image description
2. UltraScale+ FPGAs (Higher Density)

Image description
3. UltraScale+ MPSoCs (with Processing System)

Image description
Key Technical Notes

  1. Effective Capacity:

Each 36Kb block can store:

  • 36Kb × 1 (deep narrow memory)
  • 18Kb × 2 (when split)
  • Various width configurations (×1, ×2, ×4, ×9, ×18, ×36)
  1. UltraRAM (in some UltraScale+ devices):
  • Additional high-density memory (288Kb blocks)
  • Not counted in BRAM totals above
  • Example: XCZU19EG has 32.4 Mb BRAM + 108 Mb UltraRAM
  1. Configuration Options:
  • Can be initialized during configuration
  • Supports ECC in some configurations
  • Cascadable for wider/deeper memory

How to Check for Your Specific Device

  1. In Vivado:
tcl report_property [get_parts <your_part>] 
Enter fullscreen mode Exit fullscreen mode

Look for "BLOCK_RAM" properties

  1. In documentation:
  • Consult the "UltraScale Architecture Configurable Logic Block" (UG574)
  • Or the specific device datasheet

Top comments (0)