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