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

From: danielm <danielm_at_.....>
Date: Tue Jan 22 2008 - 08:10:24 PST
>>>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, 22 Jan 2008 17:10:24 +0100

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