Subject: Re: [sv-bc] Proposal: Namespace (and deemphasizing $root)
From: Randy Misustin (ram@model.com)
Date: Thu Mar 06 2003 - 08:45:55 PST
Hi Karen,
Karen Pieper wrote:
> Randy,
>
> At first glance, this proposal looks like a good one because I believe
> that we will see more and
> more IP coming together in designs, and I, too, am concerned about
> possible name collisions
> because of that integration. Are you thinking that modules and
> interfaces could be defined in
> one of these namespaces as well? Would that be useful?
I hadn't been. Verilog 2001 already utilizes the notion of libraries and
configurations to manage modules, primitives, and other configurations
in this context. I noticed interfaces were added to the mix for
SystemVerilog. If we decide to allow namespaces, they too should be
added to the list of things managed by configurations.
> Is there a way to ensure backward compatibility with the existing $root
> definition? Perhaps
> implying that users that do so lose the ability to separately compile,
> mix languages, etc if he
> were to do so?
The last paragraph in my proposal was the start of my thoughts on this
topic. If we want to offer a compatible path for current SuperLog codes,
I would personally much rather generalize outer level declarations and
define that they be added to an implicit namespace. This implicit
namespace can be given a local name (I think I proposed $defaultpkg) and
be made visible by default. I balk at the use of the name $root for this
purpose since it seems misleading.
Anyway, we should define these implicit namespaces to be local to the
current compilation. In this way, it seems to me that one would be able
to compile a current Superlog description all at once, and have the same
effect as $root. A further bonus is that any module in that description
may be instantiated from another implementation language (after
resolving port and parameter typing issues, of course) without further
compilation.
-randy.
> Thanks for taking time to offer this idea to the team,
>
> Karen
This archive was generated by hypermail 2b28 : Thu Mar 06 2003 - 08:46:41 PST