美高森美 - 標誌DG0388 SmartFusion2 SoC FPGA 錯誤
檢測和糾正Seram內存

使用者指南

©2021 Microsemi,Microchip Technology Inc. 的全資子公司。保留所有權利。 Microsemi 和 Microsemi 徽標是 Microsemi Corporation 的註冊商標。 所有其他商標和服務標誌均為其各自所有者的財產。
Microsemi 對此處包含的信息或其產品和服務對任何特定目的的適用性不作任何保證、陳述或保證,Microsemi 也不承擔因應用或使用任何產品或電路而產生的任何責任。 此處銷售的產品和 Microsemi 銷售的任何其他產品都經過有限測試,不應與關鍵任務設備或應用程序結合使用。 任何性能規格都被認為是可靠的但未經驗證,買方必須對產品進行並完成所有性能和其他測試,無論是單獨測試還是與任何最終產品一起測試,或安裝在任何最終產品中。 買方不得依賴 Microsemi 提供的任何數據和性能規格或參數。 買方有責任

獨立確定任何產品的適用性並對其進行測試和驗證。 Microsemi 在此處提供的信息“按原樣、原樣”提供,存在所有錯誤,與此類信息相關的全部風險完全由買方承擔。 Microsemi 不向任何一方明示或暗示授予任何專利權、許可或任何其他知識產權,無論是關於此類信息本身還是此類信息描述的任何內容。 本文檔中提供的信息為美高森美所有,美高森美保留隨時對本文檔中的信息或任何產品和服務進行任何更改的權利,恕不另行通知。
關於 Microsemi
Microsemi 是 Microchip Technology Inc.(納斯達克代碼:MCHP)的全資子公司,為航空航天和國防、通信、數據中心和工業市場提供全面的半導體和系統解決方案組合。 產品包括高性能和抗輻射模擬混合信號集成電路、FPGA、SoC和ASIC; 電源管理產品; 計時和同步設備和精確的時間解決方案,設定世界時間標準; 語音處理設備; 射頻解決方案; 分立元件; 企業存儲和通信解決方案、安全技術和可擴展的反tamp呃產品; 以太網解決方案; 以太網供電 IC 和中跨; 以及定制設計能力和服務。 了解更多信息 www.microsemi.com.

修訂歷史

修訂歷史描述了文檔中實施的更改。 更改按修訂列出,從當前出版物開始。
1.1 修訂版 11.0
以下是此次修訂中所做更改的摘要。

  • 更新了 Libero SoC v12.6 的文檔。
  • 刪除了對 Libero 版本號的引用。

1.2 修訂版 10.0
更新了 Libero SoC v11.8 SP1 軟件版本的文檔。
1.3 修訂版 9.0
更新了 Libero SoC v11.8 軟件版本的文檔。
1.4 修訂版 8.0
更新了 Libero SoC v11.7 軟件版本 (SAR 77402) 的文檔。
1.5 修訂版 7.0
更新了 Libero SoC v11.6 軟件版本 (SAR 72777) 的文檔。
1.6 修訂版 6.0
更新了 Libero SoC v11.5 軟件版本 (SAR 64979) 的文檔。
1.7 修訂版 5.0
更新了 Libero SoC v11.4 軟件版本 (SAR 60476) 的文檔。
1.8 修訂版 4.0
更新了 Libero SoC v11.3 軟件版本 (SAR 56852) 的文檔。
1.9 修訂版 3.0
更新了 Libero SoC v11.2 軟件版本 (SAR 52960) 的文檔。
1.10 修訂版 2.0
更新了 Libero SoC v11.0 軟件版本 (SAR 47858) 的文檔。
1.11 修訂版 1.0
本文檔的首次發布。
SmartFusion2 SoC FPGA – Seram 存儲器的錯誤檢測和糾正

介紹

本文檔描述了 SmartFusion® 2 設備在嵌入式靜態隨機存取存儲器 (Seram) 上的錯誤檢測和糾正 (EDAC) 功能。 SmartFusion2 器件中實現的 EDAC 控制器支持單錯誤糾正和雙錯誤檢測 (SECDED)。 SmartFusion2 的微控制器子系統 (MSS) 內的所有存儲器均受 SECDED 保護。 Seram 存儲器可以是 eSRAM_0 或 eSRAM_1。 eSRAM_0的地址範圍是0x20000000到0x20007FFF,eSRAM_1的地址範圍是0x20008000到0x2000FFFF。
當啟用 SECDED 時:

  • 寫操作計算並向每 8 位數據添加 32 位 SECDED 代碼。
  • 讀取操作讀取數據並根據存儲的 SECDED 代碼檢查數據,以支持 1 位糾錯和 2 位錯誤檢測。

在此演示中,EDAC 可以通過板上閃爍的發光二極管 (LED) 和圖形用戶界面 (GUI) 來識別。Microsemi DG0388 SmartFusion2 SoC FPGA 錯誤檢測和 eSRAM 存儲器的糾正 - 級框圖eSRAM 的 EDAC 支持以下特性:

  1. SECDED機制
  2. 在檢測到 3 位錯誤或 1 位錯誤時向 ARM Cortex-M2 處理器和 FPGA 架構提供中斷。
  3. 將 1 位和 2 位錯誤的數量存儲到錯誤計數器寄存器中。
  4. 存儲最後一個 1 位或 2 位錯誤影響的內存位置的地址。
  5. 將 1 位或 2 位錯誤數據存儲到 SECDED 寄存器中。
  6. 向 FPGA 架構提供錯誤總線信號。

請參閱 UG0443 的 EDAC 章節:SmartFusion2 和 IGLOO2 FPGA 安全性和可靠性用戶指南以及 UG0331 的 Seram 章節:SmartFusion2 微控制器子系統用戶指南。
2.2 演示要求
下表列出了運行演示設計的硬件和軟件要求。
表 1 • 設計要求

要求版本
作業系統64 位 Windows 7 和 10
硬體
SmartFusion2 安全評估套件:
• FlashPro4 編程器
• USB A 轉 Mini – B USB 數據線
• 12 伏適配器
版本 D 或更高版本
軟體
FlashPro 快遞參考readme.txt file 在設計中提供 files
對於與此參考設計一起使用的軟件版本。
利貝羅
 片上系統 (SoC) 軟件
軟件控制台
主機 PC 驅動程序USB 到 UART 驅動程序
用於啟動演示 GUIMicrosoft.NET Framework 4 客戶端

筆記: 本指南中顯示的 Libero 智能設計和配置屏幕截圖僅用於說明目的。
打開 Libero 設計以查看最新更新。
2.3 先決條件
開始之前:
下載並安裝 Libero SoC(如 web此設計的站點)從以下位置在主機 PC 上。
https://www.microsemi.com/product-directory/design-resources/1750-libero-soc
2.3.1設計 Files
演示設計 files 可從 Microsemi 中的以下路徑下載 web地點: http://soc.microsemi.com/download/rsc/?f=m2s_dg0388_df
設計 file包括:

  • 圖形界面可執行文件
  • 自由人項目
  • 編程作業
  • 自述文件 file

下圖顯示了設計的頂層結構 file秒。 有關詳細信息,請參閱 readme.txt file.Microsemi DG0388 SmartFusion2 SoC FPGA eSRAM 存儲器的錯誤檢測和糾正 - 演示設計2.4 Demo設計說明
MSS 中的每個 Seram 都受到專用 EDAC 控制器的保護。 當從內存中讀取數據時,EDAC 會檢測到 1 位錯誤或 2 位錯誤。 如果 EDAC 檢測到 1 位錯誤,EDAC 控制器會糾正相同的錯誤位。 如果為所有 1 位和 2 位錯誤啟用 EDAC,則係統寄存器中相應的錯誤計數器會遞增,並生成相應的中斷和錯誤總線信號到 FPGA 架構。
在單粒子翻轉 (SEU) 易受影響的環境中,隨機存取存儲器 (RAM) 容易出現由重離子引起的瞬態錯誤。 這是實時發生的。 為了證明這一點,手動引入錯誤並觀察檢測和糾正。
此演示設計涉及以下任務的實現:

  • 啟用 EDAC
  • 向Seram寫入數據
  • 從 Seram 讀取數據
  • 禁用 EDAC
  • 損壞一個或兩個位
  • 向Seram寫入數據
  • 啟用 EDAC
  • 讀取數據
  • 在1位錯誤的情況下,EDAC控制器糾正錯誤,更新相應的狀態寄存器,並在第2步完成的讀取操作中給出第8步寫入的數據。
  • 在出現 2 位錯誤的情況下,會產生相應的中斷,應用程序必須糾正數據或在中斷處理程序中採取適當的操作。 這兩種方法在本演示中進行了演示。
    本demo中實現了兩個測試:環路測試和手動測試,分別適用於1-bit和2-bit錯誤。

2.4.1 環路測試
當 SmartFusion2 從 GUI 接收到環路測試命令時執行環路測試。 最初,所有錯誤計數器和 EDAC 相關寄存器都處於復位狀態。
每次迭代執行以下步驟:

  1. 啟用 EDAC 控制器。
  2. 將數據寫入特定的 Seram 內存位置。
  3. 禁用 EDAC 控制器。
  4. 將 1 位或 2 位錯誤引起的數據寫入相同的 Seram 存儲位置。
  5. 啟用 EDAC 控制器。
  6. 從相同的 Seram 內存位置讀取數據。
  7. 將 1 位或 2 位錯誤檢測和 1 位錯誤糾正數據發送到 GUI。

2.4.2 手動測試
此方法允許手動測試啟用或禁用 EDAC 以及寫入或讀取操作。 使用這種方法,可以將 1 位或 2 位錯誤引入接縫內的任何位置。 啟用 EDAC 並使用 GUI 字段將數據寫入指定地址。 禁用 EDAC 並將 1 位或 2 位損壞的數據寫入同一地址位置。 啟用 EDAC 並從同一地址位置讀取數據,然後電路板上的 LED 會切換以通知錯誤的檢測和更正。 相應的錯誤計數器顯示在 GUI 上。 GUI 串行控制台記錄在 SmartFusion2 中執行的所有操作。
下圖顯示了 Seram EDAC 演示操作。美高森美 DG0388 SmartFusion2 SoC FPGA eSRAM 存儲器的錯誤檢測和校正 - 設計流程2.5 運行演示
本節介紹 SmartFusion2 安全評估套件電路板設置、GUI 選項以及如何執行演示設計。
2.5.1 演示設置
以下步驟描述瞭如何設置演示:

  1. 將 FlashPro4 編程器連接到 SmartFusion5 安全評估套件板的 J2 連接器。
  2. 將 USB mini-B 電纜的一端連接到 SmartFusion18 安全評估套件板中提供的 J2 連接器。 將 USB 電纜的另一端連接到主機 PC。 確保自動檢測到 USB 轉 UART 橋接器驅動程序(可在設備管理器中驗證),如第 4 頁圖 7 中所示。
    筆記: 複製串行端口配置的 COM 端口號。 確保 COM 端口位置指定為 USB 串行轉換器 D,如下圖所示。Microsemi DG0388 SmartFusion2 SoC FPGA eSRAM 存儲器的錯誤檢測和糾正 - USB 到 UART 橋接器驅動程序
  3. 如果未安裝 USB 轉 UART 橋接驅動程序,請從以下位置下載並安裝驅動程序 www.microsemi.com/soc/documents/CDM_2.08.24_WHQL_Certified.zip
  4. 連接SmartFusion2 Security Evaluation Kit板上的跳線,如下圖所示。 進行跳線連接時,電源開關 SW7 必須關閉。
    表 2 • SmartFusion2 安全評估套件跳線設置
    跳線引腳(來自)引腳(到) 評論
    J22,J23,J24,J8,J31(預設)2這些是 SmartFusion2 安全評估套件板的默認跳線設置。 確保相應地設置這些跳線。
  5.  將電源連接到 J18 連接器。

下圖顯示了用於在 SmartFusion2 SecuEvaluation 套件上運行演示的電路板設置。Microsemi DG0388 SmartFusion2 SoC FPGA 錯誤檢測和 eSRAM 存儲器的糾正 - 套件板設置2.5.2 圖形用戶界面
以下部分介紹了 Seram – EDAC 演示 GUI。美高森美 DG0388 SmartFusion2 SoC FPGA eSRAM 存儲器的錯誤檢測和糾正 - 演示 GUI

GUI 支持以下功能:

  1. COM 端口和波特率的選擇。
  2.  選擇 1 位糾錯選項卡或 2 位錯誤檢測選項卡。
  3. 選擇 eSRAM0 或 eSRAM1。
  4. 地址字段,用於向指定的 Seram 地址寫入數據或從中讀取數據。
  5. 向指定的 Seram 地址寫入數據或從中讀取數據的數據字段。
  6.  串行控制台部分打印從應用程序收到的狀態信息。
  7. EDAC 開/關:啟用或禁用 EDAC。
  8. 寫入:允許將數據寫入指定地址。
  9. 讀取:允許從指定地址讀取數據。
  10. LOOP test ON/OFF:允許在循環方法中測試 EDAC 機制。

2.5.3 運行設計
以下步驟描述瞭如何運行設計:

  1. 打開電源開關 SW7。
  2. 使用作業對 SmartFusion2 安全評估套件板進行編程 file 作為設計的一部分提供 files(\Programming job\eSRAM_0\eSRAM0.job 或 \Programming job\eSRAM_1\eSRAM1.job)使用 FlashPro Express 軟件,請參閱附錄:使用 FlashPro Express 對設備進行編程,第 12 頁。
  3. 編程成功後按SW6開關復位板子。
  4. 啟動 EDAC_eSRAM 演示 GUI 可執行文件 file 在設計中可用 files(\GUI 可執行文件\EDAC_eSRAM.exe)。 將顯示 GUI 窗口,如第 6 頁圖 9 中所示。
  5. 從 COM 端口下拉列表中選擇適當的 COM 端口(USB 轉 UART 橋驅動程序指向的端口)。
  6. 選擇波特率為 57600,然後單擊連接。 建立連接後,Connect 變為 Disconnect。
  7. 根據編程選擇 Seram 0 或 Seram 1 file 在步驟 2 中選擇。
  8. 選擇 1-bit Error Correction 選項卡或 2-bit Error Detection 選項卡,如第 7 頁圖 10 和第 8 頁圖 11 所示。
  9. 可以執行兩種類型的測試:手動和循環。

2.5.3.1 進行環路測試
單擊環路測試打開。 它以循環模式運行,在這種模式下會不斷糾正和檢測錯誤。 該循環運行 200 次迭代。 在 SmartFusion2 中執行的所有操作都記錄在 GUI 的串行控制台部分。 2 位錯誤檢測循環測試會在串行控制台中打印受錯誤影響的 Seram 地址偏移量。 完成 200 次迭代後,單擊循環測試關閉。
表 3 • 環路測試中使用的串行存儲器地址

記憶體11 位糾錯 2 位錯誤檢測
eSRAM00x200000000x20002000
eSRAM10x200080000x2000A000

2.5.3.2 進行手動測試
在這種方法中,錯誤是使用 GUI 手動引入的。 使用以下步驟執行 1 位糾錯或 2 位錯誤檢測:

  1. 輸入地址和數據字段(使用 32 位十六進制值)。
  2. 單擊 EDAC 打開。
  3. 單擊寫入。
  4. 單擊 EDAC 關閉。
  5. 只需在數據字段(引入錯誤)中更改 1 位(在 1 位糾錯的情況下)或 2 位(在 2 位錯誤檢測的情況下)。
  6. 單擊寫入。
  7. 單擊 EDAC 打開。
  8. 點擊閱讀。
  9. 觀察 GUI 中的錯誤計數顯示和數據字段。 錯誤計數值增加 1。

在 SmartFusion2 中執行的所有操作都記錄在 GUI 的串行控制台部分。
筆記: 要在 EDAC_eSRAM 演示 GUI 中從 1 位錯誤校正選項卡切換到 2 位錯誤檢測選項卡,反之亦然,請重置硬件板。Microsemi DG0388 SmartFusion2 SoC FPGA eSRAM 存儲器的錯誤檢測和糾正 - 位錯誤糾正選項卡Microsemi DG0388 SmartFusion2 SoC FPGA eSRAM 存儲器的錯誤檢測和糾正 - 位錯誤檢測選項卡

2.6 結論
該演示展示了 Seram 的 SmartFusion2 SECDED 功能。

附錄:使用 FlashPro Express 對器件進行編程

本節介紹如何使用編程作業對 SmartFusion2 器件進行編程 file 使用 FlashPro Express。
要對器件進行編程,請執行以下步驟:

  1. 確保電路板上的跳線設置與第 2 頁表 7 中列出的設置相同。
    筆記: 進行跳線連接時必須關閉電源開關。
  2. 將電源線連接到電路板上的 J6 連接器。
  3. 打開電源開關 SW7。
  4. 在主機 PC 上,啟動 FlashPro Express 軟件。
  5. 單擊新建或從項目菜單中選擇 New Job Project from FlashPro Express Job 創建一個新的作業項目,如下圖所示。美高森美 DG0388 SmartFusion2 SoC FPGA eSRAM 存儲器的錯誤檢測和糾正 - 工作項目
  6. 在來自 FlashPro Express 作業的新建作業項目對話框中輸入以下內容:
    • 編程工作 file:單擊瀏覽,然後導航到 .job 所在的位置 file 位於並選擇 file. 默認位置是: \m2s_dg0388_df\編程作業
    • FlashPro Express 作業項目名稱:單擊瀏覽並導航到要保存項目的位置。美高森美 DG0388 SmartFusion2 SoC FPGA eSRAM 存儲器的錯誤檢測和糾正 - 新工作項目
  7. 單擊確定。 所需的編程 file 被選中並準備在設備中進行編程。
  8. FlashPro Express 窗口如下圖所示。 確認程序員編號出現在程序員字段中。 如果沒有,請確認電路板連接並單擊 Refresh/Rescan Programmers。Microsemi DG0388 SmartFusion2 SoC FPGA 錯誤檢測和 eSRAM 存儲器的糾正 - 編程
  9. 單擊運行。 當設備燒錄成功後,會顯示 RUN PASSED 狀態,如下圖所示。Microsemi DG0388 SmartFusion2 SoC FPGA eSRAM 存儲器的錯誤檢測和糾正 - 運行通過
  10. 關閉 FlashPro Express 或在“項目”選項卡中單擊“退出”。

美高森美 - 標誌微半導體總部
一個企業,Aliso Viejo,
CA 92656美國
美國境內:+1 800-713-4113
美國境外:+1 949-380-6100
銷售額:+1 949-380-6136
傳真:+1 949-215-4996
電子郵件: sales.support@microsemi.com
www.microsemi.com
Microsemi 專有 DG0388 修訂版 11.0

文件/資源

Microsemi DG0388 SmartFusion2 SoC FPGA eSRAM 存儲器的錯誤檢測和糾正 [pdf] 使用者指南
DG0388,SmartFusion2 SoC FPGA eSRAM 存儲器的錯誤檢測和糾正,DG0388 SmartFusion2 SoC FPGA eSRAM 存儲器的錯誤檢測和糾正

參考

發表評論

您的電子郵件地址不會被公開。 必填欄位已標記 *