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.

HDL Coding Techniques<br />

• RAM descriptions with a synchronous read generate a Block<br />

RAM macro. In some cases, a Block RAM macro can actually be<br />

implemented with Distributed RAM. The decision on the actual<br />

RAM implementation is done by the macro generator.<br />

Here is the list of VHDL/Verilog templates that will be described<br />

below:<br />

• Single-Port RAM with asynchronous read<br />

• Single-Port RAM with "false" synchronous read<br />

• Single-Port RAM with synchronous read (Read Through)<br />

• Single-Port RAM with Enable<br />

• Dual-Port RAM with asynchronous read<br />

• Dual-Port RAM with false synchronous read<br />

• Dual-Port RAM with synchronous read (Read Through)<br />

• Dual-Port RAM with One Enable Controlling Both Ports<br />

• Dual-Port RAM with Enable Controlling Each Port<br />

• Dual-Port RAM with Different Clocks<br />

• Multiple-Port RAM descriptions<br />

If a given template can be implemented using Block and Distributed<br />

RAM, XST will implement BLOCK ones. You can use the ram_style<br />

attribute to control RAM implementation and select a desirable RAM<br />

type. Please refer to the “Design Constraints” chapter for more<br />

details.<br />

Please note that the following features specifically available with<br />

Block RAM are not yet supported:<br />

• Dual write port<br />

• Parity bits<br />

• Different aspect ratios on each port<br />

Please refer to the “FPGA Optimization” chapter for more details on<br />

RAM implementation.<br />

XST <strong>User</strong> <strong>Guide</strong> 2-121

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

Saved successfully!

Ooh no, something went wrong!