En raison d’un problème dans le logiciel Quartus® II, vous recevrez l’erreur ci-dessus lors de la simulation d’une instanciation VHDL de altera_mult_add Megafunction.
Pour contourner ce problème, vous devez modifier le fichier .vhd pour la variante que vous avez créée.
Tout d’abord, notez la largeur du bit de datab_0, par exemple, les éléments suivants utilisent une datab_0 de 17 bits :
datab_0 : dans std_logic_vector (16 downto 0) := (autres => \'0\') ; -- datab_0.datab_0
Ensuite, modifiez le paramètre « width_b » pour correspondre à la largeur que vous avez trouvée ci-dessus. Ce paramètre s’affiche à plusieurs endroits et vous devez modifier toutes les apparitions :
altera_mult_add composant est
générique (
number_of_multipliers : entier := 1 ;
width_a : entier := 16 ;
width_b : entier := 17;
nom : altera_mult_add composant
carte générique (
number_of_multipliers => 1,
width_a => 16,
width_b => 17,-- Informations récupérées : Troisièmement, vous devez modifier la valeur d’entrée du scaninb dans la déclaration des composants :
carte de port (
résultat => résultat, -- result.result
dataa (15 downto 0) = > dataa_0 (15 downto 0), -- dataa_0.dataa_0
datab (15 downto 0) = > datab_0 (15 downto 0), -- datab_0.datab_0
clock0 => clock0, -- clock0.clk
scaninb => «000000000000000000», -- (résilié)Ce problème est résolu dans la version 13.1 du logiciel Quartus-II.