มีข้อผิดพลาดใน Register Map ภายใต้บท MDIO Core ที่อธิบายไว้ในตาราง 13-3 ในหน้า 13-5 ในเอกสารต่อไปนี้:
คู่มือผู้ใช้อุปกรณ์ต่อพ่วงแบบฝัง
ในตาราง มีการระบุว่าควร0x20ใช้ที่อยู่ตรงข้ามกับMDIO_DEVAD MDIO_PRTADและMDIO_REGAD และควรใช้0x21สําหรับMDIO_ACCESS อย่างไรก็ตามมีการสลับไปมาในเอกสารและที่จริงแล้วควรอ่าน0x21และ0x20ตามลําดับ
หมายเหตุ: ออฟเซ็ตที่อยู่ลงทะเบียนที่ระบุ (0x20 และ 0x21) เป็นที่อยู่ตามข้อเท็จจริง และที่อยู่ไบต์ที่เกี่ยวข้องจะถูก0x80และ0x84ตามลําดับ
การเข้าถึงแบบเขียน
การเขียนไปยัง PHY ภายนอกสามารถทําได้โดยใช้อินเทอร์เฟซ MDIO ดังนี้:
- ทําการเขียนหลัก Avalon®-MM ไปยังการลงทะเบียนคอร์ MDIO ที่0x21ออฟเซ็ตแอดเดรส โดยระบุที่อยู่อุปกรณ์ PHY ภายนอก (MDIO_DEVAD) ที่อยู่พอร์ต (MDIO_PRTAD) และที่อยู่ลงทะเบียน (MDIO_REGAD)
- ออกการเขียนข้อมูลหลัก Avalon-MM ของข้อมูล 32 บิตลงใน0x20ออฟเซ็ตการลงทะเบียนMDIO_ACCESS
จะเกิดอะไรขึ้นในคอร์ MDIO
เมื่อมีการวางข้อมูลลงในการลงทะเบียนMDIO_ACCESSคอร์ MDIO จะเริ่มเจนเนอเรชั่นของเฟรม MDIO WRITE ที่มีข้อมูลที่ระบุไว้ในการลงทะเบียนที่ออฟเซ็ต0x20และ0x21 จากนั้นเฟรมจะถูกโอนย้ายไปยังการลงทะเบียน PHY เป้าหมาย ที่อยู่ที่ระบุไว้ในMDIO_REGAD (บิต [31:16] ของการลงทะเบียนคอร์ MDIO ที่ออฟเซ็ต0x21)
การเข้าถึงการอ่าน
การเข้าถึงการอ่านจาก PHY ภายนอกสามารถทําได้โดยใช้อินเทอร์เฟซ MDIO ดังนี้:
- ทําการเขียนหลัก Avalon-MM ไปยังการลงทะเบียนคอร์ MDIO ที่0x21ออฟเซ็ตแอดเดรส โดยระบุที่อยู่อุปกรณ์ PHY ภายนอก (MDIO_DEVAD) ที่อยู่พอร์ต (MDIO_PRTAD) และที่อยู่ลงทะเบียน (MDIO_REGAD)
- ออกการอ่าน Avalon-MM master ของการลงทะเบียนMDIO_ACCESS 32 บิตที่ออฟเซ็ต0x20
จะเกิดอะไรขึ้นในคอร์ MDIO
เมื่อมีการออกการเข้าถึงการอ่านการลงทะเบียนMDIO_ACCESS คอร์ MDIO จะเริ่มเจนเนอเรชั่นของเฟรมการอ่าน MDIO ที่มีข้อมูลที่ระบุไว้ในการลงทะเบียนที่ออฟเซ็ต0x21 เป็นการตอบสนองต่อคําสั่งอ่านนี้ผ่าน MDIO PHY ภายนอกให้ค่าของรีจิสเตอร์ที่กําหนดไว้กลับไปยังคอร์ MDIO ค่านี้ถูกโหลดลงในการลงทะเบียนMDIO_ACCESSในคอร์ MDIO ที่ออฟเซ็ต0x20 ดังนั้นจึงดูเหมือนว่าเรากําลังอ่านการลงทะเบียน Avalon-MM ในเครื่องที่ออฟเซ็ต0x20
ปัญหานี้มีผลต่อโฟลว์ MegaWizard® และ SOPC Builder