RE: [vhdl-200x-ft] Implicitly referencing std.textio and library IEEE

From: <tgingold@free.fr>
Date: Wed Dec 22 2004 - 00:28:42 PST

Selon VhdlCohen@aol.com:

> Tristan,
> Thanks for all your detailed comments. My only commment is on
> >I think the user should choose its default packages.
>
> I am OK with the user choosing his default packages for the project in a user
> defined library, such as work, or some_name_work.
> That definition can be declared ONCE for the project (or a library) in a
> file, which is compiled once. Thereafter, the user need NOT write all these
> "libray IEEE; use IEEE.whatever.all". If he does write it, it overrides the
> default -- this needs some work as to what extent this override takes effect
> (i.e., all the defaults?).
> SHould we restrict this global library/package umbrella to just the IEE E
> packages, or can we include user defined packages?
> I am open to this idea, but if there are objections I would not strongly
> fight it.
For me, there are no restrictions.

> My point is that I want to make things easier for the user.
> I heard many complaints about this overhead (library and package declarations
> before many design units), and I would like to see this new VHDL version
> handle it in one way or another. A single context declaration for the
> project is OK with me. Another approach would have been to include all these
> IEEE packages in the language. However, if this committee strongly objects
> to this integrated idea, which I prefer, I don't care, as long as the users
> goal to eliminate this multiplicity of declarations is eliminated, as is
> currently done in other HDL, like VG and SV.
So we globally agree on a proposition like this:
* The user has to define its own context:
context user is
  library ieee;
  use ieee.std_logic_1164.all;
  use ieee.numeric_std.all;
  use work.my_types.all;
end user;

* The user has to reference its context in every module.
with context user; -- or something like that.

entity top is
....

Note:
The user won't be able to add its context in the packages referenced by the
context unit. So, he should certainly create two contexts:
context ieee_ctxt is
  library ieee;
   ...
end;

context user is
  with context ieee_ctxt;
  use work.my_types.all;
end;

So, you may nest contexts.

Tristan.
Received on Wed Dec 22 00:28:48 2004

This archive was generated by hypermail 2.1.8 : Wed Dec 22 2004 - 00:28:51 PST