Formal Verification and Models
In this chapter we introduce basic notions of formal verification: the formal verification model and the system clock. We define important classes of properties – safety and liveness – and discuss how formal verification efficiency depends on the property class. We provide an alternative property classification into strong and weak depending on the requirements imposed on the property clock. To illustrate the concept of strong operators, we discuss several advanced strong SVA operators. We conclude this chapter with the description how immediate, deferred, and embedded concurrent assertions are treated in formal verification. This chapter does not require any preliminary knowledge except for the familiarity with Boolean logic. We also assume that the reader is familiar with the notion of a set, and with the basic operations on sets, like union, intersection, and complement. Other mathematical notions used in this chapter, such as relations, quantifiers, automata, and languages, are briefly explained in the text as needed.
KeywordsModel Check Transition Relation Finite Automaton Safety Property Strong Operator
- 3.IEEE Standard for SystemVerilog Unified Hardware Design, Specification, and Verification Language (2005) IEEE Std 1800-2005, pp 1–648Google Scholar
- 9.Armoni R, Egorov S, Fraer R, Korchemny D, Vardi M (2005) Efficient LTL compilation for SAT-based model checking. In: ICCADGoogle Scholar
- 23.Clarke EM, Grumberg O, Peled DA (2008) Model checking, 6 edn. MITGoogle Scholar
- 26.Eisner C, Fisman D, Havlicek J (2005) A topological characterization of weakness. In: PODC. pp 1–8Google Scholar
- 57.Trakhtenbrot BA, Barzdin YM (1973) Finite automata: behaviour and synthesis. North-HollandGoogle Scholar