【INTEL(ALTERA)】 quartus启用 AN/LT 的 400GE-4 FHT 基本变体中的 F-Tile 动态重配置设计示例无法在硬件中正常运行

发布时间:2023年12月21日

说明

由于英特尔? 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 专业版软件版本 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 专业版软件的未来版本中修复。

文章来源:https://blog.csdn.net/sqqwm/article/details/134996367
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。