Skip to main content

Method for Formal Verification of Soft-Error Tolerance Mechanisms in Pipelined Microprocessors

  • Conference paper
Formal Methods and Software Engineering (ICFEM 2010)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 6447))

Included in the following conference series:

Abstract

We present techniques for design and formal verification of both safety and liveness of pipelined/superscalar/VLIW processors with built-in mechanisms for soft-error tolerance. The formal verification is done with the highly automatic method of Correspondence Checking by exploiting the property of Positive Equality and efficient translations of the correctness conditions to equivalent Boolean formulas that are evaluated with SAT solvers. Soft errors are caused by radiation and cross talk between devices or wires on the chip, and will become increasingly frequent with the decreasing transistor sizes in future technologies. Soft errors can cause catastrophic failures in safety-critical applications, such as space, avionics, weapons systems, automotive, and medical devices. Thus, the need to design and efficiently formally verify pipelined microprocessors with mechanisms for soft-error tolerance.

This research was partially supported by NASA under contract NNX10CC60P.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 84.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Aagaard, M.D., Day, N.A., Lou, M.: Relating multi-step and single-step microprocessor correctness statements. In: Aagaard, M.D., O’Leary, J.W. (eds.) FMCAD 2002. LNCS, vol. 2517. Springer, Heidelberg (2002)

    Chapter  Google Scholar 

  2. Aagaard, M.D., Cook, B., Day, N.A., Jones, R.B.: A framework for superscalar microprocessor correctness statements. Software Tools for Technology Transfer (STTT) 4(3) (May 2003)

    Google Scholar 

  3. Ackermann, W.: Solvable Cases of the Decision Problem. North-Holland, Amsterdam (1954)

    MATH  Google Scholar 

  4. Alizadeh, B., Gharehbaghi, A.M., Fujita, M.: Pipelined Microprocessors Optimization and Debugging. In: Sirisuk, P., Morgan, F., El-Ghazawi, T., Amano, H. (eds.) Reconfigurable Computing: Architectures, Tools and Applications. LNCS, vol. 5992, pp. 435–444. Springer, Heidelberg (2010)

    Chapter  Google Scholar 

  5. Blaauw, D., Das, S.: CPU, Heal Thyself: A Fault-Monitoring Microprocessor Design Can Save Power or Allow Overclocking. IEEE Spectrum (August 2009), http://spectrum.ieee.org/semiconductors/processors/cpu-heal-thyself/0

  6. Bouajila, A., Zeppenfeld, J., Stechele, W., Herkersdorf, A., Bernauer, A., Bringmann, O., Rosenstiel, W.: Organic Computing at the System on Chip Level. In: IFIP International Conference on Very Large Scale Integration (VLSI-SoC 2006), pp. 338–341 (2006)

    Google Scholar 

  7. Bryant, R.E., German, S., Velev, M.N.: Processor Verification Using Efficient Reductions of the Logic of Uninterpreted Functions to Propositional Logic. ACM Transactions on Computational Logic 2(1) (2001)

    Google Scholar 

  8. Bryant, R.E., Velev, M.N.: Boolean Satisfiability with Transitivity Constraints. ACM Transactions on Computational Logic (TOCL) 3(4), 604–627 (2002)

    Article  MathSciNet  MATH  Google Scholar 

  9. Burch, J.R., Dill, D.L.: Automated Verification of Pipelined Microprocessor Control. In: Dill, D.L. (ed.) CAV 1994. LNCS, vol. 818. Springer, Heidelberg (1994)

    Chapter  Google Scholar 

  10. Burch, J.R.: Techniques for Verifying Superscalar Microprocessors. In: Design Automation Conference (June 1996)

    Google Scholar 

  11. Burcin, A.: RAD750, BAE Systems (December 2002), http://www.aero.org/conferences/mrqw/2002-papers/A_Burcin.pdf

  12. Das, S., Tokunaga, C., Pant, S., Ma, W.-H., Kalaiselvan, S., Lai, K., Bull, D.M., Blaauw, D.T.: RazorII: In Situ Error Detection and Correction for PVT and SER Tolerance. IEEE Journal of Solid-State Circuits 44(1), 32–48 (2009)

    Article  Google Scholar 

  13. Goel, A., Sajid, K., Zhou, H., Aziz, A., Singhal, V.: BDD Based Procedures for a Theory of Equality with Uninterpreted Functions. In: Y. Vardi, M. (ed.) CAV 1998. LNCS, vol. 1427. Springer, Heidelberg (1998)

    Chapter  Google Scholar 

  14. Goldberg, E., Novikov, Y.: BerkMin: A Fast and Robust Sat-Solver. In: Design, Automation, and Test in Europe (DATE 2002), pp. 142–149 (March 2002)

    Google Scholar 

  15. Hennessy, J.L., Patterson, D.A.: Computer Architecture: A Quantitative Approach, 3rd edn. Morgan Kaufmann Publishers, San Francisco (2002)

    MATH  Google Scholar 

  16. Intel Corporation: IA-64 Application Developer’s Architecture Guide (May 1999), http://developer.intel.com/design/ia-64/architecture.htm

  17. Lahiri, S., Pixley, C., Albin, K.: Experience with Term Level Modeling and Verification of the M∙CORETM Microprocessor Core. In: International Workshop on High Level Design, Validation and Test (HLDVT 2001) (2001)

    Google Scholar 

  18. Le Berre, D., Simon, L.: Results from the SAT 2004 SAT Solver Competition. In: Hoos, H., Mitchell, D.G. (eds.) SAT 2004. LNCS, vol. 3542, pp. 321–344. Springer, Heidelberg (2005)

    Chapter  Google Scholar 

  19. Moskewicz, M.W., Madigan, C.F., Zhao, Y., Zhang, L., Malik, S.: Chaff: Engineering an Efficient SAT Solver. In: 38th Design Automation Conference (DAC 2001) (June 2001)

    Google Scholar 

  20. Pipatsrisawat, K., Darwiche, A.: A Lightweight Component Caching Scheme for Satisfiability Solvers. In: Marques-Silva, J., Sakallah, K.A. (eds.) SAT 2007. LNCS, vol. 4501, pp. 294–299. Springer, Heidelberg (2007)

    Chapter  Google Scholar 

  21. Pipatsrisawat, K., Darwiche, A.: A New Clause Learning Scheme for Efficient Unsatisfiability Proofs. In: Twenty-Third AAAI Conference on Artificial Intelligence, pp. 1481–1484 (July 2008)

    Google Scholar 

  22. Pnueli, A., Rodeh, Y., Strichman, O., Siegel, M.: The Small Model Property: How Small Can It Be? Journal of Information and Computation 178(1) (2002)

    Google Scholar 

  23. Rotenberg, E.: AR-SMT: A Microarchitectural Approach to Fault Tolerance in Microprocessors. In: Annual International Symposium on Fault-Tolerant Computing (June 1999)

    Google Scholar 

  24. Ryan, L.: Siege SAT Solver v.4, http://www.cs.sfu.ca/~loryan/personal/

  25. Su, Y.-S., Chang, P.-H., Chang, S.-C., Hwang, T.: Synthesis of a Novel Timing-Error Detection Architecture. Transactions on Design Automation of Electronic Systems (TODAES) 13(1) (January 2008)

    Google Scholar 

  26. Subramanian, V., Bezdek, M., Avirneni, N.D., Somani, A.: Superscalar Processor Performance Enhancement Through Reliable Dynamic Clock Frequency Tuning. In: Annual IEEE/IFIP International Conference on Dependable Systems and Networks (2007)

    Google Scholar 

  27. Sharangpani, H., Arora, K.: Itanium processor microarchitecture. IEEE Micro 20(5), 24–43 (2000)

    Article  Google Scholar 

  28. Tschanz, J., Kim, N.S., Dighe, S., Howard, J., Ruhl, G., Vanga, S., Narendra, S., Hoskote, Y., Wilson, H., Lam, C., Shuman, M., Tokunaga, C., Somasekhar, D., Tang, S., Finan, D., Karnik, T., Borkar, N., Kurd, N., De, V.: Adaptive Frequency and Biasing Techniques for Tolerance to Dynamic Temperature-Voltage Variations and Aging. In: IEEE International Solid-State Circuits Conference (ISSCC 2007), pp. 292–604 (February 2007)

    Google Scholar 

  29. Van Gils, W.J.: A Triple Modular Redundancy Technique Providing Multiple-Bit Error Protection Without Using Extra Redundancy. IEEE Trans. Computers C-35(7), 623–631 (1986)

    Article  Google Scholar 

  30. Velev, M.N., Bryant, R.E.: Bit-Level Abstraction in the Verification of Pipelined Microprocessors by Correspondence Checking. In: Gopalakrishnan, G.C., Windley, P. (eds.) FMCAD 1998. LNCS, vol. 1522, pp. 18–35. Springer, Heidelberg (1998)

    Chapter  Google Scholar 

  31. Velev, M.N., Bryant, R.E.: Exploiting Positive Equality and Partial Non-Consistency in the Formal Verification of Pipelined Microprocessors. In: 36th Design Automation Conference (DAC 1999), pp. 397–401 (June 1999)

    Google Scholar 

  32. Velev, M.N., Bryant, R.E.: Superscalar Processor Verification Using Efficient Reductions of the Logic of Equality with Uninterpreted Functions to Propositional Logic. In: Pierre, L., Kropf, T. (eds.) CHARME 1999. LNCS, vol. 1703, pp. 37–53. Springer, Heidelberg (1999)

    Chapter  Google Scholar 

  33. Velev, M.N., Bryant, R.E.: Formal Verification of Superscalar Microprocessors with Multicycle Functional Units, Exceptions, and Branch Prediction. In: 37th Design Automation Conference (DAC 2000), pp. 112–117 (June 2000)

    Google Scholar 

  34. Velev, M.N.: Formal verification of VLIW microprocessors with speculative execution. In: Emerson, E.A., Sistla, A.P. (eds.) CAV 2000. LNCS, vol. 1855, pp. 296–311. Springer, Heidelberg (2000)

    Chapter  Google Scholar 

  35. Velev, M.N.: Automatic Abstraction of Memories in the Formal Verification of Superscalar Microprocessors. In: Margaria, T., Yi, W. (eds.) TACAS 2001. LNCS, vol. 2031, pp. 252–267. Springer, Heidelberg (2001)

    Chapter  Google Scholar 

  36. Velev, M.N., Bryant, R.E.: Effective Use of Boolean Satisfiability Procedures in the Formal Verification of Superscalar and VLIW Microprocessors. Journal of Symbolic Computation (JSC) 35(2), 73–106 (2003)

    Article  MathSciNet  MATH  Google Scholar 

  37. Velev, M.N.: Automatic Abstraction of Equations in a Logic of Equality. In: Cialdea Mayer, M., Pirri, F. (eds.) TABLEAUX 2003. LNCS(LNAI), vol. 2796, pp. 196–213. Springer, Heidelberg (2003)

    Chapter  Google Scholar 

  38. Velev, M.N.: Using Automatic Case Splits and Efficient CNF Translation to Guide a SAT-Solver When Formally Verifying Out-of-Order Processors. In: Artificial Intelligence and Mathematics (AI&MATH 2004), pp. 242–254 (January 2004)

    Google Scholar 

  39. Velev, M.N.: Efficient Translation of Boolean Formulas to CNF in Formal Verification of Microprocessors. In: Asia and South Pacific Design Automation Conference (ASP-DAC 2004), pp. 310–315 (January 2004)

    Google Scholar 

  40. Velev, M.N.: Using Positive Equality to Prove Liveness for Pipelined Microprocessors. In: Asia and South Pacific Design Automation Conference (ASP-DAC 2004) (January 2004)

    Google Scholar 

  41. Velev, M.N.: Exploiting Signal Unobservability for Efficient Translation to CNF in Formal Verification of Microprocessors. In: Design, Automation and Test in Europe (2004)

    Google Scholar 

  42. Velev, M.N.: Encoding Global Unobservability for Efficient Translation to SAT. In: International Conference on Theory and Applications of Satisfiability Testing (May 2004)

    Google Scholar 

  43. Velev, M.N.: Comparative Study of Strategies for Formal Verification of High-Level Processors. In: 22nd International Conference on Computer Design (ICCD 2004) (October 2004)

    Google Scholar 

  44. Velev, M.N.: Comparison of Schemes for Encoding Unobservability in Translation to SAT. In: Asia & South Pacific Design Automation Conference (ASP-DAC 2005) (January 2005)

    Google Scholar 

  45. Velev, M.N.: Automatic Formal Verification of Liveness for Pipelined Processors with Multicycle Functional Units. In: Borrione, D., Paul, W. (eds.) CHARME 2005. LNCS, vol. 3725, pp. 97–113. Springer, Heidelberg (2005)

    Chapter  Google Scholar 

  46. Velev, M.N., Bryant, R.E.: 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 1(1/2) (2005)

    Google Scholar 

  47. Velev, M.N.: Using Abstraction for Efficient Formal Verification of Pipelined Processors with Value Prediction. In: 7th International Symposium on Quality Electronic Design (ISQED 2006), pp. 51–56 (March 2006)

    Google Scholar 

  48. Velev, M.N., Gao, P.: Exploiting Hierarchical Encodings of Equality to Design Independent Strategies in Parallel SMT Decision Procedures for a Logic of Equality. In: IEEE High Level Design Validation and Test Workshop (HLDVT 2009) (November 2009)

    Google Scholar 

  49. Velev, M.N., Gao, P.: A Method for Debugging of Pipelined Processors in Formal Verification by Correspondence Checking. In: 15th Asia and South Pacific Design Automation Conference (ASP-DAC 2010), pp. 619–624 (January 2010)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2010 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Velev, M.N., Gao, P. (2010). Method for Formal Verification of Soft-Error Tolerance Mechanisms in Pipelined Microprocessors. In: Dong, J.S., Zhu, H. (eds) Formal Methods and Software Engineering. ICFEM 2010. Lecture Notes in Computer Science, vol 6447. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-16901-4_24

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-16901-4_24

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-16900-7

  • Online ISBN: 978-3-642-16901-4

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics