Problema crítico
Devido a um problema no Software Intel® Quartus® Prime Pro versão 18.0 ou anterior, quando duas partições são compiladas em dois projetos diferentes com top_level_1.sv e top_level_2.sv, e são reutilizada usando a atribuição de QDB_FILE_PARTITION em um terceiro projeto com top_level_3.sv, você verá o seguinte erro interno devido à região do clock de linha sobreposta:
Erro interno: subsistema: VPR20KMAIN, Arquivo: /quartus/fitter/vpr20k/altera_arch_common/altera_arch_re_network_routing_constraints.cpp
Os três arquivos de alto nível, top_level_1.sv, top_level_2.sv e top_level_3.sv são de 3 designs diferentes, e cada design é diferente em termos de interfaces da periferia, blocos de projeto usados, etc. Assim, o projeto de desenvolvedor (projetos com top_level_1.sv e top_level_2.sv), de onde as partições são inicialmente compiladas e exportadas, não tem informações abrangentes sobre o projeto de consumo (um projeto com top_level_3.sv) em que as duas partições exportadas são reutilizadas.
- Um setor de clock é definido pela caixa verde na Figura. 1
- Uma região de clock de linha é um setor de meio relógio de largura e uma linha LAB de altura representada pela caixa pontilhada vermelha na Figura. 1
- Em um projeto de consumo, quando duas partições reutilizadas se sobrepõem nesta região, você verá o erro interno acima
Para resolver este problema, use regiões de bloqueio lógico no projeto do desenvolvedor para evitar que duas partições reutilizadas ocupem a mesma região de clock de linha no projeto do consumidor.
Por exemplo:
- A partir do projeto de consumo, onde as duas partições serão reutilizadas, determine a localização aproximada das partições amarelas e roxas. Escolha as restrições de bloqueio lógico para as duas partições, de modo que não haja sobreposição da região do clock de linha.
- No projeto do desenvolvedor, com o top_level_1.sv, use restrições de região de bloqueio lógico identificadas a partir do projeto do consumidor para a partição roxa, seguida de compilação e exportação da partição na etapa final.
- No projeto do desenvolvedor, com o top_level_2.sv, use restrições de região de bloqueio lógico identificadas a partir do projeto do consumidor para a partição amarela, seguida de compilação e exportação da partição na etapa final.
- As partições exportadas, quando reutilizadas no projeto do consumidor, com o top_level_3.sv, manterão a colocação definida nos projetos de desenvolvedor usando restrições de bloqueio lógico não sobrepostas.
Este problema está programado para ser corrigido em uma versão futura do software Intel® Quartus® Prime Pro.