AR# 47724

ModelSim - 混合言語の PCIe サンプル デザインに関する「Fatal: (vsim-3729)」というエラー メッセージが表示される

説明

ModelSim で PCIe サンプル デザインの論理シミュレーションを実行すると、次のエラー メッセージが表示されます。

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

エラーの発生する原因とその回避策について教えてください。

ソリューション

混合言語デザインでライブラリの読み込み順序が不正となり、範囲が一致しなくなることがあります。

たとえば、言語に VHDL を設定し、シミュレーションでは VHDL と Verilog の両言語のソース ファイルをコンパイルする必要があるとします。 

生成された ModelSim シミュレーション スクリプト (simulate_mti.do) では、unisims_ver の後に 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

-L unisim を最初に定義する独自のスクリプトを使用すると、このようなエラーが発生する可能性があります。

AR# 47724
日付 03/23/2015
ステータス アクティブ
種類 一般
デバイス