RE: [sv-ec] Re: Feedback from Freescale on name resolution issues

From: Francoise Martinolle <fm_at_.....>
Date: Mon Nov 05 2007 - 10:07:20 PST
I see 2 options:
option 1)
we want to preserve backward compatibility, then we are stuck
with resolving the simple names from inside the class object first
because this is
the way it has been...
We need a special syntax to refer to the enclosing scope of the call of
randomize.
Someone proposed "local(a)"

option 2) 
not backward compatible, resolve simple names using the standard naming
rules
(enclosing immediate scope first).
Use a special prefix to resolve into the class object (prefix of
randomize):
for ex "obj."

Francoise
    '
-----Original Message-----
From: owner-sv-ec@eda.org [mailto:owner-sv-ec@eda.org] On Behalf Of
Michael Burns
Sent: Tuesday, October 23, 2007 8:00 PM
To: Gordon Vreugdenhil
Cc: Neil.Korpusik@Sun.com; Jonathan Bromley; sv-ec@eda.org
Subject: Re: [sv-ec] Re: Feedback from Freescale on name resolution
issues


Hi folks,

In our methodology, I think it would be quite rare to have a cumbersome
select prefix - we're going to do our inline constraining in some kind
of testcase-specific driver object and the object we're randomizing will
be a local data member of that driver class or a function automatic
which we access using a simple name. Our testbench people expect to use
Neil's syntax, and don't see a problem with it.

The real issue I'm concerned about is not how to explicitly specify
binding into the object, but how to explicitly specify binding into the
local lexical scope. 
I think that's where we need the enhancement.

--Mike

Gordon Vreugdenhil wrote:
> 
> 
> Neil Korpusik wrote:
>> Jonathan Bromley wrote On 10/23/07 01:45 AM,:
>>> (7) In a modification of suggestion (2):  instead of putting
>>>     a list of names in the parens, provide just one identifier,
>>>     freely chosen by the programmer, which is to be treated as
>>>     an alias for the object being randomized:
>>>       obj.randomize() with (thing) {thing.x < thing.y + x;};
>>>
>>
>> Perhaps I am missing something here.
>>
>> Why can't we just use the following? Since obj is the thing being 
>> randomized, why can't we just use 'obj.' when we need to specify that

>> the variables used in the with clause are within obj?
>>
>>    obj.randomize() with {obj.x < obj.y + x;};
> 
> Neil, I think that this would effectively remove the current special 
> rules.  In addition,  this is painful if "obj" is a general select 
> prefix -- users would want/need to create a temporary handle of the 
> appropriate type to have manageable constraints.
> 
> Gord.
> 
> 
> 


--
This message has been scanned for viruses and dangerous content by
MailScanner, and is believed to be clean.


-- 
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.
Received on Mon Nov 5 10:07:40 2007

This archive was generated by hypermail 2.1.8 : Mon Nov 05 2007 - 10:08:03 PST