UltraScale Architecture Memory Resources
ug573-ultrascale-memory-resources
ug573-ultrascale-memory-resources
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