インテル® Arria® 10 トランシーバーPHY ユーザーガイド

ID 683617
日付 4/20/2017
Public
ドキュメント目次

2.4.9. エンハンストPCS ポート

図 24. エンハンストPCS インターフェイスPMA とPCS のモジュールへのラベルされた入力や出力は、個別の信号ではなくバスを表します。

以下の表では、変数は次に示すパラメーターを表します。

  • <n>:レーン数
  • <d>:シリアライゼーション・ファクター
  • <s>:シンボルサイズ
  • <p>:PLL 数
表 48.  エンハンストTX PCS のパラレルデータ、コントロール、クロック
ポート名 入力/出力 クロックドメイン 説明

tx_parallel_data[<n>128-1:0]

入力

FIFO の書き込み側を駆動するクロック (tx_coreclkin またはtx_clkout) に同期

FPGA ファブリックからTX PCS へのTX パラレルデータ入力です。トランシーバー・ネイティブPHY IP のParameter EditorEnable simplified interface を選択すると、tx_parallel_data は、指定したコンフィグレーションに必要なビットだけを含みます。

アクティブではないデータピンをグランドと接続する必要があります。single width コンフィグレーションでは、以下のビットがアクティブです。

  • FPGA ファブリックからPCS への32 ビットのインターフェイス幅:tx_parallel_data[31:0]。[127:32]はグランドと接続
  • FPGA ファブリックからPCS への40 ビットのインターフェイス幅:tx_parallel_data[39:0]。[127:40]はグランドと接続
  • FPGA ファブリックからPCS への64 ビットのインターフェイス幅:tx_parallel_data[63:0]。[127:64]はグランドと接続

double width コンフィグレーションでは、以下のビットがアクティブです。

  • FPGA ファブリックからPCS への40 ビットのインターフェイス幅:data[103:64]、[39:0]。[127:104]、[63:40]はグランドと接続
  • FPGA ファブリックからPCS への64 ビットのインターフェイス幅:data[127:64]、[63:0]

double-width モードは、32 ビット、50 ビット、および67 ビットのFPGA ファブリックからPCS へのインターフェイス幅ではサポートされません。

unused_tx_parallel_data

入力

tx_clkout Enable simplified data interface をイネーブルするとポートがイネーブルされます。これらのビットすべてを0 に接続します。Enable simplified data interface をディスエーブルすると、未使用ビットはtx_parallel_data の一部になります。グランドに接続する必要があるビットを特定するにはtx_parallel_data を参照します。
tx_control[<n><3>-1:0] または

tx_control[<n><18>-1:0]

入力

FIFO の書き込み側を駆動するクロック (tx_coreclkin またはtx_clkout) に同期

tx_control ビットは、選択したトランシーバー・コンフィグレーション・ルールに応じてさまざまな機能を有します。Simplified data interface をイネーブルすると、未使用ビットはunused_tx_control ポートの一部として示され、このバスのビット数が変化します。

詳細は、エンハンストPCS のTX およびRX コントロール・ポートの項を参照してください。

unused_tx_control[<n> <15>-1:0]

入力

FIFO の書き込み側を駆動するクロック (tx_coreclkin またはtx_clkout) に同期

Enable simplified data interface をイネーブルするとポートがイネーブルされます。これらのビットすべてを0 に接続します。Enable simplified data interface をディスエーブルすると、未使用ビットはtx_control の一部になります。

グランドに接続する必要があるビットを特定するにはtx_control を参照します。

tx_err_ins 入力 tx_coreclkin

Interlaken プロトコルでEnable simplified data interface をオンにした場合、このビットを使用して同期ヘッダーエラーとCRC32 エラーを挿入します。

アサートされると、サイクルワード用の同期ヘッダーが破損させたものと置き換えられます。Enable Interlaken TX CRC-32 generator error insertion がオンであればCRC32 エラーも挿入されます。破損させた同期ヘッダーは、コントロール・ワードでは2'b00、データワードでは2'b11 です。CRC32 エラーの挿入では、ワードはサイクルが不正に反転されているCRC 演算に使用され、メタフレームの診断ワードでの不正なCRC32 をもたらします。

Framing Control Word はTX PCS に組み込まれたフレーム・ジェネレーターで作成されるため、同期ヘッダーエラーとCRC32 エラーはFraming Control Word 用には作成できないことに注意してください。同期ヘッダーエラーとCRC32 エラーはどちらもトランシーバー・ネイティブPHY IP のGUI でCRC-32 エラー挿入機能がイネーブルされている場合に挿入されます。

tx_coreclkin 入力 クロック

FPGA ファブリックのクロックです。TX FIFO の書き込み側を駆動します。Interlaken プロトコルではこのクロックの周波数を、データレート/67~データレート/32 にします。この範囲よりも低い周波数を使用すると、TX FIFO がアンダーフローし、データが破損する原因となります。

tx_clkout

出力

クロック

ノン・ボンディング・コンフィグレーションではローカルCGB により生成され、ボンディング・コンフィグレーションではマスターCGB により生成されるパラレルクロックです。このクロックがTX エンハンストPCS のクロックになります。このクロックの周波数は、データレートをPCS/PMA インターフェイスの幅で割ったものと等しくなります。

表 49.  エンハンストRX PCS のパラレルデータ、コントロール、クロック
ポート名 入力/出力 クロックドメイン 説明

rx_parallel_data[<n>128-1:0]

出力

FIFO の読み出し側を駆動するクロック (rx_coreclkin またはrx_clkout) に同期

RX PCS からFPGA ファブリックへのRX パラレルデータです。トランシーバー・ネイティブPHY IP のGUI でEnable simplified data interface を選択すると、rx_parallel_data は、指定したコンフィグレーションに必要なビットだけを含みます。それ以外の場合には、インターフェイスは128 ビット幅です。

FPGA ファブリックからPCS へのインターフェイス幅が64 ビットの場合、128 ビット未満のインターフェイスで次のビットがアクティブです。未使用ビットはフローティングまたは未接続のままにしておくことができます。

  • FPGA ファブリックからPCS への32 ビット幅:data[31:0]
  • FPGA ファブリックからPCS への40 ビット幅:data[39:0]
  • FPGA ファブリックからPCS への64 ビット幅:data[63:0]

FPGA ファブリックからPCS へのインターフェイス幅が128 ビットの場合には、以下に示すビットがアクティブです。

  • FPGA ファブリックからPCS への40 ビット幅:data[103:64]、[39:0]
  • FPGA ファブリックからPCS への64 ビット幅:data[127:0]
unused_rx_parallel_data

出力

rx_clkout

Enable simplified data interface をオンにした場合に、この信号は未使用データを指定します。Enable simplified data interface がセットされない場合には、未使用ビットはrx_parallel_data の一部になります。未使用のデータ出力はフローティングまたは未接続のままにしておくことができます。
rx_control[<n> <20>-1:0] 出力

FIFO の読み出し側を駆動するクロック (rx_coreclkin またはrx_clkout) に同期

rx_parallel_data バスがコントロールまたはデータのどちらであるかを示します。

詳細は、エンハンストPCS のTX およびRX コントロール・ポートの項を参照してください。

unused_rx_control[<n>10-1:0] 出力

FIFO の読み出し側を駆動するクロック (rx_coreclkin またはrx_clkout) に同期

この信号は、Enable simplified data interface をオンにした場合にのみ存在します。Enable simplified data interface がセットされない場合には、未使用ビットはrx_control の一部になります。これらの出力はフローティングのままにしておくことができます。
rx_coreclkin 入力 クロック

FPGA ファブリックのクロックです。RX FIFO の読み出し側を駆動します。Interlaken プロトコルではこのクロックの周波数を、データレート/67~データレート/32 にします。

rx_clkout

出力

クロック

トランシーバーRX PMAで回復された低速パラレルクロックであり、これがRX エンハンストPCS のクロックになります。このクロックの周波数は、データレートをPCS/PMA インターフェイスの幅で割ったものと等しくなります。

表 50.  エンハンストPCS TX FIFO
ポート名 入力/出力 クロックドメイン 説明
tx_enh_data_valid[<n>-1:0]

入力

FIFO の書き込み側を駆動するクロック (tx_coreclkin またはtx_clkout) に同期

この信号のアサートは、TX データが有効であることを示します。1588 に準拠しない10GBASE-R では、1'b1 にこの信号を接続します。1588 に準拠する10GBASE-R では、この信号をギアボックス比に基づいて制御する必要があります。Basic とInterlaken では、TX FIFO がアンダーフローまたはオーバーフローしないように、FIFO フラグに基づいてこのポートを制御する必要があります。

詳細は、エンハンストPCS FIFO の動作を参照してください。

tx_enh_fifo_full[<n>-1:0]

出力

FIFO の書き込み側を駆動するクロックtx_coreclkinに同期

TX FIFO の書き込み側を駆動するクロックは、tx_coreclkin (FPGA ファブリック・クロック) またはtx_clkout

この信号のアサートは、TX FIFO がフルであることを示します。位相補償モードでは、深度が常に一定であるためこの信号を無視できます。

詳細は、エンハンストPCS FIFO の動作を参照してください。

tx_enh_fifo_pfull[<n>-1:0]

出力

FIFO の書き込み側を駆動するクロックtx_coreclkinに同期

TX FIFO の書き込み側を駆動するクロックは、tx_coreclkin (FPGA ファブリック・クロック) またはtx_clkout

この信号は、TX FIFO が部分的にフルのしきい値に達した際にアサートされます。位相補償モードでは、深度が常に一定であるためこの信号を無視できます。

詳細は、エンハンストPCS FIFO の動作を参照してください。

tx_enh_fifo_empty[<n>-1:0]

出力

FIFO の読み出し側を駆動するクロックtx_coreclkinに同期

アサートされるとTX FIFO が空であることを示します。この信号は、2~3 クロックサイクルの間アサートされます。位相補償モードでは、深度が常に一定であるためこの信号を無視できます。

詳細は、エンハンストPCS FIFO の動作を参照してください。

tx_enh_fifo_pempty[<n>-1:0]

出力

FIFOの読み出し側を駆動するクロックtx_clkoutに同期

アサートされると、TX FIFO が指定された部分的に空のしきい値に達したことを示します。このオプションをオンにすると、エンハンストPCS は非同期のtx_enh_fifo_pempty ポートをイネーブルします。この信号は、2~3 クロックサイクルの間アサートされます。位相補償モードでは、深度が常に一定であるためこの信号を無視できます。

詳細は、エンハンストPCS FIFO の動作を参照してください。

表 51.  エンハンストPCS RX FIFO
ポート名 入力/出力 クロックドメイン 説明
rx_enh_data_valid[<n>-1:0]

出力

FIFO の読み出し側を駆動するクロックrx_coreclkin またはrx_clkout に同期

アサートされると、rx_parallel_data が有効であることを示します。rx_enh_data_valid がLow であれば、無効なRX パラレルデータを廃棄します。

このオプションは、以下のパラメーターを選択すると有効になります。

  • エンハンストPCS のTransceiver configuration rules でInterlaken を指定する
  • エンハンストPCS のTransceiver configuration rules でBasic とRX FIFO モードをPhase compensation に指定する
  • エンハンストPCS のTransceiver configuration rules でBasic とRX FIFO モードをRegister に指定する

詳細は、エンハンストPCS FIFO の動作を参照してください。

rx_enh_fifo_full[<n>-1:0]

出力

FIFOの書き込み側を駆動するクロックrx_clkoutに同期

アサートされるとRX FIFO がフルであることを示します。この信号は、2~3 クロックサイクルの間アサートされます。位相補償モードでは、深度が常に一定であるためこの信号を無視できます。

詳細は、エンハンストPCS FIFO の動作を参照してください。

rx_enh_fifo_pfull[<n>-1:0]

出力

FIFOの書き込み側を駆動するクロックrx_clkoutに同期

アサートされるとTX FIFO が指定された部分的にフルのしきい値に達したことを示します。この信号は、2~3 クロックサイクルの間アサートされます。位相補償モードでは、深度が常に一定であるためこの信号を無視できます。

詳細は、エンハンストPCS FIFO の動作を参照してください。

rx_enh_fifo_empty[<n>-1:0]

出力

FIFO の読み出し側を駆動するクロックrx_coreclkinに同期

RX FIFO の読み出し側を駆動するクロックは、rx_coreclkin (FPGA ファブリック・クロック) またはrx_clkout

アサートされるとRX FIFO が空であることを示します。位相補償モードでは、深度が常に一定であるためこの信号を無視できます。

詳細は、エンハンストPCS FIFO の動作を参照してください。

rx_enh_fifo_pempty[<n>-1:0]

出力

FIFO の読み出し側を駆動するクロックrx_coreclkin に同期

RX FIFO の読み出し側を駆動するクロックは、rx_coreclkin (FPGA ファブリック・クロック) またはrx_clkout

アサートされるとRX FIFO が指定された部分的に空のしきい値に達したことを示します。位相補償モードでは、深度が常に一定であるためこの信号を無視できます。

詳細は、エンハンストPCS FIFO の動作を参照してください。

rx_enh_fifo_del[<n>-1:0]

出力

FIFO の読み出し側を駆動するクロックrx_coreclkin またはrx_clkout に同期

アサートされると、ワードがRX FIFO から削除されたことを示します。この信号は2~3 クロックサイクルの間アサートされます。この信号は10GBASE-R プロトコルに使用されます。

rx_enh_fifo_insert[<n>-1:0]

出力

FIFO の読み出し側を駆動するクロックrx_coreclkin またはrx_clkout に同期

アサートされると、ワードがRX FIFO に挿入されたことを示します。この信号は10GBASE-R プロトコルに使用されます。

rx_enh_fifo_rd_en[<n>-1:0]

出力

FIFO の読み出し側を駆動するクロックrx_coreclkin またはrx_clkout に同期

Interlaken でのみ、この信号がアサートされるとRX FIFO からワードが読み出されます。RX FIFO がアンダーフローまたはオーバーフローしないように、FIFO フラグに基づいてこの信号を制御する必要があります。
rx_enh_fifo_align_val[<n>-1:0]

入力

FIFO の読み出し側を駆動するクロックrx_coreclkin またはrx_clkout に同期

アサートされると、ワード・アライメント・パターンが検出されたことを示します。この信号はInterlaken プロトコルに対してのみ有効です。

入力

FIFO の読み出し側を駆動するクロックrx_coreclkin またはrx_clkout に同期

アサートされるとFIFO はリセットされ、新たなアライメント・パターンの検索を開始します。この信号はInterlaken プロトコルに対してのみ有効です。この信号は少なくとも4 サイクルの間アサートします。

表 52.  Interlaken フレーム・ジェネレーター、シンクロナイザー、CRC32
ポート名 入力/出力 クロックドメイン 説明
tx_enh_frame[<n>-1:0] 出力

tx_clkout

新しいメタフレームの始まりを示すために、2 または3 パラレルクロック・サイクルの間アサートされます。

tx_enh_frame_diag_status[<n>2-1:0]

入力

tx_clkout

フレーミング・レイヤ診断ワード (ビット[33:32]) に含まれるレーン・ステータスメッセージを駆動します。このメッセージは、次にフレーム・ジェネレーター・ブロックで生成される診断ワードに挿入されます。このバスはtx_enh_frame パルスの前後で、一定して5 クロックサイクルに保たれる必要があります。以下のエンコーディングが定義されています。

  • ビット[1]:1 であれば、レーンが動作可能であることを示す。0 であれば、レーンが動作不可であることを示す
  • ビット[0]:1 であれば、リンクが動作可能であることを示す。0 であれば、リンクが動作不可であることを示す
tx_enh_frame_burst_en[<n>-1:0]

入力

tx_clkout

Enable frame burst がイネーブルされると、このポートはTX FIFO からフレーム・ジェネレーターへのフレーム・ジェネレーター・データ読み出しを制御します。これは各メタフレームの先頭で一度ラッチされます。tx_enh_frame_burst_en の値が0 であれば、フレーム・ジェネレーターは現在のメタフレーム用のTX FIFO からのデータ読み出しを行いません。そのかわりにフレーム・ジェネレーターはSKIP ワードをメタフレームのペイロードとして挿入します。tx_enh_frame_burst_en が1 であれば、フレーム・ジェネレーターは現在のメタフレーム用にTX FIFO からのデータ読み出しを行います。このポートはtx_enh_frame パルスの前後で、一定して5 クロックサイクルに保たれる必要があります。

rx_enh_frame[<n>-1:0]

出力

rx_clkout

アサートされると、新たな受信メタフレームの始まりを示します。この信号はパルスストレッチされています。

rx_enh_frame_lock[<n>-1:0]

出力

rx_clkout

アサートされると、フレーム・シンクロナイザー・ステートマシンがメタフレーム境界を検出したことを示します。この信号はパルスストレッチされています。

rx_enh_frame_diag_status[2 <n>-1:0]

出力

rx_clkout

フレーミング・レイヤ診断ワード (ビット[33:32]) に含まれるレーン・ステータスメッセージを駆動します。フレームがロックされている間に、メタフレームの末尾で有効な診断ワードが受信されると、この信号がラッチされます。以下のエンコーディングが定義されています。

  • ビット[1]>-1:0]
  • rx_enh_fifo_align_clr[ビット[0]:1 であれば、リンクが動作可能であることを示す。0 であれば、リンクが動作不可であることを示す
rx_enh_crc32_err[<n>-1:0]

出力

rx_clkout

アサートされると、現在のメタフレームのCRC エラーを示します。現在のメタフレームの末尾でアサートされます。この信号は、2~3 クロックサイクルの間アサートされます。

表 53.  10GBASE-R BER チェッカー
ポート名 入力/出力 クロックドメイン 説明
rx_enh_highber[<n>-1:0] 出力

rx_clkout

アサートされると、10 -4 よりも大きいビット・エラー・レートを示します。10GBASE-R プロトコルでは、125μs 以内に少なくとも16 のエラーがある場合にBER レートが発生します。この信号は、2~3 クロックサイクルの間アサートされます。

rx_enh_highber_clr_cnt[<n>-1:0]

入力

rx_clkout

アサートされると、BER ステートマシンがBER_BAD_SH ステートに入った回数を示す内部カウンターをクリアします。
rx_enh_clr_errblk_count[<n>-1:0] (10GBASE-R とFEC)

入力

rx_clkout

アサートされると、エラー・ブロック・カウンターを0 にリセットします。この信号のアサートにより、RX ステートマシンがRX_E ステートに入った回数をカウントする内部カウンターをクリアします。FEC ブロックがイネーブルされたモードでは、この信号のアサートにより、RX FEC ブロックのステータスカウンターをリセットします。

表 54.  ブロック・シンクロナイザー
ポート名 入力/出力 クロックドメイン 説明
rx_enh_blk_lock[<n>-1:0] 出力

rx_clkout

アサートされると、ブロック・シンクロナイザーがブロック境界を検出したことを示します。この信号は10GBASE-R とInterlaken に使用されます。
表 55.  ギアボックス
ポート名 入力/出力 クロックドメイン 説明
rx_bitslip[<n>-1:0] 入力

rx_clkout

rx_parallel_data が、rx_bitslip 入力のポジティブエッジごとに1 ビットをスリップします。rx_bitslip パルス間の最小間隔を少なくとも20 サイクルに保ちます。最大シフトは<PCS 幅 -1>ビットなので、PCS が64 ビット幅であれば0~63 ビットをシフトすることができます。

tx_enh_bitslip[<n>-1:0] 入力 rx_clkout

この信号の値は、PMA に渡す前にtx_parallel_data をスリップさせるためのビットの数を制御します。

表 56.  KR-FEC
ポート名 入力/出力 クロックドメイン 説明
tx_enh_frame[<n>-1:0] 出力

tx_clkout

生成されたKR FEC フレームの開始位置を示す、TX KR-FEC の非同期ステータスフラグ出力です。
rx_enh_frame[<n>-1:0] 出力 rx_clkout 受信したKR FEC フレームの開始位置を示す、RX KR-FEC の非同期ステータスフラグ出力です。
rx_enh_frame_diag_status 出力 rx_clkout

現在の受信フレームの状態を示す、RX KR-FEC の非同期ステータスフラグ出力です。

  • 00:エラーなし
  • 01:修正可能なエラー
  • 10:修正不可能なエラー
  • 11:リセット状態またはロック前の状態