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 2<br />
Built-in FIFO<br />
Overview<br />
Many designs use block RAMs to implement FIFOs. Common-clock or independent-clock<br />
FIFOs can be easily implemented with the dedicated logic in the block RAM. This eliminates<br />
the need for additional CLB logic for counter, comparator, or status flag generation, and<br />
uses just one block RAM resource per FIFO. Both standard and first-word fall-through<br />
(FWFT) modes are supported.<br />
The FIFO can be configured as an 18 Kb or 36 Kb memory. For the 18 Kb mode, the<br />
supported configurations are 4K x 4, 2K x 9, 1K x 18, and 512 x 36. The supported<br />
configurations for the 36 Kb FIFO are 8K x 4, 4K x 9, 2K x 18, 1K x 36, and 512 x 72. The FIFO<br />
ports can now be configured in an asymmetrical fashion.<br />
The block RAM can be configured as a first-in/first-out (FIFO) memory with common or<br />
independent read and write clocks. Port A of the block RAM is used as a FIFO read port, and<br />
Port B is a FIFO write port. Data is read from the FIFO on the rising edge of the read clock<br />
and written to the FIFO on the rising edge of the write clock.<br />
Independent-Clock/Dual-Clock FIFO<br />
The independent-clock FIFO (also referred to as a dual-clock or sometimes asynchronous<br />
FIFO) is a first-in/first-out queue where the write interface and the read interface exist in<br />
different clock domains. To configure the FIFO as an independent-clock FIFO, the attribute<br />
CLOCK_DOMAINS should be set to INDEPENDENT.<br />
The independent-clock FIFO offers a simple write interface and a simple read interface, both<br />
of which could be free-running clocks with no frequency or phase relationship between the<br />
clocks. As such, it is ideal for situations where:<br />
• WRCLK and RDCLK have different but related frequencies<br />
• WRCLK and RDCLK are out-of-phase with each other<br />
• WRCLK and RDCLK are completely asynchronous (have no relationship)<br />
<strong>UltraScale</strong> <strong>Architecture</strong> <strong>Memory</strong> <strong>Resources</strong> www.xilinx.com<br />
Send Feedback<br />
49<br />
UG573 (v1.2) February 24, 2015