24.04.2013 Views

Verification of Parameterised FPGA Circuit Descriptions with Layout ...

Verification of Parameterised FPGA Circuit Descriptions with Layout ...

Verification of Parameterised FPGA Circuit Descriptions with Layout ...

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.

CHAPTER 6. LAYOUT CASE STUDIES 132<br />

2. Power consumption. For some variants <strong>of</strong> circuits we have been able to measure the<br />

relative power consumption <strong>of</strong> placed and unplaced designs and compare them. Once<br />

again we would hope that manually placed designs would have lower power consump-<br />

tion, however this may differ from circuit to circuit.<br />

3. Place and route time. The time taken to place and route a circuit is an important<br />

part <strong>of</strong> the overall hardware compilation time, particularly for dynamic specialisation<br />

applications where it is necessary to generate circuits very quickly. This is measured<br />

by the Xilinx synthesis tools running on an Intel dual Pentium 4 Xeon 2.6Ghz PC <strong>with</strong><br />

4GB <strong>of</strong> RAM.<br />

4. Logic area. The logic area used by circuits will be measured as the number <strong>of</strong> slices<br />

required on the Virtex-II.<br />

6.2 Adder Tree<br />

The simplest circuits we analyse are pipelined and unpipelined binary adder trees.<br />

6.2.1 Ripple Adder<br />

Binary ripple adders can be laid out quite densely on the Virtex-II architecture, using a single<br />

slice to implement the addition (and pipeline delay, if desirable) <strong>of</strong> two bits. This is because<br />

the architecture <strong>of</strong> each slice (Figure 2.2, page 11) is such that two full-adder circuits can be<br />

implemented in a single slice, using both function generators and the carry chain.<br />

The Virtex slice architecture contains specialised carry logic designed to create fast carry<br />

chains. A Virtex full adder can be built by using the 4-input look-up table as an xor function<br />

which is then connected to the muxcy carry multiplexer to generate the carry out signal and<br />

xorcy logic to generate the sum result signal (which can then be registered if desired). This<br />

arrangement is depicted in Figure 6.1 and the Quartz code which generates this arrangement<br />

is shown in Figure 6.2. This description exploits the geometric interpretation <strong>of</strong> Quartz block<br />

domains and ranges to use the cout signal in the domain to indicate that it is connected to<br />

the top side <strong>of</strong> the block and cin in the range to indicate it is on the bottom <strong>of</strong> the block.

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

Saved successfully!

Ooh no, something went wrong!