• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      Virtex FPGA抗單粒子翻轉(zhuǎn)技術(shù)

      2014-01-01 03:09:48龐宗強(qiáng)
      關(guān)鍵詞:寄存器邏輯粒子

      高 鵬,龐宗強(qiáng),周 同

      (中國(guó)電子科技集團(tuán)公司第五十四研究所,河北石家莊050081)

      0 引言

      衛(wèi)星運(yùn)行在宇宙空間中,空間環(huán)境中的各種高能粒子通過(guò)衛(wèi)星時(shí)可能會(huì)影響半導(dǎo)體電路的邏輯狀態(tài)[1],如單粒子翻轉(zhuǎn)現(xiàn)象[2](SEU:Single Events Upset),雖然只引起存儲(chǔ)器內(nèi)容的“0”、“1”翻轉(zhuǎn),但是卻可能影響整個(gè)系統(tǒng)的正常工作。隨著技術(shù)的進(jìn)步,對(duì)星載信號(hào)處理能力的要求越來(lái)越高,F(xiàn)PGA也越來(lái)越多地應(yīng)用到航天領(lǐng)域,成為星載信號(hào)處理和控制的關(guān)鍵部件。目前,從FPGA在星載型號(hào)產(chǎn)品中的使用情況來(lái)看,單粒子效應(yīng)成為了影響大規(guī)模FPGA可用性和可靠性的主要因素。FPGA中用戶(hù)程序是存儲(chǔ)在數(shù)以百萬(wàn)計(jì)的配置單元中,單粒子效應(yīng)導(dǎo)致的一個(gè)配置陣列的翻轉(zhuǎn)會(huì)使得整個(gè)程序失效,為了解決單粒子效應(yīng)帶來(lái)的此種問(wèn)題,可以利用工具對(duì)程序網(wǎng)表進(jìn)行冗余備份,或者人工進(jìn)行設(shè)計(jì)冗余,Virtex系列FPGA可在SelectMAP模式下對(duì)FPGA進(jìn)行部分重配置[3],或者采用自主刷新對(duì)FPGA進(jìn)行部分重配置,三模冗余和部分重配置相結(jié)合使用成為目前抗單粒子翻轉(zhuǎn)的主流技術(shù)。隨著星載處理系統(tǒng)的復(fù)雜程度日益增高,自主刷新[4]和外控刷新相比節(jié)省了控制FPGA,提高了硬件資源和功耗的利用率。

      1 抗單粒子翻轉(zhuǎn)原理

      1.1 部分重配置

      配置幀是配置數(shù)據(jù)在Virtex FPGA配置存儲(chǔ)器中可以讀寫(xiě)的最小單位,多組配置幀組成一個(gè)配置幀列[5],配置幀列分為 CLB幀列、IOB幀列、GCLK幀列、DSP幀列、BRAM內(nèi)連幀列、BRAM幀列。一個(gè)完整的配置文件就是由所有配置位置得幀信息和一些必要的首尾控制字組成。在不影響當(dāng)前程序正常運(yùn)行條件下,其中CLB幀列、IOB幀列、GCLK幀列、DSP幀列、BRAM內(nèi)連幀列為可在線(xiàn)重配置幀(在線(xiàn)重配置不影響FPGA正常功能),BRAM幀列為不可在線(xiàn)重配置幀(在線(xiàn)重配置會(huì)造成FPGA RAM區(qū)數(shù)據(jù)錯(cuò)誤)。

      FPGA加載過(guò)程中先把bit文件中的邏輯配置數(shù)據(jù)寫(xiě)入邏輯配置寄存器中,然后把初始化的數(shù)據(jù)流寫(xiě)入數(shù)據(jù)寄存器中。當(dāng)單粒子翻轉(zhuǎn)發(fā)生在配置邏輯寄存器中時(shí)會(huì)發(fā)生邏輯錯(cuò)誤,發(fā)生在數(shù)據(jù)寄存器中時(shí)會(huì)產(chǎn)生數(shù)據(jù)流的某些比特翻轉(zhuǎn),所以關(guān)注點(diǎn)放到前者,部分重配的過(guò)程就是在不中斷FPGA正常運(yùn)行條件下,對(duì)FPGA中的邏輯配置寄存器重寫(xiě)。因此對(duì)可在線(xiàn)重配置幀進(jìn)行重配置,可糾正單粒子翻轉(zhuǎn)引起的錯(cuò)誤,消除了錯(cuò)誤的累積。

      1.2 冗余設(shè)計(jì)

      FPGA冗余設(shè)計(jì)包括資源冗余設(shè)計(jì)和時(shí)間冗余設(shè)計(jì)。資源冗余設(shè)計(jì)是通過(guò)將FPGA資源備份實(shí)現(xiàn)某項(xiàng)功能,當(dāng)一處發(fā)生錯(cuò)誤時(shí)其他備份資源可保證FPGA正常工作,一般采用三模冗余手段[6]。三模冗余設(shè)計(jì)采用3選2邏輯備份,對(duì)及時(shí)性錯(cuò)誤有很好的免疫力,因此在線(xiàn)重配置結(jié)合三模冗余設(shè)計(jì)為Virtex FPGA抗單粒子翻轉(zhuǎn)的有效手段,當(dāng)FPGA資源緊張時(shí)對(duì)關(guān)鍵部分做三模冗余設(shè)計(jì),次要部分通過(guò)部分重配消除錯(cuò)誤累積。

      2 部分重配置和三模冗余設(shè)計(jì)

      2.1 定時(shí)刷新與回讀刷新比較

      部分重配置具體實(shí)現(xiàn)方案有2種:

      第一種:FPGA上電加載后定時(shí)對(duì)配置寄存器進(jìn)行部分重配,當(dāng)發(fā)生單粒子翻轉(zhuǎn)后下一次部分重配可糾錯(cuò);第二種:FPGA上電加載后定時(shí)對(duì)配置寄存器進(jìn)行回讀[7]驗(yàn)證,當(dāng)發(fā)現(xiàn)回讀數(shù)據(jù)發(fā)生錯(cuò)誤時(shí)再對(duì)配置寄存器進(jìn)行部分重配,并實(shí)時(shí)監(jiān)測(cè)三模表決反饋指示,當(dāng)表決反饋指示錯(cuò)誤時(shí)說(shuō)明有單粒子發(fā)生,立即對(duì)FPGA進(jìn)行部分重配。

      2種方案的比較:第一種方案實(shí)現(xiàn)簡(jiǎn)單,只需要按照選擇的時(shí)間間隔定時(shí)重新配置可重配置區(qū),由于刷新過(guò)程中刷新控制邏輯或者Virtex FPGA的SelectMAP配置控制邏輯會(huì)受到單粒子的影響,而造成刷新數(shù)據(jù)流出錯(cuò),所以應(yīng)盡量縮短總的刷新時(shí)間,因而該方法帶來(lái)的問(wèn)題是刷新的次數(shù)多,從而造成總的刷新時(shí)間較長(zhǎng)。解決方法為縮短每次的刷新時(shí)間或延長(zhǎng)刷新周期,每次的刷新時(shí)間由刷新數(shù)據(jù)量和刷新速率決定。

      第二種方案只有在檢測(cè)到單粒子效應(yīng)產(chǎn)生時(shí)才進(jìn)行刷新,因此刷新的次數(shù)大大減少,可以忽略刷新過(guò)程中單粒子帶來(lái)配置數(shù)據(jù)出錯(cuò)的問(wèn)題。此方案實(shí)現(xiàn)可采用2種方法,方法1:將FPGA中的配置存儲(chǔ)區(qū)中的數(shù)據(jù)回讀出來(lái)和.rbb文件進(jìn)行比較,比較過(guò)程中需要屏蔽文件.msk,這2個(gè)文件每一個(gè)都與FPGA配置文件大小相似,因此該方法需要的存儲(chǔ)區(qū)需求量很大,特別是大容量的FPGA不宜采用此方法。方法2:將FPGA中的配置存儲(chǔ)區(qū)中的數(shù)據(jù)回讀出來(lái)做CRC,得到單幀或多幀數(shù)據(jù)的CRC結(jié)果,將此結(jié)果存儲(chǔ)下來(lái),抗輻照加固FPGA將存儲(chǔ)的CRC結(jié)果和回讀計(jì)算的CRC做比對(duì),比對(duì)一致時(shí)說(shuō)明沒(méi)有單粒子翻轉(zhuǎn),反之說(shuō)明有單粒子翻轉(zhuǎn)產(chǎn)生,啟動(dòng)刷新。此方法的缺點(diǎn)是技術(shù)難度較大,需要設(shè)計(jì)師找到合適的回讀控制字以便每次的回讀數(shù)據(jù)保持一致。

      2.2 外控刷新與自主刷新比較

      通常FPGA配置存儲(chǔ)器的回讀與重配置由外部對(duì)單粒子效應(yīng)不敏感的器件來(lái)控制,由此需要增加額外的配置控制FPGA,這種方案增加了系統(tǒng)復(fù)雜度,功耗大。Virtex FPGA 提供了 ICAP[8]模塊,可以通過(guò)ICAP從芯片內(nèi)部訪問(wèn)配置存儲(chǔ)器,從而實(shí)現(xiàn)回讀與重配置的自主管理。

      圖1為外部控制刷新的硬件原理圖,Prom用于存儲(chǔ)FPGA的配置和刷新的數(shù)據(jù);抗輻照加固FPGA用于實(shí)現(xiàn)Virtex FPGA的初始全部配置、配置數(shù)據(jù)回讀、CRC校驗(yàn)、刷新功能。該器件可選用高可靠的FPGA或抗輻射加固的專(zhuān)用集成電路,Virtex FPGA工作在SelectMAP從模式下M2 M1 M0=“110”。

      圖1 外部控制刷新硬件原理圖

      圖2為自主刷新硬件原理圖,Virtex FPGA工作在SelectMAP主模式下M2 M1 M0=“011”,上電加載為主并模式,上電加載完成之后FPGA的回讀和刷新功能由刷新控制邏輯模塊控制ICAP接口完成,刷新控制邏輯模塊和外部控制刷新中的抗輻照加固FPGA功能相似,不同之處是上電加載是自主完成,自主刷新方案等效于把外部控制刷新FPGA的功能放到了Virtex FPGA中,硬件上減少了一片抗輻照加固FPGA。首先刷新控制邏輯模塊需要具有很好的抗單粒子翻轉(zhuǎn)性能,才能保證對(duì)其他資源刷新無(wú)誤,因此必須對(duì)刷新控制邏輯模塊做三模冗余或者更多模冗余設(shè)計(jì),刷新控制邏輯模塊占用資源很少,可以容忍多模冗余,刷新過(guò)程中同時(shí)也對(duì)自身進(jìn)行刷新,保證了刷新控制邏輯模塊不會(huì)因單粒子效應(yīng)產(chǎn)生功能異常。

      圖2 自主刷新硬件原理圖

      刷新控制邏輯模塊工作流程:上電加載成功后定時(shí)器開(kāi)始計(jì)時(shí),計(jì)時(shí)時(shí)間到時(shí)控制ICAP回讀FPGA可重配置區(qū)的數(shù)據(jù)并計(jì)算CRC,計(jì)算出的CRC結(jié)果和PROM中存儲(chǔ)的固定CRC進(jìn)行比較,如2個(gè)CRC結(jié)果一致則說(shuō)明沒(méi)有單粒子發(fā)生,不啟動(dòng)刷新,否則啟動(dòng)一次刷新,刷新時(shí)為寫(xiě)ICAP,另外當(dāng)三模表決反饋錯(cuò)誤產(chǎn)生時(shí)啟動(dòng)一次刷新。

      2.3 三模冗余設(shè)計(jì)

      常用的FPGA可綜合代碼級(jí)單粒子效應(yīng)防護(hù)設(shè)計(jì)有:TMR[9]、時(shí)間三模冗余和冗余編碼等。

      TMR設(shè)計(jì)就是將原先設(shè)計(jì)中一塊邏輯電路復(fù)制成3份,如框圖中的冗余邏輯塊1、冗余邏輯塊2和冗余邏輯塊3,同時(shí)運(yùn)行這3部分邏輯電路,輸出結(jié)果進(jìn)行大數(shù)表決,表決出一個(gè)置信度高的結(jié)果輸出。同時(shí)檢測(cè)出哪個(gè)冗余邏輯塊發(fā)生翻轉(zhuǎn)并反饋。

      如圖3所示,TMR是提高單粒子環(huán)境下FPGA可靠性很有效的措施,是減緩單粒子SEU的重要手段之一,只是會(huì)耗用很多FPGA資源,全面TMR設(shè)計(jì)時(shí)對(duì)資源的耗用約為無(wú)冗余措施時(shí)的3.2~3.5倍,采用部分TMR設(shè)計(jì),可以適當(dāng)降低資源的耗用。采用TMR設(shè)計(jì)的比重越高,F(xiàn)PGA運(yùn)行的可靠度越高,資源耗用和可靠性需求兩方面要權(quán)衡取舍。

      圖3 三模冗余原理

      圖4為時(shí)間三模冗余設(shè)計(jì)實(shí)例,表決器為全0表決,即當(dāng)輸入 a、b和c均為‘0’時(shí),輸出 out才為‘0’,否則輸出為‘1’,解決了瞬態(tài)脈沖引起的FPGA觸發(fā)器的翻轉(zhuǎn),冗余編碼設(shè)計(jì)針對(duì)某些固定的存儲(chǔ)數(shù)據(jù)或者狀態(tài)機(jī)進(jìn)行冗余編碼,防止Block RAM中不刷新的數(shù)據(jù)被打翻,重要的狀態(tài)機(jī)進(jìn)行冗余編碼后,一個(gè)bit位的瞬時(shí)翻轉(zhuǎn)不會(huì)造成狀態(tài)機(jī)異常跳轉(zhuǎn)。

      圖4 時(shí)間三模冗余設(shè)計(jì)

      3 單粒子效應(yīng)故障注入的驗(yàn)證

      故障注入試驗(yàn)可做為衛(wèi)星搭載或地面模擬試驗(yàn)之前的研究方法。針對(duì)JTAG口[10]注錯(cuò)測(cè)試提出了2種方案,第一種方案為開(kāi)發(fā)專(zhuān)門(mén)的JTAG操作軟件,可以靈活控制JTAG口實(shí)時(shí)注錯(cuò);第二種方案通過(guò)iMPACT界面手動(dòng)下載注錯(cuò)程序,刷新糾錯(cuò)后再通過(guò)iMPACT界面回讀比對(duì)結(jié)果,實(shí)時(shí)性不好,注錯(cuò)效率低。如圖5所示,被測(cè)FPGA上電后通過(guò)selectMAP主模式加載PROM中的bit文件,加載成功后自刷新程序開(kāi)始運(yùn)行。

      圖5 單粒子效應(yīng)故障注入系統(tǒng)結(jié)構(gòu)圖

      第一種方案,故障生成與結(jié)果分析計(jì)算機(jī)通過(guò)JTAG口將逐幀的錯(cuò)誤注入到被測(cè)FPGA中,并回讀比對(duì),由于注錯(cuò)回讀為逐幀進(jìn)行,不會(huì)中斷FPGA正常運(yùn)行,同時(shí)檢測(cè)FPGA的功能是否正常;第二種方案,故障生成與結(jié)果分析計(jì)算機(jī)通過(guò)JTAG口將含有錯(cuò)誤幀的完整bit文件通過(guò)iMPACT界面下載到被測(cè)FPGA中,等待刷新控制FPGA刷新完成后,計(jì)算機(jī)通過(guò)JTAG口回讀bit文件,并和正確的bit文件做比對(duì),比對(duì)時(shí)需要有.MSK文件。此方案為最簡(jiǎn)單的注錯(cuò)檢測(cè)方法,不需要設(shè)計(jì)專(zhuān)門(mén)的注錯(cuò)FPGA平臺(tái),缺點(diǎn)是計(jì)算機(jī)通過(guò)JTAG口下載注錯(cuò)程序或回讀時(shí),均會(huì)中斷被測(cè)FPGA的正常運(yùn)行,并且需要人工操作完成,由于數(shù)據(jù)幀數(shù)量大,此方法不適合做全面的注錯(cuò)測(cè)試。

      4 結(jié)束語(yǔ)

      針對(duì)Virtex系列FPGA單粒子翻轉(zhuǎn)問(wèn)題,比較了定時(shí)刷新和回讀刷新2種實(shí)現(xiàn)方案,對(duì)FPGA進(jìn)行回讀,能夠檢測(cè)FPGA是否發(fā)生了單粒子翻轉(zhuǎn),而對(duì)FPGA進(jìn)行部分重配置,則降低了FPGA的單粒子累積效應(yīng),并修復(fù)了受到單粒子翻轉(zhuǎn)影響的系統(tǒng)功能。在實(shí)現(xiàn)方式上提出了自主刷新方式,以及詳細(xì)的說(shuō)明和對(duì)比,改進(jìn)了外控刷新方式的抗單粒子技術(shù)手段,減少了硬件資源的使用。通過(guò)JTAG口故障注入試驗(yàn)驗(yàn)證了自主刷新方案的可行性,為進(jìn)一步研究FPGA的空間應(yīng)用提供技術(shù)參考。

      [1] 刑克飛.空間輻射效應(yīng)對(duì)SRAM 型FPGA的影響[J].微電子學(xué)與計(jì)算機(jī),2006,23(12):107 -110.

      [2] Xilinx,Inc.XAPP988,Correcting Single-Event upsets in Virtex-4 platform FPGA configuration memory[S].

      [3] 王浩波,郭金鵬.星載環(huán)境下可重構(gòu)技術(shù)分析[J].無(wú)線(xiàn)電工程,2012,42(1):40-42.

      [4] Xilinx,Inc.XAPP1088,Correcting Single - Event Upsets in Virtex -4 FPGA Configuration Memory[S].

      [5] Xilinx,Inc.XAPP779,Correcting Single - Event Upsets in Virtex - II Platform FPGA Configuration Memory[S].

      [6] 齊培紅,劉金剛.三模冗余中局部重構(gòu)及模塊同步技術(shù)研究[J].電子設(shè)計(jì),2010,26(2-2):183 -185.

      [7] Xilinx,Inc.XAPP071,Virtex -4 FPGA Configuration User Guide[S].

      [8] Xilinx,Inc.XAPP989,Correcting Single-Event Upsets with a Self-Hosting Configuration Management Core[S].

      [9] Xilinx Inc.Xilinx TMRTooluserguide[S].UG156,2006.

      [10]周秀娟,葉榮潤(rùn).Virtex-Ⅱ系列FPGA的回讀與部分重配置[J].現(xiàn)代無(wú)線(xiàn)電技術(shù),2012,35(13):159-161.

      猜你喜歡
      寄存器邏輯粒子
      刑事印證證明準(zhǔn)確達(dá)成的邏輯反思
      法律方法(2022年2期)2022-10-20 06:44:24
      邏輯
      創(chuàng)新的邏輯
      Lite寄存器模型的設(shè)計(jì)與實(shí)現(xiàn)
      基于粒子群優(yōu)化的橋式起重機(jī)模糊PID控制
      基于粒子群優(yōu)化極點(diǎn)配置的空燃比輸出反饋控制
      女人買(mǎi)買(mǎi)買(mǎi)的神邏輯
      37°女人(2017年11期)2017-11-14 20:27:40
      分簇結(jié)構(gòu)向量寄存器分配策略研究*
      基于Matlab的α粒子的散射實(shí)驗(yàn)?zāi)M
      物理與工程(2014年4期)2014-02-27 11:23:08
      基于兩粒子糾纏態(tài)隱形傳送四粒子GHZ態(tài)
      牟定县| 茶陵县| 墨竹工卡县| 澄迈县| 武平县| 东港市| 东兰县| 休宁县| 禄丰县| 金秀| 丰原市| 广昌县| 若羌县| 兰考县| 大竹县| 长葛市| 隆子县| 新建县| 南宁市| 南郑县| 河北区| 吴川市| 朝阳区| 乌兰察布市| 宜丰县| 夏津县| 双桥区| 河池市| 长岛县| 进贤县| 锡林郭勒盟| 阜城县| 中超| 南涧| 盐津县| 仁寿县| 宜昌市| 沅江市| 武宁县| 通州市| 商洛市|