インテル® Stratix® 10 LタイルおよびHタイル・トランシーバーPHYユーザーガイド

ID 683621
日付 3/03/2020
Public
ドキュメント目次

2.4.2.1.1. 標準PCSを使用したワード・アライメント

レシーバー・ワード・アライメントを実現するには、次のいずれかのモードで標準PCSのワードーアライナーを使用します。

  • RXデータ・ビットスリップ
  • マニュアルモード
  • Synchronous State Machine
  • Deterministic Latency Mode
  • GbE Modeでのワード・アライメント

RXビットスリップ

RXビットスリップを使用するには、Enable rx_bitslip portを選択し、ワードアライナー・モードをbit slipに設定します。これにより、rx_bitslip が入力コントロール・ポートとして追加されます。rx_bitslip のアクティブHighのエッジで、1度に1ビットがスリップします。rx_bitslip がトグルされると、ワードアライナーはすべてのアクティブHighのエッジごとに、1度に1ビットをスリップします。rx_bitslip 信号を少なくとも200 nsの間アサートして、低速シフトレジスターを通過するようにします。この機能は、rx_parallel_data の監視によって検証できます。

RXビットスリップ機能はオプションであり、イネーブルにすることも、イネーブルにしないこともできます。

図 35. 8ビットモードでのRXビットスリップ tx_parallel_data = 8'hbc
図 36. 10ビットモードでのRXビットスリップ tx_parallel_data = 10'h3bc
図 37. 16ビットモードでのRXビットスリップ tx_parallel_data = 16'hfcbc
図 38. 20ビットモードでのRXビットスリップ tx_parallel_data = 20'h3fcbc

詳細については、ビットスリップ・モードのワードアライナーの項を参照してください。

マニュアルモードのワードアライナー

Intel Stratix 10 (L/H-Tile) Word Aligner Bitslip Calculatorを参照して、ワード・アライメント・パターンおよび長さに基づいて、アライメントを実現するために必要なスリップの数を計算します。このモードを使用するには、以下を実行します。

  1. RX word aligner modeManual (FPGA Fabric controlled) にセットします。
  2. PCS-PMAのインターフェイス幅に応じて、RX word aligner pattern lengthオプションをセットします。
  3. RX word aligner pattern (hex) フィールドに16進数で値を入力します。

このモードでは、rx_patterndetect および rx_syncstatus が追加されます。Enable rx_std_wa_patternalign portオプションを選択して、rx_std_wa_patternalignをイネーブルすることができます。

注:
  • rx_patterndetect は、パターンマッチのたびにアサートされます。
  • rx_syncstatus は、ワードアライナーが同期を達成した後、rx_patterndetect がHighになった後に3 clkout サイクルでアサートされます。
  • rx_std_wa_patternalign は、再アライメントならびに再同期のためにアサートされます。
  • デザインに複数のチャネルがある場合は、rx_patterndetectrx_syncstatus および、rx_std_wa_patternalign は、各ビットが1つのチャネルに対応するバスになります。

この機能は、rx_parallel_data の監視によって検証できます。

以下のタイミング図はポートの使用方法を説明しており、さまざまなコントロールおよびステータス信号の関係性を示しています。上側の波形では、最初の時点で rx_parallel_data は適切にアライメントしていません。これは、rx_std_wa_patternalign 信号のアサート後にアライメントします。下側の波形は、rx_parallel_data がアライメントされた後の rx_syncstatus 信号の動作を示します。

図 39. PCS-PMAのインターフェイス幅が8ビットの際のマニュアルモード tx_parallel_data = 8'hBC、ワードアライナー・パターン = 8'hBC

マニュアル・アライメント・モードでは、ワード・アライメント動作は rx_std_wa_patternalign 入力信号または rx_enapatternalign レジスターを用いてマニュアルで制御します。ワードアライナー動作は、rx_enapatternalign に対してレベル・センシティブです。ワードアライナーは、新しいワード境界に再アライメントするとごとに、rx_syncstatus 信号を1パラレル・クロック・サイクルの間アサートします。

注: 10ビットモードのみがレベル・センシティブです。8、16、および20ビットモードはエッジ・センシティブです。

詳細については、マニュアルモードのワードアライナーの項を参照してください。

同期ステートマシン・モードのワードアライナー

このモードを使用するには、

  • Enable TX 8B/10B encoderオプションを選択します。
  • Enable RX 8B/10B decoderオプションを選択します。

8B/10Bエンコーダーおよびデコーダーが以下のポートを追加します。

  • tx_datak
  • rx_datak
  • rx_errdetect
  • rx_disperr
  • rx_runningdisp
  1. RX word aligner modesynchronous state machineにセットします。
  2. PCS-PMAのインターフェイス幅に応じて、RX word aligner pattern lengthオプションをセットします。
  3. RX word aligner pattern (hex) フィールドに16進数で値を入力します。

RXワード・アライナー・パターンは、データパターンの8B/10Bでエンコードされたバージョンです。同期を実現するワード・アライメント・パターンの数 (LSBファースト)、同期を失わせる無効データワードの数、およびエラーカウントをデクリメントさせる有効データワードの数も指定することができます。このモードでは、rx_patterndetect および rx_syncstatus の2 つのポートが追加されます。

注:
  • rx_patterndetect は、パターンマッチのたびにアサートされます。
  • rx_syncstatus は、ワードアライナーが同期を達成した後、rx_patterndetect がHighになった後に3 clkout サイクルでアサートされます。
  • デザインに複数のチャネルがある場合は、tx_datakrx_datakrx_errdetectrx_disperrrx_runningdisprx_patterndetect、および rx_syncstatus は、各ビットが1つのチャネルに対応するバスになります。

この機能は、rx_parallel_data の監視によって検証できます。

図 40. PCS-PMAのインターフェイス幅が16ビットの際の同期ステートマシン・モード

詳細については、同期ステートマシン・モードのワードアライナーの項を参照してください。

CPRI用の確定的レイテンシー・モードのワードアライナー

ワードアライナーの確定的レイテンシー・ステートマシンは、ワード・アライメント処理において既知の遅延変動を減少させます。これは、デシリアライザーでワード境界をシリアルクロックの半サイクル (1UI) スリップさせることにより、自動的に同期し、またアライメントします。 ワードアライナーへの受信データは、ワード・アライメント・パターン (K28.5) の境界にアライメントされます。
図 41. ワードアライナーの確定的レイテンシー・ステートマシン

確定的レイテンシー・ステートマシン・モードを使用する際は、リセットシーケンスの完了後に rx_std_wa_patternalign をアサートしてパターン・アライメントを開始します。この信号は全てのケースでエッジトリガー信号です。ただし、ワードアライナーがマニュアルモードでPMA幅が10であり、さらに rx_std_wa_patternalign がレベル・センシティブである場合は例外となります。

図 42. 確定的レイテンシー・モードでのワードアライナーの16ビットの波形

ワードアライナーを使用したレイテンシーの計算

ワードアライナーを次のいずれかのモードで使用して、確定的なレイテンシーを実現できます。
  • Deterministic Latency State Machine (DLSM)
  • Synchronous State Machine (SSM)
  • マニュアルモード
  • RX Bitslipモード
表 85.  DLSMおよびRXビットスリップ・モードでのワードアライナー・レイテンシー
条件 レイテンシー
rx_std_bitslipboundarysel 19 がEVENの場合 定数
rx_std_bitslipboundarysel 19 がODDの場合 一定 + 1 UI
表 86.  SSMおよびマニュアルモードでのワードアライナー・レイテンシー
条件 レイテンシー
10ビットPMA 定数 (nsec) + (rx_std_bitslipboundarysel) * UI 20 (nsec)
20ビットPMA 定数 (nsec) + (19- rx_std_bitslipboundarysel) * UI20 (psec)

GbEモードでのワード・アライメント

IEEE 1588v2プロトコルを使用するGbEおよびGbEのワードアライナーは、自動同期ステートマシン・モードにコンフィグレーションされています。

インテルQuartus Primeプロ・エディション開発ソフトウェアは、レシーバーが3つの連続した同期オーダーセットを受信した際に同期を示すよう、自動的に同期ステートマシンをコンフィグレーションします。同期オーダーセットは、/K28.5/コードグループとそれに続く奇数の有効な/Dx.y/コードグループです。レシーバーが同期を達成する最も迅速な方法は、3つの連続した{/K28.5/, /Dx.y/}オーダーセットを受信することです。

ネイティブPHY IPコアは、各チャネルの rx_syncstatus ポートにレシーバー同期ステータスの信号を送信します。rx_syncstatus ポートのHighは、レーンが同期されていることを示します。rx_syncstatus ポートのLowは、レーンの同期が失われていることを示します。レシーバーは、3つ以下の有効なコードグループによって区切られた3つの無効なコードグループを検出した際、またはリセットされた際に同期を失います。

表 87.  GbE用の同期ステートマシンのパラメーター設定
同期ステートマシンのパラメーター 設定
Number of word alignment patterns to achieve sync 3
Number of invalid data words to lose sync 3
Number of valid data words to decrement error count 3

次の図に、3つの連続したオーダーセットが rx_parallel_data によって送信された際にHighになった rx_syncstatus を示します。

図 43. Highのrx_syncstatus


19 rx_std_bitslipboundarysel を考慮しない場合、これらのワードアライナー・モードでは1 UIの非決定性があります。
20 UIは、シリアル・データレートの逆です。これらの定数は、PHYコンフィグレーションに基づいて異なる値を持ちます。期待値の詳細については、MySupportにお問い合わせください。rx_std_bitslipboundarysel 出力ステータスポートは、PCS-Coreインターフェイスで使用可能です。