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

From: Bresticker, Shalom <shalom.bresticker_at_.....>
Date: Tue Jan 22 2008 - 08:18:26 PST
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:20:50 2008

This archive was generated by hypermail 2.1.8 : Tue Jan 22 2008 - 08:21:23 PST