国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于FPGA 定時(shí)刷新控制單元的應(yīng)用技術(shù)研究

2021-01-26 00:39:32孫潔朋陳波寅晏慧強(qiáng)叢紅艷何小飛
電子與封裝 2021年1期
關(guān)鍵詞:校驗(yàn)芯片電路

孫潔朋, 陳波寅, 晏慧強(qiáng), 叢紅艷, 何小飛

(無錫中微億芯有限公司, 江蘇 無錫 214072)

1 引言

近年來,SRAM 型的FPGA 因其編程速度快、開發(fā)周期短等優(yōu)點(diǎn), 被大量應(yīng)用在復(fù)雜的電子設(shè)計(jì)中,在航空航天領(lǐng)域的應(yīng)用也越來越廣泛。 然而,在宇宙環(huán)境中,存在著大量的高能粒子,此工藝的FPGA 極易受到空間高能粒子的影響,發(fā)生單粒子翻轉(zhuǎn)(SEU)[1]。SEU 效應(yīng)通常會(huì)導(dǎo)致FPGA 中的存儲(chǔ)單元發(fā)生位翻轉(zhuǎn)(即內(nèi)容由0 變?yōu)?,或由1 變?yōu)?),隨之帶來的后果可能是計(jì)算結(jié)果錯(cuò)誤、程序執(zhí)行序列錯(cuò)誤,工作異常,甚至是系統(tǒng)的永久失效、燒毀等[2-3],因此必須對(duì)FPGA 器件進(jìn)行抗單粒子翻轉(zhuǎn)加固設(shè)計(jì), 最大限度地預(yù)防和阻止空間輻射效應(yīng)的影響,提高航天器任務(wù)的可靠性。

提高FPGA 抗單粒子翻轉(zhuǎn)的方法隨著科學(xué)技術(shù)的發(fā)展也在不斷地優(yōu)化和更新。 目前主要有以下幾種方法:①采用三模冗余,利用3 個(gè)功能相同的冗余模塊和多數(shù)表決器來避免錯(cuò)誤; ②回讀配置區(qū)的數(shù)據(jù)幀,與初始配置數(shù)據(jù)進(jìn)行對(duì)比,對(duì)出錯(cuò)幀或是整個(gè)配置幀進(jìn)行刷新[4];③配置反熔絲PROM,通過編程定時(shí)刷新FPGA[5]。 三模冗余不會(huì)對(duì)出錯(cuò)配置信息進(jìn)行修復(fù),當(dāng)錯(cuò)誤累積到一定程度,器件就會(huì)失效。 回讀刷新則一般采用反熔絲FPGA 器件控制芯片刷新,其軟硬件設(shè)計(jì)較為復(fù)雜[1]。

本文給出了一種抗輻照的低成本解決方案,該控制單元采用三模冗余加定時(shí)刷新的方法來及時(shí)修正已出現(xiàn)的錯(cuò)誤,提高抗SEU 的能力,并通過RTL 代碼應(yīng)用仿真驗(yàn)證,證明該方案的各項(xiàng)功能滿足設(shè)計(jì)要求。

2 整體方案設(shè)計(jì)

依據(jù)前面所介紹的設(shè)計(jì)需求,本文基于FPGA 定時(shí)刷新控制單元的整體設(shè)計(jì)方案如圖1 所示。

圖1 刷新電路整體設(shè)計(jì)框圖

由圖1 可知,該電路需要外接3 片SPI FLASH,工作時(shí)會(huì)對(duì)3 片SPI FLASH 中的數(shù)據(jù)進(jìn)行單比特校驗(yàn),采用表決通過的數(shù)據(jù)作為正確配置信息,具有單比特糾錯(cuò)的三模校驗(yàn)功能, 然后通過串行端口, 配置V4、V5 和K7 類型的FPGA, 并且在配置完成后對(duì)FPGA的邏輯部分進(jìn)行定時(shí)刷新[6],糾正邏輯部分因?yàn)榉D(zhuǎn)產(chǎn)生的錯(cuò)誤,從而達(dá)到抗輻照的目的。

市面上帶有刷新控制的芯片有不少,例如中國自主研制的BSV2 定時(shí)刷新芯片和ACTEL 公司的抗輻射反熔絲FPGA A54SX32A 芯片, 這兩款芯片都有定時(shí)刷新控制,但沒有三模冗余的功能,支持的芯片為Xilinx 公司的Virtex II,而Virtex II 系列芯片可利用的邏輯單元較少,已不能適應(yīng)未來航天的發(fā)展需求。 本文中的設(shè)計(jì)采用3 片SPI FLASH 存儲(chǔ)配置信息,有三模冗余和定時(shí)刷新功能,同時(shí)兼容V4、V5 和K7 類型的多款FPGA 芯片, 可以滿足航天領(lǐng)域?qū)馆椪招虵PGA 的使用需求。

Xilinx 公司的FPGA 芯片配置訪問接口有JTAG、SelectMap(從串)以及ICAP 3 種,本文中設(shè)計(jì)的定時(shí)刷新器件利用FPGA 的SelectMap 接口完成配置與刷新。

3 系統(tǒng)設(shè)計(jì)

本文中的定時(shí)刷新控制單元,是基于SPI FLASH設(shè)計(jì)實(shí)現(xiàn)的。SPI FLASH 容量為128 Mbit,電路設(shè)計(jì)的最高工作時(shí)鐘頻率為25 MHz,串行配置速率在1 MHz左右,刷新時(shí)間間隔可以選擇連續(xù)刷新、10 min、20 min、30 min 4 種模式?;赟PI FLASH 的抗輻射系統(tǒng)如圖2 所示。

FPGA 配置數(shù)據(jù)存儲(chǔ)在3 片SPI FLASH 芯片中,與FPGA 之間通過抗輻照定時(shí)刷新單元連接,刷新電路起到數(shù)據(jù)交換的橋梁作用, 如圖2 所示。 定時(shí)刷新電路有兩種工作模式:配置模式和刷新模式。 系統(tǒng)初始上電時(shí), 定時(shí)刷新電路處于配置模式, 通過SelectMap 模式配置FPGA,系統(tǒng)正常工作后,刷新電路進(jìn)入定時(shí)刷新模式, 按設(shè)定的時(shí)間周期性地將SPI FLASH 中的邏輯信息配置到FPGA 中,完成刷新。

SelectMap 模式的連接方式如圖2 所示,M0、M1、M2 接電源(VCC),用于設(shè)置FPGA 的配置模式為從串模式, 即CCLK 的來源是外部。 PROGRAM_B 和INIT_B 需接4.7 kΩ 的上拉電阻,DONE 信號(hào)需接330 Ω 的上拉電阻。 對(duì)FPGA 的從串配置時(shí)序[7]如圖3所示。

定時(shí)刷新控制電路通過檢測FPGA 芯片的DONE 信號(hào)來決定進(jìn)入配置模式還是刷新模式。 配置和刷新的工作流程如圖4 所示。

由圖4 可知, 定時(shí)刷新控制單元在工作過程中主要完成以下4 個(gè)功能:

1)FPGA 及刷新電路上電配置。 初始化的FPGA上電后, 將PROGRAM_B 信號(hào)至少拉低300 ns 后置高,INIT_B 會(huì)自動(dòng)產(chǎn)生0 到1 的跳變, 若INIT_B 為高,指示FPGA 內(nèi)部初始化完成,進(jìn)入數(shù)據(jù)下載過程,同時(shí)等待刷新電路內(nèi)部復(fù)位完成, 之后開始正常工作,若INIT_B 為低,則一直檢測該信號(hào),直到變?yōu)楦唠娖綖橹埂?/p>

圖2 基于SPI FLASH 的抗輻射系統(tǒng)

圖3 FPGA 串行配置時(shí)序

2)ID 檢測。 刷新單元在復(fù)位完成后,首先工作是檢測3 片F(xiàn)LASH 的ID 信息,ID 檢測有效后開始訪問SPI FLASH 中的數(shù)據(jù),進(jìn)行后續(xù)配置下載,否則鎖死在讀ID 狀態(tài)并報(bào)警。

3) 配置FPGA 芯片。 ID 檢測有效后, 開始配置FPGA, 設(shè)置的FPGA 專用配置模式管腳M0~M2 為000,進(jìn)入從串模式下載,刷新電路發(fā)送CCLK 同步時(shí)鐘給FPGA 芯片, 并將3 片F(xiàn)LASH 中存儲(chǔ)的碼流信息進(jìn)行單比特校驗(yàn), 以25 MHz 為例,V4 大概需要10 ms,V5 需要45 ms,K7 需要115 ms,來完成所有配置信息的對(duì)比,然后將表決通過的數(shù)據(jù)經(jīng)過DIN 引腳配置到FPGA 芯片中,圖5 為SPI 的數(shù)據(jù)讀取操作。

4)檢測DONE 狀態(tài)。 進(jìn)入配置狀態(tài)后,電路會(huì)持續(xù)檢測DONE 信號(hào),一旦超過預(yù)計(jì)完成配置的時(shí)間卻還未拉高,則意味著配置失敗,會(huì)自動(dòng)在該FPGA 芯片的INIT_B 端施加復(fù)位脈沖,進(jìn)行重新配置;

5)定時(shí)刷新。 當(dāng)檢測到DONE 信號(hào)變高電平后,刷新控制電路會(huì)自動(dòng)啟動(dòng)刷新模式,按用戶需求加載不同型號(hào)芯片的頭部數(shù)據(jù),先刷新一次,然后按選擇的時(shí)間周期性地刷新SPI FLASH 中的邏輯數(shù)據(jù)。

本文中的抗輻照定時(shí)刷新控制單元,最高工作時(shí)鐘為25 MHz 時(shí), 支持Xilinx 公司Virtex4 系列的XC4VLX25,Virtex5 系列 的XC5VSX95T 和K7 系 列的XC7K325T,刷新時(shí)間間隔也有4 種可選,能夠滿足不同用戶的應(yīng)用需求。

圖4 SPI FLASH 配置和刷新工作流程

圖5 SPI FLASH 數(shù)據(jù)讀取操作

4 應(yīng)用驗(yàn)證

本文中的定時(shí)刷新控制單元旨在給出一種低成本的抗輻照解決方案,為了檢驗(yàn)本方案能否滿足設(shè)計(jì)需求,這里給出了RTL 代碼的驗(yàn)證,對(duì)定時(shí)刷新控制單元在工作過程中主要完成的4 個(gè)功能進(jìn)行重點(diǎn)驗(yàn)證,并通過應(yīng)用驗(yàn)證來說明該設(shè)計(jì)能夠通過三模冗余及定時(shí)刷新措施以提高抗單粒子翻轉(zhuǎn), 滿足應(yīng)用需求。 下面以Xilinx 公司的Virtex5 系列的XC5VSX95T為例,進(jìn)行刷新電路的RTL 代碼的應(yīng)用驗(yàn)證。 定時(shí)刷新控制單元的驗(yàn)證方案如圖6 所示。 利用搭建好的FPGA 芯片配置環(huán)境進(jìn)行本方案中的RTL 代碼驗(yàn)證,通過驗(yàn)證模擬實(shí)現(xiàn)刷新電路工作時(shí)的各種狀態(tài),確保設(shè)計(jì)能達(dá)到預(yù)期目標(biāo)。

刷新電路復(fù)位管理模塊仿真如圖7 所示。 首先是上電后,刷新電路復(fù)位管理模塊的正常啟動(dòng),通過上電后FPGA 的PROGRAM_B 和INIT_B 兩個(gè)信號(hào)共同作用來控制電路的全局復(fù)位工作。

FLASH 的ID 檢測仿真如圖8 所示。 電路的全局復(fù)位正常啟動(dòng)后,開始檢測FLASH 的ID,讀ID 通過,則開始訪問FLASH 中的數(shù)據(jù),否則一直在鎖死狀態(tài)。

3 片F(xiàn)LASH 數(shù)據(jù)單比特校驗(yàn)及FPGA 配置仿真如圖9 所示。 ID 檢測通過后, 開始接收存儲(chǔ)在3 片SPI FLASH 中的數(shù)據(jù),經(jīng)過單比特校驗(yàn)后,將表決通過的數(shù)據(jù)配置給FPGA,通過觀察DONE 信號(hào)是否拉高來判斷配置是否正確, 超過預(yù)估時(shí)間未檢測到DONE 信號(hào)變化, 說明配置信息錯(cuò)誤,INIT_B 信號(hào)會(huì)復(fù)位一次,重新配置FPGA。在驗(yàn)證中加入了不同形式的干擾信息,來模擬空間環(huán)境。 flash_data_state 為3 片F(xiàn)LASH 數(shù)據(jù)表決狀態(tài)信號(hào),根據(jù)這個(gè)信號(hào)可以判斷是哪片F(xiàn)LASH 配置信息出現(xiàn)問題。

圖6 定時(shí)刷新控制單元的驗(yàn)證方案

圖7 刷新電路復(fù)位管理模塊仿真

圖8 FLASH 的ID 檢測仿真

圖9 3 片F(xiàn)LASH 數(shù)據(jù)單比特校驗(yàn)及FPGA 配置仿真

芯片刷新過程如圖10 所示。 完成FPGA 配置后,刷新電路會(huì)執(zhí)行立即刷新操作,然后按設(shè)計(jì)的時(shí)間周期性刷新芯片。

有粒子干擾時(shí)的刷新仿真如圖11 所示。 在電路定時(shí)刷新的過程中,會(huì)受到高能粒子干擾,配置信息會(huì)有概率性地發(fā)生翻轉(zhuǎn),翻轉(zhuǎn)的類型有多種,這里給出了其中兩種, 一個(gè)是FLASH 將配置信息發(fā)送到控制單元時(shí)發(fā)生翻轉(zhuǎn), 一個(gè)是FLASH 存儲(chǔ)的信息發(fā)生翻轉(zhuǎn)。

圖10 芯片刷新仿真驗(yàn)證

圖11 外部干擾時(shí)芯片刷新仿真驗(yàn)證

刷新電路將受干擾的配置信息進(jìn)行三模冗余,然后配置到芯片中,因?yàn)槭菃伪忍貦z驗(yàn),可以提高抗干擾的能力,但隨著使用時(shí)間的增長,錯(cuò)誤信息累積越來越多,會(huì)在某個(gè)時(shí)刻將校驗(yàn)通過的錯(cuò)誤信息發(fā)送到FPGA 芯片中,從而導(dǎo)致功能異常,電路失效。 本文給出的方案可以延緩這個(gè)時(shí)刻的到來,增加裝備的使用壽命。 后續(xù)的技術(shù)改進(jìn)可以把這個(gè)問題作為研究方向,一種方法是將FPGA 斷電,重新對(duì)FLASH 燒寫正確的碼流信息,然后上電,完成配置與刷新,其他方法有待未來進(jìn)一步研究。

針對(duì)本方案設(shè)計(jì)所有功能驗(yàn)證點(diǎn),進(jìn)行了如圖12所示的覆蓋率收集,所有驗(yàn)證用例功能正確,覆蓋率達(dá)到100%。

上述驗(yàn)證結(jié)果表明,本文提出的基于FPGA 定時(shí)刷新控制單元的設(shè)計(jì)切實(shí)可行,所設(shè)計(jì)的功能達(dá)到預(yù)期目標(biāo), 通過三模冗余與定時(shí)刷新的功能來提高抗SEU 的能力,能夠滿足應(yīng)用需求。

圖12 刷新電路功能覆蓋率收集

5 結(jié)論

本文給出了一種基于抗輻照型FPGA 芯片的定時(shí)刷新控制單元的可行性設(shè)計(jì)方案,通過采用三模冗余加定時(shí)刷新相結(jié)合的加固技術(shù), 可以有效解決SRAM 型FPGA 在空間環(huán)境應(yīng)用中遇到的單粒子翻轉(zhuǎn)問題。 后續(xù)還有一些問題需要解決,比如粒子翻轉(zhuǎn)過多、影響芯片功能時(shí),可以采用對(duì)FLASH 重新燒寫正確碼流的方法來解決這一問題,從而更好地滿足航天領(lǐng)域?qū)馆椪招虵PGA 的使用需求。

猜你喜歡
校驗(yàn)芯片電路
電路的保護(hù)
解讀電路
巧用立創(chuàng)EDA軟件和Altium Designer軟件設(shè)計(jì)電路
電子制作(2019年24期)2019-02-23 13:22:20
基于MATLAB模擬混沌電路
電子制作(2018年17期)2018-09-28 01:56:44
爐溫均勻性校驗(yàn)在鑄鍛企業(yè)的應(yīng)用
芯片測試
多通道采樣芯片ADS8556在光伏并網(wǎng)中的應(yīng)用
大型電動(dòng)機(jī)高阻抗差動(dòng)保護(hù)穩(wěn)定校驗(yàn)研究
電測與儀表(2015年1期)2015-04-09 12:03:02
基于加窗插值FFT的PMU校驗(yàn)方法
鍋爐安全閥在線校驗(yàn)不確定度評(píng)定
昌吉市| 大邑县| 宁河县| 建湖县| 呼玛县| 汾西县| 拉萨市| 资源县| 梨树县| 江口县| 大庆市| 进贤县| 尼勒克县| 蒙城县| 泌阳县| 广水市| 阳西县| 鄯善县| 阳泉市| 杭锦后旗| 景宁| 加查县| 南宁市| 启东市| 新干县| 新密市| 厦门市| 府谷县| 镇江市| 潮州市| 手机| 清丰县| 新平| 镇平县| 日喀则市| 辽中县| 寿宁县| 邵阳市| 县级市| 南涧| 安西县|