Observation on Component Creation! Need explanations Plzzz!

Hi All,

Few of the observations made while using the ovm-2.0 and ovm-2.0.1 library, needing explanations on these!! Kindly help out.

Observation1: Pointing to library ovm-2.0.1

  • Had used ovm_driver (paramaterized class) and ovm_environment.
  • In ovm_driver had declared it as `ovm_component_utils(driver)
  • In environment had created the driver in the build function as given below
$cast(driver0,create_component("driver","driver0"));
 driver0.build();
  • When ran pointing to ovm-2.0.1 library and its working fine.

BUT in observations 2

Observation2: Pointing to library ovm-2.0.1

  • Had used ovm_driver(paramaterized class) and ovm_environment.
  • In ovm_driver had declared it as `ovm_component_param_utils(driver)
  • And in the environment if we had created the component as given in the above observation1, it throws the error the component has to be registered in the factory.
  • So i tried registering the component in the environment in build function as given below
driver0 = driver::type_id::create("driver0",this);
  • Now since its properly registered its working fine…

BUT the explanations need is :

  • What is the advantage when we use ovm_component_utils (vs) ovm_component_param_utils for a paramaterized class?? as both ways are working fine with respect to proper creations of component!!!

  • Which way of creation of component has advantage as did in the above two observations??

  • And why there is such sort of differentiation for components creation in many ways when both does the intended operation ???

Kindly need your explanations on these observations,… :o

Thanks in advance…
Desperado… Fun playing with OVM :cool: but confusing at time :confused: …>>

Hi Desperado,

I do not mean any offense, but I would recommend enrolling in one of the many OVM training classes. The forum is great at answering questions, but we’d like every user to have the best possible experience and I’m guessing from the series of posts that you are working hard to get your arms around the OVM.

Some suggested vendors of training include (randomized, not in any recommended preference!! :) ): Doulos, Mentor, Cadence, Willamette, and many more listed at http://www.ovmworld.org/partners.php.

There are even some additional tutorials and examples posted by partners on the contributions page: http://www.ovmworld.org/downloads.php

I hope this all helps.

=Adam Sherilog, Cadence