注意:本博文介紹了利用POST_CRC試錯的方法,但總體而言,賽靈思推薦在所有架構(gòu)上使用Soft Error Mitigation (SEM)IP。
SEM IP 提供了一種可用于測試 SEU 檢測與糾正能力的機(jī)制并提供了更強(qiáng)大的調(diào)試能力。
本博文中討論的功能僅受 7 系列器件的支持。
|
功能 |
7系列 |
Kintex? UltraScale? 和 Virtex? UltraScale? |
Kintex UltraScale+? 和 Virtex UltraScale+? |
|
是 |
否,使用 SEM IP 替代 |
否,使用 SEM IP 替代 |
賽靈思 FPGA 中循環(huán)冗余校驗(yàn) (CRC) 的不同類型:
1) 一般 CRC 校驗(yàn)在一般比特流加載過程中,CRC 校驗(yàn)利用 CRC 寄存器進(jìn)行。該“CRC 寄存器”的描述詳見《7 系列 FPGA 配置用戶指南》(UG470)。
FPGA 在比特流被加載時計算 CRC 值,然后該值與在比特流加載結(jié)束時預(yù)期的 CRC 值進(jìn)行比較。如果兩個值匹配,則 FPGA 成功加載。
一般情況下默認(rèn)啟用 CRC 校驗(yàn)。比特流屬性為 BITSTREAM.GENERAL.CRC,其中有效選項(xiàng)包括“ENABLE”(啟用)或“DISABLE”(禁用)。
2) 回讀 CRC/POST CRC 校驗(yàn)
POST_CRC 校驗(yàn)在配置 FPGA 之后,設(shè)計運(yùn)行過程進(jìn)行。
一般情況下,比特流 CRC 校驗(yàn)是一種獨(dú)立功能,具有其自己的 CRC 校驗(yàn)寄存器。
POST_ CRC 校驗(yàn)具有用于存儲校驗(yàn)值的不同以上比特流 CRC 的寄存器。
啟用 POST_CRC 校驗(yàn)的目的是什么?
啟用 POST_CRC 校驗(yàn)的目的是檢測單粒子翻轉(zhuǎn)(SEU)。SEU 導(dǎo)致配置存儲器中的數(shù)位翻轉(zhuǎn)。
POST_CRC 可與 FRAME_ECCE2 原語配合使用,以便提供針對此等錯誤的額外功能和更好的可見性。
可利用 FRAME_ECCE2 的輸出監(jiān)控錯誤檢查和糾正(ECC)和回讀 CRC 電路的狀態(tài)。
如需了解更多有關(guān) FRAME_ECCE2 原語的詳細(xì)信息,請參閱《Vivado Design Suite 7 系列 FPGA 和 Zynq-7000 SoC 庫指南》(UG953)。
用戶通常想要測試這種崩潰發(fā)生時的實(shí)例,以便確保此等錯誤被成功檢測到。
測試插入錯誤的一種方法是編輯 PRE_COMPUTED CRC 值。
測試插入錯誤的步驟:
將以下設(shè)置放置在設(shè)計 XDC 中:
set_property POST_CRC ENABLE [current_design]#Enables the Post CRC checkingset_property POST_CRC_SOURCE PRE_COMPUTED [current_design]#Determines an expected CRC value from the bitstreamset_property POST_CRC_ACTION CONTINUE [current_design]#Even if a CRC error is detected, continue CRC checking.#Other options include HALT, CORRECT_AND_CONTINUE and CORRECT_AND_HALTset_property POST_CRC_INIT_FLAG ENABLE [current_design]#Leaves the INIT_B pin enabled as a source of the CRC error signal. Useful especially if FRAME_ECC is not used
如需了解更多有關(guān)這些設(shè)置的詳細(xì)信息,請參閱《Vivado Design Suite 屬性參考指南》(UG912)。
運(yùn)行設(shè)計流程并生成比特流。
在生成了比特流之后,PRE_COMPUTED CRC 的值可在 .bit 文件中校驗(yàn)。
該值會是非零值。
若要確定 PRE_COMPUTED CRC 值在比特流中的哪個位置,可查閱《7 系列 FPGA 配置用戶指南》(UG470)中的示例 7 系列比特流。
若要測試插入錯誤,您就要禁用一般 CRC 校驗(yàn),以便讓比特流成功載入。
切記,如果對位于正常 CRC 覆蓋范圍內(nèi)的比特流進(jìn)行了任何編輯,即會標(biāo)注 CRC 錯誤并阻止比特流加載。
若要禁用一般 CRC 校驗(yàn),您應(yīng)使用以下設(shè)置:
set_property BITSTREAM.GENERAL.CRC DISABLE [current_design]#Disables the general CRC checkingset_property POST_CRC ENABLE [current_design]#Enables the Post CRC checkingset_property POST_CRC_SOURCE PRE_COMPUTED [current_design]#Determines an expected CRC value from the bitstreamset_property POST_CRC_ACTION CONTINUE [current_design]#Even if a CRC error is detected, continue CRC checking.#Other options include HALT, CORRECT_AND_CONTINUE and CORRECT_AND_HALTset_property POST_CRC_INIT_FLAG ENABLE [current_design]#Leaves the INIT_B pin enabled as a source of the CRC error signal.Useful especially if FRAME_ECC is not used
再次運(yùn)行設(shè)計流程并生成比特流。
在生成比特流之后,您應(yīng)觀察 PRE_COMPUTED CRC 的值是否為零。這是禁用 GENERAL.CRC 的結(jié)果,以便進(jìn)行錯誤測試。
由于預(yù)計有前面的非零值,要配置器件并觀察其行為。
INIT_B 引腳的監(jiān)控應(yīng)顯示 CRC 錯誤。
FRAME_ECCE2 也可被用于接收連接到 ILA 上的 FRAME_ECCE2 發(fā)出的輸出信號。然后它將有可能觀察到 CRCERROR。
下文的例化可被用于 FRAME_ECCE2 原語的連接:
然后輸出可被傳輸給 ILA。
當(dāng)器件被編程后,通過校驗(yàn) ILA 上的信號,它應(yīng)有可能查看類似于以下示例的輸出。
例如,由于未找到預(yù)期的非零 PRE_COMPUTED 值,標(biāo)注了 CRCERROR 錯誤。
可以理解的是,大部分用戶都想要測試錯誤檢測,以確定在此等錯誤被檢測到時,將會以某種形式予以報告。該測試可讓用戶堅信,在真實(shí)的情景中,錯誤會被正確檢測并報告。
如上文所述,由于 SEM IP 所提供的能力,賽靈思推薦使用 SEM IP,而不是 POST_CRC。POST_CRC 的功能在較新的架構(gòu)中不受支持。
-
FPGA
+關(guān)注
關(guān)注
1656文章
22288瀏覽量
630358 -
crc
+關(guān)注
關(guān)注
0文章
205瀏覽量
30631
原文標(biāo)題:如何利用 7 系列 FPGA 中的 POST_CRC 試錯
文章出處:【微信號:FPGA-EETrend,微信公眾號:FPGA開發(fā)圈】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
CRC循環(huán)冗余校驗(yàn)的算法
循環(huán)冗余校驗(yàn)碼的單片機(jī)及CPLD 實(shí)現(xiàn)
循環(huán)冗余校驗(yàn)碼---CRC碼
基于FPGA的循環(huán)冗余校驗(yàn)實(shí)驗(yàn)系統(tǒng)
STM32L4循環(huán)冗余校驗(yàn)模塊(CRC)介紹
循環(huán)冗余校驗(yàn)奇偶校驗(yàn)累加和校驗(yàn)等知識分享
crc循環(huán)冗余校驗(yàn)碼算法
基于EP2C35-672 FPGA實(shí)現(xiàn)CRC循環(huán)冗余校驗(yàn)的自定義指令設(shè)計
并行循環(huán)冗余校驗(yàn)算法
使用FPGA實(shí)現(xiàn)循環(huán)冗余校驗(yàn)CRC編碼器的設(shè)計資料說明
Verilog數(shù)字系統(tǒng)基礎(chǔ)設(shè)計中的循環(huán)冗余校驗(yàn)
CRC循環(huán)冗余校驗(yàn)簡介
32位可編程循環(huán)冗余校驗(yàn)(CRC)

FPGA中循環(huán)冗余校驗(yàn)的不同類型
評論