Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1109/ISQED.2006.68acmconferencesArticle/Chapter ViewAbstractPublication PagesisqedConference Proceedingsconference-collections
Article

Formal Verification of Pipelined Microprocessors with Delayed Branches

Published: 27 March 2006 Publication History

Abstract

Presented is an approach for formal verification of pipelined microprocessors with delayed branches, i.e., branch instructions whose immediately following instruction is always executed regardless of whether the branch is taken. Delayed branches are used in the instruction sets of the MIPS, SPARC, and PA-RISC architectures. Because of their sequential semantics that spans several consecutive instruction slots, delayed branches complicate the checking of safety and liveness for pipelined designs. The presented approach is highly automatic compared to previous methods for formal verification of pipelined processors with delayed branches.

References

[1]
{1} M.D. Aagaard, N.A. Day, and M. Lou, "Relating Multi-Step and Single-Step Microprocessor Correctness Statements," FMCAD '02, LNCS 2517, Springer-Verlag, November 2002.
[2]
{2} M.D. Aagaard, B. Cook, N.A. Day, and R.B. Jones, "A Framework for Superscalar Microprocessor Correctness Statements," STTT, Vol. 4, No. 3 (May 2003).
[3]
{3} N. Ayewah, S. Beyer, N. Kikkeri, and P.-M. Seidel, "Challenges in the Formal Verification of Complete State-of-the-Art Processors," International Conference of Computer Design (ICCD '05), October 2005.
[4]
{4} S. Beyer, C. Jacobi, D. Kroening, D. Leinenbach, W.J. Paul, "Instantiating Uninterpreted Functional Units and Memory System: Functional Verification of the VAMP," Correct Hardware Design and Verification Methods (CHARME '03), LNCS 2860, October 2003, pp. 51-65.
[5]
{5} R.E. Bryant, S. German, and M.N. Velev, "Processor Verification Using Efficient Reductions of the Logic of Uninterpreted Functions to Propositional Logic," ACM Transactions on Computational Logic (TOCL), Vol. 2, No. 1 (January 2001), pp. 93-134.
[6]
{6} J.R. Burch, and D.L. Dill, "Automated Verification of Pipelined Microprocessor Control," Computer-Aided Verification, LNCS 818, Springer-Verlag, June 1994.
[7]
{7} J.R. Burch, "Techniques for Verifying Superscalar Microprocessors," 33rd Design Automation Conference (DAC '96), June 1996, pp. 552-557.
[8]
{8} J.L. Hennessy, and D.A. Patterson, Computer Architecture: A Quantitative Approach, 3rd edition, Morgan Kaufmann Publishers, 2002.
[9]
{9} Hewlett Packard, PA-RISC 1.1 Architecture Reference Manual, 1994.
[10]
{10} R. Hosabettu, G. Gopalakrishnan, and M.K. Srivas, "Formal Verification of a Complex Pipelined Processor," Formal Methods in System Design, Vol. 23, No. 2 (2003), pp. 171-213.
[11]
{11} G. Kane, and J. Heinrich, MIPS RISC Architecture, Prentice Hall, Englewood Cliffs, 1992.
[12]
{12} S. Lahiri, C. Pixley, and K. Albin, "Experience with Term Level Modeling and Verification of the M¿CORETM Microprocessor Core," International Workshop on High Level Design, Validation and Test, November 2001.
[13]
{13} S.M. Mueller, W.J. Paul, and D. Kroening, "Proving the Correctness of Processors with Delayed Branch Using Delayed PC," Symposium on Numbers, Information and Complexity, Kluwer Academic Publishers, 2000.
[14]
{14} S.M. Mueller, and W.J. Paul, Computer Architecture: Complexity and Correctness , Springer-Verlag, 2000.
[15]
{15} R.P. Paul, SPARC Architecture, Assembly Language Programming, and C, Prentice Hall, 1994.
[16]
{16} L. Ryan, Siege SAT Solver v.4. http://www.cs.sfu.ca/~loryan/personal/
[17]
{17} SPARC International, Inc., The SPARC Architecture Manual, Prentice Hall, Englewood Cliffs, 1992.
[18]
{18} M.N. Velev, and R.E. Bryant, "Exploiting Positive Equality and Partial Non-Consistency in the Formal Verification of Pipelined Microprocessors," 36th Design Automation Conference (DAC '99), June 1999, pp. 397-401.
[19]
{19} M.N. Velev, and R.E. Bryant, "Superscalar Processor Verification Using Efficient Reductions of the Logic of Equality with Uninterpreted Functions to Propositional Logic," Correct Hardware Design and Verification Methods (CHARME '99), LNCS 1703, September 1999.
[20]
{20} M.N. Velev, "Automatic Abstraction of Memories in the Formal Verification of Superscalar Microprocessors," Tools and Algorithms for the Construction and Analysis of Systems (TACAS '01), Springer-Verlag, April 2001.
[21]
{21} M.N. Velev, "Collection of High-Level Microprocessor Bugs from Formal Verification of Pipelined and Superscalar Designs," International Test Conference (ITC '03), October 2003, pp. 138-147.
[22]
{22} M.N. Velev, "Using Automatic Case Splits and Efficient CNF Translation to Guide a SAT-Solver When Formally Verifying Out-of-Order Processors," Artificial Intelligence and Mathematics (AI&MATH '04), January 2004.
[23]
{23} M.N. Velev, "Using Positive Equality to Prove Liveness for Pipelined Microprocessors," Asia and South Pacific Design Automation Conference (ASP-DAC '04), January 2004.
[24]
{24} M.N. Velev, "Efficient Translation of Boolean Formulas to CNF in Formal Verification of Microprocessors," Asia and South Pacific Design Automation Conference (ASP-DAC '04), January 2004.
[25]
{25} M.N. Velev, "Exploiting Signal Unobservability for Efficient Translation to CNF in Formal Verification of Microprocessors," Design, Automation and Test in Europe (DATE '04), February 2004.
[26]
{26} M.N. Velev, "A New Correctness Proof for Positive Equality," International Colloquium on Theoretical Aspects of Computing (ICTAC '04), September 2004, pp. 495-512.
[27]
{27} M.N. Velev, "Integrating Formal Verification into an Advanced Computer Architecture Course," IEEE Transactions on Education, Vol. 48, No. 2 (May 2005), pp. 216-222.
[28]
{28} M.N. Velev, "Automatic Formal Verification of Liveness for Pipelined Processors with Multicycle Functional Units," 13th Advanced Research Working Conference on Correct Hardware Design and Verification Methods (CHARME '05), D. Borrione, and W.J. Paul, eds., LNCS 3725, Springer-Verlag, October 2005, pp. 97-113.
[29]
{29} M.N. Velev, and R.E. Bryant, "TLSim and EVC: A Term-Level Symbolic Simulator and an Efficient Decision Procedure for the Logic of Equality with Uninterpreted Functions and Memories," International Journal of Embedded Systems (IJES), Vol. 1, Nos. 1/2 (2005), pp. 134-149.

Cited By

View all
  • (2011)Exploiting abstraction for efficient formal verification of DSPs with arrays of reconfigurable functional unitsProceedings of the 13th international conference on Formal methods and software engineering10.5555/2075089.2075117(307-322)Online publication date: 26-Oct-2011
  • (2010)Automated formal verification of processors based on architectural modelsProceedings of the 2010 Conference on Formal Methods in Computer-Aided Design10.5555/1998496.1998521(129-136)Online publication date: 20-Oct-2010

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
ISQED '06: Proceedings of the 7th International Symposium on Quality Electronic Design
March 2006
787 pages
ISBN:0769525237

Sponsors

Publisher

IEEE Computer Society

United States

Publication History

Published: 27 March 2006

Check for updates

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 06 Oct 2024

Other Metrics

Citations

Cited By

View all
  • (2011)Exploiting abstraction for efficient formal verification of DSPs with arrays of reconfigurable functional unitsProceedings of the 13th international conference on Formal methods and software engineering10.5555/2075089.2075117(307-322)Online publication date: 26-Oct-2011
  • (2010)Automated formal verification of processors based on architectural modelsProceedings of the 2010 Conference on Formal Methods in Computer-Aided Design10.5555/1998496.1998521(129-136)Online publication date: 20-Oct-2010

View Options

Get Access

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media