記事 ID: 000084486 コンテンツタイプ: トラブルシューティング 最終改訂日: 2016/06/13

DCFIFO および混合幅 DCFIFO メガファンクションのハードウェアで不正な機能が表示されるのはなぜですか?

環境

  • インテル® Quartus® II サブスクリプション・エディション
  • インテル® Quartus® Prime 開発ソフトウェア・プロ・エディション
  • BUILT IN - ARTICLE INTRO SECOND COMPONENT
    詳細

    エンベデッド・タイミング制約が正しくないことが原因で、ハードウェアで DCFIFO IP の動作が正しく表示されることがあります。
    誤ったタイミング制約 (DCFIFO コードに組み込まれているもの) は、読み取りおよび書き込みクロックドメイン間のグレーコード転送のfalse_path割り当てを誤って設定しました。
    ハードウェア障害の可能性は極めて低いものの、これらのグレーのコード化ドメイン転送のスキューが十分に大きく、受信クロックドメインで破損が生じる可能性があります。
    ロジック使用率と DCFIFO クロックレートが増加すると、ハードウェア障害の確率が高くなります。

    解決方法

    デザインに影響がある場合、Alteraは次の回避策を推奨します。回避策として Quartus® Prime 開発ソフトウェア v15.1 以降へのアップグレードが必要であることに注意してください。回避策は以下のデバイスファミリーにのみ適用されます。

    • Cyclone® V
    • ARRIA® II GX
    • V およびArria V GZ のArria
    • Stratix® IV
    • Stratix V
    • MAX® 10

    グレーのコード化されたドメイン転送の制約と最適化を正しく行うためには、以下の手順に従ってください。
    1) Quartus® Prime 開発ソフトウェア設定ファイル (.qsf) に以下の課題を適用します。
    set_global_assignment -name DISABLE_EMBEDDED_TIMING_CONSTRAINT ON
     
    2) これらのクロックドメインを横断するパスのタイミングを短縮するclock_groupsまたはfalse_pathアサインメントをユーザーが作成していないことを確認します。
    「report_clock_transfers」レポートを使用して、問題のクロックドメインの交差にfalse_path割り当てが存在するかどうかを確認します。

    3) 次のタイミング制約を適用します。
    DCFIFO の場合、 = |dcfifo_component|*auto_generated
    混合幅 DCFIFO の場合、 = |dcfifo_mixed_widths_component|*auto_generated

     

    set from_node_rdptr_list [get_keepers |rdptr_g*]

    設定to_node_rdptr_list [get_keepers |ws_dgrp|dffpipe*|dffe*]

    set_max_skew -from $from_node__list -to $to_node_get_skew_value_from_clock_period src_clock_period -skew_value_multiplier 0.8

    set_net_delay -from $from_node__list -to $to_node__list -max -get_value_from_clock_period dst_clock_period -value_multiplier 0.8

    set_max_delay -from $from_node__list -to $to_node__list 100

    set_min_delay -from $from_node__list -to $to_node__list -100

    設定from_node_wrptr_list [get_keepers |delayed_wrptr_g*]

    設定to_node_wrptr_list [get_keepers |rs_dgwp|dffpipe*|dffe*]

    set_max_skew -from $from_node_wrptr_list -to $to_node_wrptr_list -get_skew_value_from_clock_period src_clock_period -skew_value_multiplier 0.8

    set_net_delay -from $from_node_wrptr_list -to $to_node_wrptr_list -max -get_value_from_clock_period dst_clock_period -value_multiplier 0.8

    set_max_delay -from $from_node_wrptr_list -to $to_node_wrptr_list 100

    set_min_delay -from $from_node_wrptr_list -to $to_node_wrptr_list -100

    設定from_node_mstable_ws_list [get_keepers |ws_dgrp|dffpipe*|dffe*]

    設定to_node_mstable_ws_list [get_keepers |ws_dgrp|dffpipe*|dffe*]

    set_net_delay -from $from_node_mstable_ws_list -to $to_node_mstable_ws_list -max -get_value_from_clock_period dst_clock_period -value_multiplier 0.8

    設定from_node_mstable_rs_list [get_keepers |rs_dgwp|dffpipe*|dffe*]

    設定to_node_mstable_rs_list [get_keepers |rs_dgwp|dffpipe*|dffe*]

    set_net_delay -from $from_node_mstable_rs_list -to $to_node_mstable_rs_list -max -get_value_from_clock_period dst_clock_period -value_multiplier 0.8

     

    4) Time Columbus II タイミング・アナライザーのreport_max_skewレポートとreport_net_delayレポートを使用して、タイミングが閉じていることを確認します。

    Arria 10 以降のデバイスでは、デフォルトで [タイミング制約] セクションの [SDC ファイルを生成してエンベデッド・タイミング制約を無効にする] パラメーターがオンになっています。これにより、同期レジスターのset_false_pathを使用するエンベデッド・タイミング制約をバイパスすることができます。ユーザー構成可能な SDC ファイルは、IP カタログから DCFIFO がインスタンス化されると自動的に生成されます。デザインを適切に制約するために、set_net_delay、set_max_skew、set_min_delay、set_ max_delayで構成される新しいタイミング制約が使用されます。

    関連製品

    本記事の適用対象: 1 製品

    インテル® プログラマブル・デバイス

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