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

2.4.3 Comparison <strong>with</strong> Model Checking<br />

Although theorem proving tends to require much more human intervention than model check-<br />

ing, it has distinct advantages. Firstly, it does not suffer from the state-space explosion that<br />

afflicts model checking as circuits grow in size. Secondly, it is <strong>of</strong>ten easy to prove theorems<br />

for entire classes <strong>of</strong> circuits while model checking tends to be restricted to specific instances<br />

<strong>of</strong> circuits, for example, the Quartz retiming law proved earlier as Theorem 1 can be applied<br />

to any circuit described using repeated composition and similar laws have been proved for<br />

common circuit structures such as rows, columns etc.<br />

When there is a high degree <strong>of</strong> pro<strong>of</strong> re-use possible theorem proving may have an advantage<br />

since key lemmas can be proved once and used in other pro<strong>of</strong>s many times. Also, when model<br />

checking is used to completely verify an implementation against a specification it is <strong>of</strong>ten<br />

necessary to expend considerable effort on simplifying the implementation model to reduce<br />

the state space <strong>of</strong> the problem to something tractable. Recent work [5] has demonstrated that<br />

theorem proving can produce better/stronger results in a similar amount <strong>of</strong> time to model<br />

checking for the verification <strong>of</strong> a security architecture, although a greater level <strong>of</strong> pro<strong>of</strong> expert<br />

involvement was required.<br />

2.4.4 Logic and Pro<strong>of</strong><br />

The essential step in all theorem proving is to formulate the problem in some kind <strong>of</strong> logic and<br />

the choice <strong>of</strong> logic to be used is an issue <strong>of</strong> some debate. Problems can be formulated either<br />

in “raw logic” or can be embedded in an application-specific notation however the power <strong>of</strong><br />

the underlying logic is key. Simple logics support more automation and computer-assisted<br />

pro<strong>of</strong> search procedures are more likely to be effective however powerful logics support better<br />

specification and embedding.<br />

Set theory and first order logic is a standard logical foundation for many theorem proving<br />

applications. Higher-order logics, which allow more flexibility in the scope <strong>of</strong> quantifiers and<br />

the use <strong>of</strong> higher-order arguments to functions/predicates, are more expressive than first<br />

order logic however they are less “well behaved” and this makes automation more difficult.<br />

In general, it is easier for tool users to switch between different logics, which all share common

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

Saved successfully!

Ooh no, something went wrong!