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

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

2.4.4. Enhanced PCS パラメーター

この項では、エンハンストPCS の個々のブロックをカスタマイズするためにネイティブPHY IP コアのGUI で使用できるパラメーターを定義します。

以下の表に、使用できるパラメーターを示します。選択したTransceiver Configuration Rule に基づいて、指定した設定が標準プロトコルに違反する場合には、ネイティブPHY IP コアのParameter Editor でエラーまたは警告メッセージが表示されます。

注: イネーブルもしくはディスエーブルにできるオプショナルのポートについて詳しくは、エンハンストPCS ポートの項を参照してください。
表 17.  Enhanced PCS パラメーター
パラメーター 範囲 説明
Enhanced PCS / PMA interface width 324064 エンハンストPCS とPMA との間のインターフェイス幅を指定します。
FPGA fabric /Enhanced PCS interface width 3240646667 エンハンストPCS とFPGA ファブリックとの間のインターフェイス幅を指定します。

66 ビットのFPGA ファブリックからPCS へのインターフェイス幅では、TX やRX のパラレルデータに64 ビットを使用します。ブロック・シンクロナイザーは、コントロール・バスからの下位2 ビットを含む66 ビット・ワードのブロック境界を決定します。

67 ビットのFPGA ファブリックからPCS へのインターフェイス幅は、TX やRX のパラレルデータに64 ビットを使用します。ブロック・シンクロナイザーは、コントロール・バスからの下位3 ビットを含む67 ビット・ワードのブロック境界を決定します。

Enable Enhanced PCS low latency mode On/Off エンハンストPCS の低レイテンシー・パスを有効にします。このオプションをオンにすると、PMA からエンハンストPCS まで最も低いレイテンシー・パスを提供するために、エンハンストPCS の個々の機能ブロックがバイパスされます。イネーブルにした際に、このモードはGX デバイスに適用可能です。インテルは、GT デバイスを使用する際にはこれを有効にしないことを推奨します。
Enable RX/TX FIFO double width mode On/Off RX FIFO とTX FIFO のdouble width モードを有効にします。double width モードを使用すると、FPGA ファブリックをPCS の半分の周波数で動作させることができます。
表 18.  Enhanced PCS TX FIFO パラメーター
パラメーター 範囲 説明
TX FIFO Mode

Phase-Compensation

Register

Interlaken

Basic

Fast Register

以下のいずれかのモードを指定します。
  • Phase Compensation:TX FIFO が読み出しクロックtx_clkout と書き込みクロックtx_coreclkin またはtx_clkout の間のクロックの位相差を補償します。tx_enh_data_valid を1’b1 に固定できます。
  • Register:TX FIFO はバイパスされます。tx_parallel_datatx_controltx_enh_data_valid はFIFO 出力で一度レジスターに格納されます。tx_enh_data_valid ポートを常に1’b1 にアサートしておきます。ユーザーは書き込みクロックtx_coreclkin を読み出しクロックtx_clkout に接続する必要があります。
  • Interlaken:TX FIFO がエラスティック・バッファーとして機能します。このモードでは、FIFO へのデータフローを制御するための追加的な信号があります。そのため、FIFO 書き込みクロック周波数は、読み出しクロック周波数と同一である必要はありません。tx_enh_data_valid を用いてFIFO への書き込みを制御することができます。FIFO フラグをモニターリングすることで、FIFO フル状態と空の状態を回避できます。Interlaken フレーム・ジェネレーターは読み出しを制御します。
  • Basic:TX FIFO はエラスティック・バッファーとして機能します。このモードでは、FIFO の書き込み側と読み出し側を異なるクロック周波数で駆動することができます。tx_coreclkin またはrx_coreclkin は、66 で分周されたレーン・データレートを最小周波数とします。tx_coreclkin またはrx_coreclkin の周波数の範囲は、 (データレート/32) ~ (データレート/66) です。最良の結果を得るために、インテルtx_coreclkin またはrx_coreclkin を (データレート/32) にすることを推奨します。FIFO フラグをモニターリングし、書き込みおよび読み出し動作を制御します。詳しくは、エンハンストPCS FIFO の動作の項を参照してください。
  • Fast Register:TX FIFO は、より高いレイテンシーを負担しながら、FPGA ファブリックとTX PCS との間により高い最大周波数 (fMAX) を可能にします。
TX FIFO partially full threshold 10、 11、 12、 13 Enhanced PCS TX FIFO の部分的にフルのしきい値を指定します。TX FIFO が部分的にフルのステータスをフラグする必要がある値を入力します。
TX FIFO partially empty threshold 2、 3、 4、 5 Enhanced PCS TX FIFO の部分的に空のしきい値を指定します。TX FIFO が部分的に空のステータスをフラグする必要がある値を入力します。
Enable tx_enh_fifo_full port On/Off tx_enh_fifo_full port をイネーブルします。この信号は、TX FIFO がフルになったことを示します。この信号はtx_coreclkin と同期します。
Enable tx_enh_fifo_pfull port On/Off tx_enh_fifo_pfull port をイネーブルします。この信号は、TX FIFO が指定された部分的にフルのしきい値に達したことを示します。この信号はtx_coreclkin と同期します。
Enable tx_enh_fifo_empty port On/Off tx_enh_fifo_empty port をイネーブルします。この信号は、TX FIFO が空になったことを示します。この信号はtx_clkout と同期します。
Enable tx_enh_fifo_pempty port On/Off tx_enh_fifo_pempty port をイネーブルします。この信号は、TX FIFO が指定された部分的に空のしきい値に達したことを示します。この信号はtx_clkout と同期します。
表 19.  Enhanced PCS RX FIFO パラメーター
パラメーター 範囲 説明
RX FIFO Mode

Phase-Compensation

Register

Interlaken

10GBASE-R

Basic

Enhanced PCS RX FIFO に以下のモードのいずれかを指定します。
  • Phase Compensation:このモードでは、読み出しクロックrx_coreclkin またはrx_clkout と書き込みクロックrx_clkout の間のクロックの位相差を補償します。
  • Register:RX FIFO がバイパスされます。rx_parallel_datarx_controlrx_enh_data_valid はFIFO 出力で一度レジスターに格納されます。FIFO の読み出しクロックrx_coreclkin と書き込みクロックrx_clkout は一緒に接続されています。
  • Interlaken:Interlaken プロトコル向けにこのモードを選択します。デスキュープロセスを実装するには、FIFO フラグに基づいてFIFO 動作を制御するFSM の実装が必要です。このモードではFIFO はエラスティック・バッファーとして機能します。
  • 10GBASE-R:このモードでは、ブロックがロックされた後にデータがFIFO を通過します。オーダーセット (OS) は削除され、最大パケット長64000 バイトで+/- 100 ppm のファブリック・クロックとRX PMA クロックとの間のクロック差を補償するためにアイドルが挿入されます。
  • Basic:このモードでは、RX FIFO はエラスティック・バッファーとして機能します。このモードでは、FIFO の書き込み側と読み出し側を異なるクロック周波数で駆動することができます。tx_coreclkin またはrx_coreclkin は、66 で分周されたレーン・データレートを最小周波数とします。tx_coreclkin またはrx_coreclkin の周波数の範囲は、 (データレート/32) ~ (データレート/66) です。ギアボックスのデータ有効フラグはFIFO の読み出しイネーブルを制御します。FIFO から読み出すかどうかを判断するためにrx_enh_fifo_pfull フラグとrx_enh_fifo_empty フラグをモニターリングします。詳しくは、エンハンストPCS FIFO の動作の項を参照してください。
注: フラグはInterlaken およびBasic モードでのみ使用します。他の全ての場合では、これらを無視します。
RX FIFO partially full threshold 18 ~ 29 Enhanced PCS RX FIFO の部分的にフルのしきい値を指定します。デフォルト値は23 です。
RX FIFO partially empty threshold 2 ~ 10 Enhanced PCS RX FIFO の部分的に空のしきい値を指定します。デフォルト値は2 です。
Enable RX FIFO alignment word deletion (Interlaken) On/Off このオプションをオンにすると、フレーム同期後に、最初の同期ワードを含むすべてのアライメント・ワード (同期ワード) が削除されます。このオプションを有効にする場合は、control word deletion もまた有効にする必要があります。
Enable RX FIFO control word deletion (Interlaken) On/Off このオプションをオンにすると、Interlaken のcontrol word removal が有効になります。Enhanced PCS RX FIFO がInterlaken モードでコンフィグレーションされた際にこのモードを有効にしていると、フレーム同期後にすべてのコントロール・ワードが削除されます。このオプションを有効にする場合は、alignment word deletion もまた有効にする必要があります。
Enable rx_enh_data_valid port On/Off rx_enh_data_valid port をイネーブルします。この信号はRX FIFO からのRX データが有効になったことを示します。この信号はrx_coreclkin と同期します。
Enable rx_enh_fifo_full port On/Off rx_enh_fifo_full port をイネーブルします。この信号は、RX FIFO がフルになったことを示します。この信号はrx_clkout と同期します。
Enable rx_enh_fifo_pfull port On/Off rx_enh_fifo_pfull port をイネーブルします。この信号は、RX FIFO が指定された部分的にフルのしきい値に達したことを示します。この信号はrx_clkout と同期します。
Enable rx_enh_fifo_empty port On/Off rx_enh_fifo_empty port をイネーブルします。この信号は、RX FIFO が空になったことを示します。この信号はrx_coreclkin と同期します。
Enable rx_enh_fifo_pempty port On/Off rx_enh_fifo_pempty port をイネーブルします。この信号は、RX FIFO が指定された部分的に空のしきい値に達したことを示します。この信号はrx_coreclkin と同期します。
Enable rx_enh_fifo_del port (10GBASE‑R) On/Off オプショナルのrx_enh_fifo_del status output port をイネーブルします。この信号はレートマッチFIFO からワードが削除されたことを示します。この信号は10GBASE-R のトランシーバー・コンフィグレーション・ルールにのみ使用されます。この信号は非同期信号です。
Enable rx_enh_fifo_insert port (10GBASE‑R) On/Off rx_enh_fifo_insert port をイネーブルします。この信号はレートマッチFIFO にワードが挿入されたことを示します。この信号は10GBASE-R のトランシーバー・コンフィグレーション・ルールにのみ使用されます。この信号はrx_coreclkin と同期します。
Enable rx_enh_fifo_rd_en port On/Off rx_enh_fifo_rd_en input port をイネーブルします。この信号はRX FIFO からワードを読み出すためにイネーブルされます。この信号はrx_coreclkin と同期します。
Enable rx_enh_fifo_align_val port (Interlaken) On/Off rx_enh_fifo_align_val status output port をイネーブルします。Interlaken のトランシーバー・コンフィグレーション・ルールにのみ使用されます。この信号はrx_clkout と同期します。
Enable rx_enh_fifo_align_clr port  (Interlaken) On/Off rx_enh_fifo_align_clr input port をイネーブルします。Interlaken にのみ使用されます。この信号はrx_clkout と同期します。
表 20.  Interlaken Frame Generator パラメーター
パラメーター 範囲 説明
Enable Interlaken frame generator On/Off エンハンストPCS のフレーム・ジェネレーター・ブロックをイネーブルします。
Frame generator metaframe length 5 ~ 8192 フレーム・ジェネレーターのメタフレーム長を指定します。このメタフレーム長は、フレーム・ジェネレーターが作成する4 つのフレーミング・コントロール・ワードを含みます。
Enable frame generator burst control On/Off フレーム・ジェネレーター・バーストをイネーブルします。これにより、フレーム・ジェネレーターがtx_enh_frame_burst_en ポートの入力に基づいてTX FIFO からデータを読み出すかどうかを決定します。
Enable tx_enh_frame port On/Off tx_enh_frame ステータス出力ポートをイネーブルします。Interlaken フレーム・ジェネレーターを有効にした際に、この信号が新しいメタフレームの開始を示します。この信号は非同期信号です。
Enable tx_enh_frame_diag_status port On/Off 2 ビットのtx_enh_frame_diag_status 入力ポートをイネーブルします。Interlaken フレーム・ジェネレーターを有効にした際に、この信号の値はフレーミング・レイヤ診断ワードからのステータスメッセージを含みます。この信号はtx_clkout と同期します。
Enable tx_enh_frame_burst_en port On/Off tx_enh_frame_burst_en 入力ポートをイネーブルします。Interlaken フレーム・ジェネレーターのバースト・コントロールを有効にした際に、TX FIFO から読み出すフレーム・ジェネレーターのデータを制御するためにこの信号がアサートされます。この信号はtx_clkout と同期します。
表 21.  Interlaken Frame Synchronizer パラメーター
パラメーター 範囲 説明
Enable Interlaken frame synchronizer On/Off このオプションをオンにすると、エンハンストPCS フレーム・シンクロナイザーがイネーブルされます。
Frame synchronizer metaframe length 5 ~ 8192 フレーム・シンクロナイザーのメタフレーム長を指定します。
Enable rx_enh_frame port On/Off rx_enh_frame status output port をイネーブルします。Interlaken フレーム・シンクロナイザーを有効にした際に、この信号が新しいメタフレームの開始を示します。この信号は非同期信号です。
Enable rx_enh_frame_lock port On/Off rx_enh_frame_lock output port をイネーブルします。Interlaken フレーム・シンクロナイザーを有効にした際に、この信号はフレーム・シンクロナイザーがメタフレームの境界を検出したことを示すためにアサートされます。この信号は非同期出力信号です。
Enable rx_enh_frame_diag_status port On/Off rx_enh_frame_diag_status output port をイネーブルします。Interlaken フレーム・シンクロナイザーを有効にした際に、この信号に、フレーミング・レイヤ診断ワード ([33:32]ビット) の値が含まれます。この信号はレーンあたり2 ビットの出力信号です。有効な診断ワードが受信されるとラッチされます。この信号は非同期信号です。
表 22.  Interlaken CRC32 Generator and Checker パラメーター
パラメーター 範囲 説明
Enable Interlaken TX CRC-32 Generator On/Off このオプションをオンにすると、TX エンハンストPCS データパスでCRC32 ジェネレーター機能が有効になります。CRC32 は診断ツールとして使用できます。CRC は診断ワードを含む全体のメタフレームを含んでいます。
Enable Interlaken TX CRC-32 generator error insertion On/Off このオプションをオンにすると、Interlaken CRC-32 ジェネレーターのエラー挿入が有効になります。エラー挿入はサイクル精度です。この機能をイネーブルすると、tx_control[8] またはtx_err_ins 信号のアサートにより、ワードが不正に反転されている状態でCRC 演算が行われ、これによりメタフレームが不正であるというCRC が作成されます。
Enable Interlaken RX CRC-32 checker On/Off CRC-32 チェッカー機能を有効にします。
Enable rx_enh_crc32_err port On/Off このオプションをオンにすると、エンハンストPCS がrx_enh_crc32_err port をイネーブルします。この信号は、CRC チェッカーが現在のメタフレームでエラーを発見したことを示すためにアサートされます。この信号は非同期信号です。
表 23.  10GBASE-R BER Checker パラメーター
パラメーター 範囲 説明
Enable rx_enh_highber port (10GBASE‑R) On/Off rx_enh_highber port をイネーブルします。この信号は、10GBASE-R のトランシーバー・コンフィグレーション・ルール向けに、ビット・エラー・レートが10 -4 より高いことを示すためにアサートされます。これは、10GBASE-R の仕様にそって、125 us 以内に少なくとも16 のエラーがある場合に生じます。この信号は非同期信号です。
Enable rx_enh_highber_clr_cnt port (10GBASE‑R) On/Off rx_enh_highber_clr_cnt input port をイネーブルします。この信号は、10GBASE-R のトランシーバー・コンフィグレーション・ルール向けに、内部カウンターをクリアするためにアサートされます。カウンターは、BER ステートマシンが「BER_BAD_SH」ステートに入った回数を示します。この信号は非同期信号です。
Enable rx_enh_clr_errblk_count port (10GBASE‑R) On/Off rx_enh_clr_errblk_count input port をイネーブルします。この信号は、10GBASE-R のトランシーバー・コンフィグレーション・ルール向けに、内部カウンターをクリアするためにアサートされます。カウンターは、RX ステートマシンがRX_E ステートに入った回数を示します。FEC ブロックが有効にされたプロトコルでは、この信号はRX FEC ブロックのステータスカウンターをリセットするためにアサートされます。この信号は非同期信号です。
表 24.  64b/66b Encoder and Decoder パラメーター
パラメーター 範囲 説明
Enable TX 64b/66b encoder (10GBASE-R) On/Off このオプションをオンにすると、エンハンストPCS がTX 64b/66b エンコーダーをイネーブルします。
Enable RX 64b/66b decoder (10GBASE-R) On/Off このオプションをオンにすると、エンハンストPCS がRX 64b/66b デコーダーをイネーブルします。
Enable TX sync header error insertion On/Off このオプションをオンにすると、エンハンストPCS で、レシーバーで行われるエラー状態テストを補佐するためのサイクル精度エラーの作成が可能になります。エラー挿入がイネーブルされ、エラーフラグがセットされると、現在のワード用のエンコーディング同期ヘッダーが不正な形で生成されます。正しい同期ヘッダーが2'b01 (コントロール・タイプ) であれば、2'b00 がエンコードされます。正しい同期ヘッダーが2'b10 (データタイプ) であれば、2'b11 がエンコードされます。
表 25.  Scrambler and Descrambler パラメーター
パラメーター 範囲 説明
Enable TX scrambler (10GBASE-R/Interlaken) On/Off スクランブラ機能をイネーブルします。このオプションは、Basic (Enhanced PCS) モード、Interlaken と、10GBASE-R のプロトコルで使用可能です。ブロック・シンクロナイザーがイネーブルされ、ギアボックス比が66:32、66:40、または66:64 である際の、Basic (Enhanced PCS) モードでスクランブラをイネーブルにできます。
TX scrambler seed (10GBASE-R/Interlaken) ユーザー指定の58 ビットの値 Interlaken プロトコル用にゼロ以外のシードを用意する必要があります。マルチレーンのInterlaken トランシーバー・ネイティブPHY IP では、最初のレーンのスクランブラがこのシードを有します。他のレーンのスクランブラは、このシードにレーンあたり1 を増加させたシードを有します。10GBASE-R の最初のシードは0x03FFFFFFFFFFFFFF です。このパラメーターは10GBASE-R とInterlaken のプロトコルに必要です。
Enable RX descrambler (10GBASE-R/Interlaken) On/Off デスクランブラ機能をイネーブルします。このオプションは、Basic (Enhanced PCS) モード、Interlaken と、10GBASE-R のプロトコルで使用できます。ブロック・シンクロナイザーがイネーブルされ、ギアボックス比が66:32、66:40、または66:64 のBasic (Enhanced PCS) モードでデスクランブラをイネーブルにできます。
表 26.  Interlaken Disparity Generator and Checker パラメーター
パラメーター 範囲 説明
Enable Interlaken TX disparity generator On/Off このオプションをオンにすると、エンハンストPCS はディスパリティー・ジェネレーターをイネーブルします。このオプションはInterlaken プロトコルで使用可能です。
Enable Interlaken RX disparity checker On/Off このオプションをオンにすると、エンハンストPCS がディスパリティー・チェッカーをイネーブルします。このオプションはInterlaken プロトコルで使用可能です。
Enable Interlaken TX random disparity bit On/Off Interlaken ランダム・ディスパリティー・ビットをイネーブルします。イネーブルすると、レイテンシーを1 サイクル削減するディスパリティー・ビットとして乱数が使用されます。
表 27.  Block Synchronizer パラメーター
パラメーター 範囲 説明
Enable RX block synchronizer On/Off このオプションをオンにすると、エンハンストPCS はRX ブロック・シンクロナイザーをイネーブルします。このオプションはBasic (Enhanced PCS) モード、Interlaken と10GBASE-R のプロトコルで使用可能です。
Enable rx_enh_blk_lock port On/Off rx_enh_blk_lock ポートをイネーブルします。ブロック・シンクロナイザーをイネーブルした際に、この信号はブロックが境界を検出したことを示すためにアサートされます。
表 28.  Gearbox パラメーター
パラメーター 範囲 説明
Enable TX data bitslip On/Off このオプションをオンにすると、TX ギアボックスは、ビットスリップ・モードで動作します。tx_enh_bitslip port は、TX パラレルデータがPMA に行く前にスリップするビット数を制御します。
Enable TX data polarity inversion On/Off このオプションをオンにすると、TX データの極性が反転されます。これによりPCB 上の誤った配置配線を修正することができます。
Enable RX data bitslip On/Off このオプションをオンにすると、エンハンストPCS RX ブロック・シンクロナイザーがビットスリップ・モードで動作します。イネーブルすると、PMA からのRX パラレルデータをPCS に渡す前で1 ビットスリップさせるために、rx_bitslip port が立ち上がりエッジでアサートされます。
Enable RX data polarity inversion On/Off このオプションをオンにすると、RX データの極性が反転されます。これによりPCB 上の誤った配置配線を修正することができます。
Enable tx_enh_bitslip port On/Off tx_enh_bitslip ポートをイネーブルします。TX ビットスリップをイネーブルした際に、この信号は、TX パラレルデータがPMA に行く前にスリップするビット数を制御します。
Enable rx_bitslip port On/Off rx_bitslip port をイネーブルします。RX ビットスリップをイネーブルした際に、PMA からのRX パラレルデータをPCS に渡す前で1 ビットスリップさせるために、rx_bitslip 信号が立ち上がりエッジでアサートされます。このポートは標準PCS とエンハンストPCS とで共有されています。
表 29.  KR-FEC パラメーター
パラメーター 範囲 説明
Enable RX KR-FEC error marking On/Off このオプションをオンにすると、デコーダーは訂正不可能なエラーを検出した際に両方の同期ビット (2'b11) をアサートします。この機能はKR-FEC デコーダーを通過するレイテンシーを増加させます。
Error marking type 10G、40G エラー・マーキング・タイプを指定します (10G または40G)
Enable KR-FEC TX error insertion On/Off KR-FEC エンコーダーのエラー挿入機能をイネーブルします。この機能を使用して、現在のワードのビット0 で始まるデータを破損させることにより、エラーを挿入することができます。
KR-FEC TX error insertion spacing User Input (1 ビット ~ 15 ビット) KR-FEC のTX エラー挿入の間隔を指定します。
Enable tx_enh_frame port On/Off

tx_enh_frame port をイネーブルします。

Enable rx_enh_frame port On/Off rx_enh_frame port をイネーブルします。
Enable rx_enh_frame_diag_status port On/Off rx_enh_frame_diag_status port をイネーブルします。