インテル® Agilex™ハード・プロセッサー・システムのテクニカル・リファレンス・マニュアル

ID 683567
日付 1/25/2020
Public

このドキュメントの新しいバージョンが利用できます。お客様は次のことを行ってください。 こちらをクリック 最新バージョンに移行する。

ドキュメント目次

17.7.2. EMAC FPGAインターフェイスの初期化

イーサネット・コントローラーを初期化してFPGA GMII/MIIインターフェイスを使用するには、特定のソフトウェア手順に従う必要があります。

FPGAインターフェイスは一般的に、有効なPHYクロックでユーザーモードでアクティブになる必要があります。イーサネット・コントローラーは静的コンフィグレーション中にリセット状態である必要があります。また、イーサネット・コントローラーのリセットが終了する前に、クロックがアクティブで有効になっている必要があります。

  1. HPSがコールドリセットまたはウォームリセットから解放された後、リセット・マネージャーのper0modrstレジスターで適切なemac*ビットを設定し、イーサネット・コントローラー・モジュールをリセットします。
  2. クロック・マネージャーの適切なレジスターをプログラミングし、EMACコントローラーのクロックを250 MHzにコンフィグレーションします。
  3. イーサネットPHYのリセットを解除し、RX PHYクロックが存在することを確認します。確認には、場合によってはトランシーバーと連携してリセットから起動させることが必要になります。
  4. PTPクロックソースがFPGAからのものである場合、FPGAのf2s_ptp_ref_clkがアクティブであることを確認します。
  5. ソフトGMII/MIIアダプターは、アクティブなクロックが伝播している状態でロードする必要があります。FPGAはユーザーモードにコンフィグレーションされている必要があります。また、ユーザーソフトFPGA IPへのリセットが、PHYクロックをHPSに伝播するために必要になる場合があります。
  6. すべてのクロックソースが有効になった後で、次のクロック設定を適用します。
    1. システム・マネージャーのemac*レジスターのphy_intf_selフィールドを0x0にプログラミングし、GMII/MII PHYインターフェイスを選択します。
    2. PTPクロックソースがFPGAから提供されている場合、システム・マネージャーのemac_globalレジスターで、ptp_clk_selビットを0x1に設定します。
    3. システム・マネージャーのfpgaintf_en_3レジスターでemac_*ビットを設定し、イーサネット・コントローラーFPGAインターフェイスを有効にします。
  7. ユーザーがデフォルト値とは異なる設定を必要とする場合は、EMACの静的設定をすべてコンフィグレーションします。この設定には、AxPROT[1:0] 信号およびAxCACHE信号の値が含まれます。これらの値は、システム・マネージャーのemac*レジスターでプログラミングされます。
  8. 設定が有効であることを確認後、ソフトウェアでリセット・マネージャーのper0modrstレジスターのemac*ビットをクリアし、EMACのリセットを解除することができます。
これらの手順が完了後に、一般的なイーサネット・コントローラーとDMAソフトウェアの初期化およびコンフィグレーションを続行することが可能です。
注: 上記と同じ手順を適用し、FPGAを介してHPS GMIIをRGMII、RMII、またはSGMIIインターフェイスに変換することができます。ただし、FPGAコンフィグレーション中のステップ5では、インターフェイスに対する適切なソフトアダプターをロードし、それにもリセットを適用します。PHYインターフェイス選択のエンコーディングは0x0で維持されます。SGMIIインターフェイスの場合は、外部トランシーバー・ロジックが追加で必要になります。FPGAを介するイーサネット信号のルーティングは、HPSでピンに制限のあるデザインに有効です。