インテルのみ表示可能 — GUID: nik1398707199759
Ixiasoft
インテルのみ表示可能 — GUID: nik1398707199759
Ixiasoft
6.16.1. PRBS データパターン・ジェネレーターおよびチェッカーの使用
PRBS ジェネレーターおよびチェッカーはPCS を介して標準データパスとエンハンスト・データパス間で共有されます。このため、PRBS ジェネレーターおよびチェッカーが持つ制御信号と制御レジスターは一組だけとなります。様々なPCS および共有PRBS ジェネレーターからのデータラインは、PMA に送信される前にマルチプレクサー化されます。PRBS ジェネレーターがイネーブルされると、PRBS データラインのデータがPMA に送信されるよう選択されます。PCS からのデータ、またはPRBS ジェネレーターから生成されたデータは、常時PMA に送信することが可能です。
PRBS ジェネレーターおよびチェッカーは、10 ビットと64 ビットの2 種類の幅のPCS-PMA インターフェイスにコンフィグレーションが可能です。PRBS9 は、10 ビットおよび64 ビットPCS-PMA 幅の両方で使用可能です。他のPRBS パターンは、64 ビットPCS-PMA 幅でのみ使用可能です。PRBS ジェネレーター・パターンは、PCS-PMA インターフェイス幅が10 ビットあるいは64 ビットでコンフィグレーションされている場合にのみ使用することができます。その他のPCS-PMA 幅に対して、PRBS ブロックに正しいクロックが使用されていることを確認するには、PRBS ジェネレーターやチェッカーを使用する前にまずは幅を10 ビットか64 ビットのどちらかにコンフィグレーションしておく必要があります。たとえば、トランシーバーが20 ビットのPCS/PMA インターフェイスにコンフィグレーションする場合、PRBS ジェネレーターやチェッカーを設定する前に、まずはPCS-PMA の幅を10 ビットでリコンフィグレーションします。PRBS 設定は、PCS/PMA 幅を自動で変更することはありません。
低周波の検証を行う場合、10 ビットPCS-PMA 幅ではPRBS9 が使用可能です。データレートをもとにPRBS9 は10 ビット幅または64 ビット幅にコンフィグレーションが可能です。FPGA ファブリック‐PCS インターフェイスは、FPGA コアに対して推奨されるスピードの範囲で動作させる必要があります。したがって、FPGA ファブリック‐PCS インターフェイスのパラレルクロックがこの動作範囲で動作するように、どちらかのビット幅のモードでPRBS9 をコンフィグレーションしなければいけません。
例:
- データレートが2.5 Gbps でPRBS9 を使用するのであれば、PRBS9 を10 ビット・モード (PCS-PMA 幅 = 10) に設定します。この場合、パラレルクロック周波数 = データレート/PCS-PMA 幅 = 2500 Mbps/10 = 250 MHz、となります。
- データレートが6.4 Gbps でPRBS9 を使用するのであれば、PRBS9 を64 ビット・モード (PCS-PMA 幅 = 64) に設定します。この場合、パラレルクロック周波数 = データレート/PCS-PMA 幅 = 6400 Mbps/64 = 100 MHz、となります。
- データレートが12.5 Gbps でPRBS9 を使用するのであれば、PRBS9 を64 ビット・モード (PCS-PMA 幅 = 64) に設定します。この場合、パラレルクロック周波数 = データレート/PCS-PMA 幅 = 12500 Mbps/64 = 195.3125 MHz、となります。
パターン | 多項式 | 64 ビット | 10 ビット |
---|---|---|---|
PRBS7 | G(x) = 1+ x6 + x7 | X | |
PRBS9 | G(x) = 1+ x5 + x9 | X | X |
PRBS15 | G(x) = 1+ x14 + x15 | X | |
PRBS23 | G(x) = 1+ x18 + x23 | X | |
PRBS31 | G(x) = 1+ x28 + x31 | X |
PRBS チェッカーは、FPGA ファブリックに使用可能な以下のコントロール信号とステータス信号を有します。
- rx_prbs_done:PRBS シーケンスが完全な1 サイクルを完了したことを示します。この信号はrx_prbs_err_clr とともにリセットするまでHigh のままです。
- rx_prbs_err:エラーが発生した場合、High になります。この信号は、RX FPGA CLK ドメインでキャプチャーできるようパルス拡張されます。
- rx_prbs_err_clr:rx_prbs_err 信号をリセットするために使用します。
PRBS チェッカー・コントロールおよびステータスポートは、Quartus Prime ソフトウェアのネイティブPHY IP パラメーター・エディターを使用してイネーブルします。
ハードPRBS ブロックが使用されている場合は、蓄積されたビットとエラーの個数をカウントするにはPRBS ソフト・アキュムレーターを使用します。アキュムレーターの使用方法やエラー値の判読については、PRBS ソフト・アキュムレーターの項を参照してください。
リコンフィグレーション・アドレス (HEX) | リコンフィグレーション・ビット | 属性名 | 関連するアドレス | 属性エンコーディング | ビット・エンコーディング | 説明 |
---|---|---|---|---|---|---|
0x006 | [2:0] | tx_pma_data_sel | 0x8 | prbs_pat | 3'b100 | PRBS Generator Block を選択する |
[3] | prbs9_dwidth | prbs9_10b | 1'b1 | 10 ビット・モードでPRBS9 をイネーブルする | ||
prbs9_64b | 1'b0 | 64 ビット・モードでPRBS9 をイネーブルする | ||||
[6] | prbs_clken | prbs_clk_dis | 1'b0 | PRBS Generator Clock をディスエーブルする | ||
prbs_clk_en | 1'b1 | PRBS Generator Clock をイネーブルする | ||||
0x007 | [7:4] | prbs_gen_pat | 0x8 | prbs_7 | 4'b0001 | PRBS7 パターンをイネーブルする |
prbs_9 | 4'b0010 | PRBS9 パターンをイネーブルする | ||||
prbs_15 | 4'b0100 | PRBS15 パターンをイネーブルする | ||||
prbs_23 | 4'b1000 | PRBS23 パターンをイネーブルする | ||||
prbs_31 | 4'b0000 | PRBS31 パターンをイネーブルする | ||||
0x008 | [4] | prbs_gen_pat | 0x7 | prbs_7 | 1'b0 | PRBS7 パターンをイネーブルする |
prbs_9 | 1'b0 | PRBS9 パターンをイネーブルする | ||||
prbs_15 | 1'b0 | PRBS15 パターンをイネーブルする | ||||
prbs_23 | 1'b0 | PRBS23 パターンをイネーブルする | ||||
prbs_31 | 1'b1 | PRBS31 パターンをイネーブルする | ||||
[6:5] | tx_pma_data_sel | 0x6 | prbs_pat | 2'b00 | PRBS ジェネレーターをイネーブルする | |
0x110 | [2:0] | ser_mode | sixty_four_bit | 3'b011 | 64 ビット・モード | |
ten_bit | 3'b100 | 10 ビット・モード | ||||
0x111 | [4:0] | x1_clock_source_sel | 0x119 | xn_non_bonding59 | 5'b11000 | xN ノン・ボンディングをイネーブルする |
リコンフィグレーション・アドレス (HEX) | リコンフィグレーション・ビット | 属性名 | 関連するアドレス | 属性エンコーディング | ビット・エンコーディング | 説明 |
---|---|---|---|---|---|---|
0x00A | [7] | prbs_clken | prbs_clk_dis | 1'b0 | PRBS Checker Clock をディスエーブルする | |
prbs_clk_en | 1'b1 | PRBS Checker Clock をイネーブルする | ||||
0x00B | [3:2] | rx_prbs_mask | prbsmask1024 | 2'b11 | 1023 にしきい値をカウンターする | |
prbsmask128 | 2'b00 | 127 にしきい値をカウンターする | ||||
prbsmask256 | 2'b01 | 255 にしきい値をカウンターする | ||||
prbsmask512 | 2'b10 | 511 にしきい値をカウンターする | ||||
[7:4] | prbs_ver | 0xC | prbs_7 | 4'b0001 | PRBS7 パターンをイネーブルする | |
prbs_9 | 4'b0010 | PRBS9 パターンをイネーブルする | ||||
prbs_15 | 4'b0100 | PRBS15 パターンをイネーブルする | ||||
prbs_23 | 4'b1000 | PRBS23 パターンをイネーブルする | ||||
prbs_31 | 4'b0000 | PRBS31 パターンをイネーブルする | ||||
0x00C | [0] | prbs_ver | 0xB | prbs_7 | 1'b0 | PRBS7 パターンをイネーブルする |
prbs_9 | 1'b0 | PRBS9 パターンをイネーブルする | ||||
prbs_15 | 1'b0 | PRBS15 パターンをイネーブルする | ||||
prbs_23 | 1'b0 | PRBS23 パターンをイネーブルする | ||||
prbs_31 | 1'b1 | PRBS31 パターンをイネーブルする | ||||
[3] | prbs9_dwidth | prbs9_10b | 1'b1 | PRBS9 10 ビット | ||
prbs9_64b | 1'b0 | PRBS9 64 ビット | ||||
0x13F | [3:0] | deser_factor | 10 | 4'b0001 | 10 ビット・モード | |
64 | 4'b1110 | 64 ビット・モード |
セクションの内容
非ボンディング・デザインでPRBS データ・ジェネレーターをイネーブルする
ボンディングしたデザインでPRBS データ・ジェネレーターをイネーブルする
非ボンディング・デザインでPRBS データチェッカーをイネーブルする
ボンディングしたデザインでPRBS チェッカーをイネーブルする
PRBS パターン反転を有効にする