คําเตือนเหล่านี้เกิดขึ้นระหว่างการจําลองเนื่องจากการแสดงค่าคงที่ (9) เป็นเวกเตอร์ที่ลงนามใน 4 บิตในไฟล์ FIR II Intel® FPGA IP VHDL hb1s_altera_fir_compiler_ii_1911_kmsq6ua_rtl_core.vhd
ตัวเลข 9 ไม่สามารถใส่ในหมายเลขที่ลงชื่อแบบ 4 บิตได้ ดังนั้น เราจะเห็นการเตือน vector_truncated จากฟังก์ชัน VHDL TO_SIGNED
เมื่อเราตีความรูปแบบบิต 9 (1001) เป็นหมายเลขที่ลงนาม 4 บิต เราจะได้รับ -7
ทําการปรับเปลี่ยน RTL ต่อไปนี้เพื่อลบการเตือน "เวกเตอร์แบบตัดทอน" หากคุณใช้ซอฟต์แวร์ Intel® Quartus® Prime Pro Edition เวอร์ชัน 22.3 หรือก่อนหน้า
ค้นหา ไฟล์ hb1s_altera_fir_compiler_ii_1911_kmsq6ua_rtl_core.vhd ในโฟลเดอร์ที่สร้าง IP ดังต่อไปนี้:
<ip_variation_name>โฟลเดอร์/altera_fir_compiler_ii_1911/ซิม/
แทน:
u0_m0_wo0_wi0_r0_ra0_count1_inner(COUNTER,25)@14
low=-1, high=6, step=-1, init=5
u0_m0_wo0_wi0_r0_ra0_count1_inner_clkproc: กระบวนการ (clk)
เริ่ม ต้น
IF (clk'EVENT and clk = '1') แล้ว
IF (areset = '1') แล้ว
u0_m0_wo0_wi0_r0_ra0_count1_inner_i <= TO_SIGNED(5, 4);
อื่น
IF (u0_m0_wo0_memread_fanout_reg0_q = "1") แล้ว
IF (u0_m0_wo0_wi0_r0_ra0_count1_inner_i(3 downto 3) = "1") แล้ว
u0_m0_wo0_wi0_r0_ra0_count1_inner_i <= u0_m0_wo0_wi0_r0_ra0_count1_inner_i - 9;
อื่น
u0_m0_wo0_wi0_r0_ra0_count1_inner_i <= u0_m0_wo0_wi0_r0_ra0_count1_inner_i - 1;
สิ้นสุด IF; การทําเครื่องหมาย
สิ้นสุด IF; การทําเครื่องหมาย
สิ้นสุด IF; การทําเครื่องหมาย
สิ้นสุด IF; การทําเครื่องหมาย
สิ้นสุดกระบวนการ;
มี (การเปลี่ยนแปลงเป็นสีแดง):
u0_m0_wo0_wi0_r0_ra0_count1_inner(COUNTER,25)@14
low=-1, high=6, step=-1, init=5
u0_m0_wo0_wi0_r0_ra0_count1_inner_clkproc: กระบวนการ (clk)
wider_var ผันแปร : ลงนาม (4 downto 0);
เริ่ม ต้น
IF (clk'EVENT and clk = '1') แล้ว
IF (areset = '1') แล้ว
u0_m0_wo0_wi0_r0_ra0_count1_inner_i <= TO_SIGNED(5, 4);
อื่น
IF (u0_m0_wo0_memread_fanout_reg0_q = "1") แล้ว
IF (u0_m0_wo0_wi0_r0_ra0_count1_inner_i(3 downto 3) = "1") แล้ว
wider_var := ปรับขนาด (u0_m0_wo0_wi0_r0_ra0_count1_inner_i,5) - 9;
อื่น
wider_var := ปรับขนาด(u0_m0_wo0_wi0_r0_ra0_count1_inner_i,5) - 1;
สิ้นสุด IF; การทําเครื่องหมาย
u0_m0_wo0_wi0_r0_ra0_count1_inner_i <= wider_var(3 downto 0);
สิ้นสุด IF; การทําเครื่องหมาย
สิ้นสุด IF; การทําเครื่องหมาย
สิ้นสุด IF; การทําเครื่องหมาย
สิ้นสุดกระบวนการ;
โปรดทราบว่ามีสําเนาของแฟ้มนี้อีกชุดในโฟลเดอร์ที่ Synth:
<ip_variation_name>โฟลเดอร์/altera_fir_compiler_ii_1911/synth/hb1s_altera_fir_compiler_ii_1911_kmsq6ua_rtl_core.vhd
มีการใช้สําเนา "sim" สําหรับโปรแกรมจําลอง ซอฟต์แวร์ Intel® Quartus® Prime จะใช้สําเนา "synth"
ทางเทคนิคแล้ว เฉพาะเวอร์ชันซิมของไฟล์เท่านั้นที่จะต้องได้รับการแก้ไขเพื่อแก้ไขการเตือนโปรแกรมจําลอง
ปัญหานี้ได้รับการแก้ไขในซอฟต์แวร์ Intel® Quartus® Prime Pro Edition เวอร์ชัน 22.4