UltraScale Architecture Memory Resources
ug573-ultrascale-memory-resources
ug573-ultrascale-memory-resources
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Chapter 1: Block RAM <strong>Resources</strong><br />
• Separate synchronous set/reset pins independently control the set/reset of the<br />
optional output registers and output latch stages in the block RAM.<br />
• An attribute to configure the block RAM as a common-clock/single-clock FIFO to<br />
eliminate flag latency uncertainty.<br />
• 18, 36, or 72-bit wide block RAM ports can have an individual write enable per byte.<br />
This feature is popular for interfacing to a microprocessor.<br />
• Each block RAM contains optional address sequencing and control circuitry to operate<br />
as a built-in independent-clock FIFO memory. The block RAM can be configured as an<br />
18 Kb or 36 Kb FIFO.<br />
• All inputs are registered with the port clock and have a setup-to-clock timing<br />
specification.<br />
• All outputs have a read function or a read-during-write function, depending on the<br />
state of the write enable (WE) pin. The outputs are available after the clock-to-out<br />
timing interval. The read-during-write outputs have one of three operating modes:<br />
WRITE_FIRST, READ_FIRST, and NO_CHANGE.<br />
• A write operation requires one clock edge.<br />
• A read operation requires one clock edge.<br />
• All output ports are latched or registered (optional). The state of the output port does<br />
not change until the port executes another read or write operation. The default<br />
block RAM output is register mode.<br />
RECOMMENDED: The output datapath has an optional internal pipeline register. Using the register<br />
mode is strongly recommended. This allows a higher clock rate. However, it adds a clock cycle latency<br />
of one.<br />
The block RAM usage rules include:<br />
• The block RAM synchronous output registers (optional) are set or reset (SRVAL) with<br />
RSTREG when DO_REG = 1. The RSTREG_PRIORITY attribute determines if RSTREG has<br />
priority over REGCE. The synchronous output latches are set or reset (SRVAL) with<br />
RSTRAM when DO_REG is 0 or 1.<br />
IMPORTANT: The setup time of the block RAM address and write enable pins must not be violated.<br />
Violating the address setup time (even if write enable is Low) can corrupt the data contents of the<br />
block RAM.<br />
• The block RAM register mode RSTREG requires REGCE = 1 to reset the output DO<br />
register value if the RSTREG_PRIORITY is set to REGCE. The block RAM array data<br />
output latch does not get reset in this mode. The block RAM latch mode RSTRAM<br />
requires the block RAM enable, EN = 1, to reset the output DO latch value.<br />
• There are two block RAM primitives: RAMB36E2 and RAMB18E2.<br />
<strong>UltraScale</strong> <strong>Architecture</strong> <strong>Memory</strong> <strong>Resources</strong> www.xilinx.com<br />
Send Feedback<br />
7<br />
UG573 (v1.2) February 24, 2015