Simple Dual-Port Block RAM - Simple Dual-Port Block RAM - UG573

UltraScale Architecture Memory Resources User Guide (UG573)

Document ID
UG573
Release Date
2025-11-18
Revision
1.14 English

Each 18 Kb block and 36 Kb block can also be configured in a SDP RAM mode. In this mode, the block RAM port width doubles to 36 bits for the 18 Kb block RAM and 72 bits for the 36 Kb block RAM. When the block RAM is used as SDP memory, independent read and write operations can occur simultaneously, where port A is designated as the write port and port B as the read port. When the read and write port access the same data location at the same time, it is treated as a collision, identical to the port collision in true dual-port mode. UltraScale architecture-based devices support these modes when the block RAM is used as SDP memory (READ_FIRST, WRITE_FIRST, NO_CHANGE).

The following figure shows the simple dual-port data flow for RAMB36 when the block RAM is used as SDP memory.

Figure 1. RAMB36 Usage in a Simple Dual-Port Data Flow

The following table lists the simple dual-port functions and descriptions.

Table 1. Simple Dual-Port Functions and Descriptions
Port Function Description
DOUT Data output bus.
DOUTP Data output parity bus.
DIN Data input bus.
DINP Data input parity bus.
RDADDR Read data address bus.
RDCLK Read data clock.
RDEN Read port enable.
REGCE Output register clock enable.
RSTREG Synchronous set/reset of the output registers.
RSTRAM Synchronous set/reset of the output data latches.
WRADDR Write data address bus.
WRCLK Write data clock.
WREN Write port enable.
SLEEP Dynamic shutdown power saving. If Sleep is High, the block is in power-saving mode.
CASDIN[A|B] Cascade data input bus.
CASDINP[A|B] Cascade parity input bus.
CASDOUT[A|B] Cascade data output bus.
CASDOUTP[A|B] Cascade parity output bus.
RDADDREN/WRADDREN Address latching enable. If Low, the old address is latched.
  1. For a more complete cascade data flow and port descriptions, see Cascadable Block RAM and Block RAM Library Primitives.