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 2. BACKGROUND AND RELATED WORK 26<br />

<strong>with</strong> a few primitive inference rules and axioms. HOL has only a few kinds <strong>of</strong> primitive<br />

terms: variables, constants, function applications and λ-abstractions <strong>with</strong> all other notations<br />

are derived from them (it is worth remembering that higher-order logic is based on typed<br />

λ-calculus).<br />

This simple core logic means that eventually all reasoning should be reduced to these primitive<br />

inference steps and this approach is quite low level relative to other theorem provers. HOL<br />

uses tactics to guide the system in the application <strong>of</strong> primitive steps toward solving theorem<br />

proving goals. A tactic can be regarded as a high level pro<strong>of</strong> step where the primitive<br />

steps necessary to achieve the same functionality are carried out automatically. Tacticals are<br />

functions are used to combine a series <strong>of</strong> tactics into a larger step <strong>of</strong> inference.<br />

HOL has been used extensively in hardware verification, including the verification <strong>of</strong> full<br />

microprocessors [18, 33].<br />

PVS, the Prototype <strong>Verification</strong> System [59], is a general-purpose interactive verification en-<br />

vironment developed at SRI International. The specification language <strong>of</strong> PVS is based on<br />

higher-order logic but also incorporates predicate types and subtypes that allow the defi-<br />

nition <strong>of</strong> partial functions. These constrained types lead to a type checking process that<br />

is undecidable and type correctness may incur additional pro<strong>of</strong> obligations for the user to<br />

manage.<br />

Inference steps in PVS proceed at a high level, <strong>with</strong> primitive rules for operations such<br />

as boolean simplification and decision procedures for linear arithmetic. Unlike HOL it is<br />

therefore not necessary to rely on tactics to the same extent in order to build usable pro<strong>of</strong><br />

steps for the interactive environment. Strategies, which are analogous to HOL tactics, can<br />

be constructed to automate a sequence <strong>of</strong> PVS inference steps.<br />

PVS is less customisable than other theorem provers, however the high degree <strong>of</strong> automation<br />

makes it a very practical tool. One example <strong>of</strong> the large-scale use <strong>of</strong> PVS is the verifica-<br />

tion <strong>of</strong> the AAMP5 microprocessor [79], a commercial processor <strong>with</strong> around half a million<br />

transistors.<br />

ACL2 [34] is an automated reasoning system based on Boyer-Moore logic [9], a first-order,<br />

quantifier-free logic. ACL’s logic is a very small subset <strong>of</strong> Common Lisp, a standard list

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

Saved successfully!

Ooh no, something went wrong!