16.11.2015 Views

UltraScale Architecture Memory Resources

ug573-ultrascale-memory-resources

ug573-ultrascale-memory-resources

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!