Vous pouvez obtenir cette erreur si votre conception utilise des déclarations de générer/d’endgenerate supplémentaires pour les boucles imbriqués. Les anciennes versions du logiciel Quartus® II ont accepté de manière erronée les déclarations de génération/de fin de production imbriqués dans les fichiers de conception HDL Verilog. Le logiciel Quartus II commençant par la version 6.0 signale correctement les déclarations de génération/de fin de production imbriqués comme erreur.
Si vous avez des boucles dans une boucle, vous n’avez besoin que d’une seule paire générer/endgenerate, comme le montre l’exemple suivant qui inverse les bits dans un bus.
genvar i,j;
generate
for( i=0; i<8; i=i 1 )
begin : outer
for (j=0; j<8; j=j 1 )
begin : inner
assign data_out[i][j] = data_in[7-i][7-j];
end
end
endgenerate