เนื่องจากการแมปที่อยู่ของตรรกะเราเตอร์ที่สร้างขึ้นโดยเครื่องมือ Intel® Quartus® Prime Pro Platform Designer ไม่ถูกต้อง Intel® Stratix® PCIe* Avalon®-MM Hard IP ที่มีการออกแบบตัวอย่างคอนโทรลเลอร์ตัวอธิบายภายนอกจะค้างเมื่อมีการตั้งโปรแกรมตัวอธิบายมากกว่า 8 ตัว
ในการแก้ไขปัญหานี้ ให้แก้ไขไฟล์ RTL ที่สร้างขึ้นโดยเครื่องมือ Intel® Quartus® Prime Pro Platform Designer ด้วยตนเอง:
1. ค้นหา *altera_merlin_router*.sv ใต้พื้นที่ทํางานของโครงการ และ ค้นหาไฟล์ ที่แสดงด้านล่าง:
.. /altera_merlin_router_xxx/ซิม/altera_merlin_router_xxx (ขั้นตอนการจําลอง)
.. /altera_merlin_router_xxx/syn/altera_merlin_router_xxx (ขั้นตอนการปรับใช้)
2. เปิดแต่ละไฟล์เพื่อยืนยันว่ามีบรรทัดต่อไปนี้อยู่หรือไม่ จากนั้นปรับเปลี่ยนตาม:
บรรทัดดั้งเดิมควรเป็น:
//-------------------------------------------------------
หาจํานวนบิตที่จะมาสก์สําหรับช่วง Slave แต่ละช่วง
ระหว่างการถอดรหัสที่อยู่
//-------------------------------------------------------
localparam PAD0 = log2ceil(64'h2000 - 64'h0);
localparam PAD1 = log2ceil(64'h1000100 - 64'h1000000);
localparam PAD2 =log2ceil(64'h1002100 - 64'h1002000);
เปลี่ยนเป็น:
//-------------------------------------------------------
หาจํานวนบิตที่จะมาสก์สําหรับช่วง Slave แต่ละช่วง
ระหว่างการถอดรหัสที่อยู่
//-------------------------------------------------------
localparam PAD0 = log2ceil(64'h2000 - 64'h0);
localparam PAD1 = log2ceil(64'h1001000 - 64'h1000000);
localparam PAD2 = log2ceil(64'h1003000 - 64'h1002000);
3. เรียกใช้งานโฟลว์การจําลองหรือการคอมไพล์อีกครั้ง