記事 ID: 000080843 コンテンツタイプ: トラブルシューティング 最終改訂日: 2021/08/27

PCI Express* トランザクション・レイヤー・コンフィグレーション・スペース用のインテル® Arria® 10 およびインテル® Cyclone® 10 Avalon® -ST インターフェイスが安定していないのはなぜですか?

環境

  • インテル® Quartus® Prime 開発ソフトウェア・プロ・エディション
  • インテル® Quartus® Prime 開発ソフトウェア・スタンダード・エディション
  • インテル® Arria® 10 Cyclone® 10 PCI Express* のハード IP
  • BUILT IN - ARTICLE INTRO SECOND COMPONENT
    詳細

    コンフィグレーション・スペース・レジスター・アクセス・タイミングに対 01145_avstして、2017.05.15 - 6.12.1 のインテル® ARRIA® 10 から 10 個の PCIe* トランザクション・レイヤー・コンフィグレーション・スペースへの不正なリファレンス・コードがインテル® CYCLONE®するため、安定しません。 これは、tl_cfg_* インターフェイスがマルチサイクル制約の対象となっているが、コードが一致しないためです。

    コードは次のとおりです。

    常に @(posedge coreclkout_hip)

    開始

    アドレス変更の検出

    cfg_addr_reg[3:0] <= tl_cfg_add[3:0];

    cfgctl_addr_change <= cfg_addr_reg[3:0] != tl_cfg_add[3:0];

    ...

    終わり

    解決方法

    この問題を回避するには、リファレンス・コードを「」を「」としてアップグレードします01145_AVST |2019.05.22 - 5.12.1 (コンフィグレーション・スペース・レジスター・アクセスのタイミング)。

    複数サイクルのタイミングリスクを回避するために、もう 1 つのパイプラインが追加されます。

    コードは次のとおりです。

    常に @(posedge coreclkout_hip)

    開始

    tl_cfg_add_reg <= tl_cfg_add[0];

    tl_cfg_add_reg2 < = tl_cfg_add_reg。

    終わり

    アドレス変更を検出してストロボを生成し、入力 32 ビットデータをサンプリング

    常に @(posedge coreclkout_hip)

    開始

    cfgctl_addr_change <= tl_cfg_add_reg2 != tl_cfg_add_reg;

    cfgctl_addr_change2 < = cfgctl_addr_change。

    cfgctl_addr_strobe < = cfgctl_addr_change2。

    終わり

    関連製品

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

    インテル® Cyclone® 10 GX FPGA
    インテル® Arria® 10 FPGA & SoC FPGA

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