Datasheet

7 Series FPGAs Data Sheet: Overview
DS180 (v2.5) August 1, 2017 www.xilinx.com
Product Specification 9
Block RAM
Some of the key features of the block RAM include:
Dual-port 36 Kb block RAM with port widths of up to 72
Programmable FIFO logic
Built-in optional error correction circuitry
Every 7 series FPGA has between 5 and 1,880 dual-port block RAMs, each storing 36 Kb. Each block RAM has two
completely independent ports that share nothing but the stored data.
Synchronous Operation
Each memory access, read or write, is controlled by the clock. All inputs, data, address, clock enables, and write enables are
registered. Nothing happens without a clock. The input address is always clocked, 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.
During a write operation, the data output can reflect either the previously stored data, the newly written data, or can remain
unchanged.
Programmable Data Width
Each port can be configured as 32K × 1, 16K × 2, 8K × 4, 4K × 9 (or 8), 2K × 18 (or 16), 1K × 36 (or 32), or 512 × 72 (or 64).
The two ports can have different aspect ratios without any constraints.
Each block RAM can be divided into two completely independent 18 Kb block RAMs that can each be configured to any
aspect ratio from 16K × 1 to 512 × 36. Everything described previously for the full 36 Kb block RAM also applies to each of
the smaller 18 Kb block RAMs.
Only in simple dual-port (SDP) mode can data widths of greater than 18 bits (18 Kb RAM) or 36 bits (36 Kb RAM) be
accessed. In this mode, one port is dedicated to read operation, the other to write operation. In SDP mode, one side (read
or write) can be variable, while the other is fixed to 32/36 or 64/72.
Both sides of the dual-port 36 Kb RAM can be of variable width.
Two adjacent 36 Kb block RAMs can be configured as one cascaded 64K × 1 dual-port RAM without any additional logic.
Error Detection and Correction
Each 64-bit-wide block RAM can generate, store, and utilize eight additional Hamming code bits and perform single-bit error
correction and double-bit error detection (ECC) during the read process. The ECC logic can also be used when writing to or
reading from external 64- to 72-bit-wide memories.
FIFO Controller
The built-in FIFO controller for single-clock (synchronous) or dual-clock (asynchronous or multirate) operation increments
the internal addresses and provides four handshaking flags: full, empty, almost full, and almost empty. The almost full and
almost empty flags are freely programmable. Similar to the block RAM, the FIFO width and depth are programmable, but the
write and read ports always have identical width.
First word fall-through mode presents the first-written word on the data output even before the first read operation. After the
first word has been read, there is no difference between this mode and the standard mode.