16.11.2015 Views

UltraScale Architecture Memory Resources

ug573-ultrascale-memory-resources

ug573-ultrascale-memory-resources

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Chapter 2: Built-in FIFO<br />

Table 2-1:<br />

Common-Clock/Single-Clock FIFO<br />

The common-clock FIFO (also referred to as a single-clock or Synchronous FIFO) is a<br />

first-in/first-out queue where the write interface and the read interface share a common<br />

clock domain. When using synchronous FIFOs, the CLOCK_DOMAINS attribute should be<br />

set to COMMON to eliminate clock cycle latency when asserting or deasserting flags.<br />

The interface of the common-clock FIFO is identical to that of the independent-clocks FIFO,<br />

except that either:<br />

• There is only one clock input (CLK), or<br />

• There are two clock inputs (WRCLK and RDCLK) that must be tied to the same clock<br />

source (clock buffer)<br />

Because a common-clock FIFO requires no synchronization between clock domains, the<br />

internal latencies from a write operation to the deassertion of EMPTY or PROGEMPTY, or<br />

from a read operation to the deassertion of FULL or PROGFULL are much faster than in an<br />

equivalent independent-clock FIFO.<br />

Also, because a common-clock FIFO does not need to deal with the uncertainty of two<br />

unrelated clock domains, it can use the entire memory contents for FIFO storage, rather<br />

than reserving a memory location to prevent errors. Because of this, the depth of a<br />

common-clock FIFO is one word larger than an equivalent independent-clock FIFO.<br />

Table 2-1 shows the FIFO capacity in the standard and FWFT modes.<br />

Common-Clock FIFO Capacity Without Output Registers and with Symmetric Ports<br />

Standard Mode<br />

FWFT Mode<br />

18 Kb FIFO 36 Kb FIFO 18 Kb FIFO 36 Kb FIFO<br />

4K entries by 4 bits 8K entries by 4 bits 4K + 1 entries by 4 bits 8K + 1 entries by 4 bits<br />

2K entries by 9 bits 4K entries by 9 bits 2K + 1 entries by 9 bits 4K + 1 entries by 9 bits<br />

1K entries by 18 bits 2K entries by 18 bits 1K + 1 entries by 18 bits 2K + 1 entries by 18 bits<br />

512 entries by 36 bits 1K entries by 36 bits 512 + 1 entries by 36 bits 1K + 1 entries by 36 bits<br />

– 512 entries by 72 bits – 512 + 1 entries by 72 bits<br />

Notes:<br />

1. There are minor variances in depth based on certain mode settings and output register stages.<br />

<strong>UltraScale</strong> <strong>Architecture</strong> <strong>Memory</strong> <strong>Resources</strong> www.xilinx.com<br />

Send Feedback<br />

51<br />

UG573 (v1.2) February 24, 2015

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

Saved successfully!

Ooh no, something went wrong!