Equivalence checking between behavioral and RTL descriptions with virtual controllers and datapaths

In this article, we present techniques for comparison between behavioral level and register transfer level (RTL) design descriptions by mapping the designs into virtual controllers and virtual datapaths. We also discuss about how the equivalence between behavioral level and RTL designs can be defined precisely using the proposed “attribute statements” in an interactive fashion. Implementation issues as well as considerations on real life industrial design examples are also presented.

[1]  Hans Eveking,et al.  Formal Verification of Designs with Complex Control by Symbolic Simulation , 1999, CHARME.

[2]  David L. Dill,et al.  CVC: A Cooperating Validity Checker , 2002, CAV.

[3]  Andreas Kuehlmann,et al.  Equivalence checking using cuts and heaps , 1997, DAC.

[4]  Sriram K. Rajamani,et al.  Boolean Programs: A Model and Process for Software Analysis , 2000 .

[5]  Mark David Weiser,et al.  Program slices: formal, psychological, and practical investigations of an automatic program abstraction method , 1979 .

[6]  Daniel Kroening,et al.  Behavioral consistency of C and Verilog programs using bounded model checking , 2003, Proceedings 2003. Design Automation Conference (IEEE Cat. No.03CH37451).

[7]  Hiroshi Nakamura,et al.  The standard SpecC language , 2001, International Symposium on System Synthesis (IEEE Cat. No.01EX526).

[8]  Andrew Seawright,et al.  RTL c-based methodology for designing and verifying a multi-threaded processor , 2002, DAC '02.

[9]  Paul Anderson,et al.  Tool Support for Fine-Grained Software Inspection , 2003, IEEE Softw..

[10]  Sharad Malik,et al.  Chaff: engineering an efficient SAT solver , 2001, Proceedings of the 38th Design Automation Conference (IEEE Cat. No.01CH37232).

[11]  Glesner,et al.  Formal Sequential Equivalence Checking of Digital Systems by Symbolic Simulation , 2001 .

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

[13]  Alan J. Hu,et al.  Automatic formal verification of DSP software , 2000, DAC.

[14]  Masahiro Fujita,et al.  Program slicing for VHDL , 2002 .

[15]  Masahiro Fujita,et al.  Advanced Verification Techniques Based on Learning , 1995, 32nd Design Automation Conference.

[16]  K. Tanabe,et al.  Program Slicing for System Level Designs in SpecC , 2004 .

[17]  Daniel D. Gajski,et al.  SPECC: Specification Language and Methodology , 2000 .