Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.5555/647171.718325guideproceedingsArticle/Chapter ViewAbstractPublication PagesConference Proceedingsacm-pubtype
Article

Checking Safety Properties of Behavioral VHDL Descriptions by Abstract Interpretation

Published: 17 September 2002 Publication History

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.

References

[1]
ANSI/IEEE Std 1076-1987. IEEE Standard VHDL Language Reference Manual , 1988.
[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.
[4]
F. Bourdoncle. Abstract interpretation by dynamic partitioning. Journal of Functional Programming , 2(4), 1992.
[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.
[6]
R. E. Bryant. Graph-based algorithms for boolean function manipulation. ieeetc , C-35(8), 1986.
[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.
[8]
C.-T. Chou. The mathematical foundation of symbolic trajectory evaluation. Lecture Notes in Computer Science , 1633, 1999.
[9]
E.M. Clarke, O. Grumberg, and D.A. Peled. Model Checking . The MIT Press, 1999.
[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.
[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.
[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.
[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.
[15]
S. Horwitz, A.J. Demers, and T. Teitelbaum. An efficient general iterative algorithm for dataflow analysis. Acta Informatica , 24(6):679-694, 1987.
[16]
B. Jeannet. Dynamic partitioning in linear relation analysis. Technical report, BRICS, 2000.
[17]
Michael Karr. Affine relationships among variables of a program. Acta Informatica , 6, 1976.
[18]
G. Kildall. A unified approach to global program optimisation. In ACM Symposium on Principles of Programming Languages , 1973.
[19]
Laurent Mauborgne. Abstract interpretation using TDGs. In Static Analysis Symposium , volume 864 of Lecture Notes in Computer Science . Springer-Verlag, 1994.
[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.
[21]
W. Mueller, J. Ruf, D. Hoffmann, J. Gerlach, T. Kropf, and W. Rosenstiehl. The simulation semantics of SystemC. www.systemc.org.
[22]
Open Verilog International (OVI), 15466 Los Gatos Boulevard, Suite 109-071, Los Gatos, CA 95032. Verilog HDL Language Reference Manual .
[23]
G. Plotkin. A structural approach to operational semantics. Technical Report DAIMI FN-19, Aarhus University, 1981.
[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.

Cited By

View all
  • (2011)CaissonProceedings of the 32nd ACM SIGPLAN Conference on Programming Language Design and Implementation10.1145/1993498.1993512(109-120)Online publication date: 4-Jun-2011
  • (2011)CaissonACM SIGPLAN Notices10.1145/1993316.199351246:6(109-120)Online publication date: 4-Jun-2011
  • (2010)Secure information flow analysis for hardware designProceedings of the 5th ACM SIGPLAN Workshop on Programming Languages and Analysis for Security10.1145/1814217.1814225(1-7)Online publication date: 10-Jun-2010
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image Guide Proceedings
SAS '02: Proceedings of the 9th International Symposium on Static Analysis
September 2002
525 pages
ISBN:3540442359

Publisher

Springer-Verlag

Berlin, Heidelberg

Publication History

Published: 17 September 2002

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 09 Nov 2024

Other Metrics

Citations

Cited By

View all
  • (2011)CaissonProceedings of the 32nd ACM SIGPLAN Conference on Programming Language Design and Implementation10.1145/1993498.1993512(109-120)Online publication date: 4-Jun-2011
  • (2011)CaissonACM SIGPLAN Notices10.1145/1993316.199351246:6(109-120)Online publication date: 4-Jun-2011
  • (2010)Secure information flow analysis for hardware designProceedings of the 5th ACM SIGPLAN Workshop on Programming Languages and Analysis for Security10.1145/1814217.1814225(1-7)Online publication date: 10-Jun-2010
  • (2006)Modeling a system controller for timing analysisProceedings of the 6th ACM & IEEE International conference on Embedded software10.1145/1176887.1176929(292-300)Online publication date: 22-Oct-2006
  • (2006)Bit-level partial evaluation of synchronous circuitsProceedings of the 2006 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation10.1145/1111542.1111548(29-37)Online publication date: 9-Jan-2006
  • (2005)Verification of an error correcting code by abstract interpretationProceedings of the 6th international conference on Verification, Model Checking, and Abstract Interpretation10.1007/978-3-540-30579-8_22(330-345)Online publication date: 17-Jan-2005
  • (2005)Information flow analysis for VHDLProceedings of the 8th international conference on Parallel Computing Technologies10.1007/11535294_8(79-98)Online publication date: 5-Sep-2005

View Options

View options

Get Access

Login options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media