Diese Warnungen treten während der Simulation aufgrund der Darstellung der Konstante (9) als 4-Bit-Vorzeichenvektor in der FIR-II-Intel® FPGA IP-VHDL-Datei hb1s_altera_fir_compiler_ii_1911_kmsq6ua_rtl_core.VHD auf.
Nummer 9 passt nicht in eine 4-Bit-Nummer mit Vorzeichen. Daher wird die vector_truncated Warnung von der TO_SIGNED VHDL-Funktion angezeigt.
Wenn wir das Bitmuster von 9 (1001) als 4-Bit-Zahl mit Vorzeichen interpretieren, erhalten wir -7.
Nehmen Sie die folgende RTL-Änderung vor, um die Warnung "Vektor abgeschnitten" zu entfernen, wenn Sie die Intel® Quartus® Prime Pro Edition Software Version 22.3 oder früher verwenden.
Suchen Sie hb1s_altera_fir_compiler_ii_1911_kmsq6ua_rtl_core.vhd-Datei im folgenden IP-generierten Ordner:
<ip_variation_name>Ordner/altera_fir_compiler_ii_1911/Sim/
Ersetzen:
u0_m0_wo0_wi0_r0_ra0_count1_inner(ZÄHLER,25)@14
niedrig = -1, hoch = 6, Schritt = -1, init = 5
u0_m0_wo0_wi0_r0_ra0_count1_inner_clkproc: PROZESS (clk)
BEGINNEN
IF (clk'EVENT UND clk = '1') DANN
IF (areset = '1') THEN
u0_m0_wo0_wi0_r0_ra0_count1_inner_i <= TO_SIGNED(5, 4);
ODER
WENN (u0_m0_wo0_memread_fanout_reg0_q = "1"), DANN
WENN (u0_m0_wo0_wi0_r0_ra0_count1_inner_i(3 bis 3) = "1"), DANN
u0_m0_wo0_wi0_r0_ra0_count1_inner_i <= u0_m0_wo0_wi0_r0_ra0_count1_inner_i - 9;
ODER
u0_m0_wo0_wi0_r0_ra0_count1_inner_i <= u0_m0_wo0_wi0_r0_ra0_count1_inner_i - 1;
ENDE WENN;
ENDE WENN;
ENDE WENN;
ENDE WENN;
PROZESS BEENDEN;
mit (Änderungen in Rot):
u0_m0_wo0_wi0_r0_ra0_count1_inner(ZÄHLER,25)@14
niedrig = -1, hoch = 6, Schritt = -1, init = 5
u0_m0_wo0_wi0_r0_ra0_count1_inner_clkproc: PROZESS (clk)
Variable wider_var : SIGNIERT (4 bis 0);
BEGINNEN
IF (clk'EVENT UND clk = '1') DANN
IF (areset = '1') THEN
u0_m0_wo0_wi0_r0_ra0_count1_inner_i <= TO_SIGNED(5, 4);
ODER
WENN (u0_m0_wo0_memread_fanout_reg0_q = "1"), DANN
WENN (u0_m0_wo0_wi0_r0_ra0_count1_inner_i(3 bis 3) = "1"), DANN
wider_var := Größe ändern(u0_m0_wo0_wi0_r0_ra0_count1_inner_i,5) - 9;
ODER
wider_var := Größe ändern(u0_m0_wo0_wi0_r0_ra0_count1_inner_i,5) - 1;
ENDE WENN;
u0_m0_wo0_wi0_r0_ra0_count1_inner_i <= wider_var(3 bis 0);
ENDE WENN;
ENDE WENN;
ENDE WENN;
PROZESS BEENDEN;
Beachten Sie, dass sich eine weitere Kopie dieser Datei im synth-Ordner befindet:
<ip_variation_name>Ordner/altera_fir_compiler_ii_1911/synth/hb1s_altera_fir_compiler_ii_1911_kmsq6ua_rtl_core.vhd
Die "sim"-Kopie wird für den Simulator verwendet. Die Intel® Quartus® Prime-Software verwendet die "Synth"-Kopie.
Technisch gesehen muss nur die SIM-Version der Dateien geändert werden, um die Simulatorwarnungen zu beheben.
Dieses Problem wurde in Version 22.4 der Intel® Quartus® Prime Pro Edition-Software behoben.