On Apr 4, 2012, at 6:06 AM, René Doß wrote:

> I have a wish. More information on warning.
> I get the Information of the library. For me it is important which signal in 
> my code is in trouble. I need a signal name in my code. Can you also print 
> out the higher instance name? I would extremely help.



You'd find that the error messages are actually specified in 
numeric_std_body.vhdl.  numeric_std was originally released as part of the 
1076.2 effort in 1997 and is incorporated in IEEE Std 1076-2008 (see Annex A, 
A.2.4 Standard synthesis packages where the packages can be downloaded from 
http://standards.ieee.org/downloads/1076/1076-2008/  (see 
http://standards.ieee.org/downloads/1076/1076-2008/1076-2008_machine-readable.zip)).

There are also copies released under 1076.2 (see 
http://standards.ieee.org/downloads/1076/1076.2-1996/ for individual VHDL 
files), which appears to be where Tristan procured them.

These are all copyright by the IEEE and distributed conditionally.  They do 
have authority to be modified.  See numeric_std.vhdl from the 2008 distribution 
for example:

--   Note      :  This package may be modified to include additional data
--             :  required by tools, but it must in no way change the
--             :  external interfaces or simulation behavior of the
--             :  description. It is permissible to add comments and/or
--             :  attributes to the package declarations, but not to change
--             :  or delete any original lines of the package declaration.
--             :  The package body may be changed only in accordance with
--             :  the terms of Clause 16 of this standard.

While the numeric_std found in the 1076.2 distribution shows:

-- This package may be modified to include additional data required by tools,
-- but it must in no way change the external interfaces or simulation behavior
-- of the description. It is permissible to add comments and/or attributes to
-- the package declarations, but not to change or delete any original lines of
-- the package declaration. The package body may be changed only in accordance
-- with the terms of 7.1 and 7.2 of this standard.

We might notice that the clause number 16 refers to the IEEE Std 1076-2008, 
wherein 16.8.5.2 Allowable modifications specifies what changes can be made to 
the included IEEE packages.

7.1 and 7.2  reflect IEEE Std 1076.3-1997  and 7.1 gives permission:

The text of messages associated with assertions may differ in the rewritten 
subprogram.

Although there is a requirement that the NO_WARNING assertion mechanism remain 
in effect.  The same restrictions hold true in IEEE Std 1076-2008.

As a practical point the information you are after can be found by using IEEE 
Std 1076-1993 Section 14 Predefined language environment,, 14.1 Predefined 
attributes.  See E'SIMPLE_NAME,  E'INSTANCE_NAME  and E'PATH_NAME.  Named 
entities specified in 5.1 include entity, architecture, configuration, 
procedure, function, package, type, subtype, constant, signal, variable, 
component, label, literal, units, group and file.
Without checking to determine ghdl implements these two predefined attributes 
compliantly you could note there is nothing stoping  the aficionado from making 
changes to numeric_std_body.vhdl. 

The ghdl reference 3.12 IEEE math packages (see 
http://ghdl.free.fr/ghdl/IEEE-math-packages.html)  gives an indication of what 
would be required to replace the numeric_std package body.  Finding the IEEE 
library install directory can be be distribution dependent and can require root 
access in some cases.

Note that downloading the source requires that you have lawful copies of the 
IEEE standards.  The source for some IEEE standard packages including 
numeric_std is distributed with ghdl source.

Essentially the functionality you are after can be implemented in VHDL and is 
within your grasp assuming the attributes are functional and compliant.  Come 
up with something clean and functional and I'd imagine Tristan would be more 
than happy to incorporate message changes into ghdl's version.

There are IIR objects for the attributes in ghdl, they are closely related and 
at least one of them is required for VITAL.  I'd expect they work.  They were 
added in ghdl 0.7 (see http://ghdl.free.fr/NEWS) and were introduced in VHDL-93 
just for the purposes you envision.  

You can find examples using the attributes by googling say for " 
"INSTANCE_NAME" "SIMPLE_NAME" VHDL ".

_______________________________________________
Ghdl-discuss mailing list
Ghdl-discuss@gna.org
https://mail.gna.org/listinfo/ghdl-discuss

Reply via email to