AR #24293 - 9.1i EDK ModelSim - Error message: "logic.vhd(359): (vopt-1144) Value 0 is out of std.standard.natural range 1 to 32"

All Recent Answers

Search Answers Database


 

9.1i EDK ModelSim - Error message: "logic.vhd(359): (vopt-1144) Value 0 is out of std.standard.natural range 1 to 32"

AR# 24293
Topic EDK-simgen
Last Modified 2007-12-06 00:00:00.0
Status Active

Description

Keywords: optimization, -vopt, -novopt

I am trying to simulate my EDK system. When I run the simulation in ModelSim 6.2b, I receive an error message similar to the following during the optimization phase:

"Error Message:
---------------------------------------

D:/EDK/hw/XilinxProcessorIPLib/pcores/opb_v20_v1_10_c/hdl/vhdl/opb_v20.
vhd(550): (vopt-1144) Value 0 is out of std.standard.natural range 1 to
32.
# ** Error:
D:/EDK/hw/XilinxProcessorIPLib/pcores/opb_arbiter_v1_02_e/hdl/vhdl/park
_lock_logic.vhd(359): (vopt-1144) Value 0 is out of std.standard.natural
range 1 to 32.
# ** Error:
D:/EDK/hw/XilinxProcessorIPLib/pcores/opb_arbiter_v1_02_e/hdl/vhdl/park
_lock_logic.vhd(429): (vopt-1144) Value 0 is out of std.standard.natural
range 1 to 32.
# Optimization failed
# Error loading design
# Error: Error loading design
# Pausing macro execution"

The following warning message has also been seen when doing a Verilog simulation flow:

** Warning: edk_ise_libs/./unisims_ver/unisims_ver_virtex5_source.v(46640): [BSOB] - Bit-select into 'memp' is out of bounds.


I was able to simulate this same design using a previous version of ModelSim (for example, 6.0a and 6.2a). The previous version of ModelSim did not include this optimization phase. What could be the problem?

Solution

The problem is that in the later version of ModelSim, it is automatically inserting the -vopt command by default, which clashes with the EDK IP files for the EDK cores. This command performs global optimization on Verilog and mixed-HDL designs after they are compiled, which is not necessary for the EDK IP models.

You can work around this issue by inserting the -novopt command in the "do file" that you are using to run the simulation. Alternatively, you can work around this issue by setting the "modelsim.ini" variable "VoptFlow" to 0 (zero). The "modelsim.ini" files are located in the c:\<modelsim>\, c:\<ise_compiled_libraries> and c:\<edk_compiled_libraries> directories.
 
 
/csi/footer.htm