[sv-bc] Fowrded from Non-member submission from [Guillermo Maturana <matu rana@sbcglobal.net>]


Subject: [sv-bc] Fowrded from Non-member submission from [Guillermo Maturana ]
From: Vassilios.Gerousis@Infineon.Com
Date: Sat Aug 23 2003 - 03:48:56 PDT


-----Original Message-----
>From owner-sv-bc Sat Aug 23 02:42:26 2003
Received: from smtp806.mail.sc5.yahoo.com (smtp806.mail.sc5.yahoo.com
[66.163.168.185])
        by server.eda.org (8.12.0.Beta7/8.12.0.Beta7) with SMTP id
h7N9gL6O021873
        for <sv-bc@eda.org>; Sat, 23 Aug 2003 02:42:26 -0700 (PDT)
Received: from adsl-67-113-130-106.dsl.sntc01.pacbell.net (HELO
sbcglobal.net) (maturana@sbcglobal.net@67.113.130.106 with plain)
  by smtp-sbc-v1.mail.vip.sc5.yahoo.com with SMTP; 23 Aug 2003 09:42:20
-0000
Message-ID: <3F4737AF.8080104@sbcglobal.net>
Date: Sat, 23 Aug 2003 02:45:19 -0700
From: Guillermo Maturana <maturana@sbcglobal.net>
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.4) Gecko/20030624
Netscape/7.1
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: sv-bc@server.eda.org
Subject: defparam
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit

In the 3.1 LRM under 25.2, first paragraph it says "The defparam
statement does
not provide a capability that can not be done by another method, ...".

I think this is incorrect: I don't think it is possible to override
parameters
declared in subscopes of a module this way, as in the following somewhat
contribed example:

module a;
parameter p;
task t;
parameter p;
begin :n
parameter p;
end
endtask
endmodule

I don't think instance overrides can cause t.p or t.n.p to be overriden.

Of course a module could have parameters in arbitrarily nested named blocks.
The named parameter overrides can only refer to the module level parameters,
but they are incapable of overriding parameters in nested scopes.

One solution to this would be to extend the name to be full hierarchical
name
of parameters in any subscope, with a single '.' representing the module
level,
and successive tokens refering to the path to any subscope.

So for the example above, an instance a1 of a one could override "p" at top
level, "p" under task t, and "p" under task t's named block n as
follows:

a #(.p(1), .t.p(2), .t.n.p(3)) a1;

Oh well, I don't like defparams either, but without some way to override
nested parameters the argument in 25.2 is not solid.

    _Matute



This archive was generated by hypermail 2b28 : Sat Aug 23 2003 - 03:50:45 PDT