ID บทความ: 000085697 ประเภทข้อมูล: การแก้ไขปัญหา การตรวจสอบครั้งล่าสุด: 11/09/2012

ทําไมเนื้อหาของ DDR SDRAM ของฉันจึงเสียหายเมื่อใช้ใน SOPC Builder

สิ่งแวดล้อม

BUILT IN - ARTICLE INTRO SECOND COMPONENT
คำอธิบาย

คุณอาจประสบกับความเสียหายของข้อมูลโดยใช้คอนโทรลเลอร์ 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. จัดแนวการถ่ายโอนให้สอดคล้องกับขอบเขตของพอร์ตสเลฟเสมอโดยใช้สูตรด้านบน
  2. สถาปนิกเจ้านายของคุณเพื่อโพสต์ทะยานขึ้น 1 ครั้งจนกระทั่งถึงขอบเขตการส่งข้อมูลหลักถัดไป
  3. ปิดใช้งานการรองรับการส่งข้อมูลต่อเนื่องของ Master หรือ Slave ในกรณีของคอนโทรลเลอร์ DDR SDRAM ประสิทธิภาพสูง คุณสามารถใช้โหมดอัตราครึ่งเพื่อหลีกเลี่ยงการรองรับการส่งข้อมูลต่อเนื่องได้

ผลิตภัณฑ์ที่เกี่ยวข้อง

บทความนี้จะนำไปใช้กับ 1 ผลิตภัณฑ์

อุปกรณ์ที่ตั้งโปรแกรมได้ Intel®

เนื้อหาในหน้านี้เป็นการผสมผสานระหว่างการแปลเนื้อหาต้นฉบับภาษาอังกฤษโดยมนุษย์และคอมพิวเตอร์ เนื้อหานี้จัดทำขึ้นเพื่อความสะดวกของคุณและเพื่อเป็นข้อมูลทั่วไปเท่านั้นและไม่ควรอ้างอิงว่าสมบูรณ์หรือถูกต้อง หากมีความขัดแย้งใด ๆ ระหว่างเวอร์ชันภาษาอังกฤษของหน้านี้กับคำแปล เวอร์ชันภาษาอังกฤษจะมีผลเหนือกว่าและควบคุม ดูเวอร์ชันภาษาอังกฤษของหน้านี้