ID บทความ: 000080821 ประเภทข้อมูล: การแก้ไขปัญหา การตรวจสอบครั้งล่าสุด: 21/12/2016

(vcom-1133) พบชนิดที่ไม่ตรงกันบนพอร์ต

สิ่งแวดล้อม

    Intel® Quartus® Prime Pro Edition
    IP เอฟพีจีเอ Intel® ฟังก์ชันจุดลอยตัว

All

BUILT IN - ARTICLE INTRO SECOND COMPONENT
คำอธิบาย

เนื่องจากปัญหาในซอฟต์แวร์ Intel® Quartus® Prime Pro Edition หากคุณสร้างเมกะคอร์ IP ที่มี VHDL ถูกเลือก ไว้ คุณอาจพบข้อผิดพลาดเหล่านี้เมื่อคอมไพล์สําหรับการจําลอง:

# ** ข้อผิดพลาด: ..vhd: (vcom-1133) Type ที่ไม่ตรงกันที่พบในพอร์ต "
# ในส่วนประกอบ "ส่วนประกอบ " ประเภทพอร์ตคือ "ieee.std_logic_1164.STD_LOGIC"
# ในนิติบุคคล "" ประเภทพอร์ตคือ "ieee.std_logic_1164.STD_LOGIC_VECTOR"

 

 

ความละเอียด

ในการหลีกเลี่ยงปัญหานี้ คุณต้องแก้ไข RTL ที่สร้างขึ้นและจับคู่ประเภทข้อมูลทั้งในอินสแตนซ์สูงสุดและเทสเบนช์

 

ตัวอย่างเช่น สําหรับโมดูลที่ชื่อ "FP_TEST" คุณจะทําสิ่งต่อไปนี้:

ทําการเปลี่ยนแปลงต่อไปนี้ใน tb_tb.vhd

จาก:

RTL ของสถาปัตยกรรม FP_TEST_tb คือ
FP_TEST ส่วนประกอบคือ
พอร์ต (
a : in std_logic_vector(63 downto 0) := (อื่นๆ => 'X'); -- a
areset : ใน std_logic := 'X';             --รี เซ็ต
b : in 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
);

ถึง:

RTL ของสถาปัตยกรรม FP_TEST_tb คือ
FP_TEST ส่วนประกอบคือ
พอร์ต (
a : in std_logic_vector(63 downto 0) := (อื่นๆ => 'X'); -- a
areset : ใน std_logic := 'X';             --รี เซ็ต
b : in std_logic_vector(63 downto 0) := (อื่นๆ => 'X'); --B
clk : ใน std_logic := 'X'             -- clk
                                                opSel : ใน std_logic_vector(0 downto 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 : in std_logic_vector(63 downto 0) := (อื่นๆ => '0'); -- b.b
clk : ใน std_logic := '0'             -- clk.clk
                                opSel : ใน std_logic := '0'             -- opSel.opSel
q : out std_logic_vector(63 downto 0) -- q.q
);
FP_TEST ขององค์กรปลายทาง

rtl ของสถาปัตยกรรม FP_TEST คือ
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 : in 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 : in std_logic_vector(63 downto 0) := (อื่นๆ => '0'); -- b.b
clk : ใน std_logic := '0'             -- clk.clk
                          opSel : ใน std_logic_vector(0 downto 0) := (อื่นๆ => '0'); -- opSel.opSel
q : out std_logic_vector(63 downto 0) -- q.q
);
FP_TEST ขององค์กรปลายทาง

rtl ของสถาปัตยกรรม FP_TEST คือ
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 : in std_logic_vector(63 downto 0) := (อื่นๆ => 'X'); --B
Q : out std_logic_vector(63 downto 0);                    --Q
                                                opSel : ใน std_logic_vector(0 downto 0) := (คนอื่นๆ => 'X') -- opSel
);
FP_TEST_altera_fp_functions_160_xhvb5va ส่วนประกอบปลายทาง

 

มีกําหนดที่จะแก้ไขในซอฟต์แวร์ Intel® Quartus® Prime รุ่นใหม่ในอนาคต

ผลิตภัณฑ์ที่เกี่ยวข้อง

บทความนี้จะนำไปใช้กับ 1 ผลิตภัณฑ์

Intel® Arria® 10 FPGA และ SoC FPGA

1

เนื้อหาในหน้านี้เป็นการผสมผสานระหว่างการแปลเนื้อหาต้นฉบับภาษาอังกฤษโดยมนุษย์และคอมพิวเตอร์ เนื้อหานี้จัดทำขึ้นเพื่อความสะดวกของคุณและเพื่อเป็นข้อมูลทั่วไปเท่านั้นและไม่ควรอ้างอิงว่าสมบูรณ์หรือถูกต้อง หากมีความขัดแย้งใด ๆ ระหว่างเวอร์ชันภาษาอังกฤษของหน้านี้กับคำแปล เวอร์ชันภาษาอังกฤษจะมีผลเหนือกว่าและควบคุม ดูเวอร์ชันภาษาอังกฤษของหน้านี้