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 5. SPECIALISATION 109<br />

operated at a low level on a placed and routed circuit and replaced unnecessary functional<br />

components <strong>with</strong> wires. However, this process leaves the bounding box <strong>of</strong> the circuit un-<br />

changed and is thus not effective at freeing logic area on the device. In addition this bounding<br />

box can contain long wire lengths which will have a performance impact on the specialised<br />

design, reducing its maximum clock frequency.<br />

An alternative approach to specialising the low level hardware is to generate a specialised<br />

design at a higher level. This however requires that the full process <strong>of</strong> synthesising, mapping,<br />

placing and routing a design is completed for the specialised circuit - something that will<br />

probably take far too long. This time can be reduced by taking the middle road and gener-<br />

ating a mapped, placed circuit which only then needs to be routed. Design methodologies<br />

which allow fast generation <strong>of</strong> <strong>FPGA</strong> bitstreams from this kind <strong>of</strong> description have been<br />

described [78].<br />

In this chapter we demonstrate how our Quartz placement infrastructure can be used to<br />

specialise designs and illustrate the principle <strong>of</strong> distributed specialisation.<br />

5.2 Distributed Specialisation<br />

We use the term “distributed specialisation” to describe Quartz blocks which appear to be<br />

hardware elements but which actually contain code which controls their elaboration to pro-<br />

duce simpler hardware if possible. These self-specialising blocks can be seamlessly integrated<br />

into a design to achieve HDL-level support for specialisation.<br />

Distributed specialisation is characterised by the lack <strong>of</strong> any centralised control, making<br />

specialisation available transparently to the designer. We will also demonstrate the slightly<br />

counter-intuitive concept that distributing the specialisation code into multiple locations<br />

actually makes design verification easier as compared to when specialisation is explicitly<br />

controlled by a “specialise” input, such as has been demonstrated <strong>with</strong> the Pebble layout<br />

system [49].<br />

Our self-specialising blocks are “clever components” [75], although they are quite different to<br />

those previously demonstrated. Rather than pairing hardware wires <strong>with</strong> extra information

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

Saved successfully!

Ooh no, something went wrong!