Skip to main content

Assertion Statements

  • Chapter
  • First Online:
SVA: The Power of Assertions in SystemVerilog
  • 2590 Accesses

Abstract

This chapter describes assertion statements in SVA: assertions, assumptions, restrictions, and coverage statements, and how these statements are checked in simulation and in formal verification. It also provides basic information about assertion simulation algorithms.

Language is a mixture of statement and evocation.— Elizabeth Bowen

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 99.00
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 129.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD 179.99
Price excludes VAT (USA)
  • Durable hardcover 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

Notes

  1. 1.

    In SVA, there is also expect statement used mostly in testbenches, but we do not describe it in this book.

  2. 2.

    The LRM contains contradictory text that should be resolved in the subsequent revision: In Clause 17.5 it states that initial procedures in checkers can contain immediate assertions, but in Clause 17.2 it does not allow immediate assertions in checker body.

  3. 3.

    This means that the value of the variable must be stored in the deferred assertion report queue with the assertion identification.

  4. 4.

    clk and edge clk behave the same way when clk is of type bit, but they behave differently when the type is logic.

  5. 5.

    One could be tempted to say that the attempts begin at times 15, 35, and 65, but recall that the attempts are synchronized with the rising edge of the clock.

  6. 6.

    chandle is a data type used to represent storage for pointers passed to SystemVerilog from C code.

  7. 7.

    In this section, we limit our discussion to deterministic models; study of nondeterministic models is postponed to Chap. 23.

  8. 8.

    In simulation all traces are, of course, finite. In FV, we can also consider infinite traces. This is discussed in Chap. 21.

  9. 9.

    It is conceivable that simulators could also check that the values of the expression in the dist operator used in an assertion or cover satisfy the specified distributions at the end of simulation.

  10. 10.

    See Chap. 6.

  11. 11.

    We ignore here the fact that assumptions may be used as constraints in random simulation . This feature of assumptions is seldom implemented in commercial simulation tools.

References

  1. IEEE Std. 1800–2009, IEEE Standard for SystemVerilog—Unified Hardware Design, Specification, and Verification Language (2009)

    Google Scholar 

  2. IEEE Std. 1800–2012, IEEE Standard for SystemVerilog—Unified Hardware Design, Specification, and Verification Language (2012)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

Copyright information

© 2015 Springer International Publishing Switzerland

About this chapter

Cite this chapter

Cerny, E., Dudani, S., Havlicek, J., Korchemny, D. (2015). Assertion Statements. In: SVA: The Power of Assertions in SystemVerilog. Springer, Cham. https://doi.org/10.1007/978-3-319-07139-8_4

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-07139-8_4

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-07138-1

  • Online ISBN: 978-3-319-07139-8

  • eBook Packages: EngineeringEngineering (R0)

Publish with us

Policies and ethics