Re: [sv-bc] Root cause --- $unit is as broken as could be -- maybe too late to standardize it?

From: Gordon Vreugdenhil <gordonv_at_.....>
Date: Sun Jun 03 2007 - 15:32:54 PDT
Mark, this is extremely incomplete in scope.

For example, directly applying those "clear" rules requires
that the following be legal:
   module top;
     int y;
     initial y = x;
     int x;
   endmodule

Clearly "x" exists in "top" so why doesn't this resolve.
You're not claiming it *should* are you??

The Section in 12.6 that 19.3 references is dealing
with upwards names resolution in the context of hierarchical
names.  The problem is (and always has been) that this
rule is way too simplistic and doesn't deal with all of the
real interactions.  It is the interactions between what
is *permitted* as a hierarchical resolution and what is
*required* to be a "lexical" resolution that is a key
problem that has never been addressed and is at the crux
of all the problems that we're having.

Hierarchical resolution ignores the "position" of a declaration
(which is why "forward" refs to functions work - they aren't
"forward" at all).  Hierarchical resolution in Verilog must
be conceptualized as occurring at *elaboration* time when
the "parent" context is already complete.

Now, if you want to claim that *all* name resolution occurs
in such a context then you have a massive legacy issue.
If you don't then appealing to 19.3 is essentially useless.

I'm going to post a small "quiz" later this afternoon about
whether various (nearly symmetric) cases should/shouldn't
resolve.  That might help clarify the issues if not the
answers.

Gord.
-- 
--------------------------------------------------------------------
Gordon Vreugdenhil                                503-685-0808
Model Technology (Mentor Graphics)                gordonv@model.com


-- 
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.
Received on Sun Jun 3 15:33:10 2007

This archive was generated by hypermail 2.1.8 : Sun Jun 03 2007 - 15:33:36 PDT