RE: [sv-cc] vpiParent and ref objs

From: Francoise Martinolle <fm_at_.....>
Date: Thu Apr 14 2005 - 20:52:24 PDT
 
Tapati,

this is consistent with my interpretation of ref obj. The parent
relationship allows
walking of the ref obj expression up to its base ref obj.

In the second example you give below I would however have expected that the
parent
of task a.read is the generic interface a which vpiActual returns the
modport int1.slave.

Francoise
    '


-----Original Message-----
From: owner-sv-cc@eda.org [mailto:owner-sv-cc@eda.org] On Behalf Of Tapati
Basu
Sent: Thursday, April 14, 2005 3:24 PM
To: vellenga; fm; michael.rohleder@freescale.com
Cc: sv-cc@eda.org
Subject: Re: [sv-cc] vpiParent and ref objs

Hi,

Please ignore my last mail and consider this. Here I am trying to explain
the ides behind creating the vpiParent realtion but I thin we need to
revisit this together with other issues with vpiRefObj.

- Thanks,
tapati 

>
>>-- In 32.12, the vpiParent of a ref obj is another ref obj?  What does 
>>this mean?  Does this have to do with hierarchical instantiation?
>>
>
>Let's consider this scenario : 

module mod()

int1 i1();

child c1 (i1.modport1)


Here, the highconn of the port of c1 is i1.modport1 which is a RefObj of
type vpiModportRefObj and it's parent is i1, which is again a Refobj of type
vpiInterfaceRefObj.

This was the idea behind the vpiParent relation when we first started
thinking about RefObjs.

>-- In 32.26, what does it mean for a ref obj to be a vpiParent of a 
>task or function declaration?
>

This was added to handle the case of export tasks inside interface.

interface simple_bus()
modport slave ......
	export task read()....
	
	
	
module mymod(interface a)

 task a.read ()
 
 }
 
 the instantiation of mymod will be
 mymod m1(int1.slave) // where int1 is an instance of interface simple_bus
 
 so, if we take the task a.read, it's parent is a RefObj which is
int1.slave.
 
 
Received on Thu Apr 14 20:52:40 2005

This archive was generated by hypermail 2.1.8 : Thu Apr 14 2005 - 20:53:30 PDT