ID do artigo: 000085111 Tipo de conteúdo: Solução de problemas Última revisão: 10/05/2013

Os arquivos .qip/.sdc no projeto .qsf são reordenados ao abrir um projeto ou re-gerar IP no software Quartus II versão 12.1 SP1.

Ambiente

  • Intel® Quartus® II Subscription Edition
  • BUILT IN - ARTICLE INTRO SECOND COMPONENT

    Problema crítico

    Descrição

    Devido a um problema no software Quartus® II versão 12.1 SP1, o pedido no arquivo de configurações Quartus II do seu projeto (.qsf) pode ser alterado inesperadamente.

    Esse comportamento pode ocorrer quando você abrir um projeto existente ou quando você executar o comando Atualizar IP.

    Se o seu projeto tiver a dependência do pedido de ordem de ordem synopsys Design Constraint (.sdc), essa reordenação pode resultar em configurações de frequência inesperadas ou outras atribuições de sincronização. Você pode ter um projeto que tenha vários níveis de arquivos Quartus II IP (.qip). Dentro dos arquivos .qip , você pode ter referências a arquivos .qip ou .sdc adicionais. Por exemplo, consulte a seção alternativa abaixo. As configurações .sdc incorretas podem causar comportamento de projeto incorreto ou erros funcionais.

    Resolução

    Um arquivo de script Tcl está disponível para verificar se seu design foi afetado por este problema. Baixe qip_checker.tcl para identificar se há algum problema potencial de pedido de arquivo. Você pode executar este script com o seguinte comando:

    quartus_sh -t qip_checker.tcl [-force]

    Para uso detalhado neste script, digite

    quartus_sh -t qip_checker.tcl

    Um patch está disponível para corrigir este problema para o software Quartus II versão 12.1 SP1. Baixe e instale o patch 1.33 no link apropriado abaixo:

    Este patch é compatível com o software Quartus II versão 12.1 SP1 (compilação 243).

    O patch 1.33 não é compatível com os patches do dispositivo SP12.1 SP1 do software Quartus II (1.dp) para dispositivos Stratix® V, Arria® V e Cyclone® V. Se você usar esses dispositivos, você pode corrigir este problema, atualizando para o patch do dispositivo 1.dp6 ou mais recente usando os links na solução relacionada abaixo.

    Se você não conseguir usar este patch, poderá evitar esse problema criando um arquivo de texto chamado quartus.ini em seu diretório de projetos (se ele ainda não existir). Adicione a seguinte linha no arquivo de texto para evitar a reordenação do arquivo:

    disable_ip_regen=on

    Esta opção desabilitará alguns dos recursos automáticos de regeneração de IP, de modo que você pode ter que regenerar IP usando operações de linha de comando.

    Se você já tiver executado este problema, execute as seguintes etapas:

    1. Aplique o patch ou aplique imediatamente a disable_ip_regen=on configuração ini
    2. Remova qualquer atribuição no .qsf que tenha um ou -qip -sip argumento
    3. Verifique QIP_FILE as atribuições dentro do .qsf e remova todas as que não pertencem ao nível superior
    4. Modifique o .qsf para corrigir manualmente a ordem dos arquivos .sdc e .qip

    Abaixo, um exemplo dos efeitos de reordenação que você deve corrigir manualmente se o seu projeto for afetado.

    Por exemplo, antes do software Quartus II versão 12.1 SP1, um design tem os seguintes arquivos .sdc e .qip listados no arquivo project .qsf:

    a.qsf:

    set_global_assignment -name SDC_FILE a_before.sdc
    set_global_assignment -name QIP_FILE a.qip
    set_global_assignment -name SDC_FILE a_after.sdc

    a.qip:

    set_global_assignment -name SDC_FILE aqip_before.sdc
    set_global_assignment -name QIP_FILE asub.qip
    set_global_assignment -name SDC_FILE aqip_after.sdc

    asub.qip:

    set_global_assignment -name SDC_FILE asub.sdc

    O seguinte é o pedido de arquivo da memória:

    set_global_assignment -name SDC_FILE a_before.sdc
    set_global_assignment -name QIP_FILE a.qip
    set_global_assignment -name SDC_FILE aqip_before.sdc # from qip a.qip
    set_global_assignment -name QIP_FILE asub.qip        # from qip a.qip
    set_global_assignment -name SDC_FILE asub.sdc        # from qip asub.qip
    set_global_assignment -name SDC_FILE aqip_after.sdc  # from qip a.qip
    set_global_assignment -name SDC_FILE a_after.sdc

    Portanto, o projeto lê as SDC_FILE de SDC_FILE na seguinte ordem:

    1. a_before.sdc
    2. aqip_before.sdc
    3. asub.sdc
    4. aqip_after.sdc
    5. a_after.sdc

    No software Quartus II versão 12.1 SP1, após desencadear o problema de software (abrir projeto ou atualizar IP), o .qsf seria o seguinte:

    a.qsf:

    set_global_assignment -name SDC_FILE a_before.sdc
    set_global_assignment -name SDC_FILE a_after.sdc
    set_global_assignment -name QIP_FILE a.qip
    set_global_assignment -name QIP_FILE asub.qip

    O seguinte é o pedido de arquivo da memória:

    set_global_assignment -name SDC_FILE a_before.sdc
    set_global_assignment -name SDC_FILE a_after.sdc
    set_global_assignment -name QIP_FILE a.qip
    set_global_assignment -name SDC_FILE aqip_before.sdc  # from qip a.qip
    set_global_assignment -name QIP_FILE asub.qip         # from qip a.qip
    set_global_assignment -name SDC_FILE aqip_after.sdc   # from qip a.qip
    set_global_assignment -name QIP_FILE asub.qip
    set_global_assignment -name SDC_FILE asub.sdc         # qip asub.qip

    Portanto, o projeto lê as SDC_FILE de SDC_FILE na seguinte ordem:

    1. a_before.sdc
    2. a_after.sdc
    3. aqip_before.sdc
    4. aqip_after.sdc
    5. asub.sdc

    Se o design depender da ordem .sdc for lida, essa ordem alterada pode afetar os resultados de otimização do design e a análise do tempo. Para corrigir o problema, adicione a configuração ini, conforme descrito acima, e corrija o .qsf para usar a ordem de atribuição correta original. Para verificar rapidamente se o pedido foi alterado, consulte .qsf gerado antes do software Quartus II versão 12.1 SP1.

    Este problema é corrigido a partir do software Quartus II versão 13.0.

    Produtos relacionados

    Este artigo aplica-se a 1 produtos

    Dispositivos programáveis Intel®

    O conteúdo desta página é uma combinação de tradução humana e por computador do conteúdo original em inglês. Este conteúdo é fornecido para sua conveniência e apenas para informação geral, e não deve ser considerado completo ou exato. Se houver alguma contradição entre a versão em inglês desta página e a tradução, a versão em inglês prevalecerá e será a determinante. Exibir a versão em inglês desta página.