UltraScale / UlraScale+系列的SEM IP一共有6種工作模式,分別是:
? Mitigation and Testing
? Mitigation only
? Detect and Testing
? Detect only
? Emulation
? Monitoring only
實際中應該選擇什么模式工作呢?我們先從字面的定義看:
Mitigation: 包含SEU錯誤的檢測,糾正以及錯誤分類功能。這是SEM IP的最初被設計出來時定義的基本功能。
Testing: 指錯誤插入功能。
Detect: 錯誤的檢測功能。
Emulation:沒有檢錯,糾錯以及錯誤分類功能。只支持插錯和調試時需要的一些指令。
Monitoring:在Emulation的基礎上進一步精簡,去掉了插錯。
在我們選擇SEM IP配置生成的時候,可以看到有一個表格;這個表格非常直觀地表明了各個模式的區(qū)別。
Fig 1
依據(jù)這個表格,我們再進一步詳細看6個模式的特點。
1
Mitigation and Testing
這是最常見、最基本的模式,也是初學者入手的建議和默認模式。Mitigation實現(xiàn)了最基本的SEU事件檢、糾、分類,Testing使能了插錯。這個模式可以理解為‘正統(tǒng)‘ SEM IP的功能集合。
開啟此模式的IP,在初始化完成以后就直接進入了工作模式OBSV (Observation),開始持續(xù)不斷的進行SEU事件的檢測,糾正和上報(按需開啟錯誤分類)。
開啟Testing功能后,正常工作的IP也可以通過指令進入到IDLE狀態(tài),通過插錯指令開始一系列的測試,這是實驗室觀測調試IP的必要手段。插錯指令可以模擬自然界的SEU事件,往CRAM內(nèi)存注入一個錯誤。等IP回到正常工作狀態(tài)OBSV后,就會在例行檢查中探測到這個錯誤,糾正然后上報。分析這一階段的Uart log,可以讓你了解到FPGA實際探測到SEU事件后的種種信號行為和打印信息。
通過Fig 1,可以看到:
該模式初始化完成后即進入OBSV,同時開啟了糾錯功能和插錯功能。
錯誤分類功能是可以選擇的。根據(jù)系統(tǒng)是否有要求,是否有內(nèi)存存儲正確數(shù)據(jù)來自行開啟。
該模式支持的主要調試指令有 (以Uart指令為例):
I: 進入IDLE狀態(tài)
Q/P: 讀取某一特定幀和寄存器的值
X: 讀外部存儲器的內(nèi)容(這個主要是做錯誤分類時用的)
T: 轉換物理地址和線性地址
當然其他的Uart指令和Command口指令也都支持。
2
Mitigation Only
這個模式是實際大多數(shù)普通產(chǎn)品開啟的模式。同上述Mitigation and Testing相比,就是把多用于實驗室調試的插錯功能關閉了。
當然,也有客戶會選擇保留插錯功能,即開啟Mitigation and Testing。一個常見考慮是:現(xiàn)場的產(chǎn)品發(fā)生了疑似SEU事件,現(xiàn)場記錄未保存或不足以分析事件始末。或者 IP本身也受到SEU攻擊了(概率極低)。為了驗證IP是否還在正常工作,可以插一個錯誤試試看是否還有糾錯、分類、上報等動作,是否符合預期。當然發(fā)生此類事件時一定注意保護現(xiàn)場,在專家指導下再繼續(xù)log讀取,插錯等后續(xù)分析工作。
3
Detect and Testing 和 Detect Only
IP在初始化完成以后直接進入Detect模式。Detect是SEM IP的一個特殊模式,即 ‘只檢不糾 ‘。 檢測直至有錯誤,上報錯誤狀態(tài)后直接進入IDLE模式,可以理解為開始休眠。
為什么有這種模式呢?因為IP的糾錯必然是有時延的(Table 2-9,https://docs.xilinx.com/r/en-US/pg187-ultrascale-sem )。這個時延對絕大多數(shù)設計是足夠了,但是一些要求特別高的應用或產(chǎn)品,比如航空航天級,一旦檢測到了SEU事件,不管這個事件是否真的對系統(tǒng)功能有影響,一律按照最高影響處理:即停掉工作的FPGA,啟動備用芯片。此時糾錯功能就不需要了。
根據(jù)表格可以看到,IP的糾錯、分類功能都被禁掉了。只能接收用于調式的一些指令。
Testing,即在這種模式下加入調試插錯功能??梢愿鶕?jù)需要選擇是否開啟。
4
Emulation 和 Monitoring
這是根據(jù)客戶應用所設計的一種特殊狀態(tài),它并不使能最基本的錯誤檢、糾、分類等功能。IP初始化完成后直接進入IDLE狀態(tài),但是可以接收一些指令。主要是查看錯誤發(fā)生在不同位置后特定設計的狀態(tài)。
從Fig1還可以看到獨立于模式的兩種錯誤檢測方式:
Detect Only (D):
重點是:檢到即停。通過在IDLE狀態(tài)下的命令啟動, SEM IP開始持續(xù)掃描直到檢測到了ECC或者CRC錯誤。不糾正。匯報狀態(tài)并停在IDLE模式。
重點是:只檢一輪。命令啟動后,IP會把整個CRAM掃描一遍且只掃描一遍,并且只檢測ECC錯誤。然后不管錯誤是0個還是多個,均會匯報上去。隨后停止在IDLE模式。
兩種錯誤檢測方式一般也是用于實驗室調試研究的。
總結,Mitigation and Testing和Mitigation Only模式是SEM IP的常規(guī)用法。其他的模式或者檢測方式,多用于實驗室調試驗證,一般不適用于正式產(chǎn)品。當然,在清楚了解其他各模式和掃描方式的性能和特點后,也可以根據(jù)自己系統(tǒng)設計的具體要求來選用。
審核編輯:劉清
-
存儲器
+關注
關注
38文章
7430瀏覽量
163515 -
crc
+關注
關注
0文章
199瀏覽量
29420 -
SEM
+關注
關注
0文章
197瀏覽量
14410 -
SEU
+關注
關注
0文章
12瀏覽量
13725 -
ECC
+關注
關注
0文章
96瀏覽量
20519
原文標題:開發(fā)者分享|SEM IP 多種工作模式的區(qū)別和選擇指導
文章出處:【微信號:gh_2d1c7e2d540e,微信公眾號:XILINX開發(fā)者社區(qū)】歡迎添加關注!文章轉載請注明出處。
發(fā)布評論請先 登錄
相關推薦
評論