Hi.
I have a parameterized design module that a colleague wrote,
and I have an assertions module (also parameterized) that I want to instance into his code - without modifying it (i.e. using systemverilog bind).
Hi.
I have a parameterized design module that a colleague wrote,
and I have an assertions module (also parameterized) that I want to instance into his code - without modifying it (i.e. using systemverilog bind).
How can I do the bind of the parameters?
Thanks,
A bind module instance statement works just as if you had module instance statement inside the target module. So you can reference the targets parameters and pass them to the bind instance.
I do not understand your question. What are the three components? What do you mean by “interface handle” Perhaps you should start a new topic and show a more complete example.
As far as I get your question, here is my guess in its explanation. Binding is like instantiating some entity inside some other module without changing the physical code of the parent module.
If you don’t specify module instance in bind statement, then the bind will apply to all the instances of parent module.
bind DUT Assertion_module myassertion(.*) // This will bind to ALL the instances of the module "DUT"
bind DUT:inst Assertion_module myassertion(.*) // This will bind to only "inst" instance of the module "DUT"