F-Tile体系结构和PMA和FEC Direct PHY IP用户指南

ID 683872
日期 1/24/2024
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脚本中的设置示例。
图 142. 器件初始化设置
注: 如果您使用的是Windows平台,那么请使用.sof文件名代替上面第2步中的sof文件路径。

B. 修改脚本以运行BER和眼图测量测试

请参考Transceiver Toolkit脚本表来对您所需的模式选择Transceiver Toolkit脚本。
  1. 根据您的设计模式选择脚本,然后在任意一个文本编辑器中打开。
  2. 对脚本作如下修改:
    • 如下所示,设置为1以使能您想要运行的测试:
      ############### Tests to run: 0 = bypass, 1 = run ############### 
      set run_ber_test 1
      set run_eye_test 0
    • 设置测试变量。在脚本中的link_test_parameters列表中,有6个您需要进行修改的主要变量:
      • TX logical channel (index 0)
      • RX logical channel (index 1)
      • PRBS pattern (index 2 and 3)
      • Loopback mode (index 4)
      • TX and RX PMA settings (index 5 to 11)
      • Eye measurement settings (index 12 to 15)
      注: 当前,Transceiver Toolkit仅支持RX PMA auto-adaptation模式。您可以将RX PMA settings保留为默认值。
      例如,您想要在TX channel 0与RX channel 0之间运行BER测试,那么需要将index 0和index 1都设置为0。您也可以在不同的物理通道位置中链接TX和RX通道。例如,若要将TX channel 0链接到RX channel 1,那么要将index 0设置为0,并将index 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"}}
      注: 上面的示例仅描述了两个链路的设置。如果您想要为四个链路运行测试,那么您需要相应地在link_test_parameters列表中多添加两行。
    • 您必须根据最大错误比特数或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. 修改脚本以运行自动扫描(Autosweep)测试

  1. 根据您的设计模式选择脚本并在任意一个文本编辑器中打开。
  2. 对脚本作如下修改:
    • 对TX和RX PMA扫描范围设置测试变量。在脚本中的link_test_parameters列表中,有7个您需要进行修改的主要变量:
      • TX logical channel (index 0)
      • RX logical channel (index 1)
      • PRBS pattern (index 2 and 3)
      • Loopback mode (index 4)
      • Input parameters (index 5 to 11)
      • Output metric (index 12 to 17)
      • BER test duration (index 18)
      例如,若要作为输出指标(output metric)添加BER,将index 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脚本中,您可以将文件名和结果目录更改为您自己的文件名和目录。
      autosweep_get_data -outputfile <result-directory>/<file-name>.xml $autosweep_inst_id