Verification of Parameterised FPGA Circuit Descriptions with Layout ...
Verification of Parameterised FPGA Circuit Descriptions with Layout ... Verification of Parameterised FPGA Circuit Descriptions with Layout ...
CHAPTER 2. BACKGROUND AND RELATED WORK 22 compile a design description into actual hardware then the operation of the hardware itself. The limits of formal methods for verification must be kept in mind – the techniques do not guarantee correct hardware but they do promise to remove or reduce error in the most error-prone stages of the process. 2.4.1 Model Checking Model checking is an automatic model based property-verification method that is widely applicable for verification tasks. Checking starts with a model description and attempts to discover whether hypotheses asserted by the user are valid in the model. In this way the model checker can verify properties of the model (such as freedom from deadlocks), or can provide counterexamples in the form of an execution trace which fails the test. Modal checking is based on temporal logic [29] which allows the expression of formulae over transition systems. Model checking is essentially the exploration of the full state space of a system and thus can be highly automated but the size of the model that can effectively be executed is limited by the practical constraints of computer processor power, memory, etc. Despite this through considerable practical work on data structures (for example BDDs [11]) circuits of considerable size have been verified using model checkers. Symbolic Trajectory Evaluation (STE) [73], for example, is a model checking approach de- signed to verify circuits with very large state spaces since it is more sensitive to the property being checked than to the size of the circuit. STE grew out of symbolic simulation and it still close to traditional simulation as a verification method. A number of commercially available tools for hardware verification through model checking are available from EDA vendors such as Cadence and Synopsis. Model checking is increasingly used in commercial circuit development as part of the verification process, although not totally replacing simulation. Model checking is particularly useful even in systems that are too large for full exhaustive checking (which is most full systems) because it finds counter- examples - state transition traces that do not meet the specification - and so can be used as part of a bug-fixing process. Simulation and model checking can be used in combination to explore a large state space, with simulation used to reach an interesting state and then
CHAPTER 2. BACKGROUND AND RELATED WORK 23 model checking used to explore exhaustively around that state. 2.4.2 Theorem Proving In theorem proving the relationship between a specification and an implementation is re- garded as a theorem that must be proved in an appropriate formalism. The broadest interpretation of theorem proving can encompass most methods of formal ver- ification including checking boolean equivalence and model checking, however it is generally applied to mathematic proofs of the properties of systems. The chief advantage of this ap- proach is the formal proof established through this process can be justified at every step and thus the overall soundness of the process is ensured. However the size and complexity of even relatively simple theorems means that proof by a human is often a long and difficulty process. Mechanised theorem-proving systems can be used to aid the proof of large theorems. Despite the name, these systems are generally better regarded as proof assistants than provers, since they usually require considerable human intervention to steer them toward their goal. The- orem provers can often automate trivial stages of proofs leaving only the difficult parts for humans to tackle and many can automatically explore possible proofs as a tree search using a variety of different algorithms. Theorem provers and the field of automated deduction in general have a long history, dating back to Robinson’s demonstration of resolution as a basis for mechanised deduction [70] in 1965. One of the earliest applications of theorem proving was to geometric problems, as we apply it in this thesis, with Gelernter’s geometry-theorem proving machine [19, 20] in 1959. Computational geometry [67] is an active field in its own right that specifically tackles the kind of proofs we consider in Chapter 4. However, geometry-specific algorithms are too restrictive in the type of equations they can process as we discuss later in this thesis.
- Page 1 and 2: Imperial College of Science, Techno
- Page 3 and 4: Acknowledgements Firstly, I’d lik
- Page 5 and 6: TABLE OF CONTENTS iv 2.5 Isabelle:
- Page 7 and 8: TABLE OF CONTENTS vi 5.3.1 Speciali
- Page 9 and 10: TABLE OF CONTENTS viii C.1.1 fst .
- Page 11 and 12: Chapter 1 Introduction This thesis
- Page 13 and 14: CHAPTER 1. INTRODUCTION 3 B A C Fig
- Page 15 and 16: CHAPTER 1. INTRODUCTION 5 pler, all
- Page 17 and 18: CHAPTER 2. BACKGROUND AND RELATED W
- Page 19 and 20: CHAPTER 2. BACKGROUND AND RELATED W
- Page 21 and 22: CHAPTER 2. BACKGROUND AND RELATED W
- Page 23 and 24: CHAPTER 2. BACKGROUND AND RELATED W
- Page 25 and 26: CHAPTER 2. BACKGROUND AND RELATED W
- Page 27 and 28: CHAPTER 2. BACKGROUND AND RELATED W
- Page 29 and 30: CHAPTER 2. BACKGROUND AND RELATED W
- Page 31: CHAPTER 2. BACKGROUND AND RELATED W
- Page 35 and 36: CHAPTER 2. BACKGROUND AND RELATED W
- Page 37 and 38: CHAPTER 2. BACKGROUND AND RELATED W
- Page 39 and 40: CHAPTER 2. BACKGROUND AND RELATED W
- Page 41 and 42: CHAPTER 2. BACKGROUND AND RELATED W
- Page 43 and 44: CHAPTER 2. BACKGROUND AND RELATED W
- Page 45 and 46: CHAPTER 3. GENERATING PARAMETERISED
- Page 47 and 48: CHAPTER 3. GENERATING PARAMETERISED
- Page 49 and 50: CHAPTER 3. GENERATING PARAMETERISED
- Page 51 and 52: CHAPTER 3. GENERATING PARAMETERISED
- Page 53 and 54: CHAPTER 3. GENERATING PARAMETERISED
- Page 55 and 56: CHAPTER 3. GENERATING PARAMETERISED
- Page 57 and 58: CHAPTER 3. GENERATING PARAMETERISED
- Page 59 and 60: CHAPTER 3. GENERATING PARAMETERISED
- Page 61 and 62: CHAPTER 3. GENERATING PARAMETERISED
- Page 63 and 64: CHAPTER 3. GENERATING PARAMETERISED
- Page 65 and 66: CHAPTER 3. GENERATING PARAMETERISED
- Page 67 and 68: CHAPTER 3. GENERATING PARAMETERISED
- Page 69 and 70: CHAPTER 3. GENERATING PARAMETERISED
- Page 71 and 72: CHAPTER 3. GENERATING PARAMETERISED
- Page 73 and 74: CHAPTER 3. GENERATING PARAMETERISED
- Page 75 and 76: Chapter 4 Verifying Circuit Layouts
- Page 77 and 78: CHAPTER 4. VERIFYING CIRCUIT LAYOUT
- Page 79 and 80: CHAPTER 4. VERIFYING CIRCUIT LAYOUT
- Page 81 and 82: CHAPTER 4. VERIFYING CIRCUIT LAYOUT
CHAPTER 2. BACKGROUND AND RELATED WORK 23<br />
model checking used to explore exhaustively around that state.<br />
2.4.2 Theorem Proving<br />
In theorem proving the relationship between a specification and an implementation is re-<br />
garded as a theorem that must be proved in an appropriate formalism.<br />
The broadest interpretation <strong>of</strong> theorem proving can encompass most methods <strong>of</strong> formal ver-<br />
ification including checking boolean equivalence and model checking, however it is generally<br />
applied to mathematic pro<strong>of</strong>s <strong>of</strong> the properties <strong>of</strong> systems. The chief advantage <strong>of</strong> this ap-<br />
proach is the formal pro<strong>of</strong> established through this process can be justified at every step and<br />
thus the overall soundness <strong>of</strong> the process is ensured. However the size and complexity <strong>of</strong><br />
even relatively simple theorems means that pro<strong>of</strong> by a human is <strong>of</strong>ten a long and difficulty<br />
process.<br />
Mechanised theorem-proving systems can be used to aid the pro<strong>of</strong> <strong>of</strong> large theorems. Despite<br />
the name, these systems are generally better regarded as pro<strong>of</strong> assistants than provers, since<br />
they usually require considerable human intervention to steer them toward their goal. The-<br />
orem provers can <strong>of</strong>ten automate trivial stages <strong>of</strong> pro<strong>of</strong>s leaving only the difficult parts for<br />
humans to tackle and many can automatically explore possible pro<strong>of</strong>s as a tree search using<br />
a variety <strong>of</strong> different algorithms.<br />
Theorem provers and the field <strong>of</strong> automated deduction in general have a long history, dating<br />
back to Robinson’s demonstration <strong>of</strong> resolution as a basis for mechanised deduction [70] in<br />
1965. One <strong>of</strong> the earliest applications <strong>of</strong> theorem proving was to geometric problems, as<br />
we apply it in this thesis, <strong>with</strong> Gelernter’s geometry-theorem proving machine [19, 20] in<br />
1959. Computational geometry [67] is an active field in its own right that specifically tackles<br />
the kind <strong>of</strong> pro<strong>of</strong>s we consider in Chapter 4. However, geometry-specific algorithms are too<br />
restrictive in the type <strong>of</strong> equations they can process as we discuss later in this thesis.