Skip to main content
Log in

A Formal Framework for Verification of Embedded Custom Memories of the Motorola MPC7450 Microprocessor

  • Published:
Formal Methods in System Design Aims and scope Submit manuscript

Abstract

In this presentation, we will deal with verification of custom designed embedded memories. Using our paradigm, one can abstract the behavior of a memory block by a couple of artifacts—one representing its contents, and another representing its interface. We make use of the well known behavioral model known as the Efficient Memory Model (EMM) [29, 30] to represent contents of memories. We provide a methodology using which the behavior of a switch (or equivalently, transistor) level device can be specified using parameterized regular expressions. These entities can be used to abstractly describe the behavior of a bunch of switches that represent the interface of a memory. An automaton that we construct out of an abstract memory interface definition represents an abstraction of the memory interface itself. We show that such an automaton also forms a transducer that is a simulation model in a symbolic simulation environment. An EMM representing a memory core in conjunction with a transducer representing its interface is used as an abstraction of a complete memory during our automatic verification process.

We also present a language formalism using which we show that the outputs from the transducers that are generated from the abstract specifications are weaker than or equal to the outputs defined by the regular expressions, in a partially ordered output space. We show that although the regular expressions are defined over exact and legal input strings, the transducers computed from them can provide outputs even when provided with weak or illegal input strings. This is an absolute necessity in order to have the capability to produce outputs when treated as a reactive system embedded in a symbolic simulation environment. Thus, we show that the simulation model generated by our technique is an conservative approximation of the corresponding abstract specification.

We present a simple theory of composition that can be used to compose different simulation models used in our technique. Memories consisting of several ports result into several user-provided abstract specifications, which in turn result into several transducers that can be composed into a single transducer. That transducer in turn can be composed to a simulation model of an EMM. Our simple theory of composition also enables one to compose the abstract state space a memory core along with its ports with the concrete state space of the circuitry surrounding the memory core. We have shown that the composite simulation model representing the complete circuit has a partially ordered state space that (a) forms a complete lattice, and (b) that has a monotonic state transition function, that makes it suitable for being used in a symbolic simulation environment making use of Symbolic Trajectory Evaluation (STE) [27].

The verification paradigm used is STE. For Motorola high performance microprocessors, switch level models are hand designed assuming that corresponding RTLs are golden models. Therefore, checking of equivalence between the two models is of absolute necessity as the RTL needs to be predictive of silicon behavior. We have developed a tool based on the proposed technique and used it to check that RTL descriptions of custom memories have been correctly implemented by transistor level descriptions of the same, augmented with abstract specifications of their cores. Our example circuits were taken from the state of the art Motorola MPC7450 microprocessor, a Motorola PowerPC. Experimental evidence testify to the effectiveness of the technique in catching subtle bugs in data path circuitry.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. M. Abadir and J. Reghbati, “Functional testing of semiconductor random access memories,” ACM Computing Surveys, Vol. 15, No. 3, pp. 175–198, 1993.

    Article  Google Scholar 

  2. D.L. Beatty and R.E. Bryant, “Formally verifying a microprocessor using a symbolic methodology,” in Proceedings of Design Automation Conference, 1994, pp. 596–602.

  3. J. Bhadra and N. Krishnamurthy, “Automatic generation of design constraints in verifying high performance embedded dynamic circuits,” in Proceedings of The International Test Conference, 2002, pp. 213–222.

  4. J. Bhadra, A. Martin, J. Abraham, and M. Abadir, “Using abstract specifications to verify PowerPCTM custom memories by symbolic trajectory evaluation,” in Proceedings of the Advanced Research Working Conference on Correct Hardware Design and Verification Methods, LNCS Vol. 2144, Springer-Verlag 2001, pp. 386–402.

  5. J. Bhadra, A. Martin, J. Abraham, and M. Abadir, “A language formalism for verification of PowerPCTM custom memories using compositions of abstract specifications,” in Proceedings of The IEEE High Level Design Validation and Test Workshop, 2001, pp. 134–141.

  6. M. Bruer and A. Friedman, Diagnosis and Reliable Design of Digital Systems, Computer Science, Woodland Hills, CA, 1976.

  7. R.E. Bryant, “Graph-based algorithms for Boolean function manipulation,” IEEE Transactions on Computers, Vol. 35, No. 8, pp. 677–691, 1986.

    Google Scholar 

  8. R.E. Bryant, “Algorithmic aspects of symbolic switch network analysis,” IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, Vol. 6, No. 4, pp. 618–633, 1987.

    Article  Google Scholar 

  9. R.E. Bryant, “Boolean analysis of MOS circuits,” IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, Vol. 6, No. 4, pp. 634–649, 1987.

    Article  Google Scholar 

  10. R.E. Bryant, “Verification of synchronous circuits by symbolic logic simulation,” in Hardware Specification, Verification, and Synthesis: Mathematical Aspects, Springer-Verlag, 1990, pp. 14–24.

  11. R.E. Bryant and C.-J.H. Seger, “Formal verification of digital circuits using symbolic ternary system models,” in Proceedings of Computer Aided Verification, American Mathematical Society, 1991, pp. 121–146.

  12. R.E. Bryant and M.N. Velev, “Verification of pipelined microprocessors by comparing memory execution sequences in symbolic simulation,” in Proceedings of Asian Computer Science Conference, ASIAN, LNCS 1345, Springer-Verlag, 1997, pp 18–31.

  13. R. Dekker, F. Beenker, and L. Thijssen, “A realistic fault model and test algorithms for static random access memories,” IEEE Transactions on Computers, Vol. 9, pp. 567–572, 1990.

    Google Scholar 

  14. N. Ganguly, M.S. Abadir, and M. Pandey, “PowerPC array verification methodology using formal techniques,” in Proceedings of International Test Conference, 1996, pp. 857–864.

  15. H. Gericke, Lattice Theory, Frederick Ungar Publishing Company, New York, NY, 1966.

  16. J. E. Hopcroft and J.D. Ullman, Introduction to Automata Theory, Languages, and Computation, Addison-Wesley Publishing Company, Reading, MA, 1979.

  17. J. Knaizuk and C. Hartman, “An optimal algorithm for testing stuck-at faults in random access memories,” IEEE Transactions on Computers, Vol. C-26, pp. 1141–1144, 1977.

    Google Scholar 

  18. N. Krishnamurthy, A. Martin, M. Abadir, and J. Abraham, “Validating PowerPCTM microprocessor custom memories,” IEEE Design and Test of Computers, Vol. 17, No. 4, pp. 61–76, 2000.

    Article  Google Scholar 

  19. C.B. McDonald and R.E. Bryant, “Symbolic timing simulation using cluster scheduling,” in Proceedings of Design Automation Conference, 2000, pp. 254–259.

  20. C.B. McDonald and R.E. Bryant, “CMOS circuit verification with symbolic switch-level timing simulation,” IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, Vol. 20, No. 3, pp. 458–474, 2001.

    Article  Google Scholar 

  21. R. Nair, “An optimal algorithm for testing stuck-at faults in random access memories,” IEEE Transactions on Computers, Vol. C-28, No. 3, pp. 258–261, 1979.

    Google Scholar 

  22. H. Oberle and P. Muhmenthaler, “Test pattern development and evaluation for DRAMS with fault simulator RAMISM,” in Proceedings of the International Test Conference, 1991, pp. 548–555.

  23. M. Pandey and R.E. Bryant, “Exploiting symmetry when verifying transistor-level circuits by symbolic trajectory evaluation,” IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, Vol. 18, No. 7, pp. 918–935, 1999.

    Article  Google Scholar 

  24. M. Pandey, R. Raimi, D.L. Beatty, and R.E. Bryant, “Formal verification of PowerPC arrays using symbolic trajectory evaluation,” in Proceedings of Design Automation Conference, 1996, pp. 649–654.

  25. M. Pandey, R. Raimi, R.E. Bryant, and M.S. Abadir, “Formal verification of content addressable memories using symbolic trajectory evaluation,” in Proceedings of Design Automation Conference, 1997, pp. 167–172.

  26. C.-J.H. Seger, “Voss—a formal hardware verification system: User’s Guide,” Technical Report 93-45, Department of Computer Science, University of British Columbia, 1993.

  27. C.-J.H. Seger and R.E. Bryant, “Formal verification by symbolic evaluation of partially-ordered trajectories,” Formal Methods in System Design, Vol. 6, No. 2, pp. 147–189, 1995.

    Article  Google Scholar 

  28. A. van de Goor, Testing Semiconductor Memories: Theory and Practice, John Wiley and Sons, 1991.

  29. M.N. Velev and R.E. Bryant, “Efficient modeling of memory arrays in symbolic ternary simulation,” in Proceedings of The International Conference on Tools and Algorithms for the Construction and Analysis of Systems, LNCS Vol. 1384, Springer-Verlag, 1998, pp. 136–150.

  30. M.N. Velev, R.E. Bryant, and A. Jain, “Efficient modeling of memory arrays in symbolic simulation,” in Proceedings of Computer-Aided Verification, LNCS Vol. 1254, Springer-Verlag, 1997, pp. 388–399.

  31. L.-C. Wang, M.S. Abadir, and N. Krishnamurthy, “Automatic generation of assertions for formal verification of PowerPCTM microprocessor arrays using symbolic trajectory evaluation,” in Proceedings of The Design Automation Conference, 1998, pp. 534–537.

  32. N.H.E. Weste and K. Eshraghian, Principles of CMOS VLSI Design: A Systems Perspective, Addison-Wesley Publishing Company, Reading, MA, 1993.

Download references

Author information

Authors and Affiliations

Authors

Additional information

This work was done when Andrew K. Martin was with Motorola Inc.

Compatible with the PowerPC instruction set architecture.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Bhadra, J., Martin, A.K. & Abraham, J.A. A Formal Framework for Verification of Embedded Custom Memories of the Motorola MPC7450 Microprocessor. Form Method Syst Des 27, 67–112 (2005). https://doi.org/10.1007/s10703-005-2250-1

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10703-005-2250-1

Keywords

Navigation