V シリーズFPGA デバイスにおけるCvP (プロトコル経由コンフィグレーション) 実装ユーザーガイド

ID 683889
日付 10/31/2016
Public
ドキュメント目次

5.2.2. トランシーバー・リコンフィグレーション・コントローラーIP コアの既知の問題の回避策5.3.2. トランシーバー・リコンフィグレーション・コントローラーIP コアの既知の問題の回避策

ストレステストまたは実際のシステムでリコンフィグレーション可能コアロジックをほぼ連続的に更新する予定の場合は、トランシーバー・リコンフィグレーション・コントローラーに問題が発生することがあります。この問題により、Quartus II ソフトウェアのQuartus II 13.0 リリースおよびそれ以前のバージョンでは、PCIe リンクがダウントレインすることがあります。Quartus II 13.0 SP1 以降のQuartus II ソフトウェアを使用している場合、この問題は発生しません。この問題を回避するには、次の手順を実行します。
  1. pcie_lib/top.v を開きます。
  2. alt_xcvr_reconfig という名前のReconfiguration Controller インスタンスを検索し、top.v のreconfig_controller 全体をコメントアウトします。 (Transceiver Reconfiguration Controller インスタンスには、32 行のVerilog HDL コードが含まれています。)
  3. インスタンスalt_xcvr_reconfig のコメントアウト後に、以下のVerilog HDL で示す5 行を追加します。

    wire [69:0] reconfig_to_xcvr_bus = {24'h0, 2'b11, 44'h0};

    assign pcie_reconfig_driver_0_reconfig_mgmt_waitrequest = 1'b0;

    assign pcie_reconfig_driver_0_reconfig_mgmt_readdata = 32'h0;

    assign alt_xcvr_reconfig_0_reconfig_busy_reconfig_busy = 1'b0;

    assign alt_xcvr_reconfig_0_reconfig_to_xcvr_reconfig_to_xcv r = { 2 {reconfig_to_xcvr_bus}};

    この例では、最初のステートメントは、reconfig_to_xcvr_bus をチャネルごとに正しい値に固定します。最初の3 つのアサインメント・ステートメントは、waitrequestreaddatareconfig_busy 信号の正しい値を指定します。alt_xcvr_reconfig_0_reconfig_to_xcvr_reconfig_to_xcvr の最終アサインメント・ステートメントは、すべてのアクティブなトランシーバー・チャネルのフル・リコンフィグレーション・バスを表します。Gen1 x1 インスタンスでは2 つのチャネルがアクティブなので、このバスは2 回複製されます。