記事 ID: 000085111 コンテンツタイプ: トラブルシューティング 最終改訂日: 2013/05/10

プロジェクトの .qip/.sdc ファイルは、プロジェクトを開くか、Quartus® II ソフトウェア・バージョン 12.1 SP1 で IP を再生成するときに並べ替えされます。

環境

  • インテル® Quartus® II サブスクリプション・エディション
  • BUILT IN - ARTICLE INTRO SECOND COMPONENT

    クリティカルな問題

    詳細

    Quartus® II ソフトウェア・バージョン 12.1 SP1 の問題により、プロジェクトの Quartus® II 設定ファイル(.qsf)の順序が予期せず変更される可能性があります。

    この現象は、既存のプロジェクトを開くとき、または Upgrade IP コマンドを実行する際に発生することがあります。

    プロジェクトに Synopsys Design Constraint(.sdc)ファイル順序の依存性がある場合、このリオーダリングにより、予期しない周波数設定やその他のタイミング・アサインメントが生じる可能性があります。複数レベルの Quartus® II IP(.qip)ファイルを持つプロジェクトを使用できます。 .qip ファイル内には、追加 の .qip または .sdc ファイルへの参照がある場合があります。例については、以下の回避策のセクションを参照してください。 sdc 設定が正しくないと、デザインが正しく動作しなくなるか、機能エラーが生じる可能性があります。

    解決方法

    Tcl スクリプトファイルを使用して、デザインがこの問題の影響を受けているかどうかを確認できます。 qip_checker.tcl をダウンロードして、ファイル注文の問題があるかどうかを確認します。このスクリプトは、次のコマンドで実行できます。

    quartus_sh -t qip_checker.tcl [-force]

    このスクリプトの詳細な使用方法については、次のように入力します。

    quartus_sh -t qip_checker.tcl

    Quartus® II ソフトウェア・バージョン 12.1 SP1 でこの問題を解決するためのパッチが利用可能です。以下の該当するリンクからパッチ 1.33 をダウンロードしてインストールします。

    このパッチは、Quartus® II ソフトウェア・バージョン 12.1 SP1 (ビルド 243) と互換性があります。

    パッチ 1.33 は、Stratix® V、Arria® V、Cyclone® V デバイス用 Quartus® II ソフトウェア・バージョン 12.1 SP1 デバイス・パッチ (1.dp)と互換性がありません。これらのデバイスを使用する場合は、以下の関連ソリューションのリンクを使用してデバイス・パッチ 1.dp6 以降にアップグレードすることで、この問題を解決できます。

    このパッチを使用できない場合は、プロジェクト・ディレクトリーに quartus.ini というテキストファイルを作成することで (まだ存在しない場合) この問題を回避できます。ファイルの並べ替えを防ぐために、テキストファイルに次の行を追加します。

    disable_ip_regen=on

    このオプションは、IP の自動再生成機能の一部を無効にするため、コマンドライン操作を使用して IP を再生成する必要がある場合があります。

    すでにこの問題が発生している場合は、次の手順を実行する必要があります。

    1. パッチを適用するか disable_ip_regen=on 、ini 設定を直ちに適用します。
    2. または引数がある.qsf内の割り当てを削除します。 -qip -sip
    3. QIP_FILE .qsf内の割り当てを確認し、トップレベルに属していない割り当てを削除します。
    4. .qsfを変更して、.sdcおよび.qipファイルの順序を手動で修正します。

    以下は、デザインに影響がある場合に手動で修正するリオーダリング効果の例です。

    例えば、Quartus® II ソフトウェア・バージョン 12.1 SP1 の前に、デザインには次 の .sdc ファイルと .qip ファイルがプロジェクト の .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

    メモリーからのファイルの順序は次のとおりです。

    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

    そのため、プロジェクトは次の順序でSDC_FILE課題を読み取ります。

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

    Quartus® II ソフトウェア・バージョン 12.1 SP1 では、ソフトウェアの問題を引き起こした後 (プロジェクトを開くか IP をアップグレード )、.qsf は次のようになります。

    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

    メモリーからのファイルの順序は次のとおりです。

    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

    そのため、プロジェクトは次の順序でSDC_FILE課題を読み取ります。

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

    デザインが み込まれる順序に依存している場合、この変更された順序はデザイン最適化結果およびタイミング解析に影響を与える可能性があります。問題を解決するには、上記のように ini 設定を追加し、元の正しい割り当て順序を使用するように .qsf を修正します。注文が変更されているかどうかを迅速に確認するには、Quartus® II ソフトウェア・バージョン 12.1 SP1 より前に生成された .qsf を参照してください。

    この問題は、Quartus® II ソフトウェア・バージョン 13.0 から修正されています。

    このページのコンテンツは、元の英語のコンテンツを人力翻訳および機械翻訳したものが混在しています。この内容は参考情報および一般的な情報を提供するためものであり、情報の正確さと完全性を保証するものではありません。インテルは不正確な翻訳があった場合でもいかなる責任を負いません。このページの英語版と翻訳の間に矛盾がある場合は、英語版に準拠します。 このページの英語版をご覧ください。