RTG4 LSRAM 存儲器上的 MICROCHIP 錯誤檢測和糾正
修訂歷史
修訂歷史記錄描述了文件中實施的變更。變更按修訂版列出,從最新出版物開始。
修訂版4.0
以下是此次修訂中所做更改的摘要。
- 更新了 Libero SoC v2021.2 的文檔。
- 添加了附錄 1:使用 FlashPro Express 對器件進行編程,第 14 頁。
- 添加了附錄 2:運行 TCL 腳本,第 16 頁。
- 刪除了對 Libero 版本號的引用。
修訂版3.0
更新了 Libero v11.9 SP1 軟件版本的文檔。
修訂版2.0
更新了 Libero v11.8 SP2 軟件版本的文檔。
修訂版1.0
本文檔的首次發布。
RTG4 LSRAM 存儲器的錯誤檢測和糾正
此參考設計描述了 RTG4™ FPGA LSRAM 的錯誤檢測和糾正 (EDAC) 功能。 在單粒子翻轉 (SEU) 易受影響的環境中,RAM 容易出現由重離子引起的瞬態錯誤。 這些錯誤可以通過使用糾錯碼 (ECC) 來檢測和糾正。 RTG4 FPGA RAM 塊具有內置 EDAC 控制器,可生成用於糾正 1 位錯誤或檢測 2 位錯誤的糾錯碼。
如果檢測到 1 位錯誤,EDAC 控制器會糾正錯誤位並將糾錯標誌 (SB_CORRECT) 設置為高電平有效。 如果檢測到 2 位錯誤,EDAC 控制器會將錯誤檢測標誌 (DB_DETECT) 設置為高電平有效。
有關 RTG4 LSRAM EDAC 功能的更多信息,請參閱 UG0574:RTG4 FPGA Fabric
使用者指南。
在此參考設計中,1 位錯誤或 2 位錯誤是通過 SmartDebug GUI 引入的。 使用圖形用戶界面 (GUI) 觀察 EDAC,利用 UART 接口訪問 LSRAM 進行數據讀/寫,Libero® 片上系統 (SoC) SmartDebug (JTAG) 用於將錯誤注入 LSRAM 內存。
設計要求
表 1 列出了運行 RTG4 LSRAM EDAC 演示的參考設計要求。
表 1 • 設計要求
軟體
- 自由人SoC
- FlashPro 快遞
- 智能調試
- 主機驅動程序 USB 到 UART 驅動程序
筆記: 本指南中顯示的 Libero SmartDesign 和配置屏幕截圖僅用於說明目的。
打開 Libero 設計以查看最新更新。
先決條件
開始之前:
下載並安裝 Libero SoC(如 web此設計的站點)從以下位置在主機 PC 上: https://www.microsemi.com/product-directory/design-resources/1750-libero-soc
演示設計
下載演示設計 files 來自 Microsemi web網站位於: http://soc.microsemi.com/download/rsc/?f=rtg4_dg0703_df
演示設計 file包括:
- Libero SoC項目
- GUI安裝程序
- 程式設計 files
- 自述文件.txt file
- TCL_腳本
主機 PC 上的 GUI 應用程序通過 USB-UART 接口向 RTG4 設備發出命令。 此 UART 接口採用 CoreUART 設計,CoreUART 是 Libero SoC IP 目錄中的邏輯 IP。 RTG4 結構中的 CoreUART IP 接收命令並將它們傳輸到命令解碼器邏輯。 命令解碼器邏輯解碼讀取或寫入命令,該命令使用存儲器接口邏輯執行。
內存接口塊用於讀/寫和監控 LSRAM 錯誤標誌。 內置 EDAC 會在從 LSRAM 讀取數據時糾正 1 位錯誤,並將糾正後的數據提供給用戶界面,但不會將糾正後的數據寫回 LSRAM。 內置 LSRAM EDAC 不實現擦除功能。 演示設計實現了清理邏輯,它監視 1 位校正標誌,並在發生單位錯誤時用校正後的數據更新 LSRAM。
SmartDebug GUI 用於將 1 位或 2 位錯誤注入 LSRAM 數據。
圖 1 顯示了 RTG4 LSRAM EDAC 演示設計的頂層框圖。
圖 1 • 頂層框圖
以下是演示設計配置:
- LSRAM 配置為 ×18 模式,EDAC 通過將 LSRAM 的 ECC_EN 信號連接到高電平來啟用。
筆記: LSRAM EDAC 僅支持 ×18 和 ×36 模式。 - CoreUART IP 配置為以 115200 波特率與主機 PC 應用程序通信。
- RTG4FCCCECALIB_C0 配置為以 80 MHz 為 CoreUART 和其他結構邏輯提供時鐘。
特徵
以下是演示設計功能:
- 讀寫 LSRAM
- 使用 SmartDebug 注入 1 位和 2 位錯誤
- 顯示 1 位和 2 位錯誤計數值
- 提供清除錯誤計數值
- 啟用或禁用內存清理邏輯
描述
此演示設計涉及以下任務的實現:
- 初始化和訪問 LSRAM
結構邏輯中實現的內存接口邏輯接收來自 GUI 的初始化命令,並使用增量數據初始化 LSRAM 的前 256 個內存位置。 它還通過接收來自 GUI 的地址和數據對 LSRAM 的 256 個內存位置執行讀寫操作。 對於讀取操作,設計從 LSRAM 獲取數據並將其提供給 GUI 進行顯示。 期望是設計在使用 SmartDebug 之前不會誘發錯誤。
筆記: 未初始化的內存位置可能有隨機值,SmartDebug 可能會在這些位置顯示單位或雙位錯誤。
- 注入 1 位或 2 位錯誤
SmartDebug GUI 用於將 1 位或 2 位錯誤注入 LSRAM 的指定內存位置。 使用 SmartDebug 執行以下操作以向 LSRAM 注入 1 位和 2 位錯誤:- 打開 SmartDebug GUI,單擊調試 FPGA 陣列。
- 轉到 Memory Blocks 選項卡,選擇內存實例,然後右鍵單擊 Add。
- 要讀取內存塊,請單擊讀取塊。
- 將單位或雙位錯誤注入一定深度的 LSRAM 的任意位置。
- 要寫入修改後的位置,請單擊 Write Block。
在通過SmartDebug (JTAG) 接口,繞過 EDAC 控制器並且不計算步驟 e 中寫入操作的 ECC 位。
- 錯誤計數
8 位計數器用於提供錯誤計數,並被設計到結構邏輯中以對 1 位或 2 位錯誤進行計數。 命令解碼器邏輯在從 GUI 接收命令時向 GUI 提供計數值。
時鐘結構
在此演示設計中,有一個時鐘域。 內部 50 MHz 振盪器驅動 RTG4FCCC,後者進一步驅動 RTG4FCCCECALIB_C0。 RTG4FCCCECALIB_C0 生成一個 80 MHz 時鐘,為 COREUART、cmd_decoder、TPSRAM_ECC 和 RAM_RW 模塊提供時鐘源。
下圖顯示了演示設計的時鐘結構。
圖 2 • 時鐘結構
重置結構
在此演示設計中,COREUART、cmd_decoder 和 RAM_RW 模塊的複位信號通過 RTG4FCCCECALIB_C0 的 LOCK 端口提供。 下圖顯示了演示設計的複位結構。
圖 3 • 復位結構
設置演示設計
以下部分介紹如何設置 RTG4 開發套件和 GUI 以運行演示設計。
跳線設定
- 連接RTG4開發套件上的跳線,如表2所示。
表 2 • 跳線設置跳線 引腳(來自) 引腳(到) 評論 J11、J17、J19、J21、J23、J26、J27、J28 1 2 預設 J16 2 3 預設 J32 1 2 預設 J33 1 3 預設 2 4 筆記: 關閉電源開關 SW6,同時連接跳線。
- 將 USB 電纜(迷你 USB 轉 Type-A USB 電纜)連接到 RTG47 開發套件的 J4,並將電纜的另一端連接到主機 PC 的 USB 端口。
- 確保自動檢測到 USB 到 UART 橋接驅動程序。 這可以在主機 PC 的設備管理器中進行驗證。
圖 4 顯示了 USB 2.0 串行端口屬性和連接的 COM31 和 USB 串行轉換器 C。
圖 4 • USB 轉 UART 橋接器驅動程序
筆記: 如果未安裝 USB 轉 UART 橋接驅動程序,請從以下位置下載並安裝驅動程序 www.microsemi.com//documents/CDM_2.08.24_WHQL_Certified.zip
圖 5 顯示了用於在 RTG4 開發套件上運行 EDAC 演示的電路板設置。
對演示設計進行編程
- 啟動 Libero SOC 軟件。
- 使用作業對 RTG4 開發套件進行編程 file 作為設計的一部分提供 file如果要使用 FlashPro Express 軟件,請參閱附錄 1:使用 FlashPro Express 對設備進行編程,第 14 頁。
筆記: 一旦編程完成工作 file 通過 FlashPro Express 軟件,繼續執行 EDAC 演示 GUI,第 9 頁。否則,繼續執行下一步。 - 在 Libero 設計流程中,單擊運行程序操作。
- 編程完成後,“運行程序操作”前面會出現綠色勾號,表示演示設計的編程成功。
EDAC 演示圖形用戶界面
EDAC 演示提供了一個用戶友好的 GUI,如圖 7 所示,它在與 RTG4 開發套件通信的主機 PC 上運行。 UART 用作主機 PC 和 RTG4 開發套件之間的底層通信協議。
GUI 包含以下部分:
- COM 端口選擇以 4 波特率建立與 RTG115200 FPGA 的 UART 連接。
- LSRAM Memory Write:將 8 位數據寫入指定的 LSRAM 內存地址。
- 內存清理:啟用或禁用清理邏輯。
- LSRAM Memory Read:從指定的 LSRAM 內存地址讀取 8 位數據。
- 錯誤計數:顯示錯誤計數並提供將計數器值清零的選項。
- 1 位錯誤計數:顯示 1 位錯誤計數並提供將計數器值清零的選項。
- 2 位錯誤計數:顯示 2 位錯誤計數並提供將計數器值清零的選項。
- 日誌數據:提供使用 GUI 執行的每個操作的狀態信息。
運行演示
以下步驟描述瞭如何運行演示:
- 去\v1.2.2\v1.2.2\Exe,雙擊EDAC_GUI.exe,如圖8所示。
- 從列表中選擇 COM31 端口並單擊連接。
單比特錯誤注入和糾正
- 在提供的 Libero 設計中,雙擊設計流程中的 SmartDebug Design。
- 在 SmartDebug GUI 中,單擊調試 FPGA 陣列。
- 在 Debug FPGA Array 窗口中,轉到 Memory Blocks 選項卡。 它將以邏輯和物理方式顯示設計中的 LSRAM 塊 view. 邏輯塊用 L 圖標顯示,物理塊用 P 圖標顯示。
- 選擇物理塊實例並右鍵單擊添加。
- 要讀取內存塊,請單擊讀取塊。
- 在 LSRAM 深度 1 的任意位置向 8 位數據中註入 256 位錯誤,如下圖所示,在 LSRAM 的第 1 位位置注入 0 位錯誤。
- 單擊 Write Block 以將修改後的數據寫入預期位置。
- 轉到 EDAC GUI,在 LSRAM Memory Read 部分中輸入 Address 字段,然後單擊 Read,如下圖所示。
- 觀察 GUI 中的 1 位錯誤計數和讀取數據字段。 錯誤計數值增加 1。
當 EDAC 糾正錯誤位時,讀取數據字段顯示正確的數據。
筆記: 如果未啟用內存清理,則每次從同一 LSRAM 地址讀取錯誤計數都會增加,因為它會導致 1 位錯誤。
雙位錯誤注入和檢測
- 執行單比特錯誤注入和糾正,第 1 頁中給出的步驟 5 到步驟 10。
- 在深度為 2 的 LSRAM 的任何位置的 8 位數據中註入 256 位錯誤,如下圖所示,其中 2 位錯誤被注入到 LSRAM 的位置“A”。
- 單擊 Write Block 將修改後的數據寫入到預期位置。
- 轉到 EDAC GUI,在 LSRAM Memory Read 部分中輸入 Address 字段,然後單擊 Read,如下圖所示。
- 觀察 GUI 中的 2 位錯誤計數和讀取數據字段。 錯誤計數值增加 1。
讀取數據字段顯示損壞的數據。
在 RTG4 中執行的所有操作都記錄在 GUI 的串行控制台部分。
結論
該演示重點介紹了 RTG4 LSRAM 存儲器的 EDAC 功能。 1 位錯誤或 2 位錯誤是通過 SmartDebug GUI 引入的。 使用 EDAC GUI 觀察 1 位錯誤糾正和 2 位錯誤檢測。
使用 FlashPro Express 對器件進行編程
本節介紹如何使用編程作業對 RTG4 設備進行編程 file 使用 FlashPro Express。
要對器件進行編程,請執行以下步驟:
- 確保板上的跳線設置與UG3的表0617中列出的相同:
RTG4 開發套件用戶指南。 - 或者,當使用外部 FlashPro32、FlashPro2 或 FlashPro3 編程器時,跳線 J4 可以設置為連接引腳 5-6,而不是使用嵌入式 FlashPro5 的默認跳線設置。
筆記: 進行跳線連接時,電源開關 SW6 必須關閉。 - 將電源線連接到電路板上的 J9 連接器。
- 打開電源開關 SW6。
- 如果使用嵌入式 FlashPro5,將 USB 電纜連接到連接器 J47 和主機 PC。
或者,如果使用外部編程器,則將帶狀電纜連接到 JTAG 接頭 J22 並將編程器連接到主機 PC。 - 在主機 PC 上,啟動 FlashPro Express 軟件。
- 單擊新建或從項目菜單中選擇 New Job Project from FlashPro Express Job 創建一個新的作業項目,如下圖所示。
- 在來自 FlashPro Express 作業的新建作業項目對話框中輸入以下內容:
- 編程工作 file:單擊瀏覽,然後導航到 .job 所在的位置 file 位於並選擇 file. 默認位置是: \rtg4_dg0703_df\Programming_Job
- FlashPro Express 作業項目位置:單擊瀏覽並導航到所需的 FlashPro Express 項目位置。
- 單擊確定。 所需的編程 file 被選中並準備在設備中進行編程。
- 將出現 FlashPro Express 窗口,確認編程器編號出現在編程器字段中。 如果沒有,請確認電路板連接並單擊 Refresh/Rescan Programmers。
- 單擊運行。 當設備燒錄成功後,會顯示 RUN PASSED 狀態,如下圖所示。
- 關閉 FlashPro Express 或單擊“項目”選項卡中的“退出”。
運行 TCL 腳本
設計中提供TCL腳本 fileTCL_Scripts 目錄下的 s 文件夾。 如果需要,設計
可以重現從設計實施到作業生成的流程 file.
要運行 TCL,請按照以下步驟操作:
- 啟動自由人軟件
- 選擇項目 > 執行腳本…。
- 單擊瀏覽並從下載的 TCL_Scripts 目錄中選擇 script.tcl。
- 單擊運行。
成功執行 TCL 腳本後,將在 TCL_Scripts 目錄中創建 Libero 項目。
有關 TCL 腳本的更多信息,請參閱 rtg4_dg0703_df/TCL_Scripts/readme.txt。
有關 TCL 命令的更多詳細信息,請參閱 Libero® SoC TCL 命令參考指南。 如果在運行 TCL 腳本時遇到任何疑問,請聯繫技術支持。
Microsemi 對此處包含的信息或其產品和服務對任何特定目的的適用性不作任何保證、陳述或保證,Microsemi 也不承擔因應用或使用任何產品或電路而產生的任何責任。 在此銷售的產品和 Microsemi 銷售的任何其他產品都經過了有限的測試,不應與任務關鍵型設備或應用程序一起使用。 任何性能規格都被認為是可靠的,但未經驗證,買方必須單獨、與任何最終產品一起或安裝在任何最終產品中進行並完成產品的所有性能和其他測試。 買方不得依賴 Microsemi 提供的任何數據和性能規格或參數。 買方有責任獨立確定任何產品的適用性並對其進行測試和驗證。 Microsemi 在此提供的信息是“按原樣、在哪裡”提供的,並且存在所有錯誤,與此類信息相關的全部風險完全由買方承擔。 Microsemi 沒有明確或暗示地向任何一方授予任何專利權、許可或任何其他知識產權,無論是關於此類信息本身還是此類信息所描述的任何內容。 本文檔中提供的信息是 Microsemi 的專有信息,Microsemi 保留隨時對本文檔中的信息或任何產品和服務進行任何更改的權利,恕不另行通知。
關於 Microsemi Microsemi 是 Microchip Technology Inc.(納斯達克股票代碼:MCHP)的全資子公司,為航空航天與國防、通信、數據中心和工業市場提供全面的半導體和系統解決方案組合。 產品包括高性能和抗輻射模擬混合信號集成電路、FPGA、SoC 和 ASIC; 電源管理產品; 計時和同步設備以及精確的時間解決方案,為時間設定了世界標準; 語音處理設備; 射頻解決方案; 分立元件; 企業存儲和通信解決方案、安全技術和可擴展的反Tamp呃產品; 以太網解決方案; 以太網供電 IC 和中跨; 以及定制設計能力和服務。 了解更多信息 www.microsemi.com.
微半導體總部
一個企業,Aliso Viejo,
CA 92656美國
美國境內:+1 800-713-4113
美國境外:+1 949-380-6100
銷售額:+1 949-380-6136
傳真:+1 949-215-4996
郵箱:銷售。support@microsemi.com
www.microsemi.com
©2021 Microsemi,Microchip Technology Inc. 的全資子公司。保留所有權利。 Microsemi 和 Microsemi 徽標是 Microsemi Corporation 的註冊商標。 所有其他商標和服務標誌均為其各自所有者的財產。
Microsemi 專有 DG0703 修訂版 4.0
文件/資源
![]() |
RTG4 LSRAM 存儲器上的 MICROCHIP 錯誤檢測和糾正 [pdf] 使用者指南 DG0703 Demo, RTG4 LSRAM 內存錯誤檢測和糾正, RTG4 LSRAM 內存檢測和糾正, RTG4 LSRAM 內存, LSRAM 內存 |