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

construct. Parallel compositions or series compositions could potentially be annotated <strong>with</strong><br />

explicit co-ordinates, or left to follow their default layout interpretation, as appropriate. This<br />

reduces the link between functional and non-functional (layout) description which, while it<br />

is <strong>of</strong>ten desirable, can sometimes be limiting – for example, when placing binary trees the<br />

ideal functional description is not a particularly good layout.<br />

7.4.2 Less User Interaction In Pro<strong>of</strong>s<br />

One issue <strong>with</strong> our pro<strong>of</strong> environment is the handling <strong>of</strong> recursive size functions using Is-<br />

abelle’s recdef construct. At present our approach is to manually convert the automatically<br />

generated definitions into primitive recursion and it would definitely be possible to automate<br />

this process, however it is only valid for a (large) subset <strong>of</strong> Quartz blocks. It should be pos-<br />

sible to get general size functions working by proving appropriate congruence rules to direct<br />

the automatic recdef termination pro<strong>of</strong>s however recdef is a closed box and it will probably<br />

be necessary to closely examine and possibly change the Isabelle/HOL source code to find<br />

and correct the problems.<br />

While we achieved extremely good levels <strong>of</strong> automation, there appears to be potential to<br />

make some considerable improvements. Firstly, we would advocate further investigation into<br />

how the layout theorems regarding series and parallel composition can be better utilised by<br />

the automatic pro<strong>of</strong> tools. There appears to be no reason why these theorems should need<br />

to be applied manually and many blocks that use composition could be proved much more<br />

easily if compositions were decomposed by the theorem prover correctly.<br />

We would also suggest that more experimentation <strong>with</strong> the ideal configuration <strong>of</strong> rule sets<br />

for the classical reasoner and simplifier to maximise effectiveness. We have generated scripts<br />

which specify specific rule sets for each theorem pro<strong>of</strong> in the Quartz compiler but a better<br />

mechanism would be to specify these rule sets as defaults and prove theorems using simply<br />

“auto”. This is not as easy as it sounds since we are presently generating different scripts<br />

for different types <strong>of</strong> theorems and some sort <strong>of</strong> compromise solution would need to be found<br />

that performed as well on all types <strong>of</strong> theorem as the current pro<strong>of</strong>-specific method.<br />

Another avenue that might be worth investigating is to combine multiple logics and provers

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

Saved successfully!

Ooh no, something went wrong!