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

        ?

        基于SRAM型FPGA的多源自主重構(gòu)方法

        2022-04-07 12:34:08李璐芳周雙喜黑花閣喻琪超林長青孫勝利
        關(guān)鍵詞:熔絲存儲器寄存器

        李璐芳, 周雙喜, 黑花閣, 喻琪超,林長青, 孫勝利,*

        (1. 中國科學(xué)院上海技術(shù)物理研究所, 上海 200083; 2. 中國科學(xué)院智能紅外感知重點(diǎn)實(shí)驗(yàn)室,上海 200083; 3. 中國科學(xué)院大學(xué), 北京 100049)

        0 引 言

        紅外遙感相機(jī)在軌運(yùn)行時(shí),需要長時(shí)間對目標(biāo)進(jìn)行觀測成像,國內(nèi)外對航天故障的統(tǒng)計(jì)顯示:約有40%的故障源自太空輻射,太空中的單粒子翻轉(zhuǎn)(single event upset, SEU)將對紅外遙感相機(jī)運(yùn)行狀態(tài)、圖像質(zhì)量產(chǎn)生影響。在紅外遙感相機(jī)中應(yīng)用最為廣泛的是Xilinx公司Virtex系列靜態(tài)隨機(jī)存儲器(static random-access memory,SRAM)型現(xiàn)場可編程邏輯門陣列(field programmable gate array, FPGA),SRAM工藝的FPGA受空間高能粒子影響較大,內(nèi)部配置存儲器的邏輯狀態(tài)常常受單粒子的影響,可能會影響整個(gè)系統(tǒng)的正常工作。航天高可靠性應(yīng)用的設(shè)計(jì)必須要考慮單粒子效應(yīng)對FPGA配置存儲器的影響。配置存儲器的打翻可能會導(dǎo)致器件的功能和性能發(fā)生變化,SRAM型FPGA除了配置存儲器易受到單粒子效應(yīng)的影響外,其內(nèi)部包含的鎖存器、觸發(fā)器、塊RAM存儲等用戶可用資源也易受單粒子效應(yīng)的影響,這些內(nèi)部資源受單粒子效應(yīng)影響可能導(dǎo)致器件應(yīng)用的功能發(fā)生中斷。由于FPGA所實(shí)現(xiàn)功能取決于存儲在器件中數(shù)百萬個(gè)配置存儲單元中的數(shù)據(jù),所以配置存儲器陣列發(fā)生SEU可能會對預(yù)期的功能產(chǎn)生不利影響。

        雖然降低SEU影響的措施有很多種,比如可以通過三模冗余(triple modular redundancy, TMR)對內(nèi)部關(guān)鍵寄存器進(jìn)行三模冗余設(shè)計(jì),或者使用多片F(xiàn)PGA進(jìn)行備份,但是必須通過刷新糾正SEU所導(dǎo)致的錯(cuò)誤,否則錯(cuò)誤數(shù)會越來越多。雖然TMR能夠提高FPGA可靠性,但是也會降低經(jīng)過布局布線后的最大時(shí)鐘速度,增加FPGA的資源使用量,增大芯片功耗。如果FPGA邏輯設(shè)計(jì)本身就很復(fù)雜,則TMR設(shè)計(jì)后所帶來的資源和功耗往往是系統(tǒng)設(shè)計(jì)所無法容忍的。因此在具體設(shè)計(jì)時(shí),可針對部分關(guān)鍵邏輯和電路進(jìn)行TMR加固設(shè)計(jì)。國內(nèi)外多個(gè)研究機(jī)構(gòu)對該類型FPGA進(jìn)行了單粒子翻轉(zhuǎn)特性的試驗(yàn),其中某型號衛(wèi)星在軌數(shù)據(jù)表明,在未做抗單粒子加固措施的條件下,在軌測試期間(共73天),400萬門FPGA共發(fā)生496次翻轉(zhuǎn)事件,60萬門FPGA共發(fā)生74次翻轉(zhuǎn)事件,雖然小門數(shù)FPGA翻轉(zhuǎn)概率小,但是研究數(shù)據(jù)表明用多片小門數(shù)FPGA代替一片大門數(shù)FPGA的方法并不能降低SEU次數(shù),因此在軌應(yīng)用時(shí)需要采取一定的抗單粒子加固措施。

        SRAM型FPGA器件在實(shí)時(shí)回讀(功能不中斷的回讀)時(shí),SRAM cell易受噪聲影響,導(dǎo)致存儲值翻轉(zhuǎn),甚至導(dǎo)致系統(tǒng)功能錯(cuò)誤,航天應(yīng)用時(shí),需在保證系統(tǒng)功能不中斷的前提下,進(jìn)行抗SEU的加固。因此,不推薦在航天應(yīng)用時(shí),通過持續(xù)的回讀配置存儲值,判斷是否發(fā)生SEU,依據(jù)回讀比較結(jié)果再進(jìn)行SEU系統(tǒng)加固。SRAM cell在寫操作時(shí),不易受到噪聲影響,所以推薦在航天應(yīng)用時(shí),系統(tǒng)功能不中斷的情況下,通過對配置存儲器進(jìn)行刷新的方式,來恢復(fù)發(fā)生SEU翻轉(zhuǎn)的SRAM cell存儲值,消除SRAM cell發(fā)生SEU后的累計(jì)錯(cuò)誤位。經(jīng)研究數(shù)據(jù)表明,SRAM 型FPGA 對SEU敏感,同時(shí)存在單粒子功能中斷,對于紅外遙感相機(jī)圖像信息處理電路等關(guān)鍵部位,應(yīng)慎用SRAM 型FPGA,若使用則需要相應(yīng)的加固技術(shù)。通過重配置的方法可以有效地減緩SEU與單粒子功能中斷(single event function interrupt, SEFI)的影響,所以動態(tài)重配置是防護(hù)SRAM 型FPGA SEU與SEFI的有效手段。

        國內(nèi)比較常用的加固技術(shù)采用TMR+scrubbing+reload的容錯(cuò)系統(tǒng),文獻(xiàn)[5]使用配置PROM作為外部配置存儲器,使用300萬門大容量Virtex-2系列作為實(shí)現(xiàn)應(yīng)用設(shè)計(jì)的FPGA,用反熔絲FPGA對Virtex-2系列FPGA的配置數(shù)據(jù)進(jìn)行毫秒級周期刷新。文獻(xiàn)[19]綜述了幾種FPGA抗SEU的設(shè)計(jì)方法,FPGA的TMR設(shè)計(jì)、重配置、自動刷新技術(shù)、回讀和刷新技術(shù)以及局部動態(tài)可重構(gòu)技術(shù)等,通過采用以上一種或者多種容錯(cuò)設(shè)計(jì)方法,可以增強(qiáng)FPGA對于空間SEU的防護(hù)能力,有利于提高紅外遙感相機(jī)在軌工作的可靠性。文獻(xiàn)[20]對常規(guī)采用的配置刷新方式、回讀刷新和定時(shí)刷新進(jìn)行了對比,得出結(jié)論:定時(shí)刷新方法簡單可靠,并且占用存儲空間小。文獻(xiàn)[21]提出了FPGA自主刷新+三模冗余的解決方案,在保證FPGA抗單粒子性能的基礎(chǔ)上提高了系統(tǒng)的資源利用率。文獻(xiàn)[22]提出了FPGA可重構(gòu)技術(shù)的分類以及動態(tài)可重構(gòu)技術(shù)的原理,并在此基礎(chǔ)之上選取Virtex-4系列FPGA 給出一種動態(tài)重構(gòu)的應(yīng)用以及具體實(shí)現(xiàn)。

        近幾年,國內(nèi)772所和復(fù)旦微電子等為了應(yīng)對SRAM型FPGA在軌SEU問題,推出了針對Xilinx公司Virtex系列以及國產(chǎn)相應(yīng)FPGA的刷新芯片,可以實(shí)現(xiàn)上電配置、定時(shí)刷新、回讀刷新、在軌重構(gòu)功能,但該刷新芯片僅支持特定型號的存儲器件和Xilinx公司一些主流的FPGA。

        1 基于SRAM型FPGA多源自主重構(gòu)的架構(gòu)

        綜上,對各種解決SEU的方法進(jìn)行對比,如表1所示,并得出以下結(jié)論。

        對于以上各種解決SEU的方法,總結(jié)出以下幾點(diǎn):

        (1) 抗SEU的加固技術(shù)主要采取如表1中的一種或者幾種組合措施。因此,只有根據(jù)實(shí)際需求情況,各種措施共同配合,才能達(dá)到較好的抗SEU效果。

        (2) 由于紅外遙感相機(jī)中不同規(guī)模探測器對圖像信息獲取以及處理能力不同,因此對FPGA的資源大小要求也不同。如果反熔絲FPGA的核心算法不兼容SRAM FPGA型號,那么每當(dāng)使用不同資源類型大小的SRAM FPGA 都需要對反熔絲FPGA核心算法進(jìn)行升級。

        (3) 紅外遙感相機(jī)在軌運(yùn)行時(shí)由于壽命、故障等原因?qū)е绿綔y器性能衰減,造成圖像性能參數(shù)發(fā)生變化不滿足使用要求時(shí),需要在軌進(jìn)行調(diào)整,使圖像性能滿足使用要求。

        (4) 國產(chǎn)刷新芯片可滿足以上基本功能,但只支持特定型號的NOR FLASH或者SPI FLASH等存儲器件,選擇性有限。

        (5) 國產(chǎn)刷新芯片僅支持Xilinx公司主流FPGA以及國產(chǎn)相應(yīng)的FPGA,仍不能覆蓋所有相關(guān)FPGA型號的需求。

        表1 方案對比Table 1 Option comparison

        針對以上問題,結(jié)合實(shí)際工程應(yīng)用需求,設(shè)計(jì)了一種基于SRAM型FPGA的多源自主刷新重構(gòu)方法,不僅可以實(shí)時(shí)監(jiān)測SRAM型FPGA的健康狀況,在軌回讀SRAM型FPGA工作寄存器的狀態(tài),還可以對SRAM型FPGA進(jìn)行全部重配置和時(shí)間可設(shè)置的動態(tài)部分配置,并且對SRAM型FPGA內(nèi)的關(guān)鍵寄存器進(jìn)行TMR設(shè)計(jì)。除此之外還有以下優(yōu)點(diǎn):

        (1) 可根據(jù)器件IDCODE自主識別所用SRAM型FPGA的型號。針對紅外遙感相機(jī)中不同規(guī)模的探測器對圖像信息獲取以及處理要求不同,對FPGA資源需求也不相同,如果采取一片反熔絲FPGA管理幾片不同類型的SRAM型FPGA,不僅增加了硬件資源,還增加了設(shè)計(jì)難度。因此為了更好提高本架構(gòu)的系統(tǒng)兼容性,本設(shè)計(jì)可以對多種型號的不同資源類型大小SRAM型FPGA(比如Virtex-2/4/5/7全系列等)的IDCODE進(jìn)行自主識別并對其進(jìn)行重構(gòu)和刷新,提高系統(tǒng)沿用性。

        (2) 可選擇多源外部程序存儲器進(jìn)行定時(shí)刷新以及重構(gòu),如果采用的多源存儲器都為PROM,那么程序燒寫完成后,不能根據(jù)在軌使用需求對SRAM型FPGA內(nèi)的程序進(jìn)行上注更新,因此選擇NOR FLASH對SRAM型FPGA內(nèi)的程序進(jìn)行上注存儲,根據(jù)使用需求對上注的程序選擇自主重構(gòu)。當(dāng)NOR FLASH內(nèi)上注程序不滿足使用需求時(shí),又可切回PROM對SRAM型FPGA內(nèi)的程序進(jìn)行更新,并且兼容各種可上注NOR FLASH型號。因此該項(xiàng)功能可增加系統(tǒng)靈活性、提高系統(tǒng)可靠性。

        (3) 通過在軌監(jiān)測紅外遙感相機(jī)圖像性能參數(shù),當(dāng)發(fā)生變化不滿足使用需求時(shí),對上注程序進(jìn)行自主重構(gòu),使圖像性能參數(shù)滿足使用需求。

        以反熔絲FPGA為核心處理器件,系統(tǒng)框圖如圖1所示,有接口關(guān)系的器件有PROM、flash、NOR FLASH以及SRAM型FPGA。

        反熔絲FPGA左側(cè),與SRAM型FPGA的SelectMAP接口對程序數(shù)據(jù)進(jìn)行讀寫操作,SelectMAP 接口是一個(gè)8位的雙向數(shù)據(jù)端口,是定時(shí)刷新、配置和回讀的數(shù)據(jù)接口,可以通過它對Virtex FPGA進(jìn)行配置,也可以通過它讀回配置數(shù)據(jù),是Virtex FPGA 最快的配置方式。與SRAM型FPGA的控制接口控制SRAM型FPGA進(jìn)行不同程序源存儲器的定時(shí)刷新和重配置,以及控制切換選擇程序刷新重配置通道和上注程序通道。與SRAM型FPGA的上注/回讀程序通道接口主要完成在控制接口切換為上注程序通道時(shí),對NOR FLASH進(jìn)行程序上注和回讀對比。

        反熔絲FPGA右側(cè),與PROM、flash和NOR FLASH接口主要為刷新和重配置數(shù)據(jù)通道,還有上注程序數(shù)據(jù)以及控制線選擇通道。

        圖1 系統(tǒng)框圖Fig.1 System architecture

        2 基于SRAM型FPGA多源自主重構(gòu)的算法流程

        反熔絲型FPGA需要完成上電配置、全部重配置、定時(shí)動態(tài)刷新(部分配置)控制以及配合SRAM型FPGA完成在軌上注程序的管理,整體算法流程如圖2所示。

        圖2 整體算法流程圖Fig.2 Overall algorithm flow chart

        (1) 在系統(tǒng)上電階段從外部存儲器加載SRAM型FPGA的配置數(shù)據(jù)或者發(fā)送指令全部重配置SRAM型FPGA配置區(qū),實(shí)現(xiàn)系統(tǒng)上電后SRAM型FPGA正常運(yùn)行和程序重配置。

        (2) 在刷新信號有效后,對SRAM型FPGA的配置區(qū)進(jìn)行周期性的刷新,實(shí)現(xiàn)在軌定時(shí)刷新。

        (3) 當(dāng)SRAM型FPGA進(jìn)行在軌上注預(yù)設(shè)程序時(shí),反熔絲FPGA與NOR FLASH存儲器的數(shù)據(jù)通道將自主切換至讀/寫通道,對參數(shù)或者程序進(jìn)行讀/寫工作,實(shí)現(xiàn)在軌程序上注以及回讀。當(dāng)監(jiān)測到相關(guān)圖像性能參數(shù)發(fā)生變化時(shí),可進(jìn)行自主程序重構(gòu)使圖像性能滿足系統(tǒng)要求。

        (4) 自主識別SRAM型FPGA的IDCODE,實(shí)現(xiàn)了系統(tǒng)兼容Xilinx Virtex全系列(Virtex-2,Virtex-4,Virtex-5,Virtex-7系列)。

        (5) 多源選擇外部存儲器,實(shí)現(xiàn)了從PROM,flash,NOR FLASH任意源切換的功能。

        (6) 在軌回讀SRAM型FPGA狀態(tài)寄存器狀態(tài),對SRAM型FPGA的健康情況進(jìn)行實(shí)時(shí)監(jiān)控。

        2.1 上電配置和全部重配置

        在系統(tǒng)上電階段從外部程序存儲器加載SRAM型FPGA的配置數(shù)據(jù),實(shí)現(xiàn)SRAM型FPGA的正常運(yùn)行,與上電配置的不同之處是重配置需要發(fā)送指令,反熔絲FPGA對接收到的重配置指令解析后,對SRAM型FPGA進(jìn)行全部重配置;上電配置是接收到外部復(fù)位信號后,先進(jìn)行上電復(fù)位,然后進(jìn)行全部配置,具體配置流程如下所示:

        (1) 上電復(fù)位結(jié)束后,將SRAM型FPGA的PROG信號置低至少300 ns后置高,清空FPGA配置存儲器。

        (2)檢測SRAM型FPGA的配置寄存器初始化信號(initialization, INIT),若其值為高,將SelectMAP接口的片選信號(ChipSelect, CS)、讀寫信號(ReadWrite, RDWR)置低,同時(shí)將程序存儲器PROM的使能信號(ChipEnable, CE)置低,輸出使能端(OutputEnable, OE)置高,使得數(shù)據(jù)從外部存儲器到SRAM型FPGA的數(shù)據(jù)通道開通。若INIT為低,則持續(xù)檢查INIT的值,直到其值為高,進(jìn)行配置。若此時(shí)收到全部重配置指令,則進(jìn)行全部重配置。

        (3) 檢測SRAM型FPGA的輸出配置結(jié)束信號DONE,若DONE值為高,說明配置成功,然后將CS置高使得數(shù)據(jù)總線呈高阻態(tài)等待后續(xù)操作;若DONE值為低,則對DONE值持續(xù)檢查,直到其值為高。

        2.2 周期定時(shí)自動刷新

        FPGA應(yīng)該要被刷新以防止配置存儲器中的SEU錯(cuò)誤累加而影響系統(tǒng)的正常工作。配置幀是配置數(shù)據(jù)在Virtex FPGA配置存儲器中可以讀寫的最小單位,多組配置幀組成一個(gè)配置幀列,配置幀列分為可配置邏輯塊(configurable logic block, CLB)幀列、輸入/輸出緩沖器(input/output buffer, IOB)幀列、全局時(shí)鐘(global clock, GCLK)幀列、數(shù)字信號處理(digital signal processing, DSP)幀列、塊隨機(jī)存儲器(block random access memory, BRAM)內(nèi)連幀列、BRAM 幀列。一個(gè)完整的配置文件就是由所有配置位置的幀信息和一些必要的首尾控制字組成。在不影響當(dāng)前程序正常運(yùn)行條件下,其中CLB 幀列、IOB 幀列、GCLK 幀列、DSP 幀列、BRAM 內(nèi)連幀列為可在線重配置幀(在線重配置不影響FPGA 正常功能),BRAM 幀列為不可在線重配置幀(在線重配置會造成FPGA RAM 區(qū)數(shù)據(jù)錯(cuò)誤)。FPGA自動刷新是指周期性地對配置信息進(jìn)行刷新,無論是否發(fā)生SEU,均對FPGA配置區(qū)進(jìn)行刷新操作。為了減少刷新中斷,本設(shè)計(jì)采用基于幀的刷新算法,這種算法把刷新最小單位限制在一幀范圍內(nèi),根據(jù)FPGA刷新配置區(qū)的寄存器命令序列對FPGA配置區(qū)進(jìn)行刷新,并且可以根據(jù)實(shí)際需求對刷新周期進(jìn)行參數(shù)設(shè)置(2 s,10 s,60 s等)。具體算法如下所示,定時(shí)刷新過程流程如圖3所示。

        圖3 定時(shí)刷新過程流程圖Fig.3 Timing refresh flow chart

        (1) 定時(shí)刷新使能信號為高時(shí)啟動周期性刷新。接著置低SRAM型FPGA的片選CS信號,開通數(shù)據(jù)通道。

        (2) 根據(jù)FPGA刷新配置區(qū)的寄存器命令序列對SRAM型FPGA的相關(guān)寄存器進(jìn)行設(shè)置,完成刷新起始地址FAR寄存器的設(shè)置。

        (3) 根據(jù)FPGA刷新配置區(qū)的寄存器命令序列完成對寫FDRI寄存器指令的設(shè)置后,開始寫配置數(shù)據(jù)量,指示刷新的第一步是從地址0開始寫入數(shù)量等同CLB幀塊的配置數(shù)據(jù);在設(shè)置完后的下一個(gè)時(shí)鐘,開始刷新從PROM來的CLB幀塊的第一幀配置數(shù)據(jù)。

        (4) 最后向數(shù)據(jù)總線寫入一幀空閑字節(jié)以配合流水邏輯,將最后一幀有效配置數(shù)據(jù)寫入FPGA內(nèi)部配置寄存器,完成對SRAM型FPGA內(nèi)部配置寄存器的刷新過程。

        (5) 狀態(tài)機(jī)回轉(zhuǎn),再次檢測刷新使能信號進(jìn)行周期性刷新。

        2.3 上注數(shù)據(jù)讀寫通道切換以及自主重構(gòu)

        在軌可通過衛(wèi)星總線通信指令對NOR FLASH存儲器進(jìn)行程序上注,并根據(jù)對相機(jī)圖像性能參數(shù)的監(jiān)測情況,對程序進(jìn)行自主重構(gòu)。本文以相機(jī)非均勻性校正后的殘余非均勻性為監(jiān)控參數(shù),通過上注預(yù)設(shè)了2套非均勻性算法程序,分別為定標(biāo)法和基于場景法校正算法。根據(jù)非均勻性的變化情況,在軌默認(rèn)選擇定標(biāo)法進(jìn)行自主重構(gòu),當(dāng)定標(biāo)法無法滿足系統(tǒng)要求時(shí),自主切換至另外一套基于場景法程序進(jìn)行重構(gòu),使紅外遙感相機(jī)的殘余非均勻性符合系統(tǒng)使用要求。當(dāng)紅外遙感相機(jī)在軌運(yùn)行監(jiān)測到系統(tǒng)性能參數(shù)發(fā)生變化需要上注程序時(shí),切換至NOR FLASH與反熔絲FPGA,反熔絲FPGA與SRAM型FPGA的8位數(shù)據(jù)通道以及NOR FLASH的控制線和地址線等,實(shí)現(xiàn)反熔絲FPGA作為NOR FLASH上注程序到SRAM型FPGA的通路選擇開關(guān),切換至上注數(shù)據(jù)讀寫模式時(shí),要確保停止刷新配置區(qū)。利用NOR FLASH存儲空間大的優(yōu)勢,可以存儲多套參數(shù)或程序,并且上注完成后通過回讀與實(shí)際寫入的程序進(jìn)行對比,確保上注程序的有效性。按照上述流程可對NOR FLASH寫入多套參數(shù)和程序,并且可以對NOR FLASH內(nèi)的參數(shù)和程序進(jìn)行擦除重寫,成功實(shí)現(xiàn)了既可以在軌多套參數(shù)和程序上注、又可以對多套上注程序進(jìn)行定時(shí)刷新以及重配置,增加了SRAM型FPGA在軌運(yùn)行的可靠性,上注數(shù)據(jù)讀寫通道切換流程圖如圖4所示。具體算法如下所示:

        (1) 準(zhǔn)備開始上注程序,反熔絲FPGA收到來自SRAM型FPGA的SRAM型FPGA與NOR FLASH的上注程序通道信號S1、NOR FLASH的讀/寫程序通道信號S2和停止刷新不回讀標(biāo)志位同時(shí)有效,數(shù)據(jù)和控制主動權(quán)在SRAM型FPGA,此時(shí)SRAM型FPGA對NOR FLASH執(zhí)行寫操作。

        (2) 當(dāng)SRAM型FPGA與NOR FLASH的上注程序通道信號S1有效停止刷新不回讀標(biāo)志位有效時(shí),數(shù)據(jù)和控制主動權(quán)在SRAM型FPGA,此時(shí)SRAM型FPGA對NOR FLASH執(zhí)行讀操作。

        (3) 完成對NOR FLASH的讀寫操作后,也能當(dāng)系統(tǒng)性能指標(biāo)無法滿足系統(tǒng)要求時(shí),自主切換至另外一套程序進(jìn)行重構(gòu),滿足使用要求。也可發(fā)送指令從NOR FLASH定時(shí)刷新和重配置。

        圖4 上注數(shù)據(jù)讀寫通道切換流程圖Fig.4 Switching the inject data between read and write

        2.4 自主識別SRAM型FPGA

        自主識別SRAM型FPGA的IDCODE,實(shí)現(xiàn)了系統(tǒng)兼容Xilinx Virtex系列FPGA。每一款FPGA都有其固定的ID編碼,該編碼是一個(gè)固定的由供應(yīng)商來制定的值,用來鑒定識別該FPGA的制造商和型號。ID寄存器提供了一個(gè)很方便的方法來識別進(jìn)行測試或者編程的FPGA的ID編碼,通過配置寄存器內(nèi)發(fā)送的IDCODE指令,可以將所用的FPGA的ID編碼讀出來進(jìn)行檢查。通過對不同F(xiàn)PGA的ID進(jìn)行識別,能夠檢測并判斷目前正在運(yùn)行的FPGA屬于哪種系列。FPGA的ID可以通過Virtex-2/Virtex-4/Virtex-5/Virtex-7等系列的IDCODE編碼表進(jìn)行查找。

        具體算法流程如下所示:

        (1) 在執(zhí)行重配置指令時(shí),SRAM型FPGA進(jìn)行配置初始化,在器件進(jìn)行同步化后,在配置數(shù)據(jù)下載前必須先通過器件自身的ID檢查,FPGA會解同步,然后進(jìn)行配置數(shù)據(jù)的下載。

        (2) 在執(zhí)行定時(shí)刷新指令時(shí),首先回讀SRAM型FPGA的IDCODE,然后根據(jù)回讀的IDCODE,對不同類型的SRAM型FPGA的刷新配置區(qū)刷新序列代碼進(jìn)行調(diào)用,實(shí)現(xiàn)了對不同系列SRAM型FPGA刷新代碼的兼容。

        2.5 多源外部存儲器切換

        SRAM型FPGA可以從不同外部程序存儲器芯片中(PROM、flash和NOR FLASH)進(jìn)行程序動態(tài)定時(shí)刷新以及全部重構(gòu)??梢酝ㄟ^指令對定時(shí)刷新以及程序重構(gòu)源進(jìn)行選擇,提高了SRAM型FPGA在軌使用的可靠性,多源外部存儲器切換流程如圖5所示。

        圖5 多源外部存儲器切換流程Fig.5 Switch of multi-source external memory

        多源選擇外部存儲器,實(shí)現(xiàn)了PROM,flash以及NOR FLASH內(nèi)多套程序任意源切換的功能。系統(tǒng)上電運(yùn)行正常后,刷新/重配置數(shù)據(jù)通道(SelectMAP接口)優(yōu)先級最高,此時(shí)可以發(fā)送從PROM刷新/重載,從flash刷新/重載以及從NOR FLASH刷新/重載指令,通過指令解析單元,分別對相應(yīng)的指令進(jìn)行解析并且對相應(yīng)的程序存儲器執(zhí)行對應(yīng)指令的操作。只有當(dāng)SRAM型FPGA與NOR FLASH的上注程序通道信號S1有效時(shí),把數(shù)據(jù)通道切換至NOR FLASH上注程序讀寫通道。

        2.6 在軌回讀FPGA工作狀態(tài)

        為了更好地實(shí)現(xiàn)SRAM型FPGA在軌工作的可靠性,可以在軌通過selectMAP接口回讀SRAM型FPGA狀態(tài)寄存器的關(guān)鍵狀態(tài)信息,狀態(tài)寄存器內(nèi)的信息發(fā)生變化,可以判斷FPGA在軌工作出現(xiàn)SEU,那么此時(shí)FPGA應(yīng)該要被完全重配置。因此能有效判斷SRAM型FPGA在軌工作狀態(tài),是否受單粒子等空間環(huán)境影響,能及時(shí)有效地提高其在軌運(yùn)行的可靠性。

        以Virtex-4 FPGA為例,其狀態(tài)寄存器共32 bits,如果bit5或者bit6返回“0”會有三態(tài)輸出或者不能對器件進(jìn)行同步更新;如果bit7翻轉(zhuǎn),FPGA會被打翻,喪失功能。因此通過回讀狀態(tài)寄存器內(nèi)的信息,判斷器件有無翻轉(zhuǎn),根據(jù)需要進(jìn)行重新配置或者定時(shí)刷新,以減輕SEU造成的影響,根據(jù)Virtex-4 FPGA狀態(tài)寄存器檢測命令,實(shí)現(xiàn)了對FPGA狀態(tài)寄存器的讀取操作。

        3 系統(tǒng)驗(yàn)證

        系統(tǒng)中的SRAM型FPGA以Xilinx公司 Virtex-4系列FPGA為例,反熔絲FPGA以Actel公司A54SX72A為例,驗(yàn)證周期性定時(shí)刷新、程序上注、數(shù)據(jù)源切換以及系統(tǒng)功能。

        3.1 定時(shí)刷新驗(yàn)證

        首先程序中設(shè)置刷新時(shí)間間隔為2 s,系統(tǒng)運(yùn)行時(shí),通過示波器觀察Virtex-4 FPGA的寫信號CS為“0”,此時(shí)開通數(shù)據(jù)通道,由于配置時(shí)鐘CCLK為4 MHz,2 s定時(shí)刷新部分配置數(shù)據(jù)有大約1 996 000個(gè)數(shù)據(jù)(8 bit并行數(shù)據(jù)),因此2 s定時(shí)刷新的部分配置數(shù)據(jù)長度約為499 000 μs,約499 ms,如圖6所示。實(shí)測刷新時(shí)間間隔為2 s,如圖7所示。

        圖6 刷新數(shù)據(jù)時(shí)間 Fig.6 Data refresh time

        圖7 刷新時(shí)間間隔Fig.7 Refresh interval

        經(jīng)過查找.bit或者.rbt文件,找出第一個(gè)同步字FF FF FF FF在第一行配置數(shù)據(jù),到最后一個(gè)配置數(shù)據(jù)頭共有98個(gè)數(shù)(8 bit并行數(shù)據(jù)),配置時(shí)鐘CCLK為4 MHz,因此到后一個(gè)配置數(shù)據(jù)頭的時(shí)間為98×0.25 μs=24.5 μs。通過觀察示波器數(shù)據(jù)位的輸出,從配置數(shù)據(jù)頭的第一個(gè)FF到最后一個(gè)數(shù)據(jù)間隔時(shí)間為24.5 μs,如圖8所示。

        圖8 配置數(shù)據(jù)幀頭時(shí)間Fig.8 Time of the header of the configure data

        3.2 程序上注驗(yàn)證

        上注程序后,通過Xinlinx公司的集成軟件環(huán)境(integrated software environment, ISE)中的ChipScope工具插核回讀數(shù)據(jù)是否上注成功。從ChipScope工具插核回讀第一包與實(shí)際注數(shù)包比對,上注數(shù)據(jù)正確,如圖9所示。

        從ChipScope插核回讀最后一包上注數(shù)據(jù)與實(shí)際注數(shù)包比對,上注數(shù)據(jù)正確,如圖10所示。

        3.3 數(shù)據(jù)源切換驗(yàn)證

        對不同數(shù)據(jù)源用指令進(jìn)行切換,數(shù)據(jù)源切換后,通過示波器觀察刷新數(shù)據(jù)時(shí)間約為499 ms,刷新時(shí)間間隔為2 s,配置幀頭時(shí)間為24.5 μs,如圖6~圖8所示,每次通過刷新指令切換不同數(shù)據(jù)源均符合以上要求,說明對不同數(shù)據(jù)源用指令切換操作成功。

        圖9 回讀第一包上注數(shù)據(jù)示意圖Fig.9 Readback of the first injected data

        圖10 回讀最后一包注數(shù)包Fig.10 Readback of the last injected data

        3.4 系統(tǒng)功能驗(yàn)證

        該方法已在軌應(yīng)用于某型號紅外遙感相機(jī),并對關(guān)鍵測控信號進(jìn)行TMR。該型號紅外遙感相機(jī)圖像用SRAM型FPGA采集紅外圖像時(shí)發(fā)現(xiàn)閃點(diǎn)(高亮度孤立點(diǎn))增加的現(xiàn)象。經(jīng)過分析是由于SRAM型FPGA中控制圖像排列時(shí)序的寄存器單元受空間環(huán)境中單粒子影響發(fā)生了翻轉(zhuǎn),導(dǎo)致時(shí)序不匹配,數(shù)據(jù)讀寫的建立時(shí)間不滿足要求造成圖像散點(diǎn)增加,最終導(dǎo)致SRAM型FPGA的SEU故障發(fā)生。經(jīng)過在軌連續(xù)監(jiān)測,該現(xiàn)象的SEU故障發(fā)生概率約為1.5年/次,沒有進(jìn)行該架構(gòu)設(shè)計(jì)的其他星上載荷監(jiān)測到SEU發(fā)生故障概率平均約1月/次,由此可見該架構(gòu)和算法能有效降低SEU的故障次數(shù),滿足工程實(shí)用性的需求。

        對紅外遙感相機(jī)圖像的非均勻性指標(biāo)進(jìn)行預(yù)設(shè),若其變化超過5%(可設(shè)置),則對圖像參數(shù)算法進(jìn)行程序自主重構(gòu),使圖像性能達(dá)到系統(tǒng)要求指標(biāo)范圍5%以內(nèi)。圖11為程序自主重構(gòu)前參數(shù)效果圖,圖12為程序自主重構(gòu)后參數(shù)調(diào)整效果圖。

        圖11 參數(shù)調(diào)整前圖像Fig.11 Image before parameter adjustment

        圖12 參數(shù)調(diào)整后圖像Fig.12 Image after parameter adjustment

        通過以上系統(tǒng)功能性驗(yàn)證表明,本設(shè)計(jì)實(shí)現(xiàn)了多源刷新重構(gòu),對于在軌遇到性能參數(shù)發(fā)生變化影響系統(tǒng)使用時(shí),可通過在軌程序自主重構(gòu)滿足系統(tǒng)在軌使用性能,并且在工程項(xiàng)目中得到很好的應(yīng)用。

        4 結(jié) 論

        本文提出了基于Xilinx Virtex系列SRAM型FPGA的自主多源重構(gòu)方法,針對不同Xilinx Virtex系列FPGA能夠自主識別,采用不同存儲器源頭,對SRAM型FPGA進(jìn)行靈活刷新、重構(gòu),不僅提供了可以通過在軌上注程序并且自主重構(gòu)滿足圖像性能的辦法,還有效減少了SRAM型FPGA在軌遇到單粒子問題的次數(shù),成功實(shí)現(xiàn)了在軌定時(shí)刷新+多源+自主的抗單粒子高可靠性方案。

        猜你喜歡
        熔絲存儲器寄存器
        熔絲制造的三維連續(xù)編織填充圖案
        靜態(tài)隨機(jī)存儲器在軌自檢算法
        Lite寄存器模型的設(shè)計(jì)與實(shí)現(xiàn)
        分簇結(jié)構(gòu)向量寄存器分配策略研究*
        高效率并行熔絲方案的設(shè)計(jì)
        存儲器——安格爾(墨西哥)▲
        別克君威車散熱風(fēng)扇熔絲頻繁熔斷
        基于Nand Flash的高速存儲器結(jié)構(gòu)設(shè)計(jì)
        高速數(shù)模轉(zhuǎn)換器AD9779/AD9788的應(yīng)用
        基于反熔絲FPGA的有限狀態(tài)機(jī)加固設(shè)計(jì)
        国产福利永久在线视频无毒不卡 | av人摸人人人澡人人超碰妓女| 欧美人与动人物牲交免费观看| 国产精品乱子伦一区二区三区 | 黄片小视频免费观看完整版| 国产精品无码无在线观看| 国产真实乱人偷精品人妻| 国产一线视频在线观看高清| 国产在线观看女主播户外| 在线观看老湿视频福利| 欧美mv日韩mv国产网站| 国产一级淫片免费大片| 男女搞基视频免费网站| 亚洲欧洲成人精品香蕉网| 男女肉粗暴进来120秒动态图 | 精品国产性色av网站| 亚洲av一二三四五区在线| 欧美做受又硬又粗又大视频| 成人网站免费大全日韩国产| 日韩av一区二区毛片| 女人天堂国产精品资源麻豆| 国产精品国产三级国产av品爱网| 亚洲中文无码永久免| 久久99亚洲网美利坚合众国| 在线免费观看蜜桃视频| 亚洲国产精品无码专区| 亚洲成a人片在线观看久| 偷拍av一区二区三区| 国产人妖网站在线视频| 熟妇丰满多毛的大隂户| 欧美刺激午夜性久久久久久久| 国产成人一区二区三区| 无码人妻精品一区二区三区夜夜嗨| 又黄又爽又高潮免费毛片| 亚洲av一区二区国产精品| 日本黑人乱偷人妻在线播放| 午夜爽爽爽男女免费观看影院 | 国产亚av手机在线观看| 国产天堂网站麻豆| 亚洲国产综合性感三级自拍| 亚洲精品人成中文毛片|