【INTEL(ALTERA)】 quartus启用 AN/LT 的 400GE-4 FHT 基本变体中的 F-Tile 动态重配置设计示例无法在硬件中正常运行
说明
由于英特尔? 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 中解决此问题,请执行以下步骤:
- 切换到目录 <设计示例项目目录>/hardware_test_design/hwtest_f/eth_f_dr
- 在合适的文本编辑器中打开文件?ftile_eth_anlt_cfgcsr_inc.tcl
- 找到?以下代码片段:
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”
}
}
- 更改下一行
从:
set rdata0 [reg_read [expr 0x200 + [expr $ch * 0x4]]]
自:
set rdata0 [reg_read [expr 0x200 + [expr [expr 0x0f & $ch] * 0x4]]]
- 保存文件
- 在系统控制台中使用修改后的脚本文件,在硬件上运行设计示例
此问题计划在 英特尔? Quartus? Prime 专业版软件的未来版本中修复。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!