En raison d’un problème dans la version 23.2 et antérieures du logiciel Quartus® Prime Pro Edition, vous pouvez voir cette erreur lorsque votre code HDL a un bloc généré pour choisir entre l’instanciation d’une conception ciblant le dispositif F-Tile Agilex™ 7 et tout autre dispositif pris en charge.
Si les blocs « générer si » ne sont pas étiquetés, les références inter-modules dans les blocs de génération non étiquetés génèrent une erreur.
Par exemple :
générer
if(Agilex == 0)
begin
...
fin
sinon
commencez
...
end
endgenerate
Cette erreur se produit au stade de l’analyse et de la synthèse.
Pour contourner ce problème, définissez une étiquette pour chaque instruction « if and else » dans Verilog HDL et une instruction « generate » dans VHDL. Par exemple, si une conception est ciblée pour choisir entre le dispositif Agilex™ F-Tile et Arria® dispositif 10, l’instanciation peut être choisie à l’aide de l’instruction generate dans Verilog HDL et VHDL comme suit.
Verilog HDL
Générer
if(Agilex == 0)
Début : label1_notfor_AG
...
Fin
Autre
Début : label2_for_AG
...
Fin
endgenerate
VHDL
Étiquette:
Si cond1 génère
...
elsif cond2 générer
...
sinon générer
...
fin générer l’étiquette ;