Skip to main content
Springer Nature - PMC COVID-19 Collection logoLink to Springer Nature - PMC COVID-19 Collection
. 2020 Mar 13;12078:367–386. doi: 10.1007/978-3-030-45190-5_20

Partial Order Reduction for Deep Bug Finding in Synchronous Hardware

Makai Mann ‡,, Clark Barrett
Editors: Armin Biere8, David Parker9
PMCID: PMC7439740

Abstract

Symbolic model checking has become an important part of the verification flow in industrial hardware design. However, its use is still limited due to scaling issues. One way to address this is to exploit the large amounts of symmetry present in many real world designs. In this paper, we adapt partial order reduction for bounded model checking of synchronous hardware and introduce a novel technique that makes partial order reduction practical in this new domain. These approaches are largely automatic, requiring only minimal manual effort. We evaluate our technique on open-source and commercial packet mover circuits – designs containing FIFOs and arbiters.

Footnotes

This work was supported by the National Science Foundation Graduate Research Fellowship Program under Grant No. DGE-1656518. Any opinions, findings, and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation. This work was also supported by the Defense Advanced Research Projects Agency, grant FA8650-18-2-7854. We thank the funding agencies and our corporate collaborators for their support.

Contributor Information

Armin Biere, Email: biere@jku.at.

David Parker, Email: d.a.parker@cs.bham.ac.uk.

Makai Mann, Email: makaim@stanford.edu.

References

  • 1.Bailey, B.: When bugs escape (July 2018), https://semiengineering.com/when-bugs-escape/, [Online]
  • 2.Bengtsson, J., Jonsson, B., Lilius, J., Yi, W.: Partial order reductions for timed systems. In: Sangiorgi, D., de Simone, R. (eds.) CONCUR’98 Concurrency Theory. pp. 485–500. Springer Berlin Heidelberg, Berlin, Heidelberg (1998)
  • 3.Bhattacharya, R., German, S., Gopalakrishnan, G.: Symbolic partial order reduction for rule based transition systems. In: Borrione, D., Paul, W. (eds.) Correct Hardware Design and Verification Methods, pp. 332–335. Springer Berlin Heidelberg, Berlin, Heidelberg (2005)
  • 4.Biere, A.: CaDiCaL, Lingeling, Plingeling, Treengeling, YalSAT Entering the SAT Competition 2017. In: Balyo, T., Heule, M., Järvisalo, M. (eds.) Proc. of SAT Competition 2017 - Solver and Benchmark Descriptions. vol. B-2017-1, pp. 14–15. University of Helsinki (2017)
  • 5.Biere A, Artho C, Schuppan V. Liveness checking as safety checking. Electr. Notes Theor. Comput. Sci. 2002;66(2):160–177. doi: 10.1016/S1571-0661(04)80410-9. [DOI] [Google Scholar]
  • 6.Biere, A., Cimatti, A., Clarke, E., Zhu, Y.: Symbolic model checking without bdds. In: Cleaveland, W.R. (ed.) Tools and Algorithms for the Construction and Analysis of Systems, pp. 193–207. Springer Berlin Heidelberg, Berlin, Heidelberg (1999)
  • 7.Biere, A., Heljanko, K., Wieringa, S.: AIGER 1.9 and beyond. Tech. rep., FMV Reports Series, Institute for Formal Models and Verification, Johannes Kepler University, Altenbergerstr. 69, 4040 Linz, Austria (2011)
  • 8.Bjesse, P.: A practical approach to word level model checking of industrial netlists. pp. 446–458 (07 2008)
  • 9.Bjesse, P.: Word-level sequential memory abstraction for model checking. In: FMCAD. pp. 1–9. IEEE (2008)
  • 10.Bradley, A.R.: Sat-based model checking without unrolling. In: VMCAI. Lecture Notes in Computer Science, vol. 6538, pp. 70–87. Springer (2011)
  • 11.Brayton, R., Mishchenko, A.: Abc: An academic industrial-strength verification tool. In: Touili, T., Cook, B., Jackson, P. (eds.) Computer Aided Verification, pp. 24–40. Springer Berlin Heidelberg, Berlin, Heidelberg (2010)
  • 12.Burch, J., Clarke, E., McMillan, K., Dill, D., Hwang, L.: Symbolic model checking: 1020 states and beyond. Information and Computation 98(2) (1992). 10.1016/0890-5401(92)90017-A
  • 13.Clarke, E.M., Emerson, E.A., Jha, S., Sistla, A.P.: Symmetry reductions inmodel checking. In: CAV. Lecture Notes in Computer Science, vol. 1427, pp. 147–158. Springer (1998)
  • 14.Clarke, Jr., E.M., Grumberg, O., Peled, D.A.: Model Checking. MIT Press, Cambridge, MA, USA (1999)
  • 15.Clarke, E., Henzinger, T., Veith, H.: Handbook of Model Checking. Springer International Publishing (2016), https://books.google.com/books?id=qxG8oAEACAAJ
  • 16.Eén, N., Mishchenko, A., Brayton, R.K.: Efficient implementation of property directed reachability. In: FMCAD. pp. 125–134. FMCAD Inc. (2011)
  • 17.Foster H. Applied assertion-based verification: An industry perspective. Foundations and Trends in Electronic Design Automation. 2009;3(1):1–95. doi: 10.1561/1000000013. [DOI] [Google Scholar]
  • 18.Ganai, M.K., Gupta, A.: Accelerating high-level bounded model checking. In: ICCAD. pp. 794–801. ACM (2006)
  • 19.Gupta, A., Ganai, M.K., Wang, C., Yang, Z., Ashar, P.: Learning from bdds in sat-based bounded model checking. In: DAC. pp. 824–829. ACM (2003)
  • 20.Johannsen, P.: Speeding Up Hardware Verification by Automated Data Path Scaling. Ph.D. thesis, University of Kiel (2002)
  • 21.Kahlon, V., Wang, C., Gupta, A.: Monotonic partial order reduction: An optimal symbolic partial order reduction technique. In: CAV. Lecture Notes in Computer Science, vol. 5643, pp. 398–413. Springer (2009)
  • 22.Kocher, P., Genkin, D., Gruss, D., Haas, W., Hamburg, M., Lipp, M., Mangard, S., Prescher, T., Schwarz, M., Yarom, Y.: Spectre attacks: Exploiting speculative execution. CoRR abs/1801.01203 (2018), http://arxiv.org/abs/1801.01203
  • 23.Kroening, D., Strichman, O.: Decision Procedures: An Algorithmic Point of View, 1st edn. Springer Publishing Company, Incorporated (2008)
  • 24.Lam WK. Hardware Design Verification: Simulation and Formal Method-Based Approaches (Prentice Hall Modern Semiconductor Design Series) Upper Saddle River, NJ, USA: Prentice Hall PTR; 2005. [Google Scholar]
  • 25.Lipp, M., Schwarz, M., Gruss, D., Prescher, T., Haas, W., Mangard, S., Kocher, P., Genkin, D., Yarom, Y., Hamburg, M.: Meltdown. CoRR abs/1801.01207 (2018)
  • 26.Mattarei, C., Mann, M., Barrett, C.W., Daly, R.G., Huff, D., Hanrahan, P.: Cosa: Integrated verification for agile hardware design. In: FMCAD. pp. 1–5. IEEE (2018)
  • 27.McMillan, K.L.: Interpolation and sat-based model checking. In: Hunt, W.A., Somenzi, F. (eds.) Computer Aided Verification, pp. 1–13. Springer Berlin Heidelberg, Berlin, Heidelberg (2003)
  • 28.McMillan KL. A methodology for hardware verification using compositional model checking. Sci. Comput. Program. 2000;37(1–3):279–309. doi: 10.1016/S0167-6423(99)00030-1. [DOI] [Google Scholar]
  • 29.Niemetz, A., Preiner, M., Wolf, C., Biere, A.: Btor2, btormc and boolector 3.0. In: CAV (1). Lecture Notes in Computer Science, vol. 10981, pp. 587–595. Springer (2018)
  • 30.Peled, D.: Verification for robust specification. In: Gunter, E.L., Felty, A. (eds.) Theorem Proving in Higher Order Logics. pp. 231–241. Springer Berlin Heidelberg, Berlin, Heidelberg (1997)
  • 31.Peled DA, Wilke T, Wolper P. An algorithmic approach for checking closure properties of temporal logic specifications and omega-regular languages. Theor. Comput. Sci. 1998;195(2):183–203. doi: 10.1016/S0304-3975(97)00219-3. [DOI] [Google Scholar]
  • 32.Price D. Pentium fdiv flaw-lessons learned. IEEE Micro. 1995;15(2):86–88. doi: 10.1109/40.372360. [DOI] [Google Scholar]
  • 33.Sagstetter, F., Lukasiewycz, M., Steinhorst, S., Wolf, M., Bouard, A., R. Harris, W., Jha, S., Peyrin, T., Poschmann, A., Chakraborty, S.: Security challenges in automotive hardware/software architecture design. pp. 458–463 (01 2013). 10.7873/DATE.2013.102
  • 34.Shacham O, Azizi O, Wachs M, Richardson S, Horowitz M. Rethinking digital design: Why design must change. IEEE Micro. 2010;30(6):9–24. doi: 10.1109/MM.2010.81. [DOI] [Google Scholar]
  • 35.Strichman, O.: Tuning SAT checkers for bounded model checking. In: CAV. Lecture Notes in Computer Science, vol. 1855, pp. 480–494. Springer (2000)
  • 36.Strichman O. Accelerating bounded model checking of safety properties. Formal Methods in System Design. 2004;24(1):5–24. doi: 10.1023/B:FORM.0000004785.67232.f8. [DOI] [Google Scholar]
  • 37.Wang, C., Yang, Z., Kahlon, V., Gupta, A.: Peephole partial order reduction. In: Ramakrishnan, C.R., Rehof, J. (eds.) Tools and Algorithms for the Construction and Analysis of Systems, pp. 382–396. Springer Berlin Heidelberg, Berlin, Heidelberg (2008)
  • 38.Wolf, C., Glaser, J., Kepler, J.: Yosys-a free Verilog synthesis suite. In: Proceedings of the 21st Austrian Workshop on Microelectronics (Austrochip) (2013)

Articles from Tools and Algorithms for the Construction and Analysis of Systems are provided here courtesy of Nature Publishing Group

RESOURCES