由於 Intel® Quartus® Prime Pro Edition 軟體的問題,如果您使用所選的 VHDL 產生 IP 兆核心,在編譯模擬時可能會遇到以下錯誤:
# ** 錯誤:..vhd:(vcom-1133) 類型在埠中發現不匹配。」
# 在「」的元件中,埠類型為「ieee.std_logic_1164.STD_LOGIC」。
# 在「」實體中,埠類型為「ieee.std_logic_1164.STD_LOGIC_VECTOR」
若要解決此問題,您必須編輯所產生的 RTL,並且在最高層級和測試台中對應資料類型。
例如,對於名為「FP_TEST」的模組,您將執行下列操作:
請_tb.vhd 進行下列變更
從:
FP_TEST_tb架構 rtl 是
元件FP_TEST是
埠 (
a:在 std_logic_vector(63 下至 0):= (其他 =>'X');--
元件:在 std_logic:= 「X」; --重 置
b:在 std_logic_vector(63 下至 0):= (其他 =>'X');--B
clk:std_logic:= 「X」; --時鐘
opSel:std_logic:= 「X」; --opSel
q:出std_logic_vector(63 下至 0) -- q
);
終端元件FP_TEST;
...
fp_test_inst:元件FP_TEST
埠地圖 (
a => fp_test_inst_a_bfm_conduit_a, -- a.a
areset => fp_test_inst_areset_bfm_reset_reset, -- areset.reset
b => fp_test_inst_b_bfm_conduit_b, -- b.b
clk => fp_test_inst_clk_bfm_clk_clk, - clk.clk
opSel => fp_test_inst_opsel_bfm_conduit_opsel (0), -- opSel.opSel
q => fp_test_inst_q_q -- q.q
);
自:
FP_TEST_tb架構 rtl 是
元件FP_TEST是
埠 (
a:在 std_logic_vector(63 下至 0):= (其他 =>'X');--
元件:在 std_logic:= 「X」; --重 置
b:在 std_logic_vector(63 下至 0):= (其他 =>'X');--B
clk:std_logic:= 「X」; --時鐘
opSel:在 std_logic_vector(0 下至 0):= (其他 =>'X'); --opSel
q:出std_logic_vector(63 下至 0) -- q
);
終端元件FP_TEST;
fp_test_inst:元件FP_TEST
埠地圖 (
a => fp_test_inst_a_bfm_conduit_a, -- a.a
areset => fp_test_inst_areset_bfm_reset_reset, -- areset.reset
b => fp_test_inst_b_bfm_conduit_b, -- b.b
clk => fp_test_inst_clk_bfm_clk_clk, - clk.clk
opSel => fp_test_inst_opsel_bfm_conduit_opsel, - opSel.opSel
q => fp_test_inst_q_q -- q.q
);
並在.vhd 進行下列變更
從:
實體FP_TEST是
埠 (
a:在 std_logic_vector(63 下至 0):= (其他 =>'0');--a.a
元件:在 std_logic := '0'; --areset.reset
b:在 std_logic_vector(63 下至 0):= (其他 =>'0');--b.b
clk:在 std_logic:= '0'; --clk.clk
opSel:std_logic:= '0」; --opSel.opSel
q:出std_logic_vector(63 下至 0) -- q.q
);
終端實體FP_TEST;
FP_TEST架構 rtl 是
元件FP_TEST_altera_fp_functions_160_xhvb5va是
埠 (
clk:std_logic:= 「X」; --時鐘
元件:在 std_logic:= 「X」; --重 置
a:在 std_logic_vector(63 下至 0):= (其他 =>'X');--
b:在 std_logic_vector(63 下至 0):= (其他 =>'X');--B
q:輸出std_logic_vector(63 下至 0); --問
opSel:在 std_logic:= 'X」 --opSel
);
終端元件FP_TEST_altera_fp_functions_160_xhvb5va;
自:
實體FP_TEST是
埠 (
a:在 std_logic_vector(63 下至 0):= (其他 =>'0');--a.a
元件:在 std_logic := '0'; --areset.reset
b:在 std_logic_vector(63 下至 0):= (其他 =>'0');--b.b
clk:在 std_logic:= '0'; --clk.clk
opSel:在 std_logic_vector(0 下至 0):= (其他 =>'0'); --opSel.opSel
q:出std_logic_vector(63 下至 0) -- q.q
);
終端實體FP_TEST;
FP_TEST架構 rtl 是
元件FP_TEST_altera_fp_functions_160_xhvb5va是
埠 (
clk:std_logic:= 「X」; --時鐘
元件:在 std_logic:= 「X」; --重 置
a:在 std_logic_vector(63 下至 0):= (其他 =>'X');--
b:在 std_logic_vector(63 下至 0):= (其他 =>'X');--B
q:輸出std_logic_vector(63 下至 0); --問
opSel:在 std_logic_vector(0 下至 0):= (其他 =>'X') - opSel
);
終端元件FP_TEST_altera_fp_functions_160_xhvb5va;
這排定在 Intel® Quartus® Prime 軟體的未來版本中修復。