インテルのみ表示可能 — Ixiasoft
インテルのみ表示可能 — Ixiasoft
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ビットスリップ機能はオプションであり、イネーブルにすることも、イネーブルにしないこともできます。
詳細については、ビットスリップ・モードのワードアライナーの項を参照してください。
マニュアルモードのワードアライナー
Intel Stratix 10 (L/H-Tile) Word Aligner Bitslip Calculatorを参照して、ワード・アライメント・パターンおよび長さに基づいて、アライメントを実現するために必要なスリップの数を計算します。このモードを使用するには、以下を実行します。
- RX word aligner modeをManual (FPGA Fabric controlled) にセットします。
- PCS-PMAのインターフェイス幅に応じて、RX word aligner pattern lengthオプションをセットします。
- 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_patterndetect、rx_syncstatus および、rx_std_wa_patternalign は、各ビットが1つのチャネルに対応するバスになります。
この機能は、rx_parallel_data の監視によって検証できます。
以下のタイミング図はポートの使用方法を説明しており、さまざまなコントロールおよびステータス信号の関係性を示しています。上側の波形では、最初の時点で rx_parallel_data は適切にアライメントしていません。これは、rx_std_wa_patternalign 信号のアサート後にアライメントします。下側の波形は、rx_parallel_data がアライメントされた後の rx_syncstatus 信号の動作を示します。
マニュアル・アライメント・モードでは、ワード・アライメント動作は rx_std_wa_patternalign 入力信号または rx_enapatternalign レジスターを用いてマニュアルで制御します。ワードアライナー動作は、rx_enapatternalign に対してレベル・センシティブです。ワードアライナーは、新しいワード境界に再アライメントするとごとに、rx_syncstatus 信号を1パラレル・クロック・サイクルの間アサートします。
詳細については、マニュアルモードのワードアライナーの項を参照してください。
同期ステートマシン・モードのワードアライナー
このモードを使用するには、
- Enable TX 8B/10B encoderオプションを選択します。
- Enable RX 8B/10B decoderオプションを選択します。
8B/10Bエンコーダーおよびデコーダーが以下のポートを追加します。
- tx_datak
- rx_datak
- rx_errdetect
- rx_disperr
- rx_runningdisp
- RX word aligner modeをsynchronous state machineにセットします。
- PCS-PMAのインターフェイス幅に応じて、RX word aligner pattern lengthオプションをセットします。
- 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_datak、rx_datak、rx_errdetect、rx_disperr、rx_runningdisp、rx_patterndetect、および rx_syncstatus は、各ビットが1つのチャネルに対応するバスになります。
この機能は、rx_parallel_data の監視によって検証できます。
詳細については、同期ステートマシン・モードのワードアライナーの項を参照してください。
CPRI用の確定的レイテンシー・モードのワードアライナー
確定的レイテンシー・ステートマシン・モードを使用する際は、リセットシーケンスの完了後に rx_std_wa_patternalign をアサートしてパターン・アライメントを開始します。この信号は全てのケースでエッジトリガー信号です。ただし、ワードアライナーがマニュアルモードでPMA幅が10であり、さらに rx_std_wa_patternalign がレベル・センシティブである場合は例外となります。
ワードアライナーを使用したレイテンシーの計算
- Deterministic Latency State Machine (DLSM)
- Synchronous State Machine (SSM)
- マニュアルモード
- RX Bitslipモード
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つの無効なコードグループを検出した際、またはリセットされた際に同期を失います。
同期ステートマシンのパラメーター | 設定 |
---|---|
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 を示します。