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!

Page Bookmarked

AR# 18388

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


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'"


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:


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


or the defparam statement:


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

defparam u1.myparam = 8;


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 12/15/2012
Status Active
Type General Article