Skip to main content

Introduction

  • Chapter
  • First Online:
The Power of Assertions in SystemVerilog

Abstract

This chapter provides a brief introduction into SystemVerilog Assertions (SVA). The main concepts are explained on specific examples. We explain the peculiarities of the assertion language and its application in the contemporary design flow. The chapter discusses assertion kinds, assertion reuse and tools for assertion library support. The chapter is concluded with a brief comparison between PSL and SVA.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Institutional subscriptions

Notes

  1. 1.

    Until 2009 Verilog and SystemVerilog had separate standards. In 2009 both standards were merged into SystemVerilog standard.

  2. 2.

    SystemVerilog also introduced many important object-oriented enhancements to Verilog, such as aggregate data types, classes, and interfaces [7].

  3. 3.

    This example uses several SystemVerilog features not available in Verilog, e.g., logic data type (see Chap. 2 for more information).

  4. 4.

    The reader may be used to the term “alwaysblock”, but according to the SystemVerilog 2009 standard, this construct is called alwaysprocedure”.

  5. 5.

    This specification does not provide details about how the timeout condition is formed. Of course, a complete specification should provide them.

  6. 6.

    Configurations were introduced in Verilog 2001 [2].

  7. 7.

    Actually many verification tools do require some input information, such as a clock pattern or a reset sequence.

  8. 8.

    Strictly speaking, true is not defined in SystemVerilog, but we will use it where appropriate as an alias for 1’b1. Similarly, we will use false for 1’b0.

  9. 9.

    For simplicity, here and in future examples we ignore the possibility of unknown and high-impedance values X and Z unless explicitly stated.

References

  1. IEEE Standard Verilog Hardware Description Language (2001) IEEE Std 1364-2001, pp 1–856

    Google Scholar 

  2. IEEE Standard for Verilog Hardware Description Language (2006) IEEE Std 1364-2005 (Revision of IEEE Std 1364-2001), pp 1–560

    Google Scholar 

  3. IEEE Standard SystemC Language Reference Manual (2006) IEEE Std 1666-2005, pp 1–423

    Google Scholar 

  4. IEC Standard for Property Specification Language (PSL) (Adoption of IEEE Std 1850-2005) (2007) IEC 62531:2007 (E), pp 1–156

    Google Scholar 

  5. IEEE Standard for SystemVerilog - Unified Hardware Design, Specification, and Verification Language (2009) IEEE STD 1800-2009, pp C1–1285

    Google Scholar 

  6. Ashar P, Dey S, Malik S (1995) Exploiting multicycle false paths in the performance optimization of sequential logic circuits. In: IEEE transactions on computer-aided design of integrated circuits and systems 14(9):1067–1075

    Article  Google Scholar 

  7. Bergeron J, Cerny E, Hunter A, Nightingale A (2006) Verification methodology manual for SystemVerilog. Springer, New York

    Google Scholar 

  8. Bernardo M, Cimatti A (2006) Formal methods for hardware verification: 6th International School on Formal Methods for the Design of Computer, Communication, and Software Systems, SFM … Lectures (Lecture Notes in Computer Science). Springer, New York, Secaucus, NJ, USA

    Google Scholar 

  9. Chadha R (2009) Static timing analysis for nanometer designs. Springer

    Google Scholar 

  10. Emerson EA, Halpern JY (1982) Decision procedures and expressiveness in the temporal logic of branching time. In: STOC’82: Proceedings of the fourteenth annual ACM symposium on Theory of computing. ACM, New York, pp 169–180

    Google Scholar 

  11. Gulati K, Khatri SP (2010) Hardware acceleration of EDA algorithms. Custom ICs, FPGAs and GPUs. Springer

    Google Scholar 

  12. Hennessy JL, Patterson DA (2006) Computer Architecture: A Quantitative Approach, 4th edn. Morgan Kaufmann Publishers, San Francisco, CA, USA

    MATH  Google Scholar 

  13. Kuehlmann A, van Eijk CAJ (2002) Combinational and sequential equivalence checking. Logic synthesis and verification, pp 343–372

    Google Scholar 

  14. Lamport L (2002) Specifying systems, the TLA+ language and tools for hardware and software engineers. Addison-Wesley

    Google Scholar 

  15. Malik S (2005) A case for runtime validation of hardware. In: Haifa verification conference. pp 30–42

    Google Scholar 

  16. Mukhopadhyay R, Panda SK, Dasgupta P, Gough J (2009) Instrumenting ams assertion verification on commercial platforms. ACM Trans Des Autom Electron Syst 14(2):1–47

    Article  Google Scholar 

  17. Parker RH (2004) Caution: clock crossing. a prescription for uncontaminated data across clock domains. Chip design magazine

    Google Scholar 

  18. Pellauer M, Lis M, Baltus D, Nikhil R (2005) Synthesis of synchronous assertions with guarded atomic actions. In: 2nd ACM/IEEE International Conference on Formal Methods and Models for Co-Design. IEEE Computer Society, Washington, DC. pp 15–24

    Google Scholar 

  19. Reese RB, Thornton MA (2006) Introduction to logic synthesis using verilog HDL (synthesis lectures on digital circuits and systems). Morgan and Claypool

    Google Scholar 

  20. Rotithor H (2000) Postsilicon validation methodology for microprocessors. IEEE Des Test 17(4):77–88

    Article  Google Scholar 

  21. Sutherland S, Davidman S, Flake P (2006) SystemVerilog for Design. Springer

    Google Scholar 

  22. Tabakov D, Vardi MY, Kamhi G, Singerman E (2008) A temporal language for systemc. In: FMCAD ’08: Proceedings of the 2008 International Conference on Formal Methods in Computer-Aided Design, IEEE, Piscataway, NJ, USA, pp 1–9

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Eduard Cerny .

Rights and permissions

Reprints and permissions

Copyright information

© 2010 Springer Scinece+Business Media, LLC

About this chapter

Cite this chapter

Cerny, E., Dudani, S., Havlicek, J., Korchemny, D. (2010). Introduction. In: The Power of Assertions in SystemVerilog. Springer, Boston, MA. https://doi.org/10.1007/978-1-4419-6600-1_1

Download citation

  • DOI: https://doi.org/10.1007/978-1-4419-6600-1_1

  • Published:

  • Publisher Name: Springer, Boston, MA

  • Print ISBN: 978-1-4419-6599-8

  • Online ISBN: 978-1-4419-6600-1

  • eBook Packages: EngineeringEngineering (R0)

Publish with us

Policies and ethics