胡中澤
(安徽理工大學,安徽 淮南 232000)
隨著可編程邏輯器件被廣泛應(yīng)用于當下人們生活的各個領(lǐng)域中,其可以通過硬件修補和升級,使新產(chǎn)品能快速地進入市場領(lǐng)先競爭對手而受到生產(chǎn)商的青睞。這些器件,特別是現(xiàn)場可編程門陣列(FPGA),曾經(jīng)只在開發(fā)階段才使用的可編程邏輯器件現(xiàn)在被認為是專用集成芯片(ASIC)的很好替代品。FPGA的特點主要包括:易于原型化,減少了設(shè)計和測試階段,縮短了進入市場的時間,特別是在生產(chǎn)過程中可糾正開發(fā)缺陷的可能性。
目前最先進的FPGA使用靜態(tài)RAM(SRAM)存儲單元來存儲實現(xiàn)的設(shè)計,相比于基于閃存的設(shè)備,提高了配置存儲器存取時間和提供無限數(shù)量的配置。基于SRAM的器件最主要缺點是對輻射的敏感性,表現(xiàn)為一個單一的事件的形式翻轉(zhuǎn),這使得因其低成本、高性能的能力,包括提高他們的可靠性性能的附加層的自定義的現(xiàn)成(COTS)設(shè)備成為趨勢。因此,一些制造商已經(jīng)廣泛研究COTS設(shè)備中的輻射效應(yīng),將它們暴露于高輻射劑量,并為系統(tǒng)設(shè)計者提供諸如回寫和時間/空間冗余等信息和技術(shù),以克服這些影響。在這種情況下,回寫指定了一種方法來處理SRAM配置內(nèi)存中的錯誤,隨著時間的推移,只需刷新它的內(nèi)容即可,它復(fù)制了通常的FPGA啟動過程,指定用戶設(shè)計的位流定期從外部永久存儲器加載到內(nèi)部SRAM配置存儲器,系統(tǒng)設(shè)計人員可以決定回寫的使用,并根據(jù)所需的可行性和實施系統(tǒng)的性能,確定回寫是瞬間還是周期。
基于真實的FPGA的生產(chǎn)系統(tǒng)受故障影響,表現(xiàn)出高的錯誤延遲,并且存在交互故障。在后一種情況下,多個錯誤的組合產(chǎn)生一個系統(tǒng)故障,當單獨發(fā)生時不會發(fā)生,因此,可以通過使用某種形式的回寫技術(shù)來改善這種系統(tǒng)的可行性。由此提出和探討從FPGA嵌入式傳感器,以及來自外部來源的數(shù)據(jù),如何連續(xù)調(diào)整回寫參數(shù)。
在這種情況下,基于故障預(yù)測,使設(shè)備能夠滿足:一減少回寫機制的侵擾,通過激活它只在需要的時候,而不是使用整個周期的方法;二通過激活較少的回寫機制,改善功耗;三增加一級系統(tǒng)的可靠性,應(yīng)對動態(tài)環(huán)境和硬件老化;此外,這種方法也減輕了系統(tǒng)設(shè)計人員對可靠性的考慮及其規(guī)范。
最高性能和容量的FPGA在操作過程中使用SRAM單元存儲它們的配置。在啟動時,該配置內(nèi)存的內(nèi)容從永久存儲中初始化,該存儲保存用戶實現(xiàn)的設(shè)計(比特流),當放置在惡劣的環(huán)境中,甚至在出現(xiàn)一些制造或老化缺陷時,這些設(shè)備可能會出現(xiàn)故障,從而在配置內(nèi)存中產(chǎn)生錯誤。
為了避免可編程邏輯器件中錯誤的積累,制造商引入了錯誤檢測和糾正機制(如ECC和循環(huán)冗余校驗(CRC)),雖然有效,但是提出了一些限制:ECC允許最多,雙錯誤檢測和單糾錯每幀——在FPGA最小的可尋址單元和CRC是全局配置存儲器。由于檢測多比特錯誤幀的難度,制造商在FPGA外部引入回寫機制,將可編程邏輯器件中的內(nèi)容定期重新從永久存儲記憶中重載。這種方法有一些缺點:一是固定時間的入侵。由于需要停止所有的模塊在FPGA運行,加載原始配置存儲器的內(nèi)容,并重新啟動;二是系統(tǒng)狀態(tài)在應(yīng)用程序中需要一個專門的分布式的內(nèi)存文件系統(tǒng),來減輕內(nèi)存壓力確保模塊擁有快速大量的數(shù)據(jù)讀寫能力;三是需要外部硬件支持,緩慢的外部接入接口(JTAG,Select Map)等。
隨著部分動態(tài)重構(gòu)(PDR)的引入,支持FPGA資源的時間復(fù)用,可以使用小部分設(shè)備區(qū)域來執(zhí)行整個時間的不同任務(wù),根據(jù)需要重新配置FPGA的專用區(qū)域,從而增加間隔尺寸。使用內(nèi)部配置訪問端口(ICAP)接口的可編程邏輯器件,減少了對外部組件的依賴支持回寫,因此,在相同的應(yīng)用程序中使用更小的設(shè)備,降低了功耗;為了減少時間的侵擾和避免額外的外部硬件支持回寫使用,可以利用PDR,這讓我們在使用FPGA的邏輯單元實現(xiàn)回寫,同時減少重構(gòu)延遲;為了在回寫器和受保護模塊之間提供必要的隔離,后者可以在可重構(gòu)分區(qū)(RP)中實現(xiàn)。此RP在圖1中顯示,虛線表示FPGA的區(qū)域,該區(qū)域?qū)⒈凰⑿隆?/p>
該設(shè)備同時還包含了幾個內(nèi)部傳感器(溫度、輸入電壓等),用于監(jiān)視設(shè)備的正確功能,并通過led的組合通知用戶各種錯誤狀態(tài)。
圖1 故障預(yù)測在開發(fā)板中實現(xiàn)
敏感的實時系統(tǒng)有非常嚴格的時序要求,在這樣的系統(tǒng)中使用簡單的技術(shù)回寫存在較大的功耗和侵擾,并且系統(tǒng)也缺乏改變操作環(huán)境所需的適應(yīng)性。本文研究的方法是試圖使可編程邏輯器件保持相同的能力,以消除潛在的錯誤,同時滿足回寫頻率,達到操作環(huán)境所需的性能和實際設(shè)備狀態(tài)。
1.系統(tǒng)架構(gòu)
本文提出的系統(tǒng)架構(gòu)是基于一個額外的組件,命名為故障預(yù)測回寫,在FPGA可編程邏輯實現(xiàn)(見圖1)。此組件負責在需要時觸發(fā)受保護模塊(PM)的部分重新配置。它從FPGA內(nèi)部和外部收集來自不同來源的信息。這個組件由四個不同的模塊組成:
配置記憶洗滌器(CMS);
健康評估(HA);
故障預(yù)測(FP);
日志記錄器(DL)。
CMS模塊的接口與ICAP通過一個PLB總線連接,用于重新配置的目的和外部永久記憶,也是存儲PM比特流的地方。它是由FP去重啟可編程邏輯器件,也可由故障注入器在評估階段。
HA模塊通過TCP/IP連接從內(nèi)部FPGA傳感器和外部數(shù)據(jù)源接口收集數(shù)據(jù),以收集有關(guān)操作環(huán)境條件的信息此模塊向FP提供相關(guān)數(shù)據(jù)。在特定情況下,PM輸入和輸出的范圍是有界的,并且預(yù)先知道,HA組件可以連續(xù)監(jiān)視其接口以檢測即將出現(xiàn)的問題。
FP模塊實現(xiàn)了基于故障預(yù)測的機器學習算法。它還指示CMS在需要時觸發(fā)數(shù)據(jù),基于HA發(fā)送的數(shù)據(jù)。
日志記錄器(DL)也可以存儲所有相關(guān)數(shù)據(jù),以便與其他容錯方法的結(jié)果進行比較和分析。
2.數(shù)據(jù)源
來自嵌入式傳感器內(nèi)部數(shù)據(jù)提供有關(guān)設(shè)備狀態(tài)的輸入故障預(yù)測回寫組件。由開發(fā)板中器件的具體情況,可以知道工作溫度和直流變換器輸出電壓。如果知道變換器輸出電壓的波動或預(yù)期的溫度上升,由于高過載或短路(當SEU影響路由資源),則可以預(yù)測即將發(fā)生故障,還可以實施新的探針在FPGA配置存儲器,提供關(guān)于FPGA的邏輯元件的退化的有價值信息:監(jiān)控開關(guān)元件在CLB延遲;捕捉它們的輸出持續(xù)時間很短等問題。
外部信息可來自其他來源,如Web服務(wù),提供關(guān)于太陽輻射爆發(fā)和環(huán)境條件(溫度、濕度、壓力等)的信息,或連接到FPGA的外部傳感器(瞬時功耗等)。
3.系統(tǒng)驗證
在第一階段,系統(tǒng)會運行不同的工作負載和DL模塊將采集的FPGA傳感器數(shù)據(jù)到外部存儲,該實驗將重復(fù)幾次,PM進行故障注入,使用故障注入器進行可重構(gòu)嵌入式設(shè)備。然后進行相關(guān)分析:一是收集的傳感器數(shù)據(jù);二是所引入的配置內(nèi)存錯誤;三是檢測到的系統(tǒng)故障。在系統(tǒng)有故障信號時的PM輸出不同于一個試驗輸出 (無故障注入實驗),利用所采集的數(shù)據(jù)對機器學習算法進行訓練并將其投入運行。當它預(yù)測一個即將發(fā)生的由于一個錯誤或長時間的延遲或多個交互錯誤累積的故障時,允許觸發(fā)PM的完全回寫。然后,將建議的方法與PM的非回寫實現(xiàn)和定期的一次回寫實施,不同的回寫頻率進行比較。這些方法的可靠性評估將使用故障注入進行。
在本文中,基于故障預(yù)測提出了一種新的方法,以提高FPGA的性能,通過自適應(yīng)回寫,能考慮到嵌入式傳感器的設(shè)備正確信息,以及外部環(huán)境數(shù)據(jù),而不是周期性地對一個永久的時間侵擾,消耗更多的功率。
參考文獻:
[1]JUNMIN WU,XIAODONG ZHU,TAO LI,XIUFENG SUI,WBSP:A NovelSynchronizationMechanismforArchitectureParallelSimulation[J].ComputersIEEETransactionson.2016(65):992-1005.
[2]CHRISTIAN BIENIA,KAI LI.Fidelity and scaling of the PARSECbenchmark inputs[J].Workload Characterization (IISWC)IEEE InternationalSymposiumon,2010:1-10.
[3]DAVY GENBRUGGE,STIJN EYERMAN,LIEVEN EECKH OUT.Interval simulation:Raising the level of abstraction in architectural simulation[J].High Performance Computer Architecture(HPCA)2010IEEE16th International Symposium on.2010:1-12.
[4]蔣毅.IP路由器原理與技術(shù)[M].西安:西北工業(yè)大學出版社,2012:242-244.
[5]胡先志,劉一.光纖通信概論[M].北京:人民郵電出版社,2012.
[6]袁健.現(xiàn)場可編程門陣列(FPGA)技術(shù)在航空電子中的應(yīng)用初探[J].航空電子技術(shù),2016(1):15-19.
[7]茅靖峰,申海群,顧菊平,等.Lab VIEWFPGA實時仿真在現(xiàn)代電力電子技術(shù)實驗教學中的應(yīng)用[J].實驗室研究與探索,2016(9):108-113.