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 137<br />

Slices Util. t-PAR (s) Max freq. (Mhz) Pwr (mW)<br />

Unpipelined/Auto 4872 95% 225 53.3 -<br />

Unpipelined/Placed 1907 37% 19 65.5 -<br />

Pipelined/Auto 4872 95% 142 123.0 1404<br />

Pipelined/Placed 1908 37% 40 150.9 852<br />

Table 6.2: Results for 7 adder trees<br />

method. This appears to be a result <strong>of</strong> the Xilinx algorithm only packing, as a first preference,<br />

“related” logic into the same slice. Thus, while the manually specified layout tends to use<br />

both function generators in a slice, the automatic one prefers to use only one. This may<br />

allow the Xilinx router to perform better and could explain why the automatically placed<br />

single pipelined adder tree example requires more <strong>FPGA</strong> resources than the placed version<br />

but still runs faster.<br />

We measure the power consumption <strong>of</strong> the pipelined variants. Running at the same clock<br />

frequency, the placed design consumes substantially less power (39% less dynamic power,<br />

once the quiescent consumption <strong>of</strong> the development board is subtracted) than the unplaced<br />

design, though it is unclear whether this is the result <strong>of</strong> the design using fewer logic resources<br />

or <strong>of</strong> better routing.<br />

6.3 Median Filter<br />

Median filters are a special case <strong>of</strong> ranked order filtering. The median filtering operation is<br />

widely used in digital image processing to remove noise and in a variety <strong>of</strong> other applications.<br />

Our circuit will be restricted to one dimensional filtering, although the extension to a two<br />

dimensional filter is not difficult.<br />

A 1-dimensional median filtering operation involves “sliding” a filter window along a range<br />

<strong>of</strong> values and selecting the median value from the elements currently <strong>with</strong>in the window.<br />

This can be achieved by sorting the elements and selecting the middle value - obviously the<br />

window size must always be an odd number so that there is a middle element to select. In<br />

our circuit the elements <strong>with</strong>in the current window are stored and each cycle a new value<br />

is inserted while the oldest is discarded. Since only one element differs between different<br />

window positions we do not need to implement a full sorter but can simplify the circuitry to

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

Saved successfully!

Ooh no, something went wrong!