인텔® 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: in std_logic_vector(63 downto 0) := (기타 => 'X'); -- a
areset : std_logic := 'X'; --재설정
b : std_logic_vector(63 downto 0) := (기타 => 'X'); --B
clk : std_logic := 'X'; --Clk
opSel: std_logic := 'X'; -- opSel
q : out std_logic_vector(63 downto 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: in std_logic_vector(63 downto 0) := (기타 => 'X'); -- a
areset : std_logic := 'X'; --재설정
b : std_logic_vector(63 downto 0) := (기타 => 'X'); --B
clk : std_logic := 'X'; --Clk
opSel: in std_logic_vector(0 다운토 0) := (기타 => 'X'); -- opSel
q : out std_logic_vector(63 downto 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: in std_logic_vector(63 downto 0) := (기타 => '0'); --A.a
areset : std_logic := '0', -- areset.reset
b : std_logic_vector(63 downto 0) := (기타 => '0'); --Bb
clk : std_logic := '0'; -- clk.clk
opSel: std_logic := '0'; -- opSel.opSel
q : out std_logic_vector(63 downto 0) -- q.q
);
최종 엔터티 FP_TEST;
FP_TEST 아키텍처 rtl
구성 요소 FP_TEST_altera_fp_functions_160_xhvb5va
포트()
clk : std_logic := 'X'; --Clk
areset : std_logic := 'X'; --재설정
a: in std_logic_vector(63 downto 0) := (기타 => 'X'); -- a
b : std_logic_vector(63 downto 0) := (기타 => 'X'); --B
q : out std_logic_vector(63 downto 0); --Q
opSel : std_logic := 'X' - opSel
);
최종 구성 요소 FP_TEST_altera_fp_functions_160_xhvb5va;
받는 사람:
엔티티 FP_TEST
포트()
a: in std_logic_vector(63 downto 0) := (기타 => '0'); --A.a
areset : std_logic := '0', -- areset.reset
b : std_logic_vector(63 downto 0) := (기타 => '0'); --Bb
clk : std_logic := '0'; -- clk.clk
opSel: in std_logic_vector(0 downto 0) := (기타 => '0'); -- opSel.opSel
q : out std_logic_vector(63 downto 0) -- q.q
);
최종 엔터티 FP_TEST;
FP_TEST 아키텍처 rtl
구성 요소 FP_TEST_altera_fp_functions_160_xhvb5va
포트()
clk : std_logic := 'X'; --Clk
areset : std_logic := 'X'; --재설정
a: in std_logic_vector(63 downto 0) := (기타 => 'X'); -- a
b : std_logic_vector(63 downto 0) := (기타 => 'X'); --B
q : out std_logic_vector(63 downto 0); --Q
opSel: in std_logic_vector(0 다운토 0) := (기타 => 'X') -- opSel
);
최종 구성 요소 FP_TEST_altera_fp_functions_160_xhvb5va;
인텔® Quartus® Prime Software의 향후 릴리스에서 수정될 예정입니다.