Devido a um problema na versão 23.2 ou anterior do Software Quartus® Prime Pro Edition, você pode ver esse erro quando seu código HDL tem um bloco gerado para escolher entre a instanciação de um projeto direcionada para o dispositivo F-Tile Agilex™ 7 e outros dispositivos suportados.
Se os blocos "gerar se" não forem rotulados, as referências de módulo cruzado em blocos de geração não rotulados jogam um erro.
Por exemplo
gerar
se (Agilex == 0)
iniciar
...
fim
inicie
...
endgenerate
Esse erro ocorre na etapa de análise e síntese.
Para contornar esse problema, defina uma etiqueta para cada declaração de "se e outros" no Verilog HDL e uma declaração de "gerar" no VHDL. Por exemplo, se um projeto for direcionado para escolher entre o dispositivo Agilex™ F-Tile e Arria® dispositivo 10, então a instanciação pode ser escolhida usando a geração de declaração no Verilog HDL e VHDL da seguinte forma.
Verilog HDL
Gerar
se (Agilex == 0)
início: label1_notfor_AG
...
Final
Mais
início: label2_for_AG
...
Final
endgenerate
VHDL
Rótulo:
se cond1 gerar
...
elsif cond2 gerar
...
mais gerar
...
etiqueta de geração de finais;