01SEM IP的功能概述
SEM(Soft Error Mitigation)技術通過目標式ECC奇偶校驗位注入實現可觀測的軟錯誤模擬。該機制在配置存儲器幀(CRAM Frame)內精確選擇校驗位進行可控翻轉,確保注入錯誤位于冗余校驗區域而非功能邏輯位,從而避免對設計功能完整性造成干擾。主要應用于要求苛刻的場景(如航天、工業控制等)中,SEM控制器可以確保更高的可靠性水平。至于決定是否要在設計中使用SEM IP,需要了解可能性和系統級考慮因素。

圖1. 軟錯誤決策樹示例
02SEM IP接口及配置
02.1SEM IP接口介紹

圖2. SEM的參考設計的模塊設計
系統級示例設計封裝了SEM控制器和用于控制器與其他設備接口的通道。值得注意的是,SEM控制器沒有復位信號。這是由于SEM控制器的任務是監視和維護原始配置狀態,而不是從一些臨時(可能錯誤的)狀態重新啟動,故不設置復位。它自動初始化自身與內部同步復位派生自全局復位信號的解除。下表展示各個接口的詳細描述。

表1. 各個接口的功能描述
02.2SEM IP配置介紹

圖3. SEM IP配置界面
控制器的模式
從模式上劃分:
SEM IP可以分成六個模式:
? 緩解和測試
? 僅緩解
? 檢測和測試
? 僅檢測
? 仿真
? 監控
按照IP內對各個模式的特性對比,“緩解和測試”是最適合用于測試仿真的模式。該模式與其他模式最核心的差異在于可同時支持錯誤注入和糾錯能力。

圖4. SEM IP高級配置界面
錯誤分類功能僅在糾錯模式(緩解和測試/僅緩解)下可用,用于判斷已糾正的軟錯誤是否影響設計功能。順帶一提的是,IP默認針對開發板將錯誤分類的功能禁用,是因為評估板默認不包括外部SPI內存。
控制器的時鐘
控制器的時鐘周期通過“Clock period”字段設定,其值越小,頻率值越高,錯誤緩解時間越短。但是設計時需要確保目標器件支持設定的周期,否則會觸發警告。下表提供了ICAP FMax的總結。當評估板為目標時,默認的控制器時鐘周期自動選擇到基于示例設計中提供的特定時鐘頻率的引腳。

表2. ICAP支持的最大頻率
控制器的結構選項
SEM IP配置中原語(ICAP/FRAME_ECC)的包含方式分為兩種,核心差異是原語的可見性與連接控制權:
1. 包含在核心中:
適用場景:無其他邏輯需訪問ICAP/FRAME_ECC原語時。
特點:原語自動嵌入核心,連接對用戶透明(不暴露為端口)。
限制:不適用于UltraScale SSI器件。
2. 包含在示例設計中:
適用場景:其他邏輯需訪問ICAP/FRAME_ECC原語時。
特點:原語在示例設計層級顯式實例化,需用戶手動連接端口。
03上板實測
03.1測試環境搭建
工程的搭建基于xapp1298
硬件平臺:MPSoC(ZCU102)

圖5. 工程設計示意框圖
在本工程設計中,PS通過專用PL時鐘接口(pl_clk0)給SEM控制器提供ICAP時鐘信號(icap_clk),ICAP仲裁控制及狀態LED信號通過PS擴展EMIO接口集中管控。
03.2SEM IP調試
本文在“緩解和測試”模式下進行,旨在觀察錯誤注入以及IP的糾錯功能。其中關于SEM在運行過程中涉及的關鍵步驟包括:PCAP權限移交ICAP,時鐘使能,ICAP仲裁切換行為以及調試方式。下面圍繞這些詳細介紹。
PCAP權限移交ICAP
由于缺乏FPGA的啟動獨立性,MPSoC在調試過程中必須要在PS啟動后,主動釋放PCAP權限,并將配置控制權移交給ICAP。這是因為PCAP和ICAP的功能類似,都是PS訪問配置控制端接口,無法同時運行。因此,像MPSoC器件在使用SEM時,必須修改寄存器pcap_ctrl(地址0XFFCA3008)的bit0位,將其清零以切換至ICAP控制。否則將會初始化失敗,導致SEM卡在“Initialization”狀態,無法啟動糾錯功能。

圖6. MPSoC pcap_ctrl寄存器
可采用下面的兩種方式實現寄存器配置:
1. PS側添加如下代碼

2. XSCT下配置寄存器

BUFGCE使能
觀察圖5會發現,時鐘路徑中集成BUFGCE模塊。該模塊的使能端口CE默認為低,是因為系統級的要求下,經過MMCM/PLL的時鐘需要等到穩定后才能提供給SEM。比如,在一些用到MIG的場景下,由于MIG做BIST階段需要極高的時序精度,這個階段使用SEM會有概率導致MIG校驗錯誤,使能開關的作用可以規避這一問題。
ICAP仲裁切換行為
ICAP仲裁接口按照下面流程圖的邏輯實現多個功能共享ICAP的機制。其中,需要注意的是,由于IP不知道在停止訪問ICAP時是否操縱了配置內存,會導致再次被訪問后會重新引導和重新初始化。

圖6. ICAP仲裁切換行為流程圖
調試的方式
主要可以通過下面兩種方式觀察注入錯誤實驗,兩者各有優勢,按需選擇。
通過VIO的方式,在硬件調試窗口界面修改錯誤注入地址,再執行注入觸發。
通過串口敲擊命令,通常建議使用更簡易的串口指令方式進行調試。
執行“I”,可進入IDLE狀態
執行“O”,可進入Observation狀態
注入命令輸入“N”+“inject_address”;
執行“S”,獲取當前狀態,包括獲取MF(Maximum Frame)的值,確保注入錯誤不會越界。對于不同類型、Virtex-6,7 series和 Zynq-7000、Ultrascale)的器件,MF的大小也不一樣。
當SEM發生狀態切換,會輸出對應的打印信息,信息以“SC”開頭。錯誤類型信息以“FC”開頭,從可糾錯與不可糾錯、必要錯誤和非必要錯誤排列可以組合分成4種。

表3. 狀態報告

表4. 錯誤標記報告
掃描和糾錯

圖7. 串口指令控制SEM掃描和糾錯
如上圖,通過串口指令,分別調試注入單bit錯誤和多bit錯誤后,SEM掃描和糾錯的情況。并通過VIO監測對應實驗下觀測確認兩邊的結果一致,由此證明SEM工作正常。


圖7. VIO指令監控SEM掃描和糾錯
04SEM注入錯誤的補充說明
錯誤注入命令只有在配置IP時,勾選了“錯誤注入使能”才能工作。
注入前,需要確認為IDLE狀態,注入后,必須顯示過渡到observation才能讓IP嘗試檢測或糾正。
一次注入超過4個bit位,超出限制(ECC algorithm-based correction that supports correction of configuration memoryframes with up to 4-bit errors.見pg187),注入命令會丟失。
此外,如果配置幀,沒有顯示變化,可能是不存在該地址。
關于安富利
安富利是全球領先的技術分銷商和解決方案提供商,在過去一個多世紀里一直秉持初心,致力于滿足客戶不斷變化的需求。通過遍布全球的專業化和區域化業務覆蓋,安富利可在產品生命周期的每個階段為客戶和供應商提供支持。安富利能夠幫助各種類型的公司適應不斷變化的市場環境,在產品開發過程中加快設計和供應速度。安富利在整個技術價值鏈中處于中心位置,這種獨特的地位和視角讓其成為了值得信賴的合作伙伴,能夠幫助客戶解決復雜的設計和供應鏈難題,從而更快地實現營收。
-
控制器
+關注
關注
114文章
17668瀏覽量
190652 -
接口
+關注
關注
33文章
9454瀏覽量
156324 -
IP
+關注
關注
5文章
1850瀏覽量
155037 -
SEM
+關注
關注
0文章
273瀏覽量
15587 -
MPSoC
+關注
關注
0文章
202瀏覽量
25093
原文標題:AMD技術干貨|SEM IP在MPSoC器件上的使用指南
文章出處:【微信號:AvnetAsia,微信公眾號:安富利】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
如何調試Zynq UltraScale+ MPSoC VCU DDR控制器
PWM使用指南
AT32F421 CMP使用指南
AMD MPSoC器件中啟用SEM IP的策略與方法

SEM IP在MPSoC器件上的使用指南
評論