Ces avertissements se produisent pendant la simulation en raison de la représentation de la constante (9) sous la forme d’un vecteur signé 4 bits dans le fichier FIR II Intel® FPGA IP VHDL, hb1s_altera_fir_compiler_ii_1911_kmsq6ua_rtl_core.vhd.
Le numéro 9 ne peut pas tenir dans un numéro signé de 4 bits ; par conséquent, nous voyons l’avertissement vector_truncated de la fonction VHDL TO_SIGNED.
Lorsque nous interprétons le modèle de bits de 9 (1001) comme un nombre signé de 4 bits, nous obtenons -7.
Effectuez la modification RTL suivante pour supprimer l’avertissement « vecteur tronqué » si vous utilisez la version 22.3 ou antérieure du logiciel Intel® Quartus® Prime Pro Edition.
Trouvez le fichier hb1s_altera_fir_compiler_ii_1911_kmsq6ua_rtl_core.vhd dans le dossier IP généré suivant :
<ip_variation_name>dossier/altera_fir_compiler_ii_1911/sim/
Remplacer:
u0_m0_wo0_wi0_r0_ra0_count1_inner(COMPTEUR,25)@14
faible=-1, élevé=6, étape=-1, initial=5
u0_m0_wo0_wi0_r0_ra0_count1_inner_clkproc : PROCESSUS (CLK)
COMMENCER
SI (clk’EVENT ET clk = '1') ALORS
SI (areset = '1') ALORS
u0_m0_wo0_wi0_r0_ra0_count1_inner_i <= TO_SIGNED(5, 4);
AUTRE
SI (u0_m0_wo0_memread_fanout_reg0_q = « 1 ») ALORS
SI (u0_m0_wo0_wi0_r0_ra0_count1_inner_i(3 jusqu’à 3) = « 1 ») ALORS
u0_m0_wo0_wi0_r0_ra0_count1_inner_i <= u0_m0_wo0_wi0_r0_ra0_count1_inner_i - 9;
AUTRE
u0_m0_wo0_wi0_r0_ra0_count1_inner_i <= u0_m0_wo0_wi0_r0_ra0_count1_inner_i - 1;
FIN SI;
FIN SI;
FIN SI;
FIN SI;
FIN DU PROCESSUS;
avec (changements en rouge) :
u0_m0_wo0_wi0_r0_ra0_count1_inner(COMPTEUR,25)@14
faible=-1, élevé=6, étape=-1, initial=5
u0_m0_wo0_wi0_r0_ra0_count1_inner_clkproc : PROCESSUS (CLK)
variable wider_var : SIGNÉ (4 jusqu’à 0);
COMMENCER
SI (clk’EVENT ET clk = '1') ALORS
SI (areset = '1') ALORS
u0_m0_wo0_wi0_r0_ra0_count1_inner_i <= TO_SIGNED(5, 4);
AUTRE
SI (u0_m0_wo0_memread_fanout_reg0_q = « 1 ») ALORS
SI (u0_m0_wo0_wi0_r0_ra0_count1_inner_i(3 jusqu’à 3) = « 1 ») ALORS
wider_var := resize(u0_m0_wo0_wi0_r0_ra0_count1_inner_i,5) - 9;
AUTRE
wider_var := redimensionner(u0_m0_wo0_wi0_r0_ra0_count1_inner_i,5) - 1;
FIN SI;
u0_m0_wo0_wi0_r0_ra0_count1_inner_i <= wider_var(3 jusqu’à 0);
FIN SI;
FIN SI;
FIN SI;
FIN DU PROCESSUS;
Notez qu’il existe une autre copie de ce fichier dans le dossier synthé :
<ip_variation_name>dossier/altera_fir_compiler_ii_1911/synth/hb1s_altera_fir_compiler_ii_1911_kmsq6ua_rtl_core.vhd
La copie « sim » est utilisée pour le simulateur. Le logiciel Intel® Quartus® Prime utilise la copie « synthé ».
Techniquement, seule la version sim des fichiers doit être modifiée pour corriger les avertissements du simulateur.
Ce problème est résolu dans la version 22.4 du logiciel Intel® Quartus® Prime Pro Edition.