インテルのみ表示可能 — GUID: dwm1514593688760
Ixiasoft
インテルのみ表示可能 — GUID: dwm1514593688760
Ixiasoft
8.2. PRBS使用モデル
異なるPRBSパターンのコンフィグレーションには、0x84、0x85、0x86、および0x87 Avalon® メモリーマップド・インターフェイス・アドレスを使用します。0x84および0x85 Avalon® メモリーマップド・インターフェイス・アドレスは、PRBSパターンコードを指します。0x86および0x87 Avalon® メモリーマップド・インターフェイス・アドレスは、PMAコード・アドレス0x02を指します。
アドレス | 入力/出力 | 定義 |
---|---|---|
0x84[2:0] | 入力 | 3'b000: prbs7 3'b001: prbs9 3'b010: prbs11 3'b011: prbs15 3'b100: prbs23 3'b101: prbs31 3'b110: prbs13 3'b111: ユーザー |
0x84[4] | 入力 | エラー時に再シード |
0x84[5] | 入力 | 自動シード訂正 (発生した場合、ジェネレーターはすべて「0」からすべて「1」になります) |
0x84[7] | 入力 | エラー時に停止 (RX) |
0x85[0] | 入力 | TX PRBSGENをロード |
0x85[1] | 入力 | RX PRBSGENをロード |
アドレス | 入力/出力 | 定義 |
---|---|---|
0x85[7:0] 0x84[7:0] | 入力 | コードのディスエーブル 0x3ff: 両方のジェネレーターをディスエーブルする 0x1ff: TX PRBSGENをディスエーブルする 0x2ff: RX PRBSGENをディスエーブルする |
0x89[7:0] 0x88[7:0] | 戻り値 | 0x00: 失敗 (バックグラウンド・プロセスには、要求されたコンフィグレーションを変更する可能性のある動作を完了するための時間が必要なため)。しばらく待ってから、要求を再発行してください。 0x02: 成功 |
例えば、PRBS31ジェネレーターとチェッカーを使用するには、次の手順を実行します。
- TX PRBS31を設定します。
- 0x84[7:0] = 0x25を書き込みます。
- 0x85[7:0] = 0x01を書き込みます。
- 0x86[7:0] = 0x02を書き込みます。
- 0x87[7:0] = 0x00を書き込みます。
- 0x90[0] = 1'b1を書き込みます。
- 0x8A[7] を読み出します。これは1である必要があります。
- 0x8B[0] を読み出します。0になるまで行います。
- 0x8A[7] を1'b1に書き込み、0x8A[7] 値をクリアします。
- RX PRBS31を設定します。
- 0x84[7:0] = 0x35を書き込みます。
- 0x85[7:0] = 0x02を書き込みます。
- 0x86[7:0] = 0x02を書き込みます。
- 0x87[7:0] = 0x00を書き込みます。
- 0x90[0] = 1'b1を書き込みます。
- 0x8A[7] を読み出します。これは1である必要があります。
- 0x8B[0] を読み出します。0になるまで行います。
- 0x8A[7] を1'b1に書き込み、0x8A[7] 値をクリアします。
- トランシーバー・チャネルをまだ実行していない場合は、イネーブルします。
- 0x84[7:0] = 0x07を書き込みます。
- 0x85[7:0] = 0x00を書き込みます。
- 0x86[7:0] = 0x01を書き込みます。
- 0x87[7:0] = 0x00を書き込みます。
- 0x90[0] = 1'b1を書き込みます。
- 0x8A[7] を読み出します。これは1である必要があります。
- 0x8B[0] を読み出します。0になるまで行います。
- 0x8A[7] を1'b1に書き込み、0x8A[7] 値をクリアします。
- tx_ready と rx_ready が両方とも1になるまで待ちます。
- データ・コンパレーターを設定します。
- 0x84[7:0] = 0x03を書き込みます。
- 0x85[7:0] = 0x02を書き込みます。
- 0x86[7:0] = 0x03を書き込みます。
- 0x87[7:0] = 0x00を書き込みます。
- 0x90[0] = 1'b1を書き込みます。
- 0x8A[7] を読み出します。これは1である必要があります。
- 0x8B[0] を読み出します。0になるまで行います。
- 0x8A[7] を1'b1に書き込み、0x8A[7] 値をクリアします。
- エラーカウンターをリセットします。
- 0x84[7:0] = 0x00を書き込みます。
- 0x85[7:0] = 0x00を書き込みます。
- 0x86[7:0] = 0x17を書き込みます。
- 0x87[7:0] = 0x00を書き込みます。
- 0x90[0] = 1'b1を書き込みます。
- 0x8A[7] を読み出します。これは1である必要があります。
- 0x8B[0] を読み出します。0になるまで行います。
- 0x8A[7] を1'b1に書き込み、0x8A[7] 値をクリアします。
- 32ビット幅のエラーカウンターが蓄積されるまで待ちます。
- 読み出すエラー数を設定します。
- 0x84[7:0] = 0x03を書き込みます。
- 0x85[7:0] = 0x00を書き込みます。
- 0x86[7:0] = 0x18を書き込みます。
- 0x87[7:0] = 0x00を書き込みます。
- 0x90[0] = 1'b1を書き込みます。
- 0x8A[7] を読み出します。これは1である必要があります。
- 0x8B[0] を読み出します。0になるまで行います。
- 0x8A[7] を1'b1に書き込み、0x8A[7] 値をクリアします。
- エラーカウンターの下位16ビットを読み出します
- 0x84[7:0] = 0x00を書き込みます。
- 0x85[7:0] = 0x00を書き込みます。
- 0x86[7:0] = 0x1Aを書き込みます。
- 0x87[7:0] = 0x00を書き込みます。
- 0x90[0] = 1'b1を書き込みます。
- 0x8A[7] を読み出します。これは1である必要があります。
- 0x8B[0] を読み出します。0になるまで行います。
- 0x8A[7] を1'b1に書き込み、0x8A[7] 値をクリアします。
- 0x88[7:0] を読み出します。これは、エラーカウンターのビット [7:0] を表します。
- 0x89[7:0] を読み出します。これは、エラーカウンターのビット [15:8] を表します。
- エラーカウンターの上位16ビットを読み出します。
- 0x84[7:0] = 0x00を書き込みます。
- 0x85[7:0] = 0x00を書き込みます。
- 0x86[7:0] = 0x1aを書き込みます。
- 0x87[7:0] = 0x00を書き込みます。
- 0x90[0] = 1'b1を書き込みます。
- 0x8A[7] を読み出します。これは1である必要があります。
- 0x8B[0] を読み出します。0になるまで行います。
- 0x8A[7] を1'b1に書き込み、0x8A[7] 値をクリアします。
- 0x88[7:0] を読み出します。これは、エラーカウンターのビット [23:16] を表します。
- 0x89[7:0] を読み出します。これは、エラーカウンターのビット [31:24] を表します。