From: James A. Markevitch (jam@magic.com)
Date: Sun Nov 02 2003 - 19:50:00 PST
The following reply was made to PR errata/211; it has been noted by GNATS.
From: "James A. Markevitch" <jam@magic.com>
To: etf-bugs@boyd.com
Cc:
Subject: errata/211: PROPOSAL - 3.11.2: localparam behavior not clear
Date: Sun, 2 Nov 2003 19:50:06 -0800 (PST)
In 3.11.2
Change the reference in the first paragraph from 12.1.3 to 12.2.
In 12.2.2.1
Add the following to the end of the section:
Local parameters cannot be overridden, therefore, they are not
considered part of the ordered list for parameter value assignment.
In the following example, addr_width will be assigned the value of 12
and data_width will be assigned the value of 16. mem_size will not be
explicitly assigned a value due to the ordered list, but will have
the value 4096 due to its declaration expression.
module my_mem (addr, data);
parameter addr_width = 16;
localparam mem_size = 1 << addr_width;
parameter data_width = 8;
...
endmodule
module top;
...
my_mem #(12, 16) m(addr,data);
endmodule
In 12.2.3
Add the following sentence between the first and second sentences:
Overriding a parameter, either due a defparam or instantiation
statement, effectively forces the value of the parameter,
independent of any expression associated with the parameter
declaration.
Add the following sentence to the paragraph:
If memory_size is updated due to either a defparam or instantiation
statement, then it will take on that value, regardless of the value
of word_size.
This archive was generated by hypermail 2.1.4
: Sun Nov 02 2003 - 19:50:06 PST
and
sponsored by Boyd Technology, Inc.