ID บทความ: 000097611 ประเภทข้อมูล: การแก้ไขปัญหา การตรวจสอบครั้งล่าสุด: 15/04/2024

ทําไมตัวอย่างการออกแบบการกําหนดค่าใหม่แบบไดนามิก F-Tile ในตัวแปรพื้นฐาน 400GE-4 FHT ที่เปิดใช้งาน AN/LT ทํางานไม่ถูกต้องในฮาร์ดแวร์

สิ่งแวดล้อม

    Intel® Quartus® Prime Pro Edition
BUILT IN - ARTICLE INTRO SECOND COMPONENT
คำอธิบาย

เนื่องจากปัญหาในซอฟต์แวร์ Quartus® Prime Pro Edition เวอร์ชัน 23.4 F-Tile Dynamic Reconfiguration Design ในตัวแปรพื้นฐาน 400GE-4 FHT เมื่อเปิดใช้งาน AN/LT จะทํางานไม่ถูกต้องในฮาร์ดแวร์

โดยเฉพาะอย่างยิ่ง หลังจากดําเนินการสคริปต์ tcl เพื่อเรียกใช้ตัวอย่างการออกแบบ คอนโซลระบบจะค้างในขณะที่แสดงข้อความต่อไปนี้:

อ่านพอร์ต 16 CSR Register ออฟเซ็ตสําเร็จ = 0x142c0, ข้อมูล = 0x2006
อ่าน ETHERNET ANLT Channel 16 Register anlt_seqcfg_csr4, ออฟเซ็ต = 0x2c0, ข้อมูล = 0x2006
อ่านพอร์ต 16 CSR Register ออฟเซ็ตสําเร็จ = 0x240, ข้อมูล = 0x0
ข้อมูล: ค่า port_state = 0x00000000
อ่านพอร์ต 16 CSR Register ออฟเซ็ตสําเร็จ = 0x240, ข้อมูล = 0x0
ข้อมูล: ค่า port_state = 0x00000000
อ่านพอร์ต 16 CSR Register ออฟเซ็ตสําเร็จ = 0x240, ข้อมูล = 0x0
ข้อมูล: ค่า port_state = 0x00000000
อ่านพอร์ต 16 CSR Register ออฟเซ็ตสําเร็จ = 0x240, ข้อมูล = 0x0
ข้อมูล: ค่า port_state = 0x00000000

ความละเอียด

เมื่อต้องการหลีกเลี่ยงปัญหานี้ในเวอร์ชัน 23.4 ของซอฟต์แวร์ Quartus® Prime Pro Edition ให้ทําตามขั้นตอนต่อไปนี้:

  1. เปลี่ยน ไดเรกทอรี ไดเรกทอรี<ไดเรกทอรีโครงการตัวอย่างการออกแบบ>/hardware_test_design/hwtest_f/eth_f_dr
  2. เปิดแฟ้ม ftile_eth_anlt_cfgcsr_inc.tcl ในตัวแก้ไขข้อความที่เหมาะสม
  3. ค้นหา ส่วนย่อยของรหัสต่อไปนี้:

get_reset_port_state_status_0 proc {ch} {

ใส่ "\tINFO: Channel $ch: Checking port state..."

ตั้งค่าการหมดเวลา 10

ตั้งค่า i 0

ขณะ{1} {

หาก {$ch > 0xf} {

ตั้งค่า rdata0 [reg_read [0x200 expr + [expr $ch * 0x4]]]

} อื่นๆ {

ตั้งค่า rdata0 [reg_read [expr 0xc0 + [expr $ch * 0x4]]]

}

ใส่ $::fileid "\t\tINFO: port_state value = $rdata 0"

ชุด port_state_value [expr ($rdata 0 >> 29) &0x1]

ถ้า {($port_state_value == 1) || $i >= ตัวแบ่ง $timeout }

incr i

}

ถ้า {$port_state_value == 1} {

ใส่ "\tINFO: สัญญาณ port_state เป็นสูง "

} อื่นๆ {

ใส่ "\tERROR: mport state ไม่สูง"

}

}

  1. เปลี่ยนบรรทัดต่อไปนี้

จาก:

ตั้งค่า rdata0 [reg_read [0x200 expr + [expr $ch * 0x4]]]

ถึง:

ตั้งค่า rdata0 [reg_read [0x200 expr + [expr [expr 0x0f & $ch] * 0x4]]

  1. บันทึกไฟล์
  2. รันตัวอย่างการออกแบบในฮาร์ดแวร์โดยใช้ไฟล์สคริปต์ที่แก้ไขในคอนโซลระบบ

ปัญหานี้ได้รับการแก้ไขแล้วตั้งแต่เวอร์ชัน 24.1 ของซอฟต์แวร์ Quartus® Prime Pro Edition

ผลิตภัณฑ์ที่เกี่ยวข้อง

บทความนี้จะนำไปใช้กับ 1 ผลิตภัณฑ์

เอฟพีจีเอและเอฟพีจีเอ SoC Intel® Agilex™ 7

1

เนื้อหาในหน้านี้เป็นการผสมผสานระหว่างการแปลเนื้อหาต้นฉบับภาษาอังกฤษโดยมนุษย์และคอมพิวเตอร์ เนื้อหานี้จัดทำขึ้นเพื่อความสะดวกของคุณและเพื่อเป็นข้อมูลทั่วไปเท่านั้นและไม่ควรอ้างอิงว่าสมบูรณ์หรือถูกต้อง หากมีความขัดแย้งใด ๆ ระหว่างเวอร์ชันภาษาอังกฤษของหน้านี้กับคำแปล เวอร์ชันภาษาอังกฤษจะมีผลเหนือกว่าและควบคุม ดูเวอร์ชันภาษาอังกฤษของหน้านี้