About ovm_agnet reusability

Hi All,
My query here is regarding disabling driver or monitor in an ovm_agent (i,e reusablibity of agent without changing the code) this is achived by disabling has_driver/has_monitor, but whats the way to achive this:

  1. Is there any run time command line option to this. or

2.In testcase extends ovm_test function build( ) by set_config_int to disable.But this way restricts the
configurabitlity to only particular testcase

  1. Any other way of doing this.

Please, in hope for a response.

Thanks.

Hi All,
My query here is regarding disabling driver or monitor in an ovm_agent (i,e reusablibity of agent without changing the code) this is achived by disabling has_driver/has_monitor, but whats the way to achive this:

  1. Is there any run time command line option to this. or
    2.In testcase extends ovm_test function build( ) by set_config_int to disable.But this way restricts the
    configurabitlity to only particular testcase
  2. Any other way of doing this.
    Please, in hope for a response.
    Thanks.

Sorry, in subject line a typo mistake corrected.

In a reusable OVM environment, an ovm_agent should be designed for a specific type of interface or other similar group of signals. The ovm_agent(s) are incorporated into an ovm_env which is utilized to verify a specific design. It is at the environment level where the user should enable/disable specific features of the agents by using the set_config_*() methods.

As environments are brought together in block-to-top reuse, the top level can always override the behavior of the lower level environments. The set_config_*() methods will allow you to override anything configured below it.

Thanks Gales for clarifying quickly.
Another query here related to transactions override is it possible to override tansactions class i,e data items class to be overriden in ovm.
As sequence / sequencer are associated with particular type of transaction like
class my_seq extends ovm_sequence #(my_trans);

In case i want to override my_trans with my_trans1 is this possible.

Thanks.

Yes you can extend your my_trans and creat my_trans1 where u may modify the constraints or range of address or anything but you can not change the type of class as sequencer is parametrized by type of transaction. Just you need to do set_type_override in your test.

Regards,
Akki