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# 47724

ModelSim - Fatal: (vsim-3729) for mixed-language PCIe example design

Description

The following error is seen when running functional simulation of the PCIe example design in ModelSim.

Loading unisim.mmcme2_adv(mmcme2_adv_v)
# ** Fatal: (vsim-3729) Value ?(1095521093) of generic "clkfbout_use_fine_ps" is out of range false (0) to true (1).
# Time: 0 ps Iteration: 0 Instance: /pcie_rc_rp_testbench_modified/rp/sim_ver20/reggen_to_pcie_rc_for_sim_2/xilinx_rc_sel/xilinx_pcie_rc_modified_sel/gt_top_i/pipe_wrapper_i/pipe_clock_int/pipe_clock_i/mmcm_i File: /eva/fpga/xilinx/13.4/ISE_DS/ISE/vhdl/src/unisims/primitive/MMCME2_ADV.vhd Line: 125
# FATAL ERROR while loading design

Why does this occur and how can I resolve it?

Solution

The range mismatch can occur due to an incorrect order of library loading in a mixed-language design.

For example, you might set the language as VHDL and simulation needs to compile both VHDL and Verilog source files. 

In the generated ModelSim simulation script (simulate_mti.do), the order is expected to be unisims_ver prior to unisim.

vlog -work work -sv +incdir+../../source \
+define+SIMULATION \
$env(XILINX)/verilog/src/glbl.v \
-f board_vlog.f

vcom -work work -f board.f

vsim -voptargs="+acc" +notimingchecks -L work \
-L unisims_ver -L unimacro_ver \
-L unisim -L unimacro -L secureip -t "1ps" \
glbl \
work.board

If you use your own script and it specifies "-L unisim" first, the error will occur.

AR# 47724
Date Created 05/02/2012
Last Updated 03/23/2015
Status Active
Type General Article
Devices
  • Kintex-7