Parameters can be explicitly sized:
parameter [2:0] foo = 5;
No ambiguity WRT size there, and yes you can bin/part select parameters
and local params. Genvars are indeed a bit more fuzzy, because there is
no way to specify the size of a genvar. (Interesting oversight. I'll
have to look into that.) In that case, if you really do want a size
for your genvar, then make a localparam variation like this:
genvar i;
for (i = 0 ; i < 8 ; i = i+1) begin : gen
localparam [2:0] i_sized = i;
assign q2_t[i_sized] = ...
end
--
Steve Williams "The woods are lovely, dark and deep.
steve at
icarus.com But I have promises to keep,
http://www.icarus.com and lines to code before I sleep,
http://www.picturel.com And lines to code before I sleep."