RE: [vhdl-200x] Issue with VHDL name attributes

From: Peter Ashenden <peter@ashenden.com.au>
Date: Wed Apr 14 2004 - 23:12:25 PDT

John,

I think the approach will have to involve:

- not making an architecture a declaration

- as a consequence, an architecture name would not denote a named entity,
and would not have a scope

- identifying all of the cases where an architecture name can be referenced

- in those places that are currently subsumed as a reference to a named
entity, make a special case for architecture names (eg, in attribute
specifications)

- in other places, make sure we explicitly refer to an architecture name as
a special kind of name, rather than as a declared name, a declaration, or a
name that denotes a named entity

Cheers,

PA

--
Dr. Peter J. Ashenden                        peter@ashenden.com.au
Ashenden Designs Pty. Ltd.                   www.ashenden.com.au
PO Box 640                                   Ph:  +61 8 8339 7532
Stirling, SA 5152                            Fax: +61 8 8339 2616
Australia                                    Mobile: +61 414 70 9106
> -----Original Message-----
> From: John J. Shields [mailto:jshields@ieee.org] 
> Sent: Thursday, 15 April 2004 00:26
> To: 'Peter Ashenden'; 'Erich Marschner'; 'Ries, John'; 
> 'Bailey, Stephen'
> Cc: vhpi-pilot@eda.org; vhdl-200x@eda.org
> Subject: RE: [vhdl-200x] Issue with VHDL name attributes
> 
> 
> Hi,
> 
> It is necessary to clarify the scope of the architecture 
> name, but it would have been reasonable (to me) to have the 
> name of the architecture be considered to be in separate 
> subscope of the entity, while its declarations 
> could remain an extension of the entity decl scope.  The set 
> of arch names of an entity then must remain unique, an arch 
> may have the same name as an entity, and the backward 
> compatibility of the namespace of an E/A instance would be 
> preserved.  Is there a problem with this or an additional 
> limitation that I am not considering?
> 
> Regards, John
> 
> -----Original Message-----
> From: owner-vhpi-pilot@eda.org 
> [mailto:owner-vhpi-pilot@eda.org] On Behalf Of Peter Ashenden
> Sent: Wednesday, April 07, 2004 8:14 PM
> To: 'Erich Marschner'; 'Ries, John'; 'Bailey, Stephen'
> Cc: vhpi-pilot@eda.org; vhdl-200x@eda.org
> Subject: RE: [vhdl-200x] Issue with VHDL name attributes
> 
> Erich,
> 
> A significant difference between entity/architecture pairing 
> and package/body pairing is that an architecture body has a 
> name, whereas a package body does not.  There was a need to 
> define where the architecture name is declared and to specify 
> the scope of that name.  Were we to allow alternative package 
> bodies with names to distinguish them, the same issue would 
> arise.  (That may be akin to Ada-95 child packages, which are 
> deemed to be declared within and at the end of the parent 
> package body.  Now that I come to think of it, that was 
> probably the notion that inspired deeming architecture bodies 
> to be declared within the entity region.)
> 
> Rather than tearing at the fabric of the language, the intent 
> of the change was to unify declaration of entity and 
> architecture names with the existing scope and visibility 
> rules, in order to clearly specify where those names are 
> declared and where they are visible.  That aspect was 
> ill-specified pre-2002, and different implementations assumed 
> different incompatible interpretations.
> 
> As I indicated, this has been done according to due process 
> in an earlier revision of the standard. It is what VHDL currently is.
> 
> Cheers,
> 
> PA
> 
> --
> Dr. Peter J. Ashenden                        peter@ashenden.com.au
> Ashenden Designs Pty. Ltd.                   www.ashenden.com.au
> PO Box 640                                   Ph:  +61 8 8339 7532
> Stirling, SA 5152                            Fax: +61 8 8339 2616
> Australia                                    Mobile: +61 414 70 9106
> 
> 
> > -----Original Message-----
> > From: Erich Marschner [mailto:erichm@cadence.com]
> > Sent: Thursday, 8 April 2004 02:33
> > To: Peter Ashenden; Ries, John; Bailey, Stephen
> > Cc: vhpi-pilot@eda.org; vhdl-200x@eda.org
> > Subject: RE: [vhdl-200x] Issue with VHDL name attributes
> > 
> > 
> > 
> > Peter,
> > 
> > I sent another email earlier this morning, but I suspect that
> > email didn't get out, because Outlook crashed just after I 
> > sent it - so I'll repeat myself here, just in case.  
> > Apologies if this is a duplicate.
> > 
> > I'm intrigued by the decision to make architectures a
> > separate declarative region, nested 'inside' that of the 
> > entity.  (I wasn't aware of this until this thread started.)
> > 
> > Architectures (or "architecture bodies", as they were
> > originally refered to) are to entity (interface) declarations 
> > as package bodies are to package declarations.  The only 
> > significant difference w.r.t. scope and visibility is that we 
> > wanted to allow alternative architectures, whereas one 
> > package body was deemed sufficient.  The need to allow 
> > multiple architectures led to a requirement for names on the 
> > architectures.
> > 
> > If an architecture is now considered to be a nested
> > declarative region inside an entity, then similarly a package 
> > body should be considered a nested declarative region inside 
> > a package declaration.  If that is not the case, then the 
> > analogy between entity/architecture and package/package body 
> > has been broken.  However, I see virtually no value in 
> > adopting this nested definition, in either case.
> > 
> > If the goal was to allow an architecture to have the same
> > name as the corresponding entity, a much more natural 
> > solution would have been to simply make the architecture name 
> > optional:
> > 
> > entity E is ...
> > end;
> > 
> > architecture of E is ...
> > end;
> > 
> > There is only one name, and it is shared by the entity and
> > the architecture - which together still constitute a single 
> > declarative region.  
> > 
> > I wasn't involved in the discussions that led to the decision
> > to change the definition of declarative regions, so I may be 
> > missing something.  But on the surface, I don't see how it 
> > adds any real value, and it seems to tear a bit at the basic 
> > framework of the language.  
> > 
> > Regards,
> > 
> > Erich
> > 
> 
> 
> 
Received on Wed Apr 14 23:12:17 2004

This archive was generated by hypermail 2.1.8 : Wed Apr 14 2004 - 23:12:34 PDT