Applying formal verification with protocol compiler

This paper presents a practical methodology for the application of formal verification to the industrial design environment "Protocol Compiler". Our verification flow is to first create a testbench and simulate the design. Then we modify the testbench and perform a formal verification technique called assertion checking. The examples are taken from the networking arena. The first is a simplified RS232 transceiver, the second a pipelined FIFO-like buffer written in Verilog. We show that assertion checking fits well into the design flow and is easy to use within Protocol Compiler.

[1]  Andrew Seawright,et al.  Design and synthesis of array structured telecommunication processing applications , 1997, DAC.

[2]  Forrest Brewer,et al.  Controller optimization for protocol intensive applications , 1996, Proceedings EURO-DAC '96. European Design Automation Conference with EURO-VHDL '96 and Exhibition.

[3]  E BryantRandal Graph-Based Algorithms for Boolean Function Manipulation , 1986 .

[4]  Andrew Seawright,et al.  Clairvoyant: a synthesis system for production-based specification , 1994, IEEE Trans. Very Large Scale Integr. Syst..

[5]  Pierre Wolper,et al.  Expressing interesting properties of programs in propositional temporal logic , 1986, POPL '86.

[6]  Ulrich Holtmann,et al.  Design of a SPDIF receiver using Protocol Compiler , 1998, Proceedings 1998 Design and Automation Conference. 35th DAC. (Cat. No.98CH36175).

[7]  Andrew Seawright,et al.  A system for compiling and debugging structured data processing controllers , 1996, Proceedings EURO-DAC '96. European Design Automation Conference with EURO-VHDL '96 and Exhibition.

[8]  Randal E. Bryant,et al.  Graph-Based Algorithms for Boolean Function Manipulation , 1986, IEEE Transactions on Computers.

[9]  E. Clarke,et al.  Symbolic Model Checking : IO * ’ States and Beyond * , 1992 .

[10]  Edmund M. Clarke,et al.  Symbolic Model Checking: 10^20 States and Beyond , 1990, Inf. Comput..