説明する
インテル® Quartus® Prime プロフェッショナル・エディション ソフトウェア 23.4 の問題により、AN/LT が有効になっている 400GE-4 FHT の基本バリアントにおける F タイルのダイナミック・リコンフィグレーション・デザイン例はハードウェアで適切に動作しません。
具体的には、デザイン例を実行するための tcl スクリプトを実行した後、システム コンソールが次のメッセージを表示してハングします。
ポート 16 CSR レジスタのオフセット = 0x142c0、データ = 0x2006 の
読み取りに成功しました。 イーサネット ANLT チャネル 16 レジスタ anlt_seqcfg_csr4、オフセット = 0x2c0、データ = の読み取りに成功しました。 0x2006
ポート 16 の CSR レジスタ オフセットの読み取りに成功しました = 0x240、データ = 0x0
INFO: port_state value = 0x00000000
ポート 16 の CSR レジスタ オフセットの読み取りに成功しました = 0x240、データ = 0x0
INFO :port_state value = 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]]]
} それ以外 {
set rdata0 [reg_read [expr 0xc0 + [expr $ch * 0x4]]]
}
put $::fileid “\t\tINFO: port_state value = $rdata 0”
port_state_value を設定 [expr ($rdata 0 >> 29) & 0x1]
if {($port_state_value == 1 ) || $i >= $timeout } ブレーク
増加します
}
if {$port_state_value == 1} {
「\tINFO:port_state 信号を High」にします
} それ以外 {
“\tエラー: インポート状態が High になりません”
}
}
- 次の行を変更する
から:
set rdata0 [reg_read [expr 0x200 + [expr $ch * 0x4]]]
以来:
set rdata0 [reg_read [expr 0x200 + [expr [expr 0x0f & $ch] * 0x4]]]
- 文書を保存する
- システム コンソールで変更したスクリプト ファイルを使用して、ハードウェア上でデザイン サンプルを実行します。
この問題は、インテル® Quartus® Prime プロフェッショナル・エディション ソフトウェアの将来のリリースで修正される予定です。