FPGAs Intel® Stratix®10 MX รวมหน่วยความจํา HBM2 DRAM แบบซ้อนกัน 3D รวมถึงคอนโทรลเลอร์หน่วยความจําฮาร์ด HBM2 ดังนั้น การเพิ่มประสิทธิภาพของคอนโทรลเลอร์หน่วยความจํา HBM2 ให้สูงสุดจึงเป็นสิ่งสําคัญมาก
ปัจจัยหลายประการอาจส่งผลต่อประสิทธิภาพของคอนโทรลเลอร์ เพื่อประสิทธิภาพที่ดีที่สุด คุณควรพิจารณาปัจจัยเหล่านี้ในการออกแบบของคุณ:
• ความถี่อินเตอร์เฟซผู้ใช้เทียบกับความถี่อินเทอร์เฟซ HBM2 - ความถี่ของตรรกะผู้ใช้ใน FPGA Fabric มีบทบาทสําคัญในการกําหนดประสิทธิภาพของหน่วยความจํา HBM2
• การตั้งค่าคอนโทรลเลอร์:
- ปิดใช้งาน Reorder Buffer ในการตั้งค่าคอนโทรลเลอร์เพื่อให้ได้ประสิทธิภาพที่ดีขึ้น (อย่างไรก็ตาม หากแอปพลิเคชันต้องการให้มีการอ่านข้อมูลตามลําดับเดียวกับคําขออ่าน ขอแนะนําให้เปิดใช้งานบัฟเฟอร์การจัดลําดับใหม่)
- ความยาวต่อเนื่อง - โหมด pseudo-BL8 ช่วยให้มั่นใจได้ว่าจะเข้าถึงหน่วยความจําได้สั้นลงระหว่างธุรกรรม BL4 ที่สําเร็จเพื่อปรับปรุงประสิทธิภาพของคอนโทรลเลอร์
• รูปแบบการรับส่งข้อมูล - รูปแบบการรับส่งข้อมูลมีบทบาทสําคัญในการกําหนดประสิทธิภาพของคอนโทรลเลอร์
- ที่อยู่ DRAM แบบสุ่มเทียบกับแบบสุ่ม: ที่อยู่แบบลําดับช่วยให้คอนโทรลเลอร์สามารถออกคําขอเขียนติดต่อกันไปยังหน้าเปิดและช่วยให้ได้ประสิทธิภาพคอนโทรลเลอร์ที่สูง ที่อยู่แบบสุ่มต้องใช้คําสั่ง PRECHARGE/ACTIVATE คงที่ และสามารถลดประสิทธิภาพของคอนโทรลเลอร์ได้
- ตั้งค่านโยบาย User Auto Precharge เป็น FORCED และตั้งค่าสัญญาณ awuser/aruser บนอินเทอร์เฟซ AXI เป็น HIGH เพื่อให้สามารถเติมเงินอัตโนมัติสําหรับธุรกรรมแบบสุ่มได้ สําหรับธุรกรรมแบบลําดับ ให้ตั้งค่านโยบายการเติมเงินอัตโนมัติเป็น HINT
- อ่านอย่างเดียวหรือเขียนเฉพาะทรานแซคชัน: ทรานแซคชันการอ่านเท่านั้นแบบลําดับหรือทรานแซคชันแบบเขียนเท่านั้นจะเห็นประสิทธิผลที่สูงขึ้นในขณะที่หลีกเลี่ยงการเลื่อนเวลาบัสของบัสข้อมูลแบบสองทิศทางของ DRAM
• AXI Transaction IDs - การใช้ AXI Transaction ID ที่แตกต่างกันช่วยให้คอนโทรลเลอร์ HBM2 จัดตารางเวลาของทรานแซคชันให้มีประสิทธิภาพสูง การใช้ ID ธุรกรรม AXI เดียวกันจะรักษาลําดับคําสั่งและอาจส่งผลให้มีประสิทธิภาพลดลง