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.

Implementation Details for Macro Generation<br />

XST processes the following macros:<br />

• adders<br />

• subtractors<br />

• add/sub<br />

CPLD Optimization<br />

• multipliers<br />

• comparators<br />

• multiplexers<br />

• counters<br />

• logical shifters<br />

• registers (flip-flops and latches)<br />

• XORs<br />

The macro generation is decided by the Macro Preserve option,<br />

which can take two values: yes - macro generation is allowed or<br />

no - macro generation is inhibited. The general macro generation flow<br />

is the following:<br />

1. HDL infers macros and submits them to the low-level<br />

synthesizer.<br />

2. Low-level synthesizer accepts or rejects the macros depending on<br />

the resources required for the macro implementations.<br />

An accepted macro becomes a hierarchical block. For a rejected macro<br />

two cases are possible:<br />

• If the hierarchy is kept (Keep Hierarchy Yes), the macro becomes<br />

a hierarchical block.<br />

• If the hierarchy is not kept (Keep Hierarchy NO), the macro is<br />

merged with the surrounded logic.<br />

A rejected macro is replaced by equivalent logic generated by the<br />

HDL synthesizer. A rejected macro may be decomposed by the HDL<br />

synthesizer in component blocks so that one component may be a<br />

new macro requiring fewer resources than the initial one, and the<br />

other smaller macro may be accepted by XST. For instance, a flip-flop<br />

macro with clock enable (CE) cannot be accepted when mapping onto<br />

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

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

Saved successfully!

Ooh no, something went wrong!