Using Transformations and Verification in Circuit Design

  • James B. Saxe
  • James J. Horning
  • John V. Guttag
  • Stephen J. Garland
Conference paper
Part of the Workshops in Computing book series (WORKSHOPS COMP.)

Abstract

We show how machine-checked verification can support an approach to circuit design based on transformations. This approach starts with a conceptually simple (but inefficient) initial design and uses a combination of ad hoc and algorithmic transformations to produce a design that is more efficient (but more complex).

We present an example in which we start with a simplified CPU design and derive an efficient pipelined form, including circuitry for reverting the effects of partially executed instructions when a successful branch is detected late in the pipeline. The algorithmic stage of our derivation applies a transformation, retiming, that has been proven to preserve functional behavior in the general case. The ad hoc stage requires special justification, which we supply in the form of a machine-checked formal verification.

Keywords

Ruby Veri 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. [1]
    Avra Cohn, “The notion of proof in hardware verification,” Journal of Automated Reasoning, Vol. 5, No. 2, June 1989, pp. 127–139.CrossRefMATHGoogle Scholar
  2. [2]
    David Detlefs and Randy Forgaard, “A procedure for automatically proving the termination of a set of rewrite rules,” Proceedings of the First International Conference on Rewriting Techniques and Applications, Dijon, France, Lecture Notes in Computer Science 202, Springer-Verlag, May 1985, pp. 255–270.Google Scholar
  3. [3]
    Randy Forgaard and John V. Guttag, “REVE: A term rewriting system generator with a failure-resistant Knuth-Bendix,” Proceedings of a Workshop on Term Rewriting (ed. by D. Kapur and D. Musser ), April 1984, pp. 5–31.Google Scholar
  4. [4]
    Stephen J. Garland and John V. Guttag, “A guide to LP, the Larch Prover,” in preparation.Google Scholar
  5. [5]
    Stephen J. Garland, John V. Guttag, and James J. Horning, “Debugging Larch Shared Language specifications,” IEEE Transactions on Software Engineering, Vol. 16, No. 9, September 1990, pp 1044–1057.CrossRefGoogle Scholar
  6. [6]
    Stephen J. Garland, John V. Guttag, and Jurgen Staunstrup, “Verification of VLSI circuits using LP,” Proceedings of the IFIP WG.10.2 Conference on the Fusion of Hardware Design and Verification, North Holland, 1988, pp. 329–345.Google Scholar
  7. [7]
    Pierre Lescanne, “REVE: a rewrite rule laboratory,” Proceedings of the 8th International Conference on Automated Deduction,Oxford, England, Lecture Notes in Computer Science 230, Springer-Verlag, July 1986, pp. 695696.Google Scholar
  8. [8]
    Charles E. Leiserson and James B. Saxe, “Optimizing synchronous systems,” Journal of VLSI and Computer Systems, Vol. 1, No. 1, Spring 1983, pp. 41–67.Google Scholar
  9. [9]
    Charles E. Leiserson and James B. Saxe, “Retiming synchronous circuitry,” Algorithmica, Vol. 6, No. 1, 1991, pp. 5–35.MathSciNetCrossRefMATHGoogle Scholar
  10. [10]
    John Rushby and Friedrich von Henke, “Formal verification of the interactive convergence clock synchronization algorithm using EHDM,” SRI International report SRI-CSL-89–3, February, 1989.Google Scholar
  11. [11]
    Mary Sheeran, “Retiming and slowdown in Ruby,” in George J. Milne, ed., The Fusion of Hardware Design and Verification, North-Holland, 1988, pp. 289–308.Google Scholar
  12. [12]
    Jurgen Staunstrup and Mark Greenstreet, “Synchronized transitions,” in Jurgen Staunstrup, ed., Formal Methods for VLSI Design, NorthHolland/Elsevier, 1990, pp. 71–129.Google Scholar
  13. [13]
    Jurgen Staunstrup and Robin Sharp, editors, Proceedings of the Second IFIP WG10.2/WG10.5 Workshop on Designing Correct Circuits,NorthHolland/Elsevier, 1992.Google Scholar

Copyright information

© Springer-Verlag London 1993

Authors and Affiliations

  • James B. Saxe
    • 1
  • James J. Horning
    • 1
  • John V. Guttag
    • 2
  • Stephen J. Garland
    • 2
  1. 1.Systems Research CenterDigital Equipment CorporationPalo AltoUSA
  2. 2.Laboratory for Computer ScienceMassachusetts Institute of TechnologyCambridgeUSA

Personalised recommendations