View Full Version : elaboration and post_elaboration
miyashita
01-10-2008, 12:48 AM
Hi, OVM Users
There are not elaboration and post_elaboration in Page 4 of OVM_Whitepaper_12-21-07.pdf
I check ovm_component class, but ovm_component have not elaboration and post_elaboration function.
It has export_connections, connect, import_connections and end_of_elaboration function. Is those functions avm_env class members ?
OVM v1.0 does not support elaboration and post_elaboration functions ?
Thanks
dlong
01-10-2008, 04:55 AM
Hi,
The connect, import_connections and export_connections methods form the elaboration phase. The end_of_elaboration method is the post_elaboration phase.
These functions were originally part of the AVM named_component class.
Regards,
Dave
==============
David Long
Doulos
http://www.doulos.com
jlrose
01-10-2008, 04:43 PM
What Dave says is essentially true. In OVM, elaboration is all of the stuff that happens between the post_new phase and the end_of_elaboration phase. There is not an elaboration phase per se. The most important "elaboration" action is the port->implementation binding. This binding happens just before the end_of_elaboration phase. The phase callbacks that Dave listed all happen before port binding.
miyashita
01-13-2008, 10:20 PM
Hi
Thank you for your response.
I understand elaboration and end_of_elaboration phase.
Regards
ctaylor
03-26-2008, 10:09 AM
So should port connections be done in a 'connect' function (which maybe is called only as an AVM legacy thing), or should they just be done in the post_new() call (after super.post_new() which does the build calls).?
dlong
03-26-2008, 10:20 AM
Ports should be connected using the connect functions.
In OVM, the actual connections are not fixed until the port-export hierarchy has been traversed so the import_connections and export_connections methods that were used in AVM for hierarchical exports and ports can be replaced by connect too.
Regards,
Dave
ctaylor
03-26-2008, 10:30 AM
Sorry, I didn't make myself clear. I'm talking about the ovm_component::connect() function that seems to be called automatically - I think this is a legacy of the AVM, but it is not documented in the OVM (1.0.1) Ref guide. Should one put one's port.connect() calls the post_new() function, or is it OK to rely on the component's 'connect' function being called?
dlong
03-26-2008, 10:37 AM
You should override the connect function for the components. You call the port/export connect functions inside this function.
Sorry for any confusion.
Regards,
Dave
ctaylor
03-26-2008, 11:15 AM
So would you say that should be added to the OVM Ref Guide?
dlong
03-26-2008, 01:12 PM
So would you say that should be added to the OVM Ref Guide?
Probably, but that's not for me to say! The post_new and connect phases both occur after construction and before the end of elaboration. My view is that post_new is for stuff that needs to be done after build while connect is for making the connections.
Regards,
Dave
Powered by vBulletin™ Version 4.0.3 Copyright © 2010 vBulletin Solutions, Inc. All rights reserved.