มีปัญหาเมื่อใช้ Stratix® V หรือ Arria V GZ Hard IP สําหรับคอร์ PCI Express® IP ซึ่งลิงก์ไม่เกิดขึ้นอย่างต่อเนื่อง ปัญหานี้จะเห็นได้เมื่อคอร์ถูกปรับตั้งค่าเป็นคอร์เจนเนอเรชั่น 2 ปัญหานี้เกี่ยวข้องกับ PCIe® Hard Reset Controller (HRC)
การหาว่า PERST หรือ Local Reset ไม่ช่วยดึงลิงก์ขึ้นมาได้ การตั้งโปรแกรมFPGAใหม่อาจทําให้มีการนําลิงก์ขึ้นมา ได้ แต่ก็ไม่สอดคล้องกัน
หากต้องการแก้ไขปัญหานี้ในซอฟต์แวร์ Quartus II เวอร์ชัน 12.1 SP1 ให้ใช้ขั้นตอนต่อไปนี้เพื่อเปลี่ยนเป็น Soft Reset Controller (SRC):
สําหรับโฟลว์ MegaWizard™:
1) แก้ไขไฟล์ />variant>/สังเคราะห์/.v
2) ค้นหาสตริง "hip_hard_reset_hwtcl"
3) ตั้งค่าพารามิเตอร์ hip_hard_reset_hwtcl = 0
4) บันทึกตัวแปร v
5) ไปที่ขั้นตอนที่ 7
สําหรับโฟลว์ของ Qsys:
1) ใช้เครื่องมือแก้ไขข้อความ ให้แก้ไขไฟล์ .qsys
2) ค้นหาสตริง "force_src"
3) ตรวจสอบให้แน่ใจว่าพารามิเตอร์ต่อไปนี้ถูกตั้งค่าตามที่แสดงด้านล่าง:
4) บันทึกการเปลี่ยนแปลงในไฟล์ .qsys
5) สร้างระบบ Qsys ขึ้นใหม่เพื่อใช้การเปลี่ยนแปลงที่ทํากับไฟล์การออกแบบอ้างอิง
6) ไปที่ขั้นตอนที่ 7
ขั้นตอนทั่วไป:
7) เปิดไฟล์ //submodules/sv_xcvr_pipe_native.sv
8) ค้นหา "cal_offset_mode"
9) หากบรรทัดต่อไปนี้ตรงกับรายการในไฟล์ sv_xcvr_pipe_native.sv ของคุณ ให้ทําการเปลี่ยนแปลงตามที่แสดงในขั้นตอนที่ 10 หรือดําเนินการต่อในขั้นตอนที่ 11
.cal_offset_mode ((protocol_version == "Gen 2") ? "MODE_ACCUMULATION_MIDSWEEP" : "MODE_INDEPENDENT")
.cal_oneshot((protocol_version == "Gen 2") ? "ONESHOT_ON" : "ONESHOT_OFF",
.rx_dprio_sel((protocol_version == "Gen 2") ? "RX_CALIBRATION_SEL" : "RX_DPRIO_SEL")
10)
.cal_offset_mode ("MODE_INDEPENDENT")
.cal_oneshot ("ONESHOT_OFF")
.rx_dprio_sel ("RX_DPRIO_SEL")
11)การออกแบบคอมไพล์ใหม่
12) ค้นหาhip_hard_reset_hwtclในไฟล์รายงานแผนที่ (เช่น.top.map.rpt) และตรวจสอบให้มั่นใจว่าได้ตั้งค่าไว้ที่ 0
โปรดทราบว่าการเปลี่ยนแปลงระบบ Qsys หรือคอร์ PCIe และการสร้างใหม่อาจทําให้เกิดการเปลี่ยนแปลงบางอย่างหรือทั้งหมด
ปัญหานี้ได้รับการแก้ไขใน v13.1 ของซอฟต์แวร์ Quartus II