The purpose of defining structs and units is to build a verification hierarchy. However, each instance of a struct or unit and their fields must be generated in a manner that is compliant with the design specification and that follows the test plan. Constraints are used to control generation of structs and units. This chapter discusses how constraints are applied to structs and units to generate a verification environment that is meaningful.
Chapter Objectives
Describe basic concepts of constraints and generation.
Explain simple constraints.
Explain implication constraints.
Describe soft constraints.
Understand weighted constraints.
Describe how to extend struct subtypes.
Explain order of generation.
Explain constraint resolution mechanisms.
Understand do-not-generate fields.