
12 www.xilinx.com 7 Series FPGAs Memory Resources
UG473 (v1.11) November 12, 2014
Chapter 1: Block RAM Resources
• 18, 36, or 72-bit wide block RAM ports can have an individual write enable per byte.
This feature is popular for interfacing to a microprocessor.
• Each block RAM contains optional address sequencing and control circuitry to
operate as a built-in dual-clock FIFO memory. In the 7 series architecture, the block
RAM can be configured as an 18 Kb or 36 Kb FIFO.
• All inputs are registered with the port clock and have a setup-to-clock timing
specification.
• All outputs have a read function or a read-during-write function, depending on the
state of the write enable (WE) pin. The outputs are available after the clock-to-out
timing interval. The read-during-write outputs have one of three operating modes:
WRITE_FIRST, READ_FIRST, and NO_CHANGE.
• A write operation requires one clock edge.
• A read operation requires one clock edge.
• All output ports are latched or registered (optional). The state of the output port does
not change until the port executes another read or write operation. The default block
RAM output is latch mode.
• The output datapath has an optional internal pipeline register. Using the register
mode is strongly recommended. This allows a higher clock rate; however, it adds a
clock cycle latency of one.
The 7 series FPGAs block RAM usage rules include:
• The synchronous set/reset (RSTRAM) ports cannot be used when the ECC decoder is
enabled (EN_ECC_READ = TRUE).
• The block RAM synchronous output registers (optional) are set or reset (SRVAL) with
RSTREG when DO_REG = 1. The RSTREG_PRIORITY attribute determines if
RSTREG has priority over REGCE. The synchronous output latches are set or reset
(SRVAL) with RSTRAM when DO_REG is 0 or 1.
• The setup time of the block RAM address and write enable pins must not be violated.
Violating the address setup time (even if write enable is Low) can corrupt the data
contents of the block RAM.
• The block RAM register mode RSTREG requires REGCE = 1 to reset the output DO
register value; if the RSTREG_PRIORITY is set to REGCE. The block RAM array data
output latch does not get reset in this mode. The block RAM latch mode RSTRAM
requires the block RAM enable, EN = 1, to reset the output DO latch value.
• There are two block RAM primitives: RAMB36E1 and RAMB18E1. The RAM_MODE
attribute determines the mode of the block RAM, either SDP mode or true dual-port
(TDP) mode.
• Different read and write port width choices are available when using specific block
RAM primitives. The parity bits are only available for the x9, x18, and x36 port
widths. The parity bits should not be used when the read width is x1, x2, or x4. If the
read width is x1, x2 or x4, the effective write width is x1, x2, x4, x8, x16, or x32.
Similarly, when a write width is x1, x2, or x4, the actual available read width is x1, x2,
x4, x8, x16, or x32 even though the primitive attribute is set to 1, 2, 4, 9, 18, or 36,
respectively. Table 1-1 shows some possible scenarios.
Comentarios a estos manuales