Skip to main content

Checking Safety Properties of Behavioral VHDL Descriptions by Abstract Interpretation

  • Conference paper
  • First Online:
Static Analysis (SAS 2002)

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

Included in the following conference series:

Abstract

We are interested in the automatic verification of digital designs specified in the popular hardware description language VHDL. This paper presents a static analysis that computes a superset of the states maybe reached during the simulation of a VHDL design. We follow the methodology of abstract interpretation. To model the execution of a VHDL description, we first define a concise structural operational semantics. Our analysis is then derived by abstraction from this formal model. It is designed so as to be parametric in the representation of sets of states. Hence, trade-offs between cost and precision can be made by plugging in different abstract domains. This is of particular importance in the case of hardware verification, where one of the major obstacle to the integration of automatic tools in the design flow is the state-explosion problem they face. We instantiate our analysis with a domain that consists in a collection of vectors of constants and whose size is linear in the size of the unit under verification. Among other things, our analysis allows us to assert safety properties.

This work was supported in part by the RTD project IST-1999-20527 DAEDALUS of the european IST FP5 programme.

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. ANSI/IEEE Std 1076-1987. IEEE Standard VHDL Language Reference Manual, 1988.

    Google Scholar 

  2. IEEE Synthesis Interoperability W.G. 1076.6. Draft standard for VHDL synthesis subset level 2. http://www.eda.org/siwg.

  3. A. Biere, A. Cimatti, E.M. Clarke, and Y. Zhu. Symbolic model checking without BDDs. In Tools and Algorithms for Construction and Analysis of Systems, 1999.

    Google Scholar 

  4. F. Bourdoncle. Abstract interpretation by dynamic partitioning. Journal of Functional Programming, 2(4), 1992.

    Google Scholar 

  5. F. Bourdoncle. Efficient chaotic iteration strategies with widenings. In Proc. of the Int. Conf. on Formal Methods in Programming and their Applications, volume 735 of Lecture Notes in Computer Science. Springer-Verlag, 1993.

    Chapter  Google Scholar 

  6. R. E. Bryant. Graph-based algorithms for boolean function manipulation. ieeetc, C-35(8), 1986.

    Google Scholar 

  7. J.R. Burch, E.M. Clarke, D.E. Long, K.L. MacMillan, and D.L. Dill. Symbolic model checking for sequential circuit verification. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, 13(4), 1994.

    Google Scholar 

  8. C.-T. Chou. The mathematical foundation of symbolic trajectory evaluation. Lecture Notes in Computer Science, 1633, 1999.

    Google Scholar 

  9. E.M. Clarke, O. Grumberg, and D.A. Peled. Model Checking. The MIT Press, 1999.

    Google Scholar 

  10. P. Cousot and R. Cousot. Abstract interpretation: a unified lattice model for static analysis of programs by construction or approximation of fixpoints. In ACM Symposium on Principles of Programming Languages. ACM Press, 1977.

    Google Scholar 

  11. P. Cousot and R. Cousot. Abstract interpretation and application to logic programs. Journal of Logic Programming, 13, 1992. (The editor of Journal of Logic Programming has mistakenly published the unreadable galley proof. For a correct version of this paper, see http://www.dmi.ens.fr~cousot.).

  12. P. Cousot and N. Halbwachs. Automatic discovery of linear restraints among variables of a program. In Conference Record of the Fifth Annual ACM Symposium on Principles of Programming Languages, 1978.

    Google Scholar 

  13. P. Georgelin, V. Rodrigues, and D. Borrione. An ACL2 model of VHDL for symbolic simulation and formal verification. In XIII Symposium on Integrated Circuits and Systems Design (SBCCI’00), 2000.

    Google Scholar 

  14. K. Goossens. Reasoning about VHDL using operational and observational semantics. In Correct Hardware Design and Verification Methods, CHARME, volume 987 of Lecture Notes in Computer Science. Springer Verlag, 1995.

    Google Scholar 

  15. S. Horwitz, A.J. Demers, and T. Teitelbaum. An efficient general iterative algorithm for dataflow analysis. Acta Informatica, 24(6):679–694, 1987.

    Article  MATH  MathSciNet  Google Scholar 

  16. B. Jeannet. Dynamic partitioning in linear relation analysis. Technical report, BRICS, 2000.

    Google Scholar 

  17. Michael Karr. Affine relationships among variables of a program. Acta Informatica, 6, 1976.

    Google Scholar 

  18. G. Kildall. A unified approach to global program optimisation. In ACM Symposium on Principles of Programming Languages, 1973.

    Google Scholar 

  19. Laurent Mauborgne. Abstract interpretation using TDGs. In Static Analysis Symposium, volume 864 of Lecture Notes in Computer Science. Springer-Verlag, 1994.

    Google Scholar 

  20. A. Miné. A new numerical abstract domain based on difference-bound matrices. In PADO II, volume 2053 of Lecture Notes in Computer Science. Springer-Verlag, 2001.

    Google Scholar 

  21. W. Mueller, J. Ruf, D. Hoffmann, J. Gerlach, T. Kropf, and W. Rosenstiehl. The simulation semantics of SystemC. http://www.systemc.org.

  22. Open Verilog International (OVI), 15466 Los Gatos Boulevard, Suite 109-071, Los Gatos, CA 95032. Verilog HDL Language Reference Manual.

    Google Scholar 

  23. G. Plotkin. A structural approach to operational semantics. Technical Report DAIMI FN-19, Aarhus University, 1981.

    Google Scholar 

  24. C-J.H. Seger and R.E. Bryant. Formal verification by symbolic evaluation of partially-ordered trajectories. Formal Methods in System Design: An International Journal, 6(2), 1995.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2002 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Hymans, C. (2002). Checking Safety Properties of Behavioral VHDL Descriptions by Abstract Interpretation. In: Hermenegildo, M.V., Puebla, G. (eds) Static Analysis. SAS 2002. Lecture Notes in Computer Science, vol 2477. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-45789-5_31

Download citation

  • DOI: https://doi.org/10.1007/3-540-45789-5_31

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-44235-6

  • Online ISBN: 978-3-540-45789-3

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics