このサンプル デザインは、Gen3 x8 IP コアを使用するように設定されていますが、ほかの PCIe 幅と速度も使用できます。Gen1 x1 システムは概して、ICAP インターフェイスを飽和させない 400MB/s の転送レートとなる可能性がありますが、それでも使用可能で、MCAP パスよりははるかに高速です。その他すべてのリンクの幅と速度は ICAP インターフェイスを飽和させ、コンフィギュレーションのパフォーマンスを最大にします。
[DMA Interface option] で、[AXI Stream] がオンになっていることを確認します。
ターゲット デバイス上の任意の PCIe サイトを使用できますが、配線の遅延が短くなる、ICAP サイトの隣りに位置するサイトが最も効率的です。
上記の [Basic] タブでは、[Tandem Configuration or Partial Reconfiguration] が [None] に設定されています。このデザインは、最初のデバイス コンフィギュレーション時、120 ミリ秒のエニュメレーションを満たすためにタンデム コンフィギュレーションを利用していません。ただし、この機能は、PCIe を介する高速パーシャル リコンフィギュレーションの要件と無関係であるため、使用できます。
[PCIe : DMA] タブをクリックします。
このタブで、[Number of DMA Read Channel (H2C)] の値が 2 に増加していることを確認します。このタブの H2C とはホストからカード (Host to Card) を意味します。つまり、ビットストリームはホストから PCIe ブロックへ、最終的には ICAP に送信されます。このデザインでは、チャネルは ICAP 専用ですが、追加されたその他のユーザー アプリケーション ロジックと組み合わせて使用することもできます。
ほとんどのシステムにおいて、(MCAP およびコンフィギュレーション トランザクションを介した) プログラムに使用される PCIe コンフィギュレーション パケットは通常、ルート アクセスを使用して送信する必要があります。セキュリティ チェックを実装することはこのアプリケーション ノートの目的の範囲を超えていますが、いくつかのオプションを利用できます。
まず、ICAP 自体に、正しいデバイス情報で適切にフォーマットされたビットストリームのみを受信するためのチェック機能が内蔵されています。また、このデザインではリードバック機能が実装されていないため、ビットストリームを PCIe リンクを介してリードバックできません。
意図しないビットストリームで FPGA がダウンロードされないように、次の対策を講じることができます。
- データを ICAP に送信する前に設定する必要があるシークレット値を持つ制御レジスタを追加します。
- 内蔵されているデバイス暗号化手法を使用します。
このデザインのパーシャル ビットストリーム送信パスは、PCIe IP コアから始まり、FIFO およびデータ幅コンバーターを通過してから、32 ビット AXI4-Stream データとしてブロック図の外部へと続きます。
M_AXIS_0_tdata が ICAP の入力ポート (パスの終端) に接続されているのを確認するには、design_1_wrapper.v を開きます。