Skip to main content

A Case Study in the Automated Translation of BSV Hardware to PVS Formal Logic with Subsequent Verification

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

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

Included in the following conference series:

  • 680 Accesses

Abstract

We previously developed a method of formal hardware verification that automatically translates hardware descriptions encoded in Bluespec SystemVerilog (BSV) into the formal logic of Prototype Verification System (PVS) to allow verification of system properties. This paper reports on an extension of our translation tool, BAPIP, that refines the semantic model to cover more Bluespec language constructs and optimizes the translation to PVS to address scalability to allow applicability of the method to real-world hardware examples as demonstrated by a case study of the Shakti RISC-V project’s implementation of the RapidIO data packet passing communication protocol. In particular we verify the encoding of byte masks in outgoing memory read requests.

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 79.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 99.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. Open Source RISC-V Cores and Tools. Bluespec Inc. (2019). https://bluespec.com/. Accessed 29 Mar 2022

  2. RISC-V Foundation—Instruction Set Architecture (ISA) (2020). https://riscv.org/. Accessed 29 Mar 2022

  3. Bluespec Inc.: Bluespec™SystemVerilog Reference Guide (2012). http://csg.csail.mit.edu/6.S078/6_S078_2012_www/resources/reference-guide.pdf. Accessed 29 Mar 2022

  4. Choi, J., Vijayaraghavan, M., Sherman, B., Chlipala, A., et al.: Kami: a platform for high-level parametric hardware specification and its modular verification. In: Proceedings of the ACM on Programming Languages, vol. 1(ICFP), p. 24 (2017). https://dspace.mit.edu/handle/1721.1/134865. Accessed 30 Mar 2022

  5. Dutertre, B., De Moura, L.: The Yices SMT Solver (2006). http://yices.csl.sri.com/tool-paper.pdf. Accessed 29 Mar 2022

  6. Erkok, L.: SBV: SMT Based Verification: Symbolic Haskell Theorem Prover Using SMT Solving (2019). https://hackage.haskell.org/package/sbv. Accessed 29 Mar 2022

  7. George, P., Sahoo, A., Menon, A., Kamakoti, V.: SHAKTI: An Open-Source Processor Ecosystem. Advanced Computing and Communications (2018). https://www.researchgate.net/profile/Neel-Gala-2/publication/330577797_SHAKTI_An_Open-Source_Processor_Ecosystem/data/5c4969e092851c22a38c2c24/ACCS-SHAKTI-PAPER.pdf. Accessed 30 Mar 2022

  8. Madhusudan, G.S.: casl/rapidio/old_src /Logical_Transport/BSV - Bitbucket (2018). https://bitbucket.org/casl/rapidio/src/master/old_src/Logical_Transport/BSV/. Accessed 29 Mar 2022

  9. Moore, N., Lawford, M.: Correct safety critical hardware descriptions via static analysis and theorem proving. In: 2017 IEEE/ACM 5th International FME Workshop on Formal Methods in Software Engineering (FormaliSE), pp. 58–64. IEEE (2017). https://ieeexplore.ieee.org/abstract/document/7967994. Accessed 30 Mar 2022

  10. Nikhil, R.: Bluespec System Verilog: efficient, correct RTL from high level specifications. In: Proceedings of the Second ACM and IEEE International Conference on Formal Methods and Models for Co-Design, pp. 69–70. IEEE (2004). https://ieeexplore.ieee.org/abstract/document/1459818. Accessed 30 Mar 2022

  11. Owre, S., Rushby, J.M., Shankar, N.: PVS: a prototype verification system. In: Kapur, D. (ed.) CADE 1992. LNCS, vol. 607, pp. 748–752. Springer, Heidelberg (1992). https://doi.org/10.1007/3-540-55602-8_217. Accessed 30 Mar 2022

  12. Porter, H.H., III.: RISC-V: An Overview of the Instruction Set Architecture (2018). https://web.cecs.pdx.edu/~harry/riscv/RISCV-Summary.pdf. Accessed 29 Mar 2022

  13. RapidIO.org: RapidIO TM Interconnect Specification - Part 1: Input/Output Logical Specification, 4.1 edn., June 2017. https://rapidio.org/files/IO_logical.pdf. Accessed 30 Mar 2022

  14. Richards, D., Lester, D.: A monadic approach to automated reasoning for Bluespec System Verilog. Innov. Syst. Softw. Eng. 7(2), 85–95 (2011). https://doi.org/10.1007/s11334-011-0149-0. Accessed 30 Mar 2022

  15. Wassyng, A., Lawford, M.S., Maibaum, T.S.: Software certification experience in the Canadian nuclear industry: lessons for the future. In: Proceedings of the Ninth ACM International Conference on Embedded Software, pp. 219–226. ACM (2011). https://dl.acm.org/doi/abs/10.1145/2038642.2038676. Accessed 30 Mar 2022

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Nicholas Moore .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2022 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Moore, N., Lawford, M. (2022). A Case Study in the Automated Translation of BSV Hardware to PVS Formal Logic with Subsequent Verification. In: Aït-Ameur, Y., Crăciun, F. (eds) Theoretical Aspects of Software Engineering. TASE 2022. Lecture Notes in Computer Science, vol 13299. Springer, Cham. https://doi.org/10.1007/978-3-031-10363-6_5

Download citation

  • DOI: https://doi.org/10.1007/978-3-031-10363-6_5

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-031-10362-9

  • Online ISBN: 978-3-031-10363-6

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics