私はLinuxを使用してquestasim 2012.2b
います. VHDL で次のように記述しました。
dsp: entity work.dsp_c -- a*b+c, 12bit
port map
(
clk => clk_i,
a => a_dsp,
b => b_dsp,
c => c_dsp,
p => p_dsp -- full precision
);
上記を questasim でシミュレートしようとするたびに、コンパイル時に次のようなエラーがスローされます。
# Error in macro ./mkProject.tcl line 11
# /software/CAD/Mentor/2013_2014/Questa/HDS_2012.2b/questasim/linux_x86_64/vcom failed.
# while executing
# "vcom hdl/calc.vhd"
# quit
# ** Error: Library xbip_dsp48_macro_v3_0 not found.
# ** Error: Unknown identifier "xbip_dsp48_macro_v3_0".
# ** Error: VHDL Compiler exiting
失敗した行で上記のコードを参照します。
dsp_c.vhd
いろいろ調べてみると、ファイルのシミュレーション ラッパーのように見える: というファイルが見つかりました.xci
。
次に、ライブラリを見つけようとしましたが、xbip_dsp48_macro_v3_0
内部に 2 つのファイルがあるという名前のフォルダーを見つけました。xbip_dsp48_macro_v3_0.vhd
xbip_dsp48_macro_v3_0_vh_rfs.vhd
だから私もプロジェクトにそれらを含めます、それは私にエラーを与えます:
xbip_dsp48_macro_v3_0.vhd(46)): in protected region
何がうまくいかないのか、何を含める必要があるのか 考えていますか? 私のクエスタシムは古すぎるのでしょうか?
より詳しい情報
Tcl経由でこの方法でコンパイルされたファイルを取得しようとしました:
compile_simlib -simulator questa
対応するコンパイル済みブロックを含むすべての IP のフォルダーを生成します。今、私は最初に.depに追加することができました:
src ../cgn/dsp_c/dsp_c.vhd
make project を実行すると、次のようになります。
dsp_c/dsp_c.vhd(56): Library xbip_dsp48_macro_v3_0 not found.
だから私はライブラリを含めてみました:
src ../cgn/dsp_c/xbip_dsp48_macro_v3_0/hdl/xbip_dsp48_macro_v3_0_vh_rfs.vhd
src ../cgn/dsp_c/xbip_dsp48_macro_v3_0/hdl/xbip_dsp48_macro_v3_0.vhd
それは保護されていると言います:
dsp_c/xbip_dsp48_macro_v3_0/hdl/xbip_dsp48_macro_v3_0.vhd(46)): in protected region.
詳細情報
フォルダー dsp_c にあるライブラリを生成するために vivado を取得しました。
dsp_c.dcp dsp_c_funcsim.vhdl dsp_c_stub.v dsp_c.xci synth xbip_dsp48_wrapper_v3_0 xbip_utils_v3_0
dsp_c_funcsim.v dsp_c_ooc.xdc dsp_c_stub.vhdl dsp_c.xml xbip_dsp48_macro_v3_0 xbip_pipe_v3_0
私の Tcl スクリプトは次のようになります。
source firmware/cfg/lib_mappings.tcl
vlib work
vcom firmware/hdl/mydsp_c.vhd
結果
これに変更:
vlib work
vlib dsp_c/xbip_dsp48_macro_v3_0
vmap dsp_c/xbip_dsp48_macro_v3_0
それからそれを実行しました...
# do mkProject.tcl
# Modifying modelsim.ini
# ** Warning: (vlib-34) Library already exists at "work".
# ** Warning: (vlib-34) Library already exists at "dsp_c/xbip_dsp48_macro_v3_0".
# Reading modelsim.ini
# "dsp_c/xbip_dsp48_macro_v3_0" maps to directory ./dsp_c/xbip_dsp48_macro_v3_0. (Default mapping)
..........
# -- Loading package NUMERIC_STD
# ** Error: firmware/cgn/dsp_c/dsp_c.vhd(56): Library xbip_dsp48_macro_v3_0 not found.
# ** Error: firmware/cgn/dsp_c/dsp_c.vhd(57): (vcom-1136) Unknown identifier "xbip_dsp48_macro_v3_0".
# ** Error: firmware/cgn/dsp_c/dsp_c.vhd(59): VHDL Compiler exiting
# ** Error: vcom failed.