Skip to main content

Verifying Chips Design at RTL Level

  • Conference paper
  • First Online:
Theoretical Aspects of Software Engineering (TASE 2023)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 13931))

Included in the following conference series:

  • 325 Accesses

Abstract

With the increasing complexity of chips design, the design errors or defects will inevitably increase. It is difficult to detect corresponding design logic problems with some conventional detection methods, such as testing and simulation. Further, the cost of such detection processes is also expensive. In contrast, formal verification methods based on mathematical logic reasoning about formal description capabilities can strictly prove whether a system meets the expected demand properties, so that it can effectively find out hidden defects or errors in chips design. Model checking is a widely used formal method for verifying chips design. However, model checking suffers from so called state space explosion problem. Although traditional model checking method alleviates the problem of state space explosion to a certain extent, there is still the problem of slow solution efficiency for large-scale chips design. Bounded model checking detects the limited path of a model to quickly determine the hidden problems of chips design, which can effectively alleviate the problem of system state space explosion. However, most of the logic languages such as LTL or CTL used in describing the desired properties cannot describe full regular properties of chips design. Further, the most of verification processes are based on symbolic model checking which is ineffective to detect design bugs in practice. Therefore, this paper focuses on the use of PPTL in bounded model checking to describe the properties to be verified and makes full use of SAT solvers to convert bounded model checking problems into SAT instances so that the scope and scale of verification of chips design can be reinforced and the efficiency of the verification processes can be also improved.

This research is supported by National Natural Science Foundation of China under Grant Nos. 62272359 and 62172322; Natural Science Basic Research Program of Shaanxi Province under Grant Nos. 2023JC-XJ-13 and 2022JM-367.

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 64.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 84.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

References

  1. Weyuker, E.J., Ostrand, T.J.: Theories of program testing and the application of revealing subdomains. IEEE Trans. Software Eng. 3, 236–246 (1980)

    Article  MathSciNet  MATH  Google Scholar 

  2. Frenkel, D., Smit, B.: Understanding Molecular Simulation: From Algorithms to Applications. Academic Press, New York (2001)

    Google Scholar 

  3. Wing, J.M.: A specifier’s introduction to formal methods. Computer 23(9), 8–22 (1990)

    Article  Google Scholar 

  4. Hoare, C.A.R.: An axiomatic basis for computer programming. Commun. ACM 12, 576–580 (1969)

    Article  MATH  Google Scholar 

  5. Pnueli, A.: The temporal logic of programs. In: Symposium on Foundations of Computer Science, pp. 46–57. IEEE Xplore (1977)

    Google Scholar 

  6. Clarke, E.M., Emerson, E.A., Sifakis, J.: Model checking. Lect. Notes Comput. Sci. 164(2), 305–349 (1999)

    Google Scholar 

  7. Holzmann, G.J.: The model checker SPIN. IEEE Trans. Software Eng. 23(5), 279–295 (1997)

    Article  Google Scholar 

  8. Burch, J.R., Clarke, E.M., Mc Millan, K.L., et al.: Symbolic model checking: 1020 states and beyond. Inf. Comput. 98(2), 142–170 (1992)

    Article  Google Scholar 

  9. Clarke, E.M., Grumberg, O., Long, D.E.: Model checking and abstraction. ACM Trans. Program. Lang. Syst. 16(5), 1512–1542 (1994)

    Article  Google Scholar 

  10. Cimatti, A., et al.: NuSMV 2: an OpenSource tool for symbolic model checking. In: Brinksma, E., Larsen, K.G. (eds.) CAV 2002. LNCS, vol. 2404, pp. 359–364. Springer, Heidelberg (2002). https://doi.org/10.1007/3-540-45657-0_29

    Chapter  Google Scholar 

  11. Bryant, R.E.: Graph-Based Algorithms for Boolean Function Manipulation12 (1986)

    Google Scholar 

  12. Gadelha, M.Y.R., Ismail, H.I., Cordeiro, L.C.: Handling loops in bounded model checking of C programs via K-induction. Int. J. Softw. Tools Technol. Transfer 19, 97–114 (2017)

    Article  Google Scholar 

  13. Biere, A., Cimatti, A., Clarke, E.M., Fujita, M., Zhu, Y.: Symbolic model checking using SAT procedures instead of BDDs. In: *Design Automation Conference, (DAC*1999), June 1999

    Google Scholar 

  14. Cai, S., Zhang, X.: Deep cooperation of CDCL and local search for SAT (Extended Abstract). In: IJCAI 2022, pp. 5274–5278 (2022)

    Google Scholar 

  15. Kripke, S.A.: Semantical analysis of modal logic I normal modal propositional calculi. Math. Log. Q. 9(5–6), 67–96 (1963)

    Article  MathSciNet  MATH  Google Scholar 

  16. Duan, Z.: Temporal Logic and Temporal Logic Programming, Beijing (2005)

    Google Scholar 

  17. Duan, Z., Holcombe, M., Bell, A.: A logic for biosystems. Biosystems 55(1–3), 93–105 (2000)

    Article  Google Scholar 

  18. Duan, Z., Koutny, M., Holt, C.: Projection in temporal logic programming. In: Pfenning, F. (ed.) LPAR 1994. LNCS, vol. 822, pp. 333–344. Springer, Heidelberg (1994). https://doi.org/10.1007/3-540-58216-9_48

    Chapter  Google Scholar 

  19. Duan, Z., Koutny, M.: A framed temporal logic programming language. J. Comput. Sci. Technol. 19, 333–344 (2004)

    MathSciNet  Google Scholar 

  20. Duan, Z., Yang, X., Koutny, M.: Semantics of framed temporal logic programs. In: Gabbrielli, M., Gupta, G. (eds.) ICLP 2005. LNCS, vol. 3668, pp. 356–370. Springer, Heidelberg (2005). https://doi.org/10.1007/11562931_27

    Chapter  MATH  Google Scholar 

  21. Galesi, N., Itsykson, D., Riazanov, A., Sofronova, A.: Bounded-depth Frege complexity of Tseitin formulas for all graphs. In: MFCS 2019, pp. 49:1–49:15 (2019)

    Google Scholar 

  22. Chambers, B., et al.: Faster SAT solving with better CNF generation. In: 2009 Design, Automation and Test in Europe Conference and Exhibition, pp. 1590–1595 (2009)

    Google Scholar 

  23. Davis, M., Logemann, G., Lovelandn, D.: A machine program for theorem proving. Commun. ACM 5(7), 394–397 (1962)

    Article  MathSciNet  MATH  Google Scholar 

  24. Freeman, J.W.: Improvements to Propositional Satisfiability Search Algorithms. University of Pennsylvania, Philadelphia, PA, USA (1995)

    Google Scholar 

  25. Een, N., Sorensson, N.: An extensible SAT solver. In: Theory and Applications of Satisfiability Testing. Santa Margherita Ligure, Italy, pp. 502–518 (2003)

    Google Scholar 

  26. Zhang, H.-T.: SATO: an efficient propositional prover. In: Proceedings of the 14th International Conference on Automated Deduction (CADE-1997), pp. 272–275, London, UK (1997)

    Google Scholar 

  27. Marques-Silva, J.P., Sakallah, K.A.: GRASP: a new search algorithm for satisfiability. In: Proceedings of the ACM/IEEE International Conference on Computer-Aided Design, pp. 220–227, Washington, DC, USA (1996)

    Google Scholar 

  28. Goldberg, E., Novikov, Y.: BerkMin: a fast and robust SAT-solver. Discret. Appl. Math. 155(12), 1549–1561 (2007)

    Article  MathSciNet  MATH  Google Scholar 

  29. Moskewicz, M., Madigan, C., Zhao, Y., et a1.: Chaff: engineering an efficient SAT solver. In: Proceedings of 38th Conference on Design Automation, pp. 530–535, Las Vegas, NV, USA (2001)

    Google Scholar 

  30. Goldberg, E., Novikov, Y.: BerMin: a fast and robust SAT-solver. In: Proceedings of Design Automation and Test in Europe (DATE), pp. 142–149, Paris, France (2002)

    Google Scholar 

  31. Audemard, G., Simon, L.: Refining restarts strategies for SAT and UNSAT formulae. In: Proceedings of the 18th International Conference on Principles and Practice of Constraint Programming (2012)

    Google Scholar 

  32. Cai, S., Zhang, X., Fleury, M., Biere, A.: Better decision heuristics in CDCL through local search and target phases. J. Artif. Intell. Res. 74, 1515–1563 (2022)

    Article  MathSciNet  MATH  Google Scholar 

  33. Selman, B., Levesque, H., Mitchell, D.: A new method for solving hard satisfiability problems. In: Proceedings of the 10th AAAI 1992, pp. 440–446. AAAI Press, Menlo Park, CA (1992)

    Google Scholar 

  34. Selman, B., Kautz, H.A., Cohen, B.: Noise strategies for improving local search. In: Proceedings of the 12th AAAI-1994, pp. 337–343. AAAI Press, Menlo Park, CA (1994)

    Google Scholar 

  35. McAllester, D., Selman, B., Kautz, H.: Evidence for invariants in local search. In: Proceedings of the 14th AAAI 1997, pp. 321–326. AAAI Press, Menlo Park, CA (1997)

    Google Scholar 

  36. Mazure, B., Sais, L., Gregoire, E.: Tabu search for SAT. In: Proceedings of the 14th AAAI 1997, pp. 28–285. AAAI Press, Menlo Park, CA (1997)

    Google Scholar 

  37. Schuurmans, D., Southey, F.: Local search characteristics of incomplete SAT procedures. Artif. Intell. 132(2), 121–150 (2001)

    Article  MathSciNet  MATH  Google Scholar 

  38. Prestwich, S., Lynce, I.: Local search for unsatisfiability. In: Proceedings of the 9th International Conference on Theory and Applications of Satisfiability Testing, Seattle, pp. 283–296, WA, USA (2006)

    Google Scholar 

  39. Audemard, G., Simon, L.: GUNSAT: a greedy local search algorithm for unsatisfiabiIity. In: Proceedings of the 20th International Joint Conference of Artificial Intelligence, pp. 2256–2261, Hyderabad, India (2007)

    Google Scholar 

  40. Crypto MiniSat2 [CP/OL]. http://www.msoos.org/cryptominisat2/

  41. Biere, A.: Lingeling, Plingeling and Treengeling entering the SAT competition 2013. In: Proceedings of SAT Competition (2013)

    Google Scholar 

  42. Een, N., Sorensson, N.: An extensible SAT solver. In: Theory and Applications of Satisfiability Testing, pp. 502–518, Santa Margherita Ligure, Italy (2003)

    Google Scholar 

  43. Guo, L., Hamadi, Y., Jabbour, S., Sais, L.: Diversification and intensification in parallel SAT solving. In: Proceedings of the 16th International Conference on Principles and Practices of Constraint Programming (2010)

    Google Scholar 

  44. Biere, A.: The AIGER And-Inverter Graph (AIG) Format Version 20070427 (2007)

    Google Scholar 

  45. Brayton, R., Mishchenko, A.: ABC: an academic industrial-strength verification tool. In: Touili, T., Cook, B., Jackson, P. (eds.) CAV 2010. LNCS, vol. 6174, pp. 24–40. Springer, Heidelberg (2010). https://doi.org/10.1007/978-3-642-14295-6_5

    Chapter  Google Scholar 

  46. https://yosyshq.net/yosys/

  47. Duan, Z., Tian, C., Zhang, N.: A canonical form based decision procedure and model checking approach for propositional projection temporal logic. Theoret. Comput. Sci. 609, 544–560 (2016)

    Article  MathSciNet  MATH  Google Scholar 

  48. Pan, Y.: Development of image processing software based on QT creator. In: 2019 IEEE 3rd Information Technology, Networking, Electronic and Automation Control Conference (ITNEC), pp. 2667–2671. IEEE (2019)

    Google Scholar 

  49. Goel, A., Sakallah, K.: Model checking of verilog RTL using IC3 with syntax-guided abstraction. In: Badger, J.M., Rozier, K.Y. (eds.) NFM 2019. LNCS, vol. 11460, pp. 166–185. Springer, Cham (2019). https://doi.org/10.1007/978-3-030-20652-9_11

    Chapter  Google Scholar 

  50. Irfan, A., Cimatti, A., Griggio, A., et al.: Verilog2SMV: a tool for word-level verification. In: 2016 Design, Automation & Test in Europe Conference & Exhibition (DATE), pp. 1156–1159. IEEE (2016)

    Google Scholar 

  51. Andraus, Z.S., Liffiton, M.H., Sakallah, K.A.: Reveal: a formal verification tool for verilog designs. In: Cervesato, I., Veith, H., Voronkov, A. (eds.) LPAR 2008. LNCS (LNAI), vol. 5330, pp. 343–352. Springer, Heidelberg (2008). https://doi.org/10.1007/978-3-540-89439-1_25

    Chapter  MATH  Google Scholar 

  52. Ho, Y.S., Mishchenko, A., Brayton, R.: Property directed reachability with word-level abstraction. In: 2017 Formal Methods in Computer Aided Design (FMCAD), pp. 132–139. IEEE (2017)

    Google Scholar 

  53. Leucker, M., Markin, G., Neuhäußer, M.R.: A new refinement strategy for CEGAR-based industrial model checking. In: Piterman, N. (ed.) HVC 2015. LNCS, vol. 9434, pp. 155–170. Springer, Cham (2015). https://doi.org/10.1007/978-3-319-26287-1_10

    Chapter  Google Scholar 

  54. Drechsler, R.: PolyAdd: polynomial formal verification of adder circuits. In: 2021 24th International Symposium on Design and Diagnostics of Electronic Circuits and Systems (DDECS), pp. 99–104. IEEE (2021)

    Google Scholar 

  55. Andraus, Z.S., Sakallah, K.A.: Automatic abstraction and verification of verilog models. In: Proceedings of the 41st annual Design Automation Conference, pp. 218–223 (2004)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Zhenhua Duan .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2023 The Author(s), under exclusive license to Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Wang, W., Zhang, N., Tian, C., Duan, Z., Xu, Z., Yu, C. (2023). Verifying Chips Design at RTL Level. In: David, C., Sun, M. (eds) Theoretical Aspects of Software Engineering. TASE 2023. Lecture Notes in Computer Science, vol 13931. Springer, Cham. https://doi.org/10.1007/978-3-031-35257-7_9

Download citation

  • DOI: https://doi.org/10.1007/978-3-031-35257-7_9

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-031-35256-0

  • Online ISBN: 978-3-031-35257-7

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics