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

ID 683567
日付 1/19/2023
Public
ドキュメント目次

17.7.1. システムレベルのEMACコンフィグレーション・レジスター

イーサネット・コントローラーのレジスターに加え、クロック・マネージャー、システム・マネージャー、およびリセット・マネージャーには、他のシステムレベルのレジスターがあり、EMACとそのインターフェイスをコンフィグレーションするには、それらをプログラミングする必要があります。

次の表に、EMACの動作を制御する重要なシステム・マネージャーのクロック・レジスター・ビットの概要を示します。これらのレジスタービットは静的信号であり、対応するEMACがリセットに入っている際に設定される必要があります。

表 190.  システム・マネージャーにおけるクロックとインターフェイスの設定
レジスター.フィールド 説明

emac_global.ptp_clk_sel

1588 PTPリファレンス・クロックです。このビットは、1588 PTPリファレンス・クロックのソースを選択します。
  • 0x0 = emac_ptp_clk (デフォルトであり、クロック・マネージャーから提供されます)
  • 0x1 = f2h_emac_ptp_ref_clk (FPGAファブリックから提供されます。この場合、FPGAはアクティブなリファレンス・クロックでユーザーモードになっている必要があります)

emac0.phy_intf_sel

emac1.phy_intf_sel

emac2.phy_intf_sel

PHYインターフェイスの選択です。この2ビットによりPHYモードを設定します。
  • 0x0 = GMIIまたはMII
  • 0x1 = RGMII
  • 0x2 = RMII
  • 0x3 = RESET (デフォルト)

次の表は、重要なシステム・マネージャーのコンフィグレーション・レジスター・ビットをまとめています。AXIキャッシュの設定を除いて、すべてのフィールドは静的であるとみなされており、EMACのリセットを終了する前に設定している必要があります。FPGAインターフェイスを使用する場合は、EMACのリセットを終了する前に、適切なクロック信号をアクティブな状態にしてFPGAをユーザーモードで有効にする必要があります。

表 191.  システム・マネージャーにおける静的制御の設定
レジスター.フィールド 説明

fpgaintf_en_3.emac0

fpgaintf_en_3.emac1

fpgaintf_en_3.emac2

EMACへのFPGAインターフェイスのディスエーブルです。このフィールドを使用し、EMACまたはFPGAの動作に干渉する可能性のあるFPGAからEMACモジュールへの信号を無効にします。
  • 0x0 = 無効 (デフォルト)
  • 0x1 = 有効

emac0.axi_disable

emac1.axi_disable

emac2.axi_disable

AXIのディスエーブルです。EMACへのAXIバスを無効にします。
  • 0x0 = 有効 (デフォルト)
  • 0x1 = 無効

emac0.awcache

emac1.awcache

emac2.awcache

emac0.arcache

emac1.arcache

emac2.arcache

EMAC AXI Master AxCACHEの設定です。EMACがアイドルまたはリセットに入っている際にこれらのビットを設定することが推奨されます。

emac0.awprot

emac1.awprot

emac2.awprot

emac0.arprot

emac1.arprot

emac2.arprot

EMAC Master AxPROTの設定です。EMACがアイドルまたはリセットに入っている際にこれらのビットを設定することが推奨されます。

emac0.ptp_ref_sel

emac1.ptp_ref_sel

emac2.ptp_ref_sel

内部または外部のタイムスタンプ・リファレンスです。このフィールドは、タイムスタンプのリファレンスが内部で生成されるか外部で生成されるかを選択します。EMAC0は、EMAC1およびEMAC2のタイムスタンプを生成するマスターになることが可能です。EMAC0は内部タイムスタンプに設定する必要があります。EMAC1とEMAC2は、内部または外部に設定することができます。
  • 0x0 = 内部 (デフォルト)
  • 0x1 = 外部

EMACコントローラーの適切な動作を実現するには、クロック・マネージャー内のさまざまなレジスターもまた、コンフィグレーションする必要があります。

表 192.  クロック・マネージャーにおける設定
レジスター.フィールド 説明

en.emacptpen

emac_ptp_clk出力イネーブル

en.emac0en

en.emac1en

en.emac2en

emac0_clkemac1_clk、およびemac2_clkクロックの出力を有効にします。
注: 対応するensおよびenrレジスターがあるため、同じフィールドをビット単位で設定またはクリアすることができます。
bypass.emacptp

EMAC PTPクロックのバイパスです。このビットは、emac_ptp_clkがペリフェラルPLLの入力クロック・リファレンスへバイパスされるかを示します。

  • 0x0 = バイパスは発生しません
  • 0x1 = emac_ptp_clkはメインPLLの入力クロック・リファレンスへバイパスされます
注: 対応するbypasssおよびbypassrレジスターがあるため、同じビットをビット単位で設定またはクリアすることができます。

bypass.emaca

bypass.emacb

クロックのバイパスです。このビットは、emaca_free_clkまたはemacb_free_clkがメインPLLの入力クロック・リファレンスへバイパスされるかを示します。
  • 0x0 = バイパスは発生しません
  • 0x1 = emac*_free_clkはメインPLLの入力クロック・リファレンスへバイパスされます
注: 対応するbypasssおよびbypassrレジスターがあるため、同じビットをビット単位で設定またはクリアすることができます。

emacctl.emac0sel

emacctl.emac1sel

emacctl.emac2sel

EMACクロックソース選択です。このビットでは、emac*clkのソースにemaca_free_clkまたはemacb_free clkを選択します。
  • 0x0 = emaca_free_clk
  • 0x1 = emacb_free_clk