05.07.2013 Views

Xilinx Synthesis Technology User Guide

Xilinx Synthesis Technology User Guide

Xilinx Synthesis Technology User Guide

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.

RAMs<br />

FPGA Optimization<br />

Two types of RAM are available in the inference and generation<br />

stages: Distributed and Block RAMs.<br />

• If the RAM is asynchronous READ, Distributed RAM is inferred<br />

and generated.<br />

• If the RAM is synchronous READ, Block RAM is inferred. In this<br />

case, XST can implement Block RAM or Distributed RAM. The<br />

default is Block RAM.<br />

In Virtex, Virtex-E, Virtex-II, Virtex-II Pro, Spartan-II and Spartan-IIE,<br />

XST uses the following primitives:<br />

• RAM16X1S and RAM32X1S for Single-Port Synchronous<br />

Distributed RAM<br />

• RAM16X1D primitives for Dual-Port Synchronous Distributed<br />

RAM<br />

Virtex-II and Virtex-II Pro, XST uses the following primitives:<br />

• For Single-Port Synchronous Distributed RAM:<br />

♦ For Distributed Single_Port RAM with positive clock edge:<br />

RAM16X1S, RAM16X2S, RAM16X4S, RAM16X8S,<br />

RAM32X1S, RAM32X2S, RAM32X4S, RAM32X8S,<br />

RAM64X1S,RAM64X2S, RAM128X1S,<br />

♦ For Distributed Single-Port RAM with negative clock edge:<br />

RAM16X1S_1, RAM16X2S_1, RAM16X4S_1, RAM16X8S_1,<br />

RAM32X1S_1, RAM32X2S_1, RAM32X4S_1, RAM32X8S_1,<br />

RAM64X1S_1,RAM64X2S_1, RAM128X1S_1,<br />

• For Dual-Port Synchronous Distributed RAM:<br />

♦ For Distributed Dual-Port RAM with positive clock edge:<br />

RAM16X1D, RAM32X1D, RAM64X1D<br />

♦ For Distributed Dual-Port RAM with negative clock edge:<br />

RAM16X1D_1, RAM32X1D_1, RAM64X1D_1<br />

XST <strong>User</strong> <strong>Guide</strong> 3-7

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

Saved successfully!

Ooh no, something went wrong!