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