JESD204C Intel® Stratix® 10 FPGA IP设计实例用户指南

ID 683357
日期 11/22/2021
Public

3.5. 系统控制台设计实例的硬件测试

使用 Intel® Quartus® Prime软件中的系统控制台控制执行以下命令运行设计实例的硬件测试。
注: 该硬件测试假定您的设计已经以system console控制的双工模式配置。如果您使用的是单工模式设计,请自行修改。
  1. Intel® Quartus® Prime启动System Console工具(Tools > System Debugging Tools > System Console)。
  2. TCL Console命令提示中,键入get_service_paths master,可打印连接JTAG链的器件清单。
  3. 在您选择的任意文本编辑器中,打开位于ed/hwtest/目录中的main.tcl脚本,并找到以下命令行。
    set master_index [expr {$master_list_length - <your offset>}]
  4. 根据需要调整master_index偏移量来反映您的JTAG链配置,以便master_index始终指向 Intel® Stratix® 10 器件并保存文件。
  5. TCL Console命令提示中,浏览到ed/hwtest/目录(cd../ed/hwtest/)并执行main.tcl脚本(source main.tcl)。TCL Console窗口应当如下图所示。
    图 10. 源main.tcl
  6. 在命令提示中键入start_basic_test以执行链路启动和测试规程。

    该测试例程会执行一组指令以将TX和RX上的sysref设置为周期性模式,并检查PRBS模式,配置JESD204C IP PHY内部串行环回模式,和报告链路状态。

    下图说明成功启动链路的期望值,以及对数据率16.22 Gbps的L=4,M=2和F=4变体的测试。
    图 11. System Console中的成功测试
    表 20.  以main.tcl System Console脚本运行的规程下表描述main.tcl中有助于调试的规程。
    规程 描述
    get_service_paths {master} 报告连接JTAG链的所有器件。使用该信息将主索引设置指向 Intel® Stratix® 10 器件。
    get_master_index N/A 设置目标器件主索引。使用get_service_paths主索引确定JTAG链中 Intel® Stratix® 10 器件的偏移量,并在此规程中相应编辑此偏移量。
    start_basic_test N/A 该测试规程会执行一组指令以将TX和RX上的SYSREF设置为周期性模型,并检查PRBS模型,配置JESD204C IP PHY内部串行环回模式,配置PMA和报告链路状态。
    reset N/A 全局复位
    xcvr_lpbk {0,1}

    0: 禁用内部串行环回

    1: 使能内部串行环回

    testmode {ramp, prbs7, prbs9, prbs15, prbs23 }

    ramp:将模式生成器和检查器设置为斜坡模式

    prbs7-23:将模式生成器和检查器设置为各自的PRBS模式

    sysref_type {oneshot, periodic, gperiodic } 设置SYSREF类型
    eval_test N/A

    1. 加载状态。

    2. 逐个lane检查。

    3. 显示TX和RX寄存器值:

    • rst_sts0:
      • Bit 0 – Core PLL Locked
    • rst_sts1:
      • Bit 0-15 – TX PMA READY
      • Bit 16-31 – RX PMA READY
    • tx_status2:
      • Bit 0-15 – TX XCVR READY
    • rx_status2:
      • Bit 0-15 – RX XCVR READY
      • Bit 16-31 – RX CDR LOCKED
    • rx_status4:
      • Bit 0-15 – SH LOCKED

    • rx_status5:
      • Bit 0-15 – EMB LOCKED
    • tst_err0:
      • Bit 0 – PATTERN CHECKER ERROR
      • Bit 1 – TX LINK ERROR
      • Bit 2 – RX LINK ERROR
      • Bit 3 – COMMAND PATTERN CHECKER ERROR
    read_err_status N/A 读取JESD204C IP错误状态寄存器。
    clear_err_status N/A 清零JESD204C IP错误状态寄存器
    read_rx_status0 N/A 读取JESD204C IP rx_status0寄存器。
    read_tx_status0 N/A 读取JESD204C IP tx_status0寄存器。
    read_rx_syncn_sysref_ctrl N/A 读取JESD204C IP syncn_sysref_ctrl寄存器。
    wait_seconds {integer} 等待{整数} 秒。
    wait_minutes {整数} 等待{整数} 分钟
    run_load_PMA_configuration N/A 加载收发器校准预置。
    load_adaptation_PMA_configuration {0,1}
    • 0: 禁用内部串行环回。
    • 1: 使能内部串行环回。

    1. 运行设置操作模式。检查环回和PRBS设置是否符合设计要求。

    2. 轮询寄存器0x207,0x80 =操作通过,以及0x81 =操作失败。

    3. 如果在参数编辑器中开启了Enable PMA configuration loading,则运行负载PMA配置和负载PMA配置状态检查(0x40144 and 0x40143)。

    4. 开始校准。检查环回模式,负载recipe使能和PRBS设置是否符合设计要求。如果禁用PRBS,则请在开始校准前确保有数据从内核发出。

    5. 轮询寄存器0x207,0x80 =操作通过,以及0x81 =操作失败。

    6. 运行check_cal_stat

    • 将寄存器0x203、0x202、0x201和0x200设置到0x97000001
    • 轮询寄存器0x207,0x80 =操作通过,以及0x81 =操作失败。
    • 读取寄存器0x204。0x80支持成功校准。