Lecturer: Professor M.J.C. Gordon (email@example.com)
No. of lectures: 12
Prerequisite course: Specification and Verification I
The aim of the course is to introduce modern work on formal hardware verification. Both manual deductive methods and automatic techniques (including model checking) will be discussed. Hardware description languages will be described and used to illustrate similarities and differences with software verification.
Students successfully completing the course will have been introduced to the following topics. The use of Floyd-Hoare logic for verifying HDL programs. Event, trace and cycle semantics of a simple Verilog-like HDL. The theory of words (bitstrings). Formal verification of adder and multiplier examples. The description of hardware directly in higher order logic. Modelling combinational and sequential behaviour. Representing behaviour with predicates. The strengths and weaknesses of various transistor models. Formal treatment of simple CMOS examples and edge-triggered D-type registers. Temporal abstraction. Transition systems. Modelling with BDDs. Early quantification. Expressing properties in CTL. Model checking.
None (comprehensive notes supplied).