Topics: Declarative expression. Temporal Logic. PSL. Assertion Synthesis to H/W Monitors. Stimulus generation.
Declarative programming involves writing assertions that hold for all time.
For instance, on an indicator panel never is light A on at the same time as light B.
Assertion-based design (ABD) is an approach that encourages writing assertions as early as possible, preferably before coding/implementation starts.
Assertions are (conjunctions of):
All four can be proved by formal techniques such as pen and paper, theorem provers and model checkers.
Dynamic validation is simulation while checking properties. This can sometimes find safety violations and sometimes find deadlock but it cannot prove the liveness.
Assertions can be imported from previous designs or other parts of the same design for global consistency.
Formal proof shows up corner case problems not encountered in simulation.
A formally-verified result may be required by the customer.
|1: (C) 2008-13, DJ Greaves, University of Cambridge, Computer Laboratory.|