Low Latency 100G Ethernet Intel® IPコア・ユーザーガイド: インテル® Stratix® 10デバイス用

ID 683100
日付 5/21/2021
Public
ドキュメント目次

7.1. PHYレジスター

表 23.  PHYレジスターグローバル・ハード・リセット csr_rst_n は、これらのレジスターをすべてリセットします。TXリセット tx_rst_n およびRXリセット rx_rst_n 信号は、これらのレジスターをリセットしません。
アドレス 信号名 説明 リセット アクセス
0x300 REVID IPコアPHYモジュールのリビジョンIDです。 0x0809 2017 RO
0x301 SCRATCH テスト用に使用可能なスクラッチレジスターです。 0x0000 0000 RW
0x302 PHY_NAME_0 IPコア・バリエーション識別子文字列「100」の最初の文字です。 0x0031 3030 RO
0x303 PHY_NAME_1 IPコア・バリエーション識別子文字列「GE」の次の文字です。 0x0000 4745 RO
0x304 PHY_NAME_2 IPコア・バリエーション識別子文字列「pcs」の最後の文字です。 0x0070 6373 RO
0x310 PHY_CONFIG PHYコンフィグレーション・レジスターです。次のビットフィールドが定義されています。
  • ビット[0]: eio_sys_rst。システム全体のリセット (レジスターを除く)。このビットを設定して、内部リセットシーケンスを開始します。
  • ビット[1]: soft_txp_rst。TXソフトリセットです。
  • ビット[2]: soft_rxp_rst。RXソフトリセットです。
  • ビット[3]:予約済み。
  • ビット[4]: set_ref_lock。RX CDR PLLに対してリファレンス・クロックにロックするように指示します。
  • ビット[5]: set_data_lock。RX CDR PLLに対してデータにロックするように指示します。
  • ビット[31:6]: 予約済み。
リセットビットはセルフクリアではありません。リセットを強制するには、連続したレジスター書き込み動作でリセットビットを設定およびリセットできます。
26'hX_2'b0_1'bX_3'b0

(X= ドントケア)

RW
0x312 WORD_LOCK それぞれの20個の下位ビットは、アサートされると、対応する仮想チャネルがシリアル・データ・ストリーム内の66ビットのブロック境界を識別したことを示します。

Enable RS-FECがオンになっている場合、値は常にゼロになります。

0xXXX0 0000

(X= ドントケア)

RO
0x313 EIO_SLOOP シリアルPMAループバックです。ビットを設定すると、対応するトランシーバーがシリアル・ループバック・モードになります。シリアル・ループバック・モードでは、TXレーンは内部ループバック・パスでRXレーンにループバックします。 0xXXXX XXX0 RW
0x314 EIO_FLAG_SEL 10G PCS Native PHY IPコアの個々のFIFOフラグの間接アドレス指定をサポートします。このレジスターを特定のFIFOフラグのエンコーディングでプログラムします。フラグ値 (トランシーバーごとに1つ) は、EIO_FLAGS レジスターでアクセスできます。

EIO_FLAG_SEL レジスターの値は、IPコアに次のFIFOフラグを使用可能にするように指示します。

  • 3'b000: TX FIFOがフル
  • 3'b001: TX FIFOが空
  • 3'b010: TX FIFOが部分的にフル
  • 3'b011: TX FIFOが部分的に空
  • 3'b100: RX FIFOがフル
  • 3'b101: RX FIFOが空
  • 3'b110: RX FIFOが部分的にフル
  • 3'b111: RX FIFOが部分的に空
29'bX_3'b000 RW
0x315 EIO_FLAGS PCS間接データです。FIFOフラグを読み出すには、EIO_FLAG_SEL レジスターの値を設定して、読み出したいフラグを示します。EIO_FLAG_SEL レジスターでフラグを指定すると、EIO_FLAGS レジスターの各ビット [n] には、レーン [n] のトランシーバー・チャネルのFIFOフラグの値が含まれます。 0xXXXX XXX0 RO
0x321 EIO_FREQ_LOCK 下位4ビットのそれぞれは、アサートされると、対応するレーンRXクロック・データ・リカバリー (CDR) フェーズ・ロック・ループ (PLL) がロックされていることを示します。 0xXXXX XXX0 RO
0x322 PHY_CLK 次のエンコーディングが定義されています。
  • ビット[0]: 1に設定されている場合、TXトランシーバーがリセットを完了したことを示します。
  • ビット[1]: 1に設定されている場合、TXコアクロックが安定していることを示します。また、Enable RS-FECがオンの場合、FEC TX PLLは周波数ロックを取得しています。
  • ビット[2]: 1に設定されている場合、RXコアクロックが安定していることを示します。また、Enable RS-FECがオンの場合、FEC RX PLLは周波数ロックを取得しています。
29'bX_3'b000 RO
0x323 FRM_ERR

それぞれの20個の下位ビットは、アサートされると、対応する仮想レーンにフレームエラーがあることを示します。このレジスターを読み出して、IPコアがワードロックを失うしきい値を下回る少数のフレームエラーを維持しているかどうかを判断できます。仮想レーンがワードロックを失っていない限り、これらのビットはスティッキーです。1'b1を SCLR_FRM_ERR レジスターに書き込んでクリアします。

仮想レーンがワードロックを失うと、仮想レーンは対応するレジスタービットをクリアします。

このレジスターの各ビットは、オフセット0x312の WORD_LOCK レジスターの値が1の場合にのみ有効な値になります。

Enable RS-FECがオンの場合、値は常にゼロになります。

0xXXX0 0000 RO
0x324 SCLR_FRM_ERR FRM_ERR レジスターの同期クリアです。このレジスターに1'b1を書き込み、FRM_ERR レジスターおよびLANE_DESKEWED レジスターのビット[1]をクリアします。単一ビットですべてのスティッキー・フレーミング・エラーがクリアされます。

このビットは自動クリアされません。1'b0を書き込み、フレームエラーのログ記録を続行します。

0x0000 0000 RW
0x325 EIO_RX_SOFT_PURGE_S ビット[0]を設定して、4つの物理レーンすべてのRX FIFOをクリアします。
  • ビット[11]: 1に設定すると、PCSからPMAへのビットスリップ要求が無効になります。
  • ビット[12]: 1に設定すると、自動適応モジュールがIdleステートに保持されます。0に設定すると、自動適応モジュールがIdleステートからリリースされます。
0x0000 0000 RW
0x326 RX_PCS_FULLY_ALIGNED_S RX PCSが完全に整列され、トラフィックを受け入れる準備ができていることを示します。
  • ビット[0]: RX PCSが完全に整列された状態。
  • ビット[1]: RX PCS HI BERステータス。

Enable RS-FECがオンになっている場合、値は常にゼロになります。

30'bX_2'b00

RO
0x327 ERR_INJ 1に設定すると、対応するレーンにエラーが挿入されます。レジスターは立ち上がりエッジでトリガーされます。クリアするには0を書き込みます。 0xXXXX XXX0 RW
0x328 AM_LOCK ビット [0] がアサートされると、IPコアが20個の仮想レーンすべてのデータストリームで仮想レーンのアライメント・マーカーを識別し、仮想レーンを順序付けたことを示します。

Enable RS-FECがオンになっている場合、値は常にゼロになります。

0xXXXX XXX0 RO
0x329 LANE_DESKEWED 次のエンコーディングが定義されています。
  • ビット [0]: すべてのレーンがデスキューされていることを示します。
  • ビット [1]: アサートされると、レーンのデスキュー状態の変化を示します。このスティッキービットをクリアするには、SCLR_FRM_ERR レジスターの対応するビットに1'b1を書き込みます。これはラッチされた信号です。

Enable RS-FECがオンになっている場合、値は常にゼロになります。

30'bX_2'b00

RO
0x330 PCS_VLANE0 PCS仮想レーンマッピングです。物理レーン0で検出された5つの仮想レーンを識別します。仮想レーンは、5ビットのバイナリー仮想レーン番号でエンコードされます。1つの仮想レーン・インデックスはそれぞれ別の、レジスタービット [4:0]、レジスタービット [9:5]、レジスタービット [14:10]、レジスタービット [19:15]、およびレジスタービット [24:20] にエンコードされます。

例えば、レジスターの値が25'b00001_00101_00011_00000_01000の場合、仮想レーン0、1、3、5、および8は物理レーン0にマッピングされます。

これらのフィールドのいずれかの値0x1Fは、仮想レーンがまだ記録されていないことを示します。IPコアが rx_pcs_ready をアサートする前に、遷移値をレジスターフィールドに表示できます。したがって、正しい仮想レーン・インジケーターを確実に読み出すために、レジスターを3~4回読み出す必要があります。

Enable RS-FECがオンになっている場合、値はリセット値のままになります。

0x01FF FFFF RO
0x331 PCS_VLANE1 物理レーン1のPCS仮想レーンマッピングです。

これらのフィールドのいずれかの値0x1Fは、仮想レーンがまだ記録されていないことを示します。IPコアが rx_pcs_ready をアサートする前に、遷移値をレジスターフィールドに表示できます。したがって、正しい仮想レーン・インジケーターを確実に読み出すために、レジスターを3~4回読み出す必要があります。

Enable RS-FECがオンになっている場合、値はリセット値のままになります。

0x01FF FFFF RO
0x332 PCS_VLANE2 物理レーン2のPCS仮想レーンマッピングです。

これらのフィールドのいずれかの値0x1Fは、仮想レーンがまだ記録されていないことを示します。IPコアが rx_pcs_ready をアサートする前に、遷移値をレジスターフィールドに表示できます。したがって、正しい仮想レーン・インジケーターを確実に読み出すために、レジスターを3~4回読み出す必要があります。

Enable RS-FECがオンになっている場合、値はリセット値のままになります。

0x01FF FFFF RO
0x333 PCS_VLANE3 物理レーン3のPCS仮想レーンマッピングです。

これらのフィールドのいずれかの値0x1Fは、仮想レーンがまだ記録されていないことを示します。IPコアが rx_pcs_ready をアサートする前に、遷移値をレジスターフィールドに表示できます。したがって、正しい仮想レーン・インジケーターを確実に読み出すために、レジスターを3~4回読み出す必要があります。

Enable RS-FECがオンになっている場合、値はリセット値のままになります。

0x01FF FFFF RO
0x341 KHZ_RX clk_status クロックの周波数が100MHzであると仮定した場合の、RXクロック (clk_rxmac) 周波数 (KHz単位) です。RXクロック周波数は、このレジスターの値に clk_status クロックの周波数を掛け、100で割った値です。 0x0000 0000 RO
0x342 KHZ_TX clk_status クロックの周波数が100MHzであると仮定した場合の、TXクロック (clk_txmac) 周波数 (KHz単位) です。TXクロック周波数は、このレジスターの値に clk_status クロックの周波数を掛け、100で割った値です。 0x0000 0000 RO
0x343 KHZ_TX_RS clk_status クロックの周波数が100MHzであると仮定した場合の、FEC TXクロック (clk_tx_rs) 周波数 (KHz単位) です。TX FECクロック周波数は、このレジスターの値に clk_status クロックの周波数を掛け、100で割った値です。

このレジスターは、Enable RS-FECがオンになっている場合にのみ使用可能です。

0x0000 0000 RO
0x344 KHZ_RX_RS clk_status クロックの周波数が100MHzであると仮定した場合の、FEC RXクロック (clk_rx_rs) 周波数 (KHz単位) です。RX FECクロック周波数は、このレジスターの値に clk_status クロックの周波数を掛け、100で割った値です。

このレジスターは、Enable RS-FECがオンになっている場合にのみ使用可能です。

0x0000 0000 RO
0x350 ENABLE_RSFEC

データパスの一部であるRS-FECブロックを動的に制御できます。このレジスターは、Enable RS-FECがオンになっている場合にのみ使用可能です。

RS-FECブロックがイネーブルされている場合、1を書き込むとRS-FECデータパスはイネーブルになり、0を書き込むとRS-FECデータパスはディスエーブルになります。
注: RS-FEC + KR機能がイネーブルになっているコンフィグレーションでは、データパスには常にデフォルトでRS-FECが含まれているため、このレジスターは無効です。
0x0000 0001 RW