0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

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

YCqV_FPGA_EETre ? 來源:未知 ? 作者:劉勇 ? 2019-07-29 10:16 ? 次閱讀

注意:本博文介紹了利用POST_CRC試錯的方法,但總體而言,賽靈思推薦在所有架構上使用Soft Error Mitigation (SEM)IP。

SEM IP 提供了一種可用于測試 SEU 檢測與糾正能力的機制并提供了更強大的調試能力。

本博文中討論的功能僅受 7 系列器件的支持。

功能

7系列

Kintex? UltraScale? 和 Virtex? UltraScale?

Kintex UltraScale+? 和 Virtex UltraScale+?

Readback CRC/POST_CRC

否,使用 SEM IP 替代

否,使用 SEM IP 替代

賽靈思 FPGA 中循環(huán)冗余校驗 (CRC) 的不同類型:

1) 一般 CRC 校驗在一般比特流加載過程中,CRC 校驗利用 CRC 寄存器進行。該“CRC 寄存器”的描述詳見《7 系列 FPGA 配置用戶指南》(UG470)。

FPGA 在比特流被加載時計算 CRC 值,然后該值與在比特流加載結束時預期的 CRC 值進行比較。如果兩個值匹配,則 FPGA 成功加載。

一般情況下默認啟用 CRC 校驗。比特流屬性為 BITSTREAM.GENERAL.CRC,其中有效選項包括“ENABLE”(啟用)或“DISABLE”(禁用)。

2) 回讀 CRC/POST CRC 校驗

POST_CRC 校驗在配置 FPGA 之后,設計運行過程進行。

一般情況下,比特流 CRC 校驗是一種獨立功能,具有其自己的 CRC 校驗寄存器。

POST_ CRC 校驗具有用于存儲校驗值的不同以上比特流 CRC 的寄存器。

啟用 POST_CRC 校驗的目的是什么?

啟用 POST_CRC 校驗的目的是檢測單粒子翻轉(SEU)。SEU 導致配置存儲器中的數(shù)位翻轉。

POST_CRC 可與 FRAME_ECCE2 原語配合使用,以便提供針對此等錯誤的額外功能和更好的可見性。

可利用 FRAME_ECCE2 的輸出監(jiān)控錯誤檢查和糾正(ECC)和回讀 CRC 電路的狀態(tài)。

如需了解更多有關 FRAME_ECCE2 原語的詳細信息,請參閱《Vivado Design Suite 7 系列 FPGA 和 Zynq-7000 SoC 庫指南》(UG953)。

用戶通常想要測試這種崩潰發(fā)生時的實例,以便確保此等錯誤被成功檢測到。

測試插入錯誤的一種方法是編輯 PRE_COMPUTED CRC 值。

測試插入錯誤的步驟:

將以下設置放置在設計 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

如需了解更多有關這些設置的詳細信息,請參閱《Vivado Design Suite 屬性參考指南》(UG912)。

運行設計流程并生成比特流。

在生成了比特流之后,PRE_COMPUTED CRC 的值可在 .bit 文件中校驗。

該值會是非零值。

若要確定 PRE_COMPUTED CRC 值在比特流中的哪個位置,可查閱《7 系列 FPGA 配置用戶指南》(UG470)中的示例 7 系列比特流。

若要測試插入錯誤,您就要禁用一般 CRC 校驗,以便讓比特流成功載入。

切記,如果對位于正常 CRC 覆蓋范圍內的比特流進行了任何編輯,即會標注 CRC 錯誤并阻止比特流加載。

若要禁用一般 CRC 校驗,您應使用以下設置:

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

再次運行設計流程并生成比特流。

在生成比特流之后,您應觀察 PRE_COMPUTED CRC 的值是否為零。這是禁用 GENERAL.CRC 的結果,以便進行錯誤測試。

由于預計有前面的非零值,要配置器件并觀察其行為。

INIT_B 引腳的監(jiān)控應顯示 CRC 錯誤。

FRAME_ECCE2 也可被用于接收連接到 ILA 上的 FRAME_ECCE2 發(fā)出的輸出信號。然后它將有可能觀察到 CRCERROR。

下文的例化可被用于 FRAME_ECCE2 原語的連接:

然后輸出可被傳輸給 ILA。

當器件被編程后,通過校驗 ILA 上的信號,它應有可能查看類似于以下示例的輸出。

例如,由于未找到預期的非零 PRE_COMPUTED 值,標注了 CRCERROR 錯誤。

可以理解的是,大部分用戶都想要測試錯誤檢測,以確定在此等錯誤被檢測到時,將會以某種形式予以報告。該測試可讓用戶堅信,在真實的情景中,錯誤會被正確檢測并報告。

如上文所述,由于 SEM IP 所提供的能力,賽靈思推薦使用 SEM IP,而不是 POST_CRC。POST_CRC 的功能在較新的架構中不受支持。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • FPGA
    +關注

    關注

    1620

    文章

    21510

    瀏覽量

    599014
  • crc
    crc
    +關注

    關注

    0

    文章

    197

    瀏覽量

    29357

原文標題:如何利用 7 系列 FPGA 中的 POST_CRC 試錯

文章出處:【微信號:FPGA-EETrend,微信公眾號:FPGA開發(fā)圈】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    CRC循環(huán)冗余校驗的算法

    想問下51單片機和所有嵌入式中一個很基本也很常見的問題,CRC循環(huán)冗余校驗的算法中生成多項式為什么要那樣取(有個生成多項式的表格),如果信息段中一位或多位傳輸錯誤,校驗段是怎樣保證唯一
    發(fā)表于 01-21 21:02

    循環(huán)冗余校驗碼的單片機及CPLD 實現(xiàn)

    循環(huán)冗余校驗(CRC)是一種可靠性很高的串行數(shù)據校驗方法。介紹循環(huán)冗余
    發(fā)表于 04-16 14:19 ?16次下載

    循環(huán)冗余校驗碼---CRC碼

    循環(huán)冗余校驗碼---CRC碼   二進制信息位串沿一條信號線逐位在部件之間或計算機之間傳送稱為串行傳送。CRC(Cyclic Redundancy c
    發(fā)表于 10-13 16:52 ?7122次閱讀
    <b class='flag-5'>循環(huán)</b><b class='flag-5'>冗余</b><b class='flag-5'>校驗</b>碼---CRC碼

    基于FPGA循環(huán)冗余校驗實驗系統(tǒng)

    文章首先分析了循環(huán)冗余校驗碼的功能,在此基礎上提出了基于FPGA的實現(xiàn)方法,詳細闡述了CRC校驗編解碼的實現(xiàn)方法,并提出了基于現(xiàn)有的實驗箱設
    發(fā)表于 03-26 13:52 ?1709次閱讀
    基于<b class='flag-5'>FPGA</b>的<b class='flag-5'>循環(huán)</b><b class='flag-5'>冗余</b><b class='flag-5'>校驗</b>實驗系統(tǒng)

    STM32L4循環(huán)冗余校驗模塊(CRC)介紹

    STM32L4循環(huán)冗余校驗模塊(CRC)介紹 有興趣的可以參考下
    發(fā)表于 12-25 10:38 ?27次下載

    循環(huán)冗余校驗奇偶校驗累加和校驗等知識分享

    CRC校驗循環(huán)冗余校驗)是數(shù)據通訊中最常采用的校驗方式。在嵌入式軟件開發(fā),經常要用到CRC
    的頭像 發(fā)表于 11-08 09:31 ?8632次閱讀
    <b class='flag-5'>循環(huán)</b><b class='flag-5'>冗余</b><b class='flag-5'>校驗</b>奇偶<b class='flag-5'>校驗</b>累加和<b class='flag-5'>校驗</b>等知識分享

    crc循環(huán)冗余校驗碼算法

     循環(huán)冗余校驗(Cyclic Redundancy Check, CRC)是一種根據網絡數(shù)據包或電腦文件等數(shù)據產生簡短固定位數(shù)校驗碼的一種散列函數(shù),主要用來檢測或
    發(fā)表于 12-04 10:11 ?2.3w次閱讀
    crc<b class='flag-5'>循環(huán)</b><b class='flag-5'>冗余</b><b class='flag-5'>校驗</b>碼算法

    基于EP2C35-672 FPGA實現(xiàn)CRC循環(huán)冗余校驗的自定義指令設計

    通信系統(tǒng),為確保數(shù)據傳輸和存儲的可靠性,引入了信道編碼。一是可使得編碼后的碼流頻譜適應信道頻率特性,二是可檢測并糾正傳輸的誤碼。前者屬于譜成形技術,后者屬于差錯控制技術。循環(huán)冗余
    的頭像 發(fā)表于 10-04 14:53 ?2110次閱讀
    基于EP2C35-672 <b class='flag-5'>FPGA</b>實現(xiàn)CRC<b class='flag-5'>循環(huán)</b><b class='flag-5'>冗余</b><b class='flag-5'>校驗</b>的自定義指令設計

    并行循環(huán)冗余校驗算法

    循環(huán)冗余校驗(CRC)是一種眾所周知的錯誤檢測代碼,已廣泛用于以太網,PCIe和其他傳輸協(xié)議。現(xiàn)有的基于FPGA的實現(xiàn)解決方案在高性能場
    的頭像 發(fā)表于 02-08 16:42 ?1831次閱讀
    并行<b class='flag-5'>循環(huán)</b><b class='flag-5'>冗余</b><b class='flag-5'>校驗</b>算法

    使用FPGA實現(xiàn)循環(huán)冗余校驗CRC編碼器的設計資料說明

    介紹了循環(huán)冗余校驗(CRC)編碼器的設計及FPGA實現(xiàn)過程,采用原理圖輸入法對整個系統(tǒng)進行了編譯和仿真,并在芯片EPlK30TCl44-3
    發(fā)表于 02-05 17:00 ?19次下載
    使用<b class='flag-5'>FPGA</b>實現(xiàn)<b class='flag-5'>循環(huán)</b><b class='flag-5'>冗余</b><b class='flag-5'>校驗</b>CRC編碼器的設計資料說明

    AN-1277: 利用ADV7850的循環(huán)冗余校驗

    AN-1277: 利用ADV7850的循環(huán)冗余校驗
    發(fā)表于 03-19 07:11 ?5次下載
    AN-1277: 利用ADV7850的<b class='flag-5'>循環(huán)</b><b class='flag-5'>冗余</b><b class='flag-5'>校驗</b>

    Verilog數(shù)字系統(tǒng)基礎設計循環(huán)冗余校驗

    CRC(循環(huán)冗余校驗) CRC介紹 臨時“插播”,后面有實例。 CRC(Cyclic Redundancy Check,循環(huán)冗余
    的頭像 發(fā)表于 08-17 17:08 ?6594次閱讀

    CRC循環(huán)冗余校驗簡介

    CRC 是Cyclic Redundancy Check的縮寫,循環(huán)冗余校驗,用于校驗數(shù)據傳輸?shù)耐暾?。一般情況下在數(shù)據發(fā)送前計算CRC校驗
    的頭像 發(fā)表于 04-24 13:04 ?5892次閱讀
    CRC<b class='flag-5'>循環(huán)</b><b class='flag-5'>冗余</b><b class='flag-5'>校驗</b>簡介

    32位可編程循環(huán)冗余校驗(CRC)

    電子發(fā)燒友網站提供《32位可編程循環(huán)冗余校驗(CRC).pdf》資料免費下載
    發(fā)表于 09-25 11:22 ?0次下載
    32位可編程<b class='flag-5'>循環(huán)</b><b class='flag-5'>冗余</b><b class='flag-5'>校驗</b>(CRC)

    CRC(循環(huán)冗余校驗)應用舉例

    CRC(循環(huán)冗余校驗)應用舉例
    的頭像 發(fā)表于 05-16 16:12 ?602次閱讀