Re: [sv-bc] Local parameters in parameter-port-list (Mantis 1134)

From: Gordon Vreugdenhil <gordonv_at_.....>
Date: Tue Aug 21 2007 - 08:58:55 PDT
See comments below.

Jonathan Bromley wrote:
> hi BC,
> 
[...]

> 
> However, I think this has an unfortunate side-effect.
> Consider
> 
>   module foo
>    #(
>       parameter P = 3,
>       localparam L = P+1,
>       type T = logic [P:0],
>       T PT = 5
>     ) ...
> 
> Would you say that T is a localparam or a parameter?
> What about PT?  And what would users think?
> (For what it's worth, I think that both T and PT 
> are localparams, but I think users might be very 
> surprised to find they can't override T.)


Jonathan,

At only level I think that following the task/function
formal "implied mode/type" rules for subsequent declarations
would be consistent.  However, I think that in this
case, that leads to very confusing code.

I would prefer to say something like the following:
   An ANSI style parameter declaration shall be treated
   as a "parameter" unless explicitly declared as
   "localparam".


I think that "localparam" will be sufficiently rare that
I don't mind requiring the more verbose form there in
the interest of making the overall form more obvious.

Gord.

> 
> This is precisely the confusion I was trying to avoid by 
> requiring all localparams to be at the end of the list.
> 
> If you're OK with it, then I'll go ahead and update the
> proposal; the new proposal will state as a prerequisite
> that the changes of Mantis 979 be implemented.

-- 
--------------------------------------------------------------------
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 Tue Aug 21 08:59:14 2007

This archive was generated by hypermail 2.1.8 : Tue Aug 21 2007 - 08:59:25 PDT