UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

AR# 18388

XST - "ERROR:HDLCompilers:90 - .v line xx Too many parameter assignments in instance 'A' of module 'C'"

Description

When compiling a Verilog design in XST, the following error might occur:

"ERROR:HDLCompilers:90 - <file>.v line xx Too many parameter assignments in instance 'A' of module 'C'"

Solution

Parameter overrides can be used with instantiations to override a parameter value assigned in the instantiated submodule. You can do this by using the # sign, as shown below:

<code>

lower #(8) u1 (.i(data), .o(value));

</code>

or the defparam statement:

<code>

lower u1 (.i(data), .o(value));

defparam u1.myparam = 8;

</code>

If the first method is used and the submodule does not have any or enough parameters, the error listed above occurs. This is most commonly seen with instantiations of RAM or LUT components from the Xilinx library, but can easily exist with user-defined submodules as well.

To avoid the problem, ensure that the submodule has the correct number of parameters declared. Note that XST (as of 6.1i) does not yet have parameters in the "unisim_comp.v" library. To assign INIT values to RAM or LUT components, the standard XST attribute syntax should be employed as described in (Xilinx Answer 11069).

AR# 18388
Date Created 09/03/2007
Last Updated 12/15/2012
Status Active
Type General Article