A methodology for formal design of hardware control with application to cache coherence protocols

We propose a methodology for developing hardware control. In addition to the usual distinction between control and data path, a further distinction within the control code is made between algorithmic code and bookkeeping code. The high level specification describes the algorithmic code in an object-oriented st yle, is executable, formally verified, and automatically translated into HDL, thus giving hardware which is by construction equivalen t to its specification. We discuss the application of this methodology as it is used in product development of cache coherence protocols.

[1]  Luciano Lavagno,et al.  ECL: a specification environment for system-level design , 1999, DAC '99.

[2]  Ásgeir Th. Eiríksson The Formal Design of 1M-gate ASICs , 1998, FMCAD.

[3]  C. Eisner,et al.  RuleBase: an industry-oriented formal verification tool , 1996, 33rd Design Automation Conference Proceedings, 1996.

[4]  Janak H. Patel,et al.  A low-overhead coherence solution for multiprocessors with private cache memories , 1984, ISCA '84.

[5]  Ilan Beer,et al.  On-the-Fly Model Checking of RCTL Formulas , 1998, CAV.

[6]  Kunle Olukotun,et al.  Java as a specification language for hardware-software systems , 1997, ICCAD 1997.

[7]  Kenneth L. McMillan,et al.  Using Formal Verification/Analysis Methods on the Critical Path in System Design: A Case Study , 1995, CAV.

[8]  A. Richard Newton,et al.  Design and specification of embedded systems in Java using successive, formal refinement , 1998, Proceedings 1998 Design and Automation Conference. 35th DAC. (Cat. No.98CH36175).

[9]  sgeir Th. Eir ksson Integrating Formal Verification Methods with A Conventional Project Design Flow , 1996 .

[10]  Tommy Kuhn,et al.  Description and Simulation of Hardware/Software Systems with Java , 1999, DAC.

[11]  Kenneth L. McMillan,et al.  Symbolic model checking , 1992 .

[12]  Gérard Berry,et al.  The foundations of Esterel , 2000, Proof, Language, and Interaction.

[13]  James K. Archibald,et al.  Cache coherence protocols: evaluation using a multiprocessor simulation model , 1986, TOCS.