Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

System Verilog OVM question (super.build())

Status
Not open for further replies.

kretzschmar

Newbie level 6
Joined
Jan 27, 2006
Messages
11
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,281
Activity points
1,425
Hi,

Copied from the OVM user-guide(2.1.2) in XBus OVC example, page 147, is the following hint:

"Call super.build() in order to update any overridden fields. This is important
because the test, which creates the testbench, may register overrides for the testbench.
Calling super.build() will ensure that those overrides are updated"

My understanding is that since the build function has a top-down order, then the sequence of building the environment will be as follows:

1- Calling run_test for "xbus_demo_base_test" will start with the build phase, which has a super.build() calling the build of ovm_test, after this create("xbus_demo_tb0", this) will call the build function for xbus_demo_tb.

2- In the build of xbus_demo_tb which extends ovm_env, it starts with a call to super.build()..
Now my question is:
which build function is called in this step:
is it the build of ==> ovm_env
or it is the build of ==> xbus_demo_base_test

Or in other words, i know that super.xxx() calls the function of the parent, so which one is the parent here,
is it the ovm_env (or any other testbench extending from ovm_env that this xbus_demo_tb could be extending as well)?
or it is the ovm_test that instantiated this xbus_demo_tb?

From the OVM userguide hint that i mentioned at the start, i think that they meant that the build of the test class will be called, if this is true, then i don't understand why should we repeat the execution of the test build function !!
and wont it create an infinite looping between the build of xbus_demo_base_test and the build of xbus_demo_tb, since each one is calling the other ?!

I think i'm missing something in the order of execution and the hierarchy.. so please help.

Thanks in advance
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top