F タイルのアーキテクチャーと PMA および FEC Direct PHY IP のユーザーガイド

ID 683872
日付 6/26/2023
Public

このドキュメントの新しいバージョンが利用できます。お客様は次のことを行ってください。 こちらをクリック 最新バージョンに移行する。

ドキュメント目次

7.5.2. スクリプトの変更

スクリプト内には、変数がいくつか含まれています。それには、チャネルリンクの設定、PRBS パターン、ループバック・モード、BER テスト期間、TX イコライザーの設定などがあります。これらは、デザインのコンフィグレーションに基づき変更する必要があります。テストを実行する前に、スクリプト内でこれらの変数の値を設定する必要があります。次に、各テストのスクリプトを変更する手順について説明します。

A. デバイスの初期化とツールキットの起動に向けたスクリプトの変更

デバイスの初期化に向けたスクリプトを変更することで、JTAG チェーンにあるデバイスを更新し、プログラミングした .sof を指す必要があります。
  1. device_initialization.tcl スクリプトを任意のテキストエディターで開きます。
  2. 次の変更を device_initialization.tcl スクリプトに加えます。
    set path <sof-file-path>
    set result_dir <my_diretory>
    set device_die_name <device-name>
device_initialization.tcl スクリプトの設定例を次の図に示します。
図 133. デバイスの初期化設定
注: Windows プラットフォームを使用している場合は、上のステップ 2 で示されている sof ファイルパスではなく、.sof ファイル名を使用します。

B. BER およびアイ測定テストの実行に向けたスクリプトの変更

トランシーバー・ツールキットのスクリプトの表を参照し、必要なモードに対するトランシーバー・ツールキット・スクリプトを選択します。
  1. デザインのモードに基づきスクリプトを選択し、任意のテキストエディターで開きます。
  2. スクリプトに次の変更を加えます。
    • 次に示すように、実行するテストを有効にするには 1 を設定します。
      ############### Tests to run: 0 = bypass, 1 = run ############### 
      set run_ber_test 1
      set run_eye_test 0
    • テストの変数を設定します。主に、次の 6 つの変数をスクリプトの link_test_parameters リストで変更する必要があります。
      • TX 論理チャネル (インデックス 0)
      • RX 論理チャネル (インデックス 1)
      • PRBS パターン (インデックス 2 および 3)
      • ループバック・モード (インデックス 4)
      • TX PMA および RX PMA の設定 (インデックス 5 から 11)
      • アイ測定の設定 (インデックス 12 から 15)
      注: 現在、トランシーバー・ツールキットは RX PMA の自動アダプテーション・モードのみをサポートしています。RX PMAの設定はデフォルト値のままにすることができます。
      例えば、TX チャネル 0 と RX チャネル 0 の間で BER テストを実行する場合、インデックス 0 とインデックス 1 の両方を値 0 に設定します。異なる物理チャネル位置の TX チャネルと RX チャネルをリンクすることもできます。例えば、TX チャネル 0 と RX チャネル 1 をリンクするには、インデックス 0 を値 0 に設定し、インデックス 1 を値 1 に設定します。異なる物理位置で TX チャネルと RX チャネルをリンクするには、ループバック・ ケーブルまたはボード上のカードを使用した外部ループバックがあることを確認します。次に、link_test_parameters の設定例を示します。
      ####################################################
      ###      Customize the test variable             ###
      ####################################################
      # The list_test_parameters' indexing :
      #   index 0 - TX Logical Channel
      #   index 1 - RX Logical Channel
      #   index 2 - TX PRBS Generator Pattern : 
      #             PRBS7,PRBS9,PRBS10,PRBS13,PRBS15,PRBS23,PRBS28,
      #              PRBS31,QPRBS13,PRBS13Q,PRBS31Q,SSPR,SSPR1,SSPRQ
      #   index 3 - RX PRBS Checker Pattern : PRBS7,PRBS9,PRBS10,PRBS13,
      #             PRBS15,PRBS23,PRBS28,PRBS31,QPRBS13,PRBS13Q,PRBS31Q,
      #             SSPR,SSPR1,SSPRQ
      #   index 4 - Loopback Mode : PMA TX to RX Buffer lbpk - "TX2RXBUF"
      #                           ; PMA TX to RX parallel lpbk  - "TX2RXPAR" 
      #                           ; PMA RX to TX parallel lpbk  - "RX2TXPAR"
      #   index 5 - TX Pre-Tap 2  :  {0 to 7}  
      #   index 6 - TX Pre-Tap 1  :  {0 to 15}  
      #   index 7 - TX Main Tap   :  {0 to 46}    
      #   index 8 - TX Post-Tap 1 :  {0 to 19}  
      #   index 9 - RX High Freq VGA Gain  :  {0 to 127}  
      #   index 10 - RX High Freq Boost  :  {0 to 63}  
      #   index 11 - RX DFE Data Tap 1   :  {0 to 63}    
      #   index 12 - Enabling the eye height test : Enable - "true"  ;
      #                                             Disable - "false"
      #   index 13 - Set the Bit Error Rate to measure Eye Height :
      #              Min - 1.0E-1  Maximum - 1.0E-12 
      #   index 14 - Enabling the eye width test :
      #              Enable - "true"  ;  Disable - "false"
      #   index 15 - Set the Bit Error Rate to measure Eye Width : 
      #              Min - 1.0E-1 Maximum - 1.0E-12
      
      set link_test_parameters {{0 0 "PRBS23" "PRBS23" "TX2RXBUF" "0" "0" "0" 
        "0" "0" "0" "0" "true"  "1.0E-4" "true" "1.0E-4"}
      						  {1 1 "PRBS9"  "PRBS9"  "TX2RXBUF" "0" "0" "0"
        "0" "0" "0" "0" "true"  "1.0E-4" "true" "1.0E-4"}}
      注: 上の例では、2 つのリンクの設定についてのみ示しています。4 つのリンクに対してテストを実行する場合は、link_test_parameters リストにさらに 2 行を追加する必要があります。
    • チャネルの BER テストを停止する基準は、最大エラービットまたは BER テスト時間のいずれかに基づき設定する必要があります。次のコード例では、6 秒後に BER テストを停止し、2 秒ごとにリンクのステータスを表示する方法を示しています。max_error_bits は、リンクで発生するエラービットの最大数を示します。最大エラービット数に達すると、最大実行時間の 6 秒が経過していない場合でもテストは停止します。
      ############### Setup link run length ###########################
      set max_error_bits 10 
      set max_run_time_in_seconds 6
      set checker_status_polling_interval_in_seconds 2

C. 自動スイープテストの実行に向けたスクリプトの変更

  1. デザインのモードに基づきスクリプトを選択し、任意のテキストエディターで開きます。
  2. スクリプトに次の変更を加えます。
    • テストの変数を TX および RX PMA スイープ範囲に設定します。主に、7 つの変数をこのスクリプトの link_test_parameters のリストで変更する必要があります。
      • TX 論理チャネル (インデックス 0)
      • RX 論理チャネル (インデックス 1)
      • PRBS パターン (インデックス 2 および 3)
      • ループバック・モード (インデックス 4)
      • 入力パラメーター (インデックス 5 から 11)
      • 出力メトリクス (インデックス 12 から 17)
      • BER テスト時間 (インデックス 18)
      例えば、出力メトリクスとして BER を追加するには、次のようにインデックス 12 を値 1 に設定します。
      ####################################################
      ###      Customize the test variable             ###
      ####################################################
      # The list_test_parameters' indexing :
      #   index 0 - TX Logical Channel
      #   index 1 - RX Logical Channel
      #   index 2 - TX PRBS Generator Pattern : PRBS7,PRBS9,PRBS10,PRBS13,
      #             PRBS15,PRBS23,PRBS28,PRBS31,QPRBS13,PRBS13Q,PRBS31Q,
      #             SSPR,SSPR1,SSPRQ
      #   index 3 - RX PRBS Checker Pattern : PRBS7,PRBS9,PRBS10,PRBS13,
      #             PRBS15,PRBS23,PRBS28,PRBS31,QPRBS13,PRBS13Q,PRBS31Q,
      #             SSPR,SSPR1,SSPRQ
      #   index 4 - Loopback Mode : PMA TX to RX Buffer lbpk - "TX2RXBUF"  
      #                            ; PMA TX to RX parallel lpbk  - "TX2RXPAR" 
      #                           ; PMA RX to TX parallel lpbk  - "RX2TXPAR"
      #   index 5 - TX Pre-Tap 2  :  {0 to 7}  if you put like 0:5 it 
      #             autosweeps the channel for each number start from 0 to 5
      #   index 6 - TX Pre-Tap 1  :  {0 to 15}  
      #   index 7 - TX Main Tap   :  {0 to 46}    0,1.5 0,5,6
      #   index 8 - TX Post-Tap 1 :  {0 to 19}  
      #   index 9 - RX High Freq VGA Gain  :  {0 to 127}  
      #   index 10 - RX High Freq Boost  :  {0 to 63}  
      #   index 11 - RX DFE Data Tap 1   :  {0 to 63}    
      #   index 12 - Adding BER matric :  "1"  ;  Disable - "0"
      #   index 13 - Adding total height measurement matric :
      #              Enable - "1"  ;  Disable - "0"
      #   index 14 - Adding eye width time matric :
      #              Enable - "1"  ;  Disable - "0"
      #   index 15 - Adding eye width UI matric : 
      #              Enable - "1"  ;  Disable - "0"
      #   index 16 - Extrapolarate Rate:
      #              Min - 1E-1  ;  Max - 1E-12 
      #   index 17 - Extrapolarate Width Rate: 
      #              Min - 1E-1  ;  Max - 1E-12 
      #   index 18 - BER test duration per case (seconds): Max 1E3
      
      set link_test_parameters {{0 0 "PRBS23" "PRBS23" "TX2RXBUF" "0:0" 
      "0:1" "0:1" "0:0" "0:0" "0:0" "0:0" "1" "0" "0" "0" "1e-4" "1e-4" "2" }
      						  {1 1 "PRBS10" "PRBS10" "TX2RXBUF" "0:0" 
      "0:1" "0:0" "0:0" "0:0" "0:0" "0:0" "1" "0" "0" "0" "1e-4" "1e-4" "2" }}
    • 自動スイープのテストデータは xml 形式で取得することができます。次に示すコマンドが自動スイープスクリプト内にあります。ファイル名と結果のディレクトリーは、独自のファイル名とディレクトリーに変更することができます。
      autosweep_get_data -outputfile <result-directory>/<file-name>.xml $autosweep_inst_id