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

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

6.15.2.3. PRBS ソフト・アキュムレーター

PRBS (擬似ランダム・バイナリー・シーケンス) ソフト・アキュムレーターは、トランシーバー・チャネルのハードPRBS ブロックと併せて使用されます。 この項では、ネイティブPHY IP コアに追加が可能なソフトロジックについて説明します。このオプションをイネーブルするには、Native PHY IP Parameter Editor のEnable PRBS Soft Accumulators オプションをオンにします。
PRBS ソフト・アキュムレーターは、3 つのコントロール・ビット (Enable、Reset、Snapshot) と1 つのステータスビット (PRBS Done) を備えています。
  • Enable ビット:累積ロジックを有効にするために使用されます。また、このビットは選択的なエラーの累積、およびシーケンスの一時停止にも使用されます。
  • Reset ビット:PRBS 多項式と、ビットおよびエラーの累積をリセットします。このビットは、独立したチャネル・スナップショットが使用されている場合、スナップショット・レジスターもリセットします。
  • Snapshot ビット:累算されたビットとエラーの現在の値を同時にキャプチャーします。これにより、Avalon-MM インターフェイスが使用されている際に追加される読み出し時間の影響が中和されます。Snapshot を取り込むことで、一定の時間内のビットカウントに関する正確なエラーカウントを提供します。
  • PRBS Done ビット:PRBS チェッカーに受信するパターンをロックするにあたって十分な時間があることを示します。

たとえば、一定時間内で累積エラーを取り込み、それらをリードバックするには、以下の操作を実行します。

  1. ダイナミック・リコンフィグレーションの実行手順の手順1 から7 で必要な手順を実行します。
  2. アドレス0x300 にRead-Modify-Write を実行し、ビット0 を1'b1 に設定します。こうすることで、エラーおよびビットカウンターがイネーブルされます。
  3. 特定の時点で累積されたエラーを取り込むには、アドレス0x300 にRead-Modify-Write を実行し、ビット2 を1'b1 に設定します。こうすることで、エラーカウンターのスナップショットが得られ、エラーカウント・レジスターへ値を保存することができます。
  4. スナップショットが取り込まれた際の累積されたエラーの個数を読み出すには、相当する0x301~0x307 エラーレジスターからの読み出しを実行します。
  5. ビットおよびエラーの累積をリセットするには、アドレス0x300 ビット1 にRead-Modify-Write を実行します。
  6. ダイナミック・リコンフィグレーションの実行手順の手順9 から12 で必要な手順を実行します。
注: エラーおよびビットカウンター (0x300[0]) をイネーブルし、異なる時間で累積されたビットおよびエラーを取り込むことができます。カウンター・イネーブルビットが設定されている限り、エラーカウント・レジスターとビットカウンター・レジスターは最新のカウンター値で更新されます。

ハードPRBS ブロックを使用している場合、PRBS ソフト・アキュムレーターを使用し、累積したビットおよびエラーをカウントします。PRBS ソフト・アキュムレーターはワードに基づくカウンターです。PRBS ソフト・アキュムレーターから読み出された値は、カウントされたワードの数を表します。従って、累積したビットの総計を取得するには、カウント[49:0]レジスターを通過した累積ビットから読み出された値を、PCS-PMA インターフェイス幅と乗算する必要があります。累積したエラーカウント[49:0]レジスターでは、ワードにビットエラーがある限り (ワードのエラーは1 ビットか、または全てのビットかに関わらず) 1 つとカウントされます。従って、累積したエラーカウント[49:0]レジスターはカウントされた絶対ビットエラーを表しません。各カウントでは、絶対ビットエラーの範囲は1~PCS-PMA インターフェイス幅です。

ハードPRBS ブロックの使用方法については、「データパターン・ジェネレーターおよびチェッカーの使用」の項を参照してください。

表 287.  PRBS アキュムレーター・レジスター
アドレス タイプ 名前 説明
0x300[0] RW Counter enable (enables both error and bit counters) カウンターイネーブル (エラーとビットカウンター両方をイネーブルします。)
0x300[1] RW Reset エラー・アキュムレーターをリセットします。
0x300[2] RW Error Count Snapshot Snapshot はそのタイム・インスタンスで累積したビットおよびエラーの現在の値を取り込みます。
0x300[3] RO PRBS Done PRBS Done がアサートされる場合、ベリファイアーが連続したPRBS パターンを取り込み、多項式の最初のパスが完了したことを表します。
0x301[7:0] RO Accumulated error count [7:0] 累積されたエラーカウント[7:0]
0x302[7:0] RO Accumulated error count [15:8] 累積されたエラーカウント[15:8]
0x303[7:0] RO Accumulated error count [23:16] 累積されたエラーカウント[23:16]
0x304[7:0] RO Accumulated error count [31:24] 累積されたエラーカウント[31:24]
0x305[7:0] RO Accumulated error count [39:32] 累積されたエラーカウント[39:32]
0x306[7:0] RO Accumulated error count [47:40] 累積されたエラーカウント[47:40]
0x307[1:0] RO Accumulated error count [49:48] 累積されたエラーカウント[49:48]
0x30D[7:0] RO Accumulated bit pass through count[7:0] 累積されたビット・パス・スルー・ カウント[7:0]
0x30E[7:0] RO Accumulated bit pass through count[15:8] 累積されたビット・パス・スルー・ カウント[15:8]
0x30F[7:0] RO Accumulated bit pass through count[23:16] 累積されたビット・パス・スルー・ カウント[23:16]
0x310[7:0] RO Accumulated bit pass through count[31:24] 累積されたビット・パス・スルー・ カウント[31:24]
0x311[7:0] RO Accumulated bit pass through count[39:32] 累積されたビット・パス・スルー・ カウント[39:32]
0x312[7:0] RO Accumulated bit pass through count[47:40] 累積されたビット・パス・スルー・ カウント[47:40]
0x313[1:0] RO Accumulated bit pass through count[49:48] 累積されたビット・パス・スルー・ カウント[49:48]
注: インテルは、ソフトPRBS アキュムレーターを使用する際、バイト・シリアライザー・ブロックおよびバイト・デシリアライザー・ブロックをディスエーブルすることを推奨しています。バイト・シリアライザー・ブロックおよびバイト・デシリアライザー・ブロックがイネーブルされていると、クロックが半分のレートで動作するため、カウントされるビットの個数が半分となります。