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

ทําไมฉันถึงเห็นข้อมูลที่อ่านไม่ถูกต้องเมื่อใช้ Hard Memory Controller ที่มีพอร์ต MPFE หลายพอร์ต

สิ่งแวดล้อม

  • Intel® Quartus® II Subscription Edition
  • IP เอฟพีจีเอ Intel® คอนโทรลเลอร์ DDR3 SDRAM พร้อม UniPHY
  • BUILT IN - ARTICLE INTRO SECOND COMPONENT
    คำอธิบาย

    เมื่อดําเนินการเขียนและอ่านธุรกรรมไปยังพอร์ต MPFE ของคอนโทรลเลอร์หน่วยความจําแบบฮาร์ด (HMC) คุณอาจสังเกตเห็นว่าธุรกรรมการอ่านดําเนินการก่อนธุรกรรมการเขียน แม้ว่าระดับความสําคัญการเขียนจะสูงกว่า ส่งผลให้ข้อมูลการอ่านอาจไม่ถูกต้อง

    เช่น หากพอร์ต HMC MPFE ของคุณได้รับการตั้งค่าดังนี้:

    Port0 ถูกกําหนดค่าเป็นแบบเขียนเท่านั้น, priority set เป็น 7 และน้ําหนักที่ตั้งค่าเป็น 0
    Port1 ถูกกําหนดค่าเป็นแบบอ่านอย่างเดียว ระดับความสําคัญที่ตั้งค่าที่ 1 และตั้งน้ําหนักเป็น 0

    หากคุณดําเนินการส่งคําขอเขียนบน Port0 เพื่อจัดการกับ 'addr0' ด้วยข้อมูล 'data0' และคําขออ่านบนพอร์ต 1 เพื่อแก้ไข 'addr0' พร้อมกัน การอ่านข้อมูลควรเป็น 'data0' เสมอ มีปัญหาใน HMC ที่ข้อมูลการอ่านไม่เป็นไปตามที่คาดไว้

    ความละเอียด

    การแก้ไขปัญหาชั่วคราวคือการหน่วงเวลาในการอ่านคําขอไปยังช่วงที่อยู่จนกว่าคําขอเขียนทั้งหมดไปยังช่วงที่อยู่เดียวกันจะเสร็จสมบูรณ์ อีกวิธีหนึ่งคือการอ่านจากส่วนหน่วยความจําส่วนอื่นที่ไม่ใช่ที่กําลังเขียนอยู่

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

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

    Cyclone® V ST SoC FPGA
    Arria® V ST SoC FPGA
    Arria® V GX FPGA
    Arria® V GT FPGA
    Cyclone® V SX SoC FPGA
    Cyclone® V GT FPGA
    Cyclone® V GX FPGA
    Arria® V GZ FPGA
    Arria® V SX SoC FPGA
    Cyclone® V E FPGA
    Cyclone® V SE SoC FPGA

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