Abstract
The beginning of wisdom is to call things by their right names.
Chinese proverb
In SystemVerilog, modules, programs, interfaces, checkers, functions, and tasks provide means for reuse, and for abstracting and hiding details. SystemVerilog assertions provide such means too. This is achieved using parameterized let , sequence , and property declarations. Their argument lists as well as instantiation semantics are quite different from the other reuse features. In addition, certain kinds of actual arguments can be inferred from the instantiation context. Similar to sequences and properties, let declarations allow to abstract expressions, making code more readable and reusable. They can be used anywhere, not only in assertions, but also one of their intended uses is for defining reusable parameterizable expressions for immediate and deferred assertions.
Notes
- 1.
The compiler may issue a warning for the second macro definition, saying that the symbol has been redefined.
- 2.
The SystemVerilog LRM provides many examples illustrating the use of let in various scoping contexts, with and without typed arguments and type casting, as well as the use of sampled value functions in let definitions.
References
IEEE Standard VHDL Language Reference Manual (2000) IEEE Std 1076-2000, pp 1–290
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
Copyright information
© 2010 Springer Science+Business Media, LLC
About this chapter
Cite this chapter
Cerny, E., Dudani, S., Havlicek, J., Korchemny, D. (2010). Let Sequence and Property Declarations Inference. In: The Power of Assertions in SystemVerilog. Springer, Boston, MA. https://doi.org/10.1007/978-1-4419-6600-1_7
Download citation
DOI: https://doi.org/10.1007/978-1-4419-6600-1_7
Published:
Publisher Name: Springer, Boston, MA
Print ISBN: 978-1-4419-6599-8
Online ISBN: 978-1-4419-6600-1
eBook Packages: EngineeringEngineering (R0)