Skip to main content

Verifying Compiler Based Refinement of BluespecTM Specifications Using the SPIN Model Checker

  • Conference paper
Model Checking Software (SPIN 2008)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 5156))

Included in the following conference series:

Abstract

The underlying model of computation for PROMELA is based on interacting processes with asynchronous communication, and hence SPIN has been mainly used as a verification engine for concurrent software systems. On the other hand, hardware verification has mostly focused on clock synchronous register-transfer level (RTL) models. As a result, verification tools such as SMV which are based on synchronous state machine models have been used more frequently for hardware verification. However, as levels of abstractions are being raised in hardware design and as high-level synthesis is being promoted for synthesizing RTL, hardware design verification problems are changing in nature. In this paper, we consider a specific high-level hardware description langauge, namely, Bluespec System Verilog (BSV). The programming model of BSV is based on concurrent guarded actions, which we also call as Concurrent Action Oriented Specification (CAOS). High-level synthesis from BSV models has been shown to produce efficient RTL designs. Given the industry traction of BSV-based high-level synthesis and associated design flow, we consider the following formal verification problems: (i) Given a BSV specification \({\cal S}\) of a hardware design, does it satisfy certain temporal properties? (ii) Given a BSV specification \({\cal S}\), and an implementation R synthesized from \({\cal S}\) using a BSV-based synthesis tool, does R conform to the behaviors specified by \({\cal S}\); that is, is R a refinement of \({\cal S}\)? (iii) Given a different implementation R synthesized from \({\cal S}\) using some other BSV-based synthesis tool, is R a refinement of R as well? In this paper, we show how SPIN Model Checker can be used to solve these three problems related to the verification of BSV-based designs. Using a sample design, we illustrate how our approach can be used for verifying whether the designer intent in the BSV specification is accurately matched by its synthesized hardware implementation.

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 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.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. Holzmann, G.J.: The SPIN Model Checker. Addison Wesley, Reading (2004)

    Google Scholar 

  2. Holzmann, G.J.: The model checker SPIN. Software Engineering 23(5), 279–295 (1997)

    Article  MathSciNet  Google Scholar 

  3. SMV, http://www-cad.eecs.berkeley.edu/~kenmcmil/

  4. Raghunathan, A., Jha, N.K., Dey, S.: High-Level Power Analysis And Optimization. Kluwer Academic Publishers, Dordrecht (1998)

    MATH  Google Scholar 

  5. Singh, G., Shukla, S.K.: Low-Power Hardware Synthesis from TRS-based Specifications. In: International Conference on Formal Methods and Models for Codesign (MEMOCODE 2006) (2006)

    Google Scholar 

  6. Singh, G., Schwartz, J.B., Ahuja, S., Shukla, S.K.: Techniques for Power-aware Hardware Synthesis from Concurrent Action Oriented Specifications. Journal of Low Power Electronics (JOLPE) 3(2), 156–166 (2007)

    Article  Google Scholar 

  7. Hoe, J.C.: Arvind: Hardware Synthesis from Term Rewriting Systems. In: Proceeding of VLSI 1999, Lisbon, Portugal (December 1999)

    Google Scholar 

  8. Arvind, N.R., Rosenband, D., Dave, N.: High-level synthesis: An Essential Ingredient for Designing Complex ASICs. In: Proceedings of the International Conference on Computer Aided Design (ICCAD 2004), November 2004, pp. 775–782 (2004)

    Google Scholar 

  9. Singh, G., Shukla, S.K.: Model Checking Bluespec Specified Hardware Designs. In: Microprocessor Test and Verification (MTV 2007) (2007)

    Google Scholar 

  10. Lamport, L.: The temporal logic of actions. ACM Transactions on Programming Languages and Systems 16(3), 872–923 (1994)

    Article  Google Scholar 

  11. Singh, G., Shukla, S.K.: Verifying Compiler Based Refinement of Bluespec Specifications using the SPIN Model Checker. Technical report 2008-03, Virginia Tech, FERMAT Lab, Blacksburg, VA (April 2008), http://fermat.ece.vt.edu/Publications/pubs/techrep/techrep0803.pdf

Download references

Author information

Authors and Affiliations

Authors

Editor information

Klaus Havelund Rupak Majumdar Jens Palsberg

Rights and permissions

Reprints and permissions

Copyright information

© 2008 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Singh, G., Shukla, S.K. (2008). Verifying Compiler Based Refinement of BluespecTM Specifications Using the SPIN Model Checker. In: Havelund, K., Majumdar, R., Palsberg, J. (eds) Model Checking Software. SPIN 2008. Lecture Notes in Computer Science, vol 5156. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-85114-1_18

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-85114-1_18

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-85113-4

  • Online ISBN: 978-3-540-85114-1

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics