基于動態(tài)可重構FPGA的容錯技術研究
基于STARs的方法主要是針對永久性錯誤,包括配置存儲器中的錯誤。STARs提供了一個相對于持續(xù)運行的工作區(qū)的離線區(qū)域。通過FPGA的邊界檢測接口可以使STAR中測試文件的配置動態(tài)進行而不影響系統(tǒng)工作。由于STARs的存在,工作區(qū)或者是連續(xù)的,或者是被STARs分割成不相連的區(qū)域,系統(tǒng)可以分別使用水平布線和垂直布線穿過V-STAR和H-STAR以實現通信。
這種方法采用了可編程邏輯塊(PLB)重用技術。PLB重用是指以一種沒有出錯的模式來使用出錯的PLB,即對在出故障的PLB中實現的功能來說這個PLB是沒有出故障的。這有兩種情況,一是故障PLB中的損壞部分并沒有參與實現這個PLB內的功能單元,此時無需進行重新配置。第二種情況的一個簡單例子是,當一個LUT的某個存儲單元由于出錯而固定置為0,且這個LUT用來實現一個組合邏輯,而此組合邏輯的這個存儲單元恰要求被設置為0,那么這個錯誤就不需要進行冗余。由于PLBs的重用,冗余資源的利用率得到提高,容錯量增大,系統(tǒng)壽命得到延長。另外這還使得損壞的PLB利用較遠距離的冗余資源來重構而避開故障區(qū)的情況減少,所以,隨著故障區(qū)增多,系統(tǒng)的時鐘頻率不會明顯降低。
當STAR位置改變時,系統(tǒng)時鐘必須停止以使STAR完成移動。系統(tǒng)時鐘停止時,系統(tǒng)的工作狀態(tài)必須被存儲,并在系統(tǒng)時鐘重新啟動前被復制到新的工作區(qū)域。從STAR離開當前這個區(qū)域到下一次再檢測這個區(qū)域的時間內,工作區(qū)電路可能出錯,這個時間稱為最壞的錯誤駐留時間。雖然基于STARs的方法,檢測、診斷以及重構過程在理論上可以不影響系統(tǒng)工作,然而這也是它的缺點,不能對隨時出現的錯誤進行容錯。因此,必須考慮最壞的錯誤駐留時間,應該提高檢測速度,而檢測速度的提高會使STARs的移動速度提高。這導致檢測區(qū)和工作區(qū)的交換頻率增加,進而影響系統(tǒng)工作的連續(xù)性。
1.3 基于遺傳算法及設計空間搜索的容錯方法與分析
在重構容錯的過程中,由于技術的多樣性,同時會有多種可行的方案,而這很難通過人工來分析比較得到最優(yōu)的解決方法。同時設計好的系統(tǒng)中必須有足夠的存儲量來存儲針對不同故障的重構文件。因此文獻提出了基于遺傳算法的空間搜索技術。
首先用硬件設計語言描述系統(tǒng)功能,當設計完成后,對其實現功能進行分析并產生一個向量圖,節(jié)點表示功能單元,有向線段代表他們之間的鏈接。同時,對源文件進行綜合來識別其資源使用量(包括Slice數量,塊RAN數量等)和各個功能單元的特征,最終形成一個功能單元庫。這個庫里面也包含一些標準器件和一些基本單元。另外在設計過程中還需要生成以下3個庫:
器件特征庫:存儲對FPGA特征的描述,包括可用資源容量,基本重構單元大小,重構區(qū)域形狀約束。
技術庫:包含了部分重構技術的模型。
參數庫:包含一些指導重構過程并衡量重構效果的參數。
系統(tǒng)工作時,先將原功能模塊分成不同的組。然后根據參數要求在每一組內使用在技術庫里選擇的方法。遺傳算法用來產生不同的可行的染色體,而染色體代表不同的處理方法。這種算法與TMR結合的例子如圖4所示。本文引用地址:http://www.ex-cimer.com/article/191243.htm
基于遺傳算法的設計空間搜索方法需要設計者在前期作出大量工作,例如,遺傳算法的設計,約束條件以及各庫的形成。其中遺傳算法的設計和參數設定是關鍵,同時系統(tǒng)需要較強的計算能力,系統(tǒng)開銷較大。不過其所需配置文件存儲量較小,解決方法多樣,能產生出最優(yōu)的解決方案。而且基于硬件遺傳算法具有廣闊的應用前景。
2 基于算法和資源多級分塊的容錯結構
2.1 方法的提出
動態(tài)容錯粒度的選取是一個關鍵問題,如果粒度過小,則對錯誤的檢測定位能力要求較高,而且配置文件復雜,如果在線生成配置文件,則需要較強的系統(tǒng)計算能力,這顯然會增大系統(tǒng)的開銷,破壞系統(tǒng)的連續(xù)性,而且布線復雜。如果粒度過大,那么冗余資源的利用率降低,配置文件增大,這削弱了系統(tǒng)的容錯能力,且需要較大的存儲資源。另外,對冗余資源比例的選擇必須要考慮到系統(tǒng)布線難度,而布線所造成的延遲是不可預知的,所以系統(tǒng)工作頻率也難以保證。上面這幾種方法粒度水平不易改變,布線難度大,系統(tǒng)時鐘性能不高,而且后兩種實現難度較大。
現在采取算法和資源多級分塊的方法進行系統(tǒng)的容錯??梢栽诓桓姆椒ǖ那闆r下,通過對算法和資源不同次數、不同大小的劃分達到不同的粒度水平,進而滿足容錯需要。因為以算法模塊為單位進行重構,且保證重構前后模塊之間接口不變,那么模塊外部無需重新布線,這樣就削減了容錯時系統(tǒng)開銷,不會降低時鐘頻率。
評論