คุณอาจประสบกับความเสียหายของข้อมูลโดยใช้คอนโทรลเลอร์ SDRAM DDR (1/2/3) ใดๆ ใน Altera® SOPC Builder ซึ่งเกิดจากการห่อหุ้มสายส่งข้อมูลที่ใช้โดยคอนโทรลเลอร์ SDRAM และอะแดปเตอร์ชุดติดตั้ง SOPC Builder ล้มเหลวในการปรับใช้พอร์ต Slave ของคอนโทรลเลอร์ SDRAM ไปยังพอร์ตหลัก Bursting แบบลําดับ ขอบเขตที่ต่อเนื่องของพอร์ต Slave ใด ๆ สามารถกําหนดได้โดยใช้สูตรต่อไปนี้:
ขนาดขอบเขตของ Slave Burst [ไบต์] = ความกว้างของข้อมูล Slave [ไบต์] * ความยาวสูงสุดของ Slave Burst [beats]
ตัวอย่างเช่น หากคุณใช้คอนโทรลเลอร์ DDR SDRAM สําหรับ x16 Burst length of 4 อุปกรณ์ ขนาดขอบเขตต่อเนื่องคือ 8 ไบต์ ผลที่ได้คือ หากต้นแบบการส่งต่อตามลําดับเริ่มทรานแซคชันการอ่านหรือเขียนไปยังหน่วยความจําโดยไม่เริ่มจากขอบเขต 8 ไบต์ ความเสียหายของข้อมูลจะเกิดขึ้น หากเจ้านายโพสต์ทรานแซคชันต่อเนื่อง 2 ครั้งไปยังแอดเดรส 4 ของหน่วยความจํานี้ ก็จะเข้าถึงไบต์ 4-7 ในระหว่างจังหวะแรก และไบต์ 0-3 ในจังหวะที่สอง (แทนที่จะใช้แอดเดรส 8-11)
เพื่อหลีกเลี่ยงความเสียหายของข้อมูลนี้ คุณสามารถใช้สิ่งต่อไปนี้:
- จัดแนวการถ่ายโอนให้สอดคล้องกับขอบเขตของพอร์ตสเลฟเสมอโดยใช้สูตรด้านบน
- สถาปนิกเจ้านายของคุณเพื่อโพสต์ทะยานขึ้น 1 ครั้งจนกระทั่งถึงขอบเขตการส่งข้อมูลหลักถัดไป
- ปิดใช้งานการรองรับการส่งข้อมูลต่อเนื่องของ Master หรือ Slave ในกรณีของคอนโทรลเลอร์ DDR SDRAM ประสิทธิภาพสูง คุณสามารถใช้โหมดอัตราครึ่งเพื่อหลีกเลี่ยงการรองรับการส่งข้อมูลต่อเนื่องได้