From: Stuart Sutherland (stuart@sutherland.com)
Date: Tue Jul 27 1999 - 15:34:28 PDT
BTF,
I have a couple of questions regarding your additional vote items:
1. The status of BE81 does not say if it is approved, rejected, etc. I
assume that since there is a proposed change to the LRM, that it is
approved by the BTF.
2. The proposal for B33 on parameter register declarations, says to refer
to 3.9.2 for type conversions, but this section only covers the conversion
rules when initially assigning values to a parameter. 3.9.2 does NOT cover
how parameters convert values when redefined using defparam or implicit
parameter redefinition. Currently, I can do the following:
module foo;
parameter bar = 2; //parameter stores an integer value
endmodule
module top;
foo i1 ();
defparam i1.bar = 2.0; //this parameter instance now stores a real value
endmodule
I can also do this, but I forget what the behavior is:
module foo;
parameter bar = 8'hFA; //is this parameter 8 bits wide?
endmodule
module top;
foo i1 ();
defparam i1.bar = 64'CE; //what is the width of this parameter instance?
endmodule
Of course the type of the parameter AFTER any defparam coercion will affect
other things, such as how the expression 5/bar would be evaluated (integer
arithmetic or floating point arithmetic, and if integer, how many bits
wide?). The proposal for B33 does not discuss the affect of redefining a
sized or signed parameter to a different type of value. Does the BTF feel
the current wording in the LRM covers the affects of parameter redefinition
adequately, or is this an oversite?
Thanks,
Stu
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Stuart Sutherland Sutherland HDL Inc.
stuart@sutherland.com 22805 SW 92nd Place
phone: 503-692-0898 Tualatin, OR 97062
This archive was generated by hypermail 2.1.4
: Mon Jul 08 2002 - 12:53:29 PDT
and
sponsored by Boyd Technology, Inc.