亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        航天用SRAM型FPGA抗單粒子翻轉設計

        2011-06-08 05:04:46
        航天器環(huán)境工程 2011年6期
        關鍵詞:用戶功能設計

        馬 寅

        (中國空間技術研究院 載人航天總體部,北京 100094)

        0 引言

        在日益復雜的航天器電子系統(tǒng)中,用戶可配置的 FPGA由于其功能配置的多樣性與可重復性以及進行海量數據處理時的靈活性與高效性,逐漸承擔起更多的任務。

        然而,采用SRAM工藝的FPGA受空間高能粒子影響較大,其內部配置存儲器的邏輯狀態(tài)常常由于粒子撞擊而翻轉,即發(fā)生單粒子翻轉(SEU)。如果翻轉發(fā)生在邏輯功能區(qū),可能導致航天器的功能中斷;如果翻轉發(fā)生在RAM單元,可能導致數據錯誤或者丟失[1]。

        近年來,針對SEU的容錯研究有了很大發(fā)展。隨著SRAM型FPGA不斷的技術革新,容錯技術也呈現(xiàn)多樣化。總的來說,SRAM型FPGA的容錯技術分為兩大類:第一類是作用于前端的SEU屏蔽,包括各種抗輻射加固結構設計、新的高性能抗輻射CMOS工藝等[2]。這類技術可以帶來抗輻射能力的顯著提高,但一般都要在附帶性能上作出犧牲,如可實現(xiàn)的高速時鐘頻率往往要下降一半以上,實現(xiàn)成本也由于對工藝的更改而大大增加。第二類是作用于后端的SEU恢復,如錯誤檢測和糾正編碼(EDAC),以及 Xilinx公司提出的刷新(scrubbing)、回讀檢測等[3]。這類技術在實現(xiàn)成本和性能犧牲上要優(yōu)于第一類,但由于翻轉形式多樣,同樣不能保證百分之百的容錯。

        只有同時結合兩類容錯技術,既做到前期盡量避免翻轉發(fā)生,也做到后期盡量恢復已經發(fā)生的翻轉以避免其累積,才可以獲得最佳的抗輻射性能。前期屏蔽的設計方法已經比較成熟,本文將著重討論針對Xilinx公司高性能的Virtex系列FPGA的抗SEU設計對配置邏輯部分采用回讀比較后刷新;對 Block RAM部分采用通用自糾錯宏[4-5]的容錯設計方案。

        1 SRAM型FPGA原理簡介

        1.1 配置原理

        SRAM型 FPGA用戶編程功能的實現(xiàn)依賴于數百萬配置鎖存器中存儲的數據。數據幀是配置數據在FPGA配置存儲器中可以讀寫的最小單位。多組配置幀組成一個配置幀列,配置幀列根據功能的不同,細分為CLB幀列、IOB幀列、IOI幀列、GCLK幀列、BRAM幀列和BRAM內連幀列。這些幀列可以被劃分為3類:CLB幀塊(包括GCLK、CLB、IOB、IOI幀列),BRAM 幀塊,BRAM 內連幀塊[6]。一個完整的配置文件就是由所有配置位置的幀信息和一些必要的首位命令字所組成的。

        幀是可尋址的。幀地址分為塊地址(BA)、主地址(MJA)和從地址(MNA)3部分,如圖 1所示。塊地址對應3個幀塊,主地址指明了塊地址下某幀列的位置,從地址指明了幀列中某特定幀的位置。由這3個地址就可以準確地定位到一個配置數據幀了。

        為了引導和輔助配置,F(xiàn)PGA內部設計了一些專用于配置的32 bit的配置寄存器,例如幀地址寄存器(FAR)、幀數據輸入寄存器(FDRI)、控制寄存器(COL)等都對配置、刷新、回讀等操作起關鍵作用。

        圖1 Virtex-II FPGA內部配置架構Fig.1 Virtex-II FPGA configuration architecture

        1.2 刷新

        配置數據中一個位(bit)的翻轉不一定直接導致FPGA發(fā)生功能故障,這是由于翻轉的位置可能恰好不在FPGA編程布線區(qū)。然而,如果不及時采取恢復措施,翻轉位數量會不斷累積,達到一定程度終究會導致功能錯誤。刷新的直接功能就是阻止翻轉位的累積。

        刷新就是在FPGA已經上電配置成功之后,不事先擦除已有的邏輯,就直接重新寫入配置數據且不中斷用戶的功能。理論上來說刷新也屬于部分重配置,目前只有Xilinx公司的Virtex系列FPGA支持刷新[6-7]。

        為了實現(xiàn)刷新,有幾點需要注意:

        1)在設計中不能使用SRL16和分布式RAM。因為刷新會將其初始化,導致其實時狀態(tài)的丟失。

        2)只有JTAG和SelectMAP可以被用于刷新。需要配置端口在配置后保持配置功能,不被復用為普通IO口。另外,啟動時鐘(start-up clock)必須被設置為CCLK。

        1.3 回讀比較

        回讀是在 FPGA配置完成后將其內部配置鎖存器中的數據讀出的過程?;刈x的操作也不會影響FPGA的正常工作[6,8]。

        回讀時,用戶可以讀出所有的配置信息,甚至連用戶存儲單元如LUT RAM、SRL16、BRAM中的實時數據也可以讀出。但是如果在線回讀存儲單元中的實時數據,可能導致FPGA死鎖。一般回讀時將跳過這些部分,對存儲單元的容錯另外處理。

        與刷新相同,回讀只能通過 SelectMAP或JTAG配置接口進行,同樣也需要在配置后進行功能保持。

        回讀出數百萬配置鎖存器中的 FPGA配置信息后,將其與原始配置文件進行逐位對比。如果有不同,則說明可能有單粒子翻轉,且能同時準確定位到是哪一幀數據的哪一位發(fā)生了翻轉。

        1.4 塊RAM容錯設計

        塊RAM(Block RAM,簡稱BRAM)是FPGA內部嵌入的專用RAM區(qū),可以被配置成多種維度和尺寸的RAM,形式也多樣化,單端口RAM、雙端口RAM、FLASH等都可以通過設定不同的參數來實現(xiàn)[6]。

        BRAM 存儲實時數據會隨著工作不斷變化,如果對其進行刷新或回讀操作,可能會因為影響實時數據進而影響到FPGA的正常工作,導致死鎖或其他故障。因此對BRAM的容錯設計不同于配置邏輯部分,簡單的三模冗余設計效果不明顯,一般需要有對實時數據的檢測、存儲和恢復處理功能。Xilinx公司提供了一種自糾錯宏[4],將其應用到BRAM中可以自糾正發(fā)生在BRAM中的翻轉。

        這種BRAM自糾錯宏的容錯算法如圖2所示:

        1)BRAM做三模冗余設計,各BRAM設計有地址計數器端口AB。

        2)各 BRAM 均有一個數據輸出端口 Data_OutB,同時輸出同一個地址的3個BRAM單元數據,用于表決。

        3)從Data_OutB輸出的3個BRAM的數據經表決后作為Din_B的輸入數據。

        4)如果檢測到錯誤,WEB(Write Enable B)激活并糾正BRAM中的翻轉。各BRAM的地址計數器將暫時不工作。

        5)糾錯過后,令地址計數器恢復工作,繼續(xù)計數。開始下一個BRAM地址單元的檢錯糾錯。

        圖2 Block RAM自糾錯宏容錯圖解Fig.2 Diagram of fault-tolerant function of self-correction macro for block RAM

        2 FPGA抗SEU設計

        本文提出的FPGA抗SEU設計綜合了回讀比較(檢錯)、刷新(糾錯)和BRAM自糾錯宏(特殊處理)3種抗SEU措施[7,9-10]。

        如圖3所示,執(zhí)行回讀比較和刷新操作的核心控制由一塊具有高抗輻射性能的芯片完成,如ASIC或反熔絲的 FPGA;核心控制芯片一側是具有高抗輻射性能的存儲芯片,用于存儲 Virtex FPGA的配置文件(.bitsream或其他格式);另一側是Virtex FPGA,完成用戶功能。

        圖3 FPGA抗SEU設計框圖Fig.3 Diagram of FPGA SEU-tolerant design

        容錯處理流程如圖4所示:

        1)系統(tǒng)上電。

        2)控制芯片從外部存儲芯片導入配置文件到FPGA。

        3)完成配置,DONE信號跳高,F(xiàn)PGA開始正常工作。

        4)回讀比較FPGA幀地址寄存器中的數據。如果相同,則進行下一步;不相同,則需要重新上電配置。

        5)回讀比較FPGA狀態(tài)寄存器中數據判讀,如果正常,進行下一步;不正常,則需要重新上電配置。

        6)回讀比較FPGA數百萬配置鎖存器中的數據,和外部存儲芯片中的原始配置信息逐位對比。如果相同,重復回讀比較流程;不相同,則需要刷新糾正。

        圖4 容錯設計流程圖Fig.4 Flow chart of fault-tolerant design

        控制芯片觸發(fā)刷新糾正的流程后,步驟如下:

        1)對FPGA的多個配置寄存器重新設置,做好刷新準備。

        2)以特定的順序將外部存儲芯片中的配置數據寫入FPGA中,完成數百萬配置鎖存器中數據的更新。

        3)再重復執(zhí)行一次刷新,保證對已發(fā)生翻轉的糾正。

        對BRAM采取特殊處理方法,使用Xilinx提供的通用自糾錯宏替換用戶的RAM設計。如一個單端口 RAM,將通過修改綜合后的網表文件(.ngc),被替換成 3個擁有冗余表決和比較、糾錯功能的RAM,之后使用新的網表文件布局布線,完成對BRAM的容錯設計。步驟如下:

        1)設置宏參數,如BRAM的寬度、深度,是否讀使能等。

        2)綜合生成一個地址計數器的網表。使用XTMR工具(Xilinx的TMR實現(xiàn)軟件)對地址計數器做三模冗余。

        3)生成一個BRAM自糾錯模塊的網表。

        4)綜合用戶設計,生成原始網表文件。

        5)用BRAM自糾錯模塊的網表替換用戶設計中的BRAM網表。

        6)使用新網表文件進行布局布線。

        3 抗輻射設計效果評測

        圖 5所示為對回讀比較出錯后進行刷新糾正的效果。產生高電平跳變信號后(圖 5(a)),停止回讀比較,執(zhí)行一次刷新操作;之后再執(zhí)行回讀比較,該錯誤被糾正(圖5(b))。

        為實現(xiàn)本設計,相比普通實現(xiàn)方案,增加了一塊控制芯片,占用了一定的PCB面積;功耗也有相應的增加,執(zhí)行回讀/刷新時將增加約0.25 W;由于使用自糾錯宏對 BRAM 進行處理,占用了 3倍多的芯片內RAM資源。然而,一定的性能犧牲換來了較高的空間應用可靠性。

        文獻[11]對SRAM型FPGA進行了單粒子翻轉地面模擬試驗,軌道分別取低地球軌道(645 km/97.9°)和地球靜止軌道,衛(wèi)星屏蔽厚度取3 mm鋁,空間輻射環(huán)境取 90%最壞情況(M=3)。結果為:FPGA配置區(qū)在低地球軌道,每天會出現(xiàn)2.55次翻轉;在地球靜止軌道,配置區(qū)每天會出現(xiàn) 7.96次翻轉。每翻轉1次,均可導致器件功能不正常。

        圖5 SRAM型FPGA糾錯前后對比Fig.5 Comparison before and after read-back & scrubbing of SRAM FPGA

        文獻[10]中提到Xilinx與JPL聯(lián)合測試計算出的不同軌道情況下Virtex-II 600萬門FPGA的翻轉率,如表1所示。

        表1 XC2V6000在不同軌道的翻轉率Table1 SEU rates of XC2V6000 on different orbits

        按照最惡劣情況考慮,SEU發(fā)生率也在10次/(器件·d)以下。本文提出的容錯設計方法是將對配置存儲數據進行周期性的回讀比較和刷新,而經驗之法是將回讀速率和刷新速率設置在高于翻轉率一個數量級或更高一些[12]。最后實現(xiàn)時,回讀/刷新的速率可以達到300 ms/次,這個速率遠遠大于翻轉率。

        簡單的故障注入(修改個別配置位)能夠驗證功能的可靠性,然而如果應用于航天器,則需要完備的統(tǒng)計結論。

        對SEU緩解措施的評測瓶頸在于故障注入的方法。目前主流的故障注入方法有3種:

        1)采用Jbits SDK軟件。該軟件工具是由Xilinx提供的一個Java類的集合,它為Xilinx Virtex系列FPGA提供配置位流的應用接口(API),使得配置位流可以偽隨機或定位方式修改,從而達到整片故障注入的目的。

        2)代碼仿真。采用VHDL等設計語言來仿真存儲器等相關部件(Latch、FF、Register、RAM)和組合邏輯節(jié)點中的SEU,具體可參考文獻[13-14]。這種方法的優(yōu)點在于故障注入參數靈活、周期短、對所有敏感部分均可自由訪問,但實現(xiàn)較復雜。

        3)外部輻射模擬。外部輻射主要分為激光輻射和高能粒子輻射兩大類。無論哪種方案,首先需要去除芯片外殼封裝。激光能夠穿透較深的深度,且對器件不會有硬件損傷,但是不能穿透金屬工藝層,因此需要選用倒裝芯片;高能粒子束可以穿透金屬,目前北京大學的重離子實驗室以及中國科學院蘭州高能物理研究所等均可以對正面打開封裝的FPGA進行高能粒子輻射,但輻射深度有限,難以達到Virtex-II系列FPGA的敏感深度。

        本文的SEU緩解設計方案目前正在中國科學院國家空間科學與應用研究中心的激光效應實驗室進行激光輻射注入評測,完備的統(tǒng)計結論有待進一步的計算和研究。

        4 結束語

        SRAM型 FPGA對單粒子翻轉敏感,其空間應用必須進行加固和容錯設計。除通常采用的三模冗余及外部增加屏蔽層之外,本文提出用回讀比較進行檢錯、用刷新進行糾錯、用BRAM自糾錯宏作為特殊處理方案的解決措施,在犧牲一定的器件性能的情況下,能達到較好的抗SEU效果,為航天電子產品抗單粒子翻轉設計提供了一種解決方案。

        (References)

        [1]邢克飛, 楊俊, 王躍科, 等.Xilinx SRAM型FPGA抗輻射設計技術研究[J].宇航學報, 2007, 28(1): 123-129

        Xing Kefei, Yang Jun, Wang Yueke, et al.Study on the anti-radiation technique for Xilinx SRAM-based FPGA[J].Journal of Astronautics, 2007, 28(1): 123-129

        [2]馮彥君, 華更新, 楊樺周, 等.國外星載容錯計算機技術及最新進展[C]∥全國第十二屆空間及運動體控制技術學術會議論文集.北京: 中國自動化學會空間及運動體控制專業(yè)委員會, 2006: 452-457

        [3]徐斌, 王貞松, 陳冰冰, 等.適用于空間環(huán)境下的FPGA容錯與重構體系[J].計算機工程, 2007, 33(3): 231-233

        Xu Bin, Wang Zhensong, Chen Bingbing, et al.Architecture for fault-tolerance and reconfiguration of FPGA in aerospace[J].Computer Engineering, 2007,33(3): 231-233

        [4]Xilinx Inc.Single-event upset mitigation for Xilinx FPGA block memories[EB/OL].(2008-03-14).http://www.xilinx.com/support/documentation/application_notes/xapp962.pdf

        [5]張鈺, 鄭陽明, 黃正亮, 等.皮衛(wèi)星星載計算機存儲模塊的容錯結構設計[J].宇航學報, 2008, 29(6): 2057-2061

        Zhang Yu, Zheng Yangming, Huang Zhengliang, et al.Fault-tolerant design of memory module for pica-satellite on-board computer[J].Journal of Astronautics, 2008,29(6): 2057-2061

        [6]Xilinx Inc.Virtex-II platform FPGA user guide[EB/OL].(2007-11-05).http://www.xilinx.com/support/documentation/user_guides/ug002.pdf

        [7]Xilinx Inc.Correcting single-event upsets in Virtex-II platform FPGA configuration memory[EB/OL],(2007-02-19).http://www.xilinx.com/support/documentation/application_notes/xapp779.pdf

        [8]Carmichael C.SEU mitigation techniques for Virtex FPGAs in space applications[C]//Proc of 2ndMAPLD(poster paper), 1999: 24-34

        [9]Bolchini C, Miele A, Santambrogio M D.TMR and partial dynamic recongurationto mitigate SEU faults in FPGAs[C]//Proc of 22ndIEEE International Symposium on Defect and Fault-tolerance in VLSI Systems.Washington D.C., USA, 2007: 87-95

        [10]Xilinx Inc.Xilinx defense and aerospace presentation[EB/OL].[2011-10-06].http://www.xilinx.com/publications/prod_mktg/MilAero.pdf

        [11]于慶奎, 張大宇, 張海明, 等.SRAM FPGA電離輻射效應試驗研究[J].航天器環(huán)境工程, 2009, 26(3): 229-231

        Yu Qingkui, Zhang Dayu, Zhang Haiming, et al.Tests on total dose effects and single event effects on SRAM FPGA[J].Spacecraft Environment Engineering, 2009,26(3): 229-231

        [12]Kastensmidt F L, Carro L, Reis R.Fault-tolerance techniques for SRAM-based FPGAs[M].Springer, 2006

        [13]DeLong T A, Johnson B W, Profeta J A.A fault injection technique for VHDL behavioral-level models[J].IEEE Design & Test of Computers, 1996,13(4): 24-33

        [14]Lima F, Rezgui S, Carro L.On the use of VHDL simulation and emulation to derive error rates[C]//Proceedings of European Conference on Radiation and Its Effects on Components and Systems, 2001: 253-260

        猜你喜歡
        用戶功能設計
        也談詩的“功能”
        中華詩詞(2022年6期)2022-12-31 06:41:24
        瞞天過海——仿生設計萌到家
        藝術啟蒙(2018年7期)2018-08-23 09:14:18
        設計秀
        海峽姐妹(2017年7期)2017-07-31 19:08:17
        關于非首都功能疏解的幾點思考
        有種設計叫而專
        Coco薇(2017年5期)2017-06-05 08:53:16
        關注用戶
        商用汽車(2016年11期)2016-12-19 01:20:16
        關注用戶
        商用汽車(2016年6期)2016-06-29 09:18:54
        關注用戶
        商用汽車(2016年4期)2016-05-09 01:23:12
        如何獲取一億海外用戶
        中西醫(yī)結合治療甲狀腺功能亢進癥31例
        午夜视频国产在线观看| 2020久久精品亚洲热综合一本| 久久精品国产视频在热| 69精品国产乱码久久久| 99麻豆久久久国产精品免费| 国产无遮挡又黄又爽在线视频| 一区五码在线| 青青草免费观看视频免费| 亚洲欧洲日产国码av系列天堂 | 18禁超污无遮挡无码免费游戏| 久久这里都是精品一区| 亚洲国产日韩综合天堂| 亚洲av无码日韩av无码网站冲| 天堂影院一区二区三区四区| 久久精品国产72国产精福利| 色婷婷亚洲精品综合影院| 亚洲av无码乱码在线观看牲色| 免费国精产品自偷自偷免费看| 无码专区亚洲avl| 久久综合另类激情人妖| 亚洲中文字幕无码av| 99re在线视频播放| 国产目拍亚洲精品二区| 国产亚洲精品97在线视频一| 极品新婚夜少妇真紧| 日韩一区二区肥| 9l国产自产一区二区三区| 深夜爽爽动态图无遮无挡| 真实国产乱啪福利露脸| 国产AV无码无遮挡毛片| 日本一区二区三区四区高清不卡| 黑人上司粗大拔不出来电影| 国产综合自拍| 亚洲一区二区三区在线激情| 99精品国产成人一区二区| 国产精品午睡沙发系列| 久久精品国产一区二区涩涩 | 国产精品9999久久久久仙踪林| 少妇的丰满3中文字幕| 国产一区二区三区免费小视频| 一本色综合网久久|