S
shannon_hill
Guest
In the verilog 2001 examples; I often see cases where, inside a
generate/endgenerate pair,
an if statement, testing the value of a parameter, can cause two
different implementations to be generate'd. I can get this to work
fine.
However, if I attempt to override the parameters of a module
from its instantiation, like
divider #(1,2) c_div ( ... );
the parameters seen by the if statement within the
generate/endgenerate pair (in divider.v) do not get the values set by
the instantiation, but proceeds based on the default values of the
parameters... (in divider.v).
I only have synopsys' VCS 7.2 to try this with...
Is the behavior of parameters in this situation clearly spelled
out somewhere?? Is this expected behavior?
Shannon
generate/endgenerate pair,
an if statement, testing the value of a parameter, can cause two
different implementations to be generate'd. I can get this to work
fine.
However, if I attempt to override the parameters of a module
from its instantiation, like
divider #(1,2) c_div ( ... );
the parameters seen by the if statement within the
generate/endgenerate pair (in divider.v) do not get the values set by
the instantiation, but proceeds based on the default values of the
parameters... (in divider.v).
I only have synopsys' VCS 7.2 to try this with...
Is the behavior of parameters in this situation clearly spelled
out somewhere?? Is this expected behavior?
Shannon