文章 ID: 000097611 内容类型: 故障排除 上次审核日期: 2024 年 04 月 15 日

为什么启用 AN/LT 的 400GE-4 FHT 基本变体中的 F-Tile 动态重配置设计示例无法在硬件中正常运行?

环境

    英特尔® Quartus® Prime Pro Edition
BUILT IN - ARTICLE INTRO SECOND COMPONENT
说明

由于 Quartus® Prime 专业版软件 23.4 版存在一个问题,启用 AN/LT 的 400GE-4 FHT 基本变体中的 F-Tile 动态重配置设计示例将无法在硬件中正常运行。

具体地说,执行 tcl 脚本以运行设计示例后,系统控制台将挂起,同时显示以下消息:

成功读取端口 16 CSR 寄存器偏移量 = 0x142c0,数据 = 0x2006
成功读取以太网 ANLT 通道 16 寄存器anlt_seqcfg_csr4,偏移量 = 0x2c0,数据 = 0x2006
成功读取端口 16 CSR 寄存器偏移量 = 0x240,数据 = 0x0
信息:port_state值 = 0x00000000
成功读取端口 16 CSR 寄存器偏移量 = 0x240,数据 = 0x0
信息:port_state值 = 0x00000000
成功读取端口 16 CSR 寄存器偏移量 = 0x240,数据 = 0x0
信息:port_state值 = 0x00000000
成功读取端口 16 CSR 寄存器偏移量 = 0x240,数据 = 0x0
信息:port_state值 = 0x00000000

解决方法

要在 Quartus® Prime Pro Edition 软件 23.4 版中变通解决此问题,请执行以下步骤

  1. 切换到目录 <设计示例项目目录>/hardware_test_design/hwtest_f/eth_f_dr
  2. 在合适的文本编辑器中打开文件 ftile_eth_anlt_cfgcsr_inc.tcl
  3. 找到 以下代码片段:

Proc get_reset_port_state_status_0 {ch} {

放置“\tINFO:通道 $ch:正在检查端口状态...”

设置超时 10

设置I 0

而{1} {

if {$ch > 0xf} {

set rdata0 [reg_read [expr 0x200 + [expr $ch * 0x4]]]

} else {

set rdata0 [reg_read [expr 0xc0 + [expr $ch * 0x4]]]

}

put $::fileid “\t\tINFO: port_state value = $rdata 0”

Set port_state_value [expr ($rdata 0 >> 29) & 0x1]

if {($port_state_value == 1 ) || $i >= $timeout } break

incr i

}

if {$port_state_value == 1} {

把“\tINFO:port_state信号很高”

} else {

放置“\tERROR: mport state not go high”

}

}

  1. 更改下一行

从:

set rdata0 [reg_read [expr 0x200 + [expr $ch * 0x4]]]

自:

set rdata0 [reg_read [expr 0x200 + [expr [expr 0x0f & $ch] * 0x4]]]

  1. 保存文件
  2. 在系统控制台中使用修改后的脚本文件,在硬件上运行设计示例

从 Quartus® Prime Pro Edition 软件 24.1 版开始,该问题已得到修复。

相关产品

本文适用于 1 产品

英特尔® Agilex™ 7 FPGA 和 SoC FPGA

1

本页面上的内容是原始英文内容的人工翻译与计算机翻译的组合。我们提供此内容是为了您的便利并且仅供参考,未必完整或准确。如果本页面的英文版与翻译版之间存在任何冲突,应以英文版为准。 查看此页面的英语版本。