上篇文章開發(fā)者分享|延遲開始 SEM 功能的掃描 (一)介紹了如何推遲 SEM IP 的掃描。在 AMD Versal 器件中, SEM 功能的實現(xiàn)發(fā)生了很大變化,整個解決方案基于 library 實現(xiàn)。下面我們一起看一下如何推遲 XilSEM 掃描功能的開始。
我們建立一個使能了 XilSEM 功能的設(shè)計。觀察 CIPS 中 XilSEM 對應(yīng)的選項:
本次測試以 CRAM 的掃描為例 (NPI 掃描方法相同):
Enable Configuration RAM soft error mitigation 選項下面有兩個小選項:Error correction capability,根據(jù)設(shè)計需求可以選擇為 Detect & Correct,或者 Detect Only。本次我們需要關(guān)注的是“Scan Strategy” 這個選項,默認(rèn)是“Immediate Start”, 還有一個是“Deferred Start” 。這個選項是問是否在配置完成后立即開始 CRAM 掃描工作, 還是推遲掃描的開始直至收到指令。
接下來:
是問選擇使用硬件第一輪掃描結(jié)果作為 ECC golden 校驗值,還是使用軟件生成配置文件時計算出來的 golden 校驗值。這個選項對本次測試無影響,可以任意選擇。
高級選項“Enable PMC_PL_GPO for status signals into PL”,是把 XilSEM 的錯誤狀態(tài)輸出到 PL 里面,可以通過 PL 的 GPIO 或者邏輯監(jiān)測 XilSEM 的運行情況。該選項對本次測試結(jié)果亦無影響,可以按需選擇。
綜上,我們測試以下兩種配置:
1. Immediate Scan
2. Deferred Scan
由于Deferred Start 必須由用戶發(fā)起請求,XilSEM 的工作才能開始。查看 XilSEM Example Design 的 source 文件發(fā)現(xiàn)如下定義:
檢測是否完成 CRAM 掃描對應(yīng)的初始化工作,沒有則調(diào)用 XSem_CfrApiInitCram 來完成。
后續(xù)在插錯測試中,調(diào)用:
啟動掃描工作。
基于 VCK190 開發(fā)板, 分別生成 xsa 文件以及對應(yīng)的 pdi 和 elf 文件。為便于查看 XilSEM 掃描的狀態(tài),我們需要用到以下寄存器:
測試結(jié)果:
下載執(zhí)行 Immediate Scan 的 pdi 文件:
看低四位寄存器, OBSERVATION_STATE以及 CRAM_IN_DESIGN 已經(jīng)被置為1, 說明 CRAM 的掃描工作已經(jīng)初始化完畢,并且正常進(jìn)入了監(jiān)測狀態(tài).
接下來下載 Cram Scan 的 elf 文件:
由于 elf 文件里面默認(rèn)有插錯測試,所以
CORRECTABLE_ERR 以及 ECC_CORRECTION_DONE
對應(yīng)置位,表明有檢測到 ECC error,并且已經(jīng)糾正。
對比測試 Deferred Scan 的效果。先下載 pdi 文件:
下載結(jié)束后, 對應(yīng)寄存器的位全為0。說明 XilSEM 的工作沒有開始。
緊接著執(zhí)行一次 elf 文件:
發(fā)現(xiàn)寄存器的返回值和 Immediate Scan 執(zhí)行 elf 后的狀態(tài)一樣了。說明 XilSEM 的掃描功能已經(jīng)被啟動,并且依次執(zhí)行了插錯測試等。
通過這種設(shè)置,我們可以根據(jù)需要“無限”延遲 XilSEM 的掃描開始,需要時再啟動。
審核編輯:劉清
-
寄存器
+關(guān)注
關(guān)注
31文章
5317瀏覽量
120001 -
SEM
+關(guān)注
關(guān)注
0文章
205瀏覽量
14425 -
GPIO
+關(guān)注
關(guān)注
16文章
1196瀏覽量
51909
原文標(biāo)題:開發(fā)者分享|延時開始 SEM 功能的掃描(二)
文章出處:【微信號:gh_2d1c7e2d540e,微信公眾號:XILINX開發(fā)者社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論