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

Create successful ePaper yourself

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

CHAPTER 7. CONCLUSION AND FUTURE WORK 171<br />

same way as our framework. Lava does support overloading but using Haskell type classes<br />

which are not suitable for overloading blocks <strong>with</strong> different parameterisations in the way that<br />

is required for providing additional layout parameters.<br />

7.4 Future Work<br />

Several aspects <strong>of</strong> this work are particularly open ended and we will end by making a few<br />

recommendations for areas worthy <strong>of</strong> future investigation.<br />

7.4.1 Further Support For Alternative <strong>Layout</strong> Interpretations<br />

We have demonstrated how blocks can be given different layout interpretations and over-<br />

loading used to give one <strong>of</strong> these interpretations the status <strong>of</strong> a “default”. However, this<br />

approach still requires that two or more different layouts are explicitly coded for combinator<br />

blocks.<br />

While there will be some cases where blocks are described <strong>with</strong> completely unrelated layout<br />

interpretations, in most cases we expect these different interpretations to be variations on<br />

a theme. It is possible that these operations could be better described by vertical and<br />

horizontal flipping or rotation and higher-order blocks which performed these operation on<br />

their parameter block could provide a simpler method <strong>of</strong> achieving this result. Combinators<br />

<strong>with</strong> could rotate or flip blocks allow abstraction <strong>of</strong> a particular kind <strong>of</strong> layout operation and<br />

promote separation <strong>of</strong> concerns in the same way as higher-order combinators do.<br />

Such layout-manipulation combinators would need to be based on a different theoretical basis<br />

to our current system, where one block can not alter the internal structure <strong>of</strong> another. The<br />

verification <strong>of</strong> such combinators would be an interesting exercise, particularly ensuring that<br />

they do not invalidate a previously valid layout.<br />

Another useful extension would be to provide a mechanism for series and parallel compositions<br />

to be given multiple layout interpretations. Lava achieves this for series composition by<br />

providing different combinators for different series composition layouts, Quartz could take a<br />

similar approach but achieve it more concisely since series composition is a language-level

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

Saved successfully!

Ooh no, something went wrong!