RE: [sv-ec] $root vs $unit

From: danielm <danielm_at_.....>
Date: Tue Jan 22 2008 - 08:31:45 PST
Thnaks Shalom,

I'm aware of that LRM text can restrict BNF.
But I've read chapter about hier names (19.14)  - and there is no word about
that. There is also no footnote made for the definition of :
hierarchical_identifier ::= [ $root . ] { identifier constant_bit_select . }
identifier

So where it can be found.

Maybe the draft clear this out - but i have no access to that. If not I
think that such footnote should be added.

Maybe my definition of hier ref is better:
hierarchical_identifier ::= [ $root . ]  constant_bit_select . { identifier
constant_bit_select . } [identifier]


DANiel


-----Original Message-----
From: Bresticker, Shalom [mailto:shalom.bresticker@intel.com] 
Sent: Tuesday, January 22, 2008 5:18 PM
To: danielm
Cc: sv-ec@eda.org
Subject: RE: [sv-ec] $root vs $unit

The BNF is not everything.
The LRM text supplements the BNF.
$root.a is legal if the reference is to a top-level instance a.

Shalom 

> -----Original Message-----
> From: danielm [mailto:danielm@aldec.com.pl]
> Sent: Tuesday, January 22, 2008 6:10 PM
> To: 'Steven Sharp'; gordonv@model.com; Mark.Hartoog@synopsys.com
> Cc: Bresticker, Shalom; sv-ec@eda.org
> Subject: RE: [sv-ec] $root vs $unit
> 
> >>>The LRM says that $root can be added to the front of a
> hiearchical name.
> 
> Above is false LRM states that:
> 	hierarchical_identifier ::= [ $root . ] { identifier 
> constant_bit_select . } identifier And
> 	- Braces ( { } ) enclose items that can be repeated zero or more 
> times.
> 
> From both above :
> 	hierarchical_identifier ::= [ $root . ]  identifier Is allowed
>  
> It would be as you said if we change the definition to:
> 	hierarchical_identifier ::= [ $root . ] identifier 
> constant_bit_select . { identifier constant_bit_select . } identifier
> 
> DANiel
> 
> -----Original Message-----
> From: Steven Sharp [mailto:sharp@cadence.com]
> Sent: Tuesday, November 06, 2007 7:43 PM
> To: gordonv@model.com; danielm@aldec.com.pl; Mark.Hartoog@synopsys.com
> Cc: shalom.bresticker@intel.com; sv-ec@eda.org
> Subject: RE: [sv-ec] $root vs $unit
> 
> 
> >As Gord indicates $root.<typeName> is illegal in P1800.
> 
> The illegality goes beyond the fact that hierarchical names are not 
> allowed in type references.  It would also be illegal to have 
> $root.<varName>.  The LRM says that $root can be added to the front of 
> a hiearchical name.  But a hierarchical name must start with a scope 
> (which would have to be a top-level instance in this case).
> 
> I don't think I have ever seen this pointed out before, but it follows 
> from the LRM text, and neatly avoids a problem.
> 
> As Shalom pointed out, $root.<identifier> could be ambiguous if the 
> same identifier name appears in multiple $units.  However, this is not 
> a legal hierarchical name unless <identifier> is a top-level instance.  
> Since top-level instance names must be unique, the problem is avoided.
> 
> So the old meaning of $root to talk about things in the top-level 
> scope is completely gone, replaced by $unit.
> 
> Steven Sharp
> sharp@cadence.com
> 
> 


-- 
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.
Received on Tue Jan 22 08:32:21 2008

This archive was generated by hypermail 2.1.8 : Tue Jan 22 2008 - 08:32:28 PST