05.07.2013 Views

Xilinx Synthesis Technology User Guide

Xilinx Synthesis Technology User Guide

Xilinx Synthesis Technology User Guide

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

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!