文章 ID: 000090809 內容類型: 疑難排解 最近查看日期: 2022 年 06 月 21 日

如何在 10 Intel® Stratix® SX 裝置中開啟 ECC 時,設定FPGA對 SDRAM 介面?

環境

BUILT IN - ARTICLE INTRO SECOND COMPONENT
描述

當在 Intel® Stratix® 10 SX 裝置中的 HPS 外部記憶體介面 (EMIF) 中開啟錯誤修正代碼 (ECC) 時,記憶體位址會產生 F2H 和 F2SDRAM0/1/2 介面的 ECC 資料。即使使用 F2SDRAM0/1/2 介面,FPGA對 HPS 高手也必須使用與 MPU 相同的記憶體位址。否則,可能會觸發 ECC 錯誤。當 ECC 關閉時,此限制不適用。

解決方法

當FPGA對 HPS 主機和 MPU 主機存取不到 2 GB 的記憶體空間時,記憶體位址會從 0x0000 0000 到 0x7FFF FFFF 使用。

當FPGA對 HPS 主機和 MPU 主機存取大於 2 GB 的記憶體空間時,MPU 會使用 DTS 檔案中定義的別名位址存取這些記憶體位址。FPGA對 HPS 主機必須使用相同的別名位址,而不是所有 F2SDRAM0/1/2 介面的實體位址。

以下是 Intel® Stratix® 10 SX 裝置中 4 GB HPS EMIF 的範例:

在 DTS 中,記憶體定義為兩個區域,如下所示。然後,FPGA對 HPS 主機和 MPU 必須使用從0x1080000000到0x10FFFFFFFF的位址,才能存取 2 GB ~ 4 GB 的記憶體空間。

記憶體 {

reg = ,

;

};

若要啟用完整的 4 GB 記憶體空間,加上上面顯示的別名位址,下列 F2SDRAM 防火牆暫存器也應相應設定:

#Example、F2SDRAM0 區域0 設定、you 可在 U-Boot 來源中設定它們,即 uboot-socfpga\arch\arm\mach-socfpga\spl_s10.c

寫入(0x1000000、0xF8020210);region0addr_base
寫入(0x0、0xF8020214);region0addr_baseext
寫入(0xFFFFFFFF、0xF8020218);region0addr_limit(更低 32 位)
寫入(0x10、0xF802021C);region0addr_limitext(上 32 位)
寫入(0x1、0xF8020204);適用于各地區的enable_set

 

 

相關產品

本文章適用於 1 產品

Intel® Stratix® 10 FPGA 與 SoC FPGA

這個頁面的內容綜合了英文原始內容的人工翻譯譯文與機器翻譯譯文。本內容是基於一般資訊目的,方便您參考而提供,不應視同完整或準確的內容。如果這個頁面的英文版與譯文之間發生任何牴觸,將受英文版規範及管轄。 查看這個頁面的英文版。