由于英特尔? 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 中解决此问题,请执行以下步骤:
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 专业版软件的未来版本中修复。