Você pode ver este erro em Synopsys VCS ou VCS MX ao simular se o seu design contém duas ou mais variações de IP criadas pelo Gerenciador de plug-in MegaWizard™ no software Quartus® II. Este erro pode ocorrer quando o seu projeto tiver várias variações do mesmo núcleo IP ou tiver núcleos IP diferentes, mas os núcleos possuem arquivos de simulação duplicados. Para cada núcleo de IP, um conjunto de arquivos de simulação completo é adicionado ao diretório <>_sim, incluindo alguns arquivos que podem ser compartilhados com outros núcleos de IP. Por exemplo, alguns pacotes SystemVerilog podem ser comuns a núcleos IP mulitple.
O erro ocorre quando a lista concatenada de todos os nomes de arquivos de simulação para todas as variações de IP (incluindo os nomes de arquivos duplicados) é adicionada à linha de comando VCS. O conjunto de arquivos não inclui cópias dos arquivos da biblioteca de simulação que estão instalados no diretório de instalação /eda/sim_lib diretório.
Para resolver este problema, execute uma das seguintes etapas:
- Você pode eliminar manualmente os nomes de arquivos duplicados que formam a linha de comando VCS especificando apenas um arquivo de cada conjunto de arquivos duplicados. Você pode identificar os arquivos duplicados procurando arquivos que têm o mesmo nome, mas residem em diretórios diferentes (por exemplo, _sim/foo.sv e _sim/foo.sv). Você também deve comparar o conteúdo dos nomes de arquivos duplicados para garantir que os arquivos sejam duplicados.
- Alternativamente, compile individualmente cada arquivo de simulação de IP definido em sua própria biblioteca usando o
vlogancomando conforme documentado no Guia do usuário do VCS MX que está incluído em uma instalação do VCS MX, mas não em uma instalação de VCS (VCSi). Você também pode obter o Guia do usuário do VCS MX no site da Synopsys. Para compilar as bibliotecas individualmente, siga estas etapas:- Identifique todas as variações de IP e crie um diretório para cada uma delas. Cada diretório contém os arquivos de biblioteca VCS intermediários para sua variação de IP. Por exemplo, se você tiver duas variações de IP
ip_var1eip_var2criar dois diretórios:./ip_var1_libe./ip_var2_lib. - Se ele ainda não existir, crie um arquivo chamado synopsys_sim.setup. Este arquivo contém o mapeamento de nomes de biblioteca lógica para seus locais de diretório físico. Adicione o mapeamento de nomes de biblioteca lógica a nomes de diretório físico para cada uma das variações de IP. Por exemplo, para as duas variações de IP
ip_var1Eip_var2, adicione as duas linhas a seguir à synopsys_sim.setup Arquivo:ip_var1: ./ip_var1_lib
ip_var2: ./ip_var2_lib - Se, na etapa 2, você adicionar bibliotecas do diretório de biblioteca de simulação Quartus II (diretório de instalação /eda/sim_lib), crie subdiretórios de biblioteca para bibliotecas de modelos de simulação Altera e adicione seus mapeamentos aos nomes de biblioteca lógica no arquivo synopsys_sim.setup . Essas bibliotecas são descritas na seção Simulação no volume 3 do Manual quartus II.
- Crie uma biblioteca de trabalho criando uma
./workdiretório e mapeá-lo para o lógicoworkbiblioteca e adicionando a seguinte linha à synopsys_sim.setup Arquivo:work: ./work - Crie um script shell contendo os seguintes comandos:
- Para cada variação de IP, compile todos os arquivos SystemVerilog adicionando o seguinte comando:
vlogan -sverilog -work ip_var1 - Para cada variação de IP, compile todos os arquivos HDL verilog padrão adicionando o seguinte comando:
vlogan v2k -work ip_var1 - Compile bibliotecas de simulação Quartus II em bibliotecas separadas compilando-as manualmente com
vlogancomandos (semelhantes à compilação dos arquivos de simulação para cada variação de IP). Como alternativa, compile as bibliotecas de simulação Quartus II, usando o Compilador de biblioteca de simulação EDA executando o seguinte comando:
Para obter mais informações sobre a compilação de bibliotecas de simulação com o Compilador de bibliotecas de simulação EDA, consulte Compilando bibliotecas de simulação no software Quartus II na Ajuda Quartus II e Simulando Altera designs capítulo no volume 3 do Manual do Quartus II.quartus_sh --simlib_comp -tool vcsmx -language verilog -family
- Para cada variação de IP, compile todos os arquivos SystemVerilog adicionando o seguinte comando:
- Compile seus arquivos testbench e quaisquer outros arquivos na biblioteca de trabalho com
vloganComandos. Por exemplo,vlogan -work work - Elabore o módulo de nível superior e o executável do simulador de geração com o seguinte comando VCS:
O VCS pesquisa automaticamente todas as bibliotecas especificadas no synopsys_sim.setup arquivo para módulos não resolvidos. Se você quiser mais controle sobre a ordem de pesquisa da biblioteca, especifique as bibliotecas com ovcs-libopção documentado no Guia do usuário do VCS MX.
- Identifique todas as variações de IP e crie um diretório para cada uma delas. Cada diretório contém os arquivos de biblioteca VCS intermediários para sua variação de IP. Por exemplo, se você tiver duas variações de IP