Vl-bind
Representation of a bind directive.
This is a product type introduced by defprod.
Fields
- scope — maybe-string
- When non-NIL, this indicates the name of the module or interface to
insert the modinsts into. Otherwise this is a simple bind directive
without a bind_target_scope and should just refer to an
explicit instance.
- addto — vl-exprlist
- Possibly empty, in which case scope should be provided and in
which case the modinst is to be inserted into all instances of the
indicated scope. Alternately: a list of the particular instances
where modinst is to be added to.
- modinsts — vl-modinstlist
- The modinst(s) to be added to the target.
- loc — vl-location
- atts — vl-atts
There are scoped and scopeless versions of bind directives. From
SystemVerilog-2012:
bind_directive ::=
'bind' bind_target_scope [ ':' bind_target_instance_list ] bind_instantiation ';'
| 'bind' bind_target_instance bind_instantiation ';'
Note: our parser allows arbitrary expressions for the
bind_target_instances, which is perhaps too permissive, but the
SystemVerilog-2012 grammar appears to be incorrect: it says the rule
is:
bind_target_instance ::= hierarchical_identifier constant_bit_select
But the examples in Section 23.11 clearly show targets that do not
have such selects.
Subtopics
- Vl-bind-fix
- Fixing function for vl-bind structures.
- Vl-bind-p
- Recognizer for vl-bind structures.
- Make-vl-bind
- Basic constructor macro for vl-bind structures.
- Vl-bind-equiv
- Basic equivalence relation for vl-bind structures.
- Change-vl-bind
- Modifying constructor for vl-bind structures.
- Vl-bind->modinsts
- Get the modinsts field from a vl-bind.
- Vl-bind->scope
- Get the scope field from a vl-bind.
- Vl-bind->loc
- Get the loc field from a vl-bind.
- Vl-bind->atts
- Get the atts field from a vl-bind.
- Vl-bind->addto
- Get the addto field from a vl-bind.