เนื่องจากรหัสอ้างอิงที่ไม่ถูกต้องจาก UG-01145_avst 2017.05.15 - 6.12.1 สําหรับกําหนดเวลาการเข้าถึงการลงทะเบียนพื้นที่กําหนดค่า Intel® Arria® 10 และ Intel® Cyclone®การเข้าถึง 10 PCIe* Transaction Layer Configuration Space จะไม่เสถียร นี่เป็นเพราะอินเทอร์เฟซ tl_cfg_* อยู่ภายใต้ข้อจํากัดหลายรอบ แต่รหัสไม่ตรงกัน
รหัสมีดังต่อไปนี้:
@(posedge coreclkout_hip) เสมอ
เริ่ม ต้น
ตรวจจับการเปลี่ยนที่อยู่
cfg_addr_reg[3:0] <= tl_cfg_add[3:0]
cfgctl_addr_change <= cfg_addr_reg[3:0] != tl_cfg_add[3:0]
...
สิ้น สุด
หากต้องการแก้ไขปัญหานี้ ให้อัปเกรดรหัสอ้างอิงเป็น UG-01145_avst | 2019.05.22 - 5.12.1 สําหรับการกําหนดค่าการกําหนดเวลาการเข้าถึงการลงทะเบียนพื้นที่
มีการเพิ่มไปป์ไลน์อีกหนึ่งรายการเพื่อหลีกเลี่ยงความเสี่ยงด้านเวลาหลายรอบ
รหัสมีดังต่อไปนี้:
@(posedge coreclkout_hip) เสมอ
เริ่ม ต้น
tl_cfg_add_reg <= tl_cfg_add[0]
tl_cfg_add_reg2 <= tl_cfg_add_reg;
สิ้น สุด
ตรวจจับการเปลี่ยนแปลงที่อยู่เพื่อสร้างแฟลชเพื่อตัวอย่างข้อมูลอินพุต32 บิต
@(posedge coreclkout_hip) เสมอ
เริ่ม ต้น
cfgctl_addr_change <= tl_cfg_add_reg2 != tl_cfg_add_reg;
cfgctl_addr_change2 <= cfgctl_addr_change;
cfgctl_addr_strobe <= cfgctl_addr_change2;
สิ้น สุด