Versal Adaptive SoC Technical Reference Manual (AM011)

Document ID
Release Date
1.6 English

The PL includes UltraRAM that can be configured and operated in different ways.


  • 32 KB of data storage, 4K x 9 bytes (64-bit data plus 8-bit ECC)
  • Dual port, single-clock synchronous memory
  • Cascade-able for building larger memories, dedicated column routing wires to connect adjacent UltraRAM units
  • ECC on both ports with single bit error detection and correction, and double bit error detection
  • Sleep power saving features
Synchronous Operation Only
Each memory access, read, and write is controlled by the clock. All inputs, data, address, clock enable, and write enable are registered. The data output is always latched, retaining data until the next operation. An optional output data pipeline register allows higher clock rates at the cost of an extra cycle of latency.
Asynchronous Operation
The data outputs can also be set or reset asynchronously. Sleep input (places the memory array in low-power state) can be optionally asynchronous.
Pseudo Dual-port Operation
There are two ports on the memory. Each port is capable of reading or writing in a single cycle. The ports are sequenced in a fixed order, allowing up to two transactions per cycle (both ports write, both ports read, or one port reads while the other writes.) This necessitates that the two ports share a common clock. During a write operation, the data output remains unchanged on a given port. There is independent reset control of output latches and registers.

The error-correction code (ECC) logic in the UltraRAM supports real time error checking and correction. Both ports have dedicated ECC for either read or write. The ECC logic is organized for 64-bit-wide data, which can generate, store, and use eight additional bits to perform single-bit error correction and double-bit error detection during the read process.

It is possible to cascade the address and data of adjacent blocks to build deeper memories. Optional pipelining is also available to maintain the clock rate through tall cascades of UltraRAM.

The number of UltraRAM blocks in a device are listed in the Versal Architecture and Product Data Sheet: Overview (DS950).

MPSoC to Versal UltraRAM Comparisons

The Versal device UltraRAM is very similar to the UltraRAM in the AMD UltraScale+™ device. There are multiple UltraRAM columns distributed in the PL. Improvements include asymmetric port widths, memory initialization values, and data cascade ordering.

For additional features and functionality, see the Versal Adaptive SoC Memory Resources Architecture Manual (AM007).