F-Tile Dynamic Reconfiguration Suite Intel® FPGA IP ユーザーガイド

ID 711009
日付 9/30/2024
Public
ドキュメント目次

4.6. Nios® ベースのダイナミック・リコンフィグレーション・フロー

次の図は、 Nios® によって進行するダイナミック・リコンフィグレーション・フローを示しています。フローチャートの左側は、ダイナミック・リコンフィグレーションをトリガーするホスト・ソフトウェア・フローを示しています。
図 4.  Nios® が進行するダイナミック・リコンフィグレーション・フロー

ホスト・ソフトウェアは、IP へのデータパス・リセットをアサートすることにより、「DR-out」 IP を静止状態にします。次に、ホスト・ソフトウェアは DR CSR の Ready for New Trigger をポーリングして、それが設定されるのを待機します。

次に、ホスト・ソフトウェアはプロファイル情報を DR CSR レジスターにプログラミングし、Trigger Reconfig ビットを設定します。 Nios® Trigger Reconfig ビットの設定をサンプリングすると、タイル固有の内部プログラミングを実行して DR 切り替えを実行し、すべてのタイル固有のアーキテクチャーをホスト・ソフトウェアから抽象化します。ホスト・ソフトウェアは特定の DR CSR の Ready for New Trigger ビットをポーリングすることで、 Nios® が切り替えフローを終了したことを特定します。切り替えフローが終了したら、ホスト・ソフトウェアは別の DR を同じチャネルで開始することができます。 Nios® が切り替えフローを完了すると、ホスト・ソフトウェアは「DR-in」 IP をリセットから解放することができます。

右のフローチャートは、DR 切り替え実行要求を受信時に NIOS コアが (直接的または他のコントローラーを介して間接的に) 実行するアクションを示しています。Trigger Reconfig ビットの設定が Nios® コアでサンプリングされると、内部 DR 切り替えフローが開始します。 Nios® は新しいコンフィグレーション設定を読み取り、DR の開始に進みます。

次のステップでは、新しいコンフィグレーションをそれぞれのタイルの IP ブロック (MAC、PCS、FEC、PMA) レジスターに書き込みます。プログラムされるタイルレジスターは、ホスト・ソフトウェアがコンフィグレーションした DR CSR レジスターの値に基づき導出されます。

タイルの新しいコンフィグレーションが完了すると、 Nios® コアは DR CSR の Ready for New Trigger ビットを設定します。これにより、ホスト・ソフトウェアは現在の DR 切り替えが完了したことを認識します。

一般的なダイナミック・リコンフィグレーションのソフトウェア・フロー

次のステップを順次行い、デザインを動的にリコンフィグレーションします。
  • Dynamic Reconfiguration New Trigger (0x00[1]) レジスターを継続的にポーリングし、アサートされるまで待機します。アサートされると、 Nios® の準備が完了しています。
  • 現在のプロトコル IP をリセットします。例えば、i_p0_rst_ni_p0_tx_rst_n、および i_p0_rx_rst_n ビットを 1'b0 に設定します。
  • 現在のプロトコル IP のリセット肯定応答を待機します。例えば、o_p0_rst_ack_no_p0_tx_rst_ack_n、および o_p0_rx_rst_ack_n ビットを 1'b0 にクリアします。
  • Dynamic Reconfiguration Next Profile <N> (0x04 - 0x50) レジスターをプログラミングして、次のプロファイルをコンフィグレーションします。
  • ダイナミック・リコンフィグレーションをトリガーするには、Dynamic Reconfiguration New Trigger (0x00[0]) レジスターに書き込みます。
  • Dynamic Reconfiguration New Trigger (0x00[1]) レジスターを継続的にポーリングし、アサートされるまで待機します。
  • 新しいプロトコル IP を新しいコンフィグレーションでコンフィグレーションします。例えば、Ethernet Multirate IP のレジスターには、0x200 - 0x0208 オフセットを使用します。
  • 新しいプロトコル IP のリセットを解除します。例えば、i_p0_rst_ni_p0_tx_rst_n、および i_p0_rx_rst_n ビットを 1'b1 に設定します。
  • 新しいプロトコル IP のリセット肯定応答を待機します。例えば、o_p0_rst_ack_no_p0_tx_rst_ack_n、および o_p0_rx_rst_ack_n ビットが 1'b1 になります。
  • ダイナミック・リコンフィグレーションの完了になります。