趙 磊 王祖林 郭旭靜 華更新
①(北京航空航天大學(xué)電子信息工程學(xué)院 北京 100191)
②(北京控制工程研究所 北京 100190)
近年來,SRAM(Static Random Access Memory)型FPGA憑借其高性能、低功耗和靈活性等特點廣泛應(yīng)用于工業(yè)和航空航天等領(lǐng)域。然而,隨著晶體管特征尺寸的減小、邏輯密度的增加以及工作電壓的降低,使得SRAM型FPGA對高能粒子輻射,尤其是單粒子翻轉(zhuǎn)(Single Event Upsets,SEU)表現(xiàn)出更強的敏感性,造成內(nèi)部狀態(tài)錯誤[1]。由于這種錯誤具有瞬態(tài)、隨機和可恢復(fù)的特點,被稱為“軟錯誤”。頻繁發(fā)生的軟錯誤將導(dǎo)致可靠性降低,嚴重影響系統(tǒng)的穩(wěn)定性。
在超深亞微米工藝的存儲器中,由粒子入射引起的多位翻轉(zhuǎn)(Multiple Bit Upset, MBU)在所有單粒子事件中的比例大約為 10%~30%[2,3]。ITRS(International Technology Roadmap for Semiconductors)預(yù)測至2016年,25 nm工藝下集成電路的軟錯誤將全部來自于單粒子多位翻轉(zhuǎn)[4]。因此,MBU正逐漸凸顯成為影響可靠性的重要因素,同時多位翻轉(zhuǎn)的特殊性,將極大地增加容錯代價,對現(xiàn)有的容錯技術(shù)提出挑戰(zhàn)。當(dāng)翻轉(zhuǎn)發(fā)生在FPGA的邏輯資源,往往在下一個驅(qū)動時鐘周期消除,采用TMR(Triple Modular Redundancy)冗余方式[5,6]或糾檢錯編碼[7,8]可以有效地降低對系統(tǒng)的影響;但當(dāng)翻轉(zhuǎn)發(fā)生在可編程布線資源時,由于配置信息的改變影響電路的功能,造成持續(xù)性軟錯誤,嚴重者會造成系統(tǒng)異常和故障。這種布線資源配置位翻轉(zhuǎn)造成的軟錯誤占SEU軟錯誤的90%以上[9],通常只能通過回讀擦寫方式進行恢復(fù),需要額外的硬件資源和時間才能實現(xiàn)容錯[10]。
一些研究者嘗試使用盡量少的容錯開銷來減緩SEU的影響,他們從物理設(shè)計的角度展開研究,通過優(yōu)化邏輯綜合、有效的布局布線,可以在不增加額外資源的前提下降低軟錯誤的發(fā)生概率。文獻[11]提出采用布線資源開路和短路故障對應(yīng)的敏感比特來評價軟錯誤的方法,將敏感比特作為成本函數(shù)引入布局布線尋優(yōu)目標(biāo),從而減少 SEU對系統(tǒng)的影響,但成本函數(shù)相對簡單;文獻[12]在布線過程中通過減少相關(guān)比特數(shù)目來提升抗輻射性能;文獻[13]通過計算開關(guān)矩陣的使用概率進一步完善了 SEU軟錯誤成本函數(shù),使其可以更準(zhǔn)確地描述短路敏感位;文獻[14]則從系統(tǒng)失效率的角度,通過使用錯誤傳播概率驅(qū)動整個 CAD流程,但此方法在布局布線過程中使用錯誤傳播概率,缺少布線資源的評估,因而是不準(zhǔn)確的。以上方法都只針對單粒子翻轉(zhuǎn)引起的單位翻轉(zhuǎn)(Single Bit Upset, SBU),并沒有考慮MBU會引起更多的橋接錯誤和更高的錯誤傳播概率。文獻[15]針對多位翻轉(zhuǎn)發(fā)生在冗余結(jié)構(gòu)的多個分模塊造成冗余失效的問題展開研究,只針對 TMR進行減緩MBU的布局布線,不具有通用性。
因此,本文在分析軟錯誤模型后,通過引入布線資源軟錯誤發(fā)生概率,提出了可以減緩 MBU和SBU的物理設(shè)計的方法。通過采用更精確有效的方法評估軟錯誤發(fā)生概率,并結(jié)合EPP驅(qū)動布局布線過程,用以減少軟錯誤。實驗結(jié)果表明,在不增加額外硬件資源的情況下,可以降低系統(tǒng)失效率18%,并可以較好地抵抗MBU對系統(tǒng)的影響。
島鏈?zhǔn)絊RAM型FPGA的布線資源主要由開關(guān)矩陣和互連線段組成,其中開關(guān)矩陣由開關(guān)盒(Switch Box, SB)和連結(jié)盒構(gòu)成,開關(guān)盒是控制水平和垂直方向上互連的重要結(jié)構(gòu),由可編程互連點(Programmable Interconnection Points, PIPs)控制,通過SRAM配置存儲單元決定連接關(guān)系。常用的開關(guān)盒有Universal, Wilton和Disjoint 3種形式,如圖1所示。這3種結(jié)構(gòu)中,每邊可以連接其他邊的數(shù)目是固定的,用開關(guān)盒連通度(flexibility of switch box,fs)表示,通常取值3或4,用以平衡開關(guān)盒復(fù)雜度和布通性;用W表示每個布線通道內(nèi)的軌道數(shù)。由于3種開關(guān)盒結(jié)構(gòu)具有相似性,本文以Xilinx經(jīng)典的Disjoint開關(guān)盒為例研究軟錯誤對開關(guān)盒的影響,主要的錯誤模式是開路錯誤、短路錯誤和橋接錯誤[11]。
圖1 經(jīng)典開關(guān)盒結(jié)構(gòu)
開路錯誤通常是可編程互連點存儲的信息從“1”變成“0”引起,造成線網(wǎng)斷開。例如在圖 2中,線網(wǎng)1通過開關(guān)盒1的PIP(N0,W0)進行連接,如果SEU發(fā)生在PIP(N0,W0),會造成線網(wǎng)1發(fā)生開路錯誤。每個線網(wǎng)使用的PIP都可能發(fā)生開路錯誤,通過減少線網(wǎng)的長度能有效減少發(fā)生開路錯誤。因此,利用線網(wǎng)邏輯單元之間的曼哈頓距離|xp(i)-xq(i)|+|yp(i)-yq(i)|+1 可以有效地評估開路錯誤。其中,(xp(i),yp(i))和(xq(i),yq(i))分別表示線網(wǎng)i中需要進行連接的兩個邏輯單元的坐標(biāo)值。
圖2 開關(guān)盒錯誤示意圖
所有未使用的可編程互連點都可能發(fā)生短路錯誤。當(dāng)SEU造成可編程互連點從“0”到“1”翻轉(zhuǎn)時,就會發(fā)生短路錯誤,例如開關(guān)盒2中的PIP(S1,E1)和PIP(S2,N2)。發(fā)生這種短路錯誤的PIP只連接一個線網(wǎng)或者沒有連接線網(wǎng),因此屬于 SEU非敏感的,不會造成線網(wǎng)連接錯誤,只會造成工作電流的增加和功耗的增大。當(dāng)PIP連接兩個線網(wǎng)時,引起的短路錯誤會影響系統(tǒng)功能,為了以示區(qū)別,特將這類錯誤歸類為橋接錯誤。
橋接錯誤可以發(fā)生在開關(guān)盒內(nèi),還可以發(fā)生在開關(guān)盒之間。例如圖2中,開關(guān)盒1的PIP(W0,S0),PIP(N0,S0), PIP(N0,E0)發(fā)生SEU時,會導(dǎo)致線網(wǎng)1與線網(wǎng)2發(fā)生開關(guān)盒內(nèi)的橋接錯誤;如果開關(guān)盒 2的PIP(W2,E2)發(fā)生翻轉(zhuǎn),就會造成線網(wǎng)2與線網(wǎng)4發(fā)生開關(guān)盒間的橋接錯誤。然而,開關(guān)盒內(nèi)的 PIP發(fā)生單粒子翻轉(zhuǎn)時,并不一定會引發(fā)橋接錯誤。因此,本文將在 3.1小節(jié)中討論布線資源橋接錯誤發(fā)生概率,用以準(zhǔn)確評估此類錯誤對系統(tǒng)的影響。
與SBU引起的軟錯誤相比,MBU在軟錯誤中所占比例越來越大。研究表明 MBU主要集中在 4位以內(nèi),60%以上是 2位翻轉(zhuǎn)(Double Bit Upset,DBU),很少發(fā)生4位以上翻轉(zhuǎn),其錯誤圖樣主要表現(xiàn)為同一行/列兩位連續(xù)錯誤或者呈對角線錯誤[16,17]。由于DBU所占比例最大,本文對MBU的研究針對DBU展開。2位翻轉(zhuǎn)表現(xiàn)為00→11, 01→10, 10→01和11→00,產(chǎn)生4種錯誤模式。
(1)1位開路或橋接錯誤:兩位翻轉(zhuǎn)中只有1位翻轉(zhuǎn)產(chǎn)生錯誤,另1位產(chǎn)生短路或不影響。DBU的4種形式都可能引發(fā)這種錯誤,其錯誤模式和前文所述的單位翻轉(zhuǎn)相同。
(2)2位開路錯誤:DBU同時發(fā)生開路錯誤,只有11→00才有可能導(dǎo)致這種類型的錯誤,等價于發(fā)生了兩個SBU。
(3)2位橋接錯誤:DBU同時引發(fā)橋接錯誤,這種錯誤存在于00→11的表現(xiàn)形式中。如果兩位翻轉(zhuǎn)同時存在于一個開關(guān)盒內(nèi),將會增大橋接錯誤發(fā)生概率。
(4)1位橋接同時1位開路:DBU的這種情況等效于獨立發(fā)生前文所述的單位橋接和單位開路錯誤。
如前文所述,布線資源的開路錯誤可以利用邏輯單元之間的曼哈頓距離進行量化評估,短路錯誤并不會引發(fā)系統(tǒng)功能錯誤,只有橋接錯誤缺少有效的評估方法。本小節(jié)在開關(guān)盒使用概率的基礎(chǔ)上,提出了橋接錯誤概率,能夠在布局階段合理、精確地反映橋接錯誤。
(1)開關(guān)盒使用概率 在布局階段可以采用減少線網(wǎng)之間的重疊來減少橋接錯誤,但這種粗略的評估方式必然會引起面積和時延的較大開銷[13]。然而,通過計算開關(guān)盒使用概率可以更準(zhǔn)確地描述橋接錯誤。如圖3所示,假設(shè)某一線網(wǎng)的源端位于(1,1)的相對位置,漏端位于(m,n)的相對位置,f(m,n)表示從位置(1,1)到(m,n)所有可能的布線情況數(shù)目,那么從圖3中可以得到遞歸表達形式:
圖3 開關(guān)盒使用概率示意圖
同時,由于布線器采用線長驅(qū)動,即選擇最短路徑進行布線,所以可以得到f(m, 1)=1 和f(1,n)=1 。結(jié)合式(1)解遞歸可得
于是,位于位置(i,j)處的開關(guān)盒使用概率PU(i,j)可以利用從(1,1)到(i,j)、從(i,j)到(m,n)分段布線所有可能情況的路徑數(shù)與從(1,1)到(m,n)所有可用路徑數(shù)目的比值進行表示,如式(3)所示。
(2)橋接錯誤概率 當(dāng)兩個線網(wǎng)使用同一個開關(guān)盒時,開關(guān)盒內(nèi)的PIP發(fā)生單粒子翻轉(zhuǎn)并非一定會引起橋接錯誤。因此,本文提出了橋接錯誤概率來準(zhǔn)確計算橋接錯誤。假設(shè)通過開關(guān)盒的線網(wǎng)數(shù)目為NI,且都是單輸入單輸出,則此開關(guān)盒內(nèi)可用的PIP數(shù)目為2Wfs-NI。對于Disjoint型開關(guān)盒,只有不同通道的同一端子號線網(wǎng)才有可能發(fā)生橋接錯誤,于是可能發(fā)生橋接錯誤的PIP數(shù)目為2·φ(NI)·(fs-1),其中φ(NI)是相同端子號評估函數(shù),用來表示NI個線網(wǎng)中可能發(fā)生橋接錯誤的數(shù)目,其取值范圍是0~NI/2。設(shè)λ(φ(NI))為φ(NI)在不同取值情況下的概率,于是發(fā)生在同一開關(guān)盒內(nèi)的橋接錯誤概率可以表示為
例如,當(dāng)W=4,fs=3,NI=4時,φ(NI)取值為0, 1, 2三種,對應(yīng)的λ(φ(NI))分別為2/17, 12/17,3/17。于是PBI=18/85。圖 4的 SBU曲線給出了W=4,fs=3時,不同NI值與錯誤概率的關(guān)系情況,橫坐標(biāo)為不同NI值,由于每個相同端子號可以容納的線網(wǎng)數(shù)目最大為2,所以NI的最大值為2W;縱坐標(biāo)為同一開關(guān)盒橋接錯誤概率。從圖中可以看出隨著NI的不斷增大,即通道使用率越來越高,錯誤概率逐漸趨近于 1,這說明通過減少開關(guān)盒內(nèi)的線網(wǎng)數(shù)目同樣可以減小錯誤概率。
圖4 同一開關(guān)盒錯誤概率與開關(guān)盒內(nèi)線網(wǎng)數(shù)目的關(guān)系
對于 DBU發(fā)生在同一開關(guān)盒的情況,其橋接錯誤概率可以表示為
圖4中給出了開關(guān)盒內(nèi)2位、3位翻轉(zhuǎn)與單位翻轉(zhuǎn)的對比情況,從圖中可以看出 MBU的翻轉(zhuǎn)位數(shù)越大,發(fā)生錯誤的概率也越高。
結(jié)合開關(guān)盒使用概率就可以在布局階段有效評估開關(guān)盒內(nèi)的橋接軟錯誤,設(shè)Nol表示可能使用(i,j)位置開關(guān)盒的線網(wǎng)數(shù)目,則某一開關(guān)盒的橋接軟錯誤可以表示為
對于相鄰開關(guān)盒的情況,設(shè)某線網(wǎng)使用了開關(guān)盒中的一個 PIP,則可能發(fā)生相鄰開關(guān)盒橋接錯誤的PIP數(shù)目為(fs-1);若對應(yīng)通道內(nèi)相鄰開關(guān)盒中有NN個線網(wǎng)通過,那么這NN個線網(wǎng)使用相同端子號的概率可以簡單表示為NN/2W。于是,發(fā)生開關(guān)盒間橋接錯誤的概率為
如果 DBU分別位于兩個相鄰的開關(guān)盒,那么橋接錯誤概率為
結(jié)合前文所述開關(guān)盒使用概率,某一開關(guān)盒布局階段可能發(fā)生開關(guān)盒間橋接故障的概率為
其中PUB(i,j)表示相鄰開關(guān)盒的使用概率,Nnb表示可能使用的相鄰開關(guān)盒數(shù)目。
本文采用基于概率模型的方法評價軟錯誤影響下的電路可靠性,首先假定電路中的一個節(jié)點是故障源,建立從此節(jié)點到可達輸出端的通路,設(shè)定不在通路上的線端信號概率,計算在通路中的軟錯誤傳播概率(Error Propagation Probability, EPP),據(jù)此評估電路的失效概率。EPP通常采用錯誤發(fā)生后在線網(wǎng)中傳播到輸出并對電路正常功能產(chǎn)生影響的概率表示,其計算方法參見文獻[18]。
然而這種方法在計算系統(tǒng)失效概率(System Failure Rate, SFR)時,不能有效地反映出布線資源的錯誤對系統(tǒng)失效率的影響,尤其是潛在的橋接錯誤影響。因此,本文利用前文提出的布線資源錯誤概率與 EPP相結(jié)合的方式來有效計算系統(tǒng)失效概率,即對每個網(wǎng)表,計算從輸入到輸出的EPP,同時利用布線資源錯誤評估得到節(jié)點錯誤概率(Node Error Rate, NER),最后采用乘積形式表示SFR,如式(10)所示:
NSB表示所用到的開關(guān)盒數(shù)目,α,β用來平衡不同軟錯誤的貢獻程度。
本文提出的抗軟錯誤CAD設(shè)計流程如圖5所示。首先優(yōu)化相關(guān)電路的邏輯,并將其映射到查找表和觸發(fā)器上,其輸出為.blif網(wǎng)表文件格式;其次,利用此網(wǎng)表計算所有線網(wǎng)的 EPP,然后利用 EPP將其打包轉(zhuǎn)化為邏輯塊為單位的網(wǎng)表.Net格式;接下來利用前文所述的布線資源軟錯誤評估得到的信息驅(qū)動布局布線,最終形成配置信息,并計算系統(tǒng)失效概率。
邏輯單元塊的打包是把數(shù)個 LUT和寄存器按照一個的約束條件合并成一個邏輯塊。首先選擇具有最大關(guān)鍵度的未打包邏輯塊作為新 Cluster的種子,再將未打包的單元按吸引因子的大小以此加入,直到Cluster被填滿為止。其吸引因子由關(guān)鍵度、線網(wǎng)共享程度和錯誤傳播概率EPP組成。這個步驟的優(yōu)化目標(biāo)是把彼此連接的LUT打包在一起,以減少邏輯單元快之間待布線的信號數(shù)目,并且盡可能達到每個邏輯單元塊的絨線,使得用到的邏輯單元塊數(shù)目最少。
圖5 抗軟錯誤CAD設(shè)計流程
布局算法確定了實現(xiàn)電路功能需要的各邏輯單元塊在 FPGA中的位置。經(jīng)典的 VPR[19]布局算法基于模擬退火算法,首先隨機分配邏輯單元塊到FPGA以得到初始布局,然后通過大量的隨機移動或者局部優(yōu)化來改進布局。每次移動后接受與否由成本函數(shù)差值決定,其優(yōu)化目標(biāo)是最大限度提高電路速度(時序驅(qū)動)和最大程度地減少所需的布線資源(線長驅(qū)動)。
設(shè)Dl(i,j)、Cr(i,j)和CE分別表示i,j連接的延時、關(guān)鍵性和關(guān)鍵性系數(shù),CC表示所有使用的邏輯單元集合,那么時序驅(qū)動成本函數(shù)可以表示為
而線長驅(qū)動成本函數(shù)計算公式為
其中,bbx(i),bby(i)分別表示線網(wǎng)i的邊界框的水平、垂直跨度;q(i)是與線網(wǎng)i端口數(shù)有關(guān)的函數(shù),用于補償隨著端口遞增而導(dǎo)致線網(wǎng)的非線性增加;Cav,x(i)和Cav,y(i)分別是線網(wǎng)i的邊界框在x和y方向的平均通道寬度;β用于調(diào)整不同寬度通道的相對成本;Nn為線網(wǎng)數(shù)目。
通過前文分析,SEU導(dǎo)致的開路錯誤成本函數(shù)由線網(wǎng)的邊界框決定,與線長驅(qū)動的成本函數(shù)和優(yōu)化目標(biāo)一致,因此,布局時不需要單獨考慮開路錯誤,只需用式(14)替換式(11)計算系統(tǒng)失效概率。
考慮到開關(guān)盒內(nèi)的橋接錯誤要略高于開關(guān)盒間的橋接錯誤,通過實驗表明α取 0.75~0.90之間時能夠較好地平衡兩種錯誤形式。于是,在布局階段預(yù)評估系統(tǒng)失效概率可以采用式(15)作為成本函數(shù)之一驅(qū)動布局過程。
本文在構(gòu)建代價函數(shù)時,不但考慮了線長和時序的影響,還考慮了由SEU引起的FPGA內(nèi)部軟錯誤,其目標(biāo)代價函數(shù)如式(16)所示:
FPGA的布線過程是設(shè)置合適的可編程開關(guān)來連接所有邏輯單元塊的輸入和輸出引腳。VPR采用了PathFinder多次迭代算法,通過允許布線資源的重用,利用布線資源節(jié)點連接成本的變化來解決擁擠問題,可以同時考慮時序和布通性。布線資源節(jié)點n的成本函數(shù)可以表示為
其中,第1項表示延時,第2項表示擁擠度,b(n),h(n)和p(n)分別表示節(jié)點n的基本成本、歷史擁擠度和當(dāng)前擁擠度成本。
在考慮軟錯誤影響因素后,將布線節(jié)點n的成本函數(shù)重新定義為
其中SEC是反映節(jié)點n對軟錯誤的敏感程度,也就是發(fā)生橋接故障的可能性,由前文所述的軟錯誤發(fā)生概率確定。
經(jīng)典的布線算法反復(fù)拆線重布電路中每一條沖突的線網(wǎng),直到所有的擁擠都消除。而本文所述的提高FPGA抗軟錯誤的本質(zhì)是減少開關(guān)盒出現(xiàn)開路和橋接錯誤的可能,SEC反映出節(jié)點n對軟錯誤的敏感程度,其取值是與本次布線迭代中已使用的互連資源相關(guān)。如果n周圍的開關(guān)盒未被使用,那么當(dāng)前線網(wǎng)使用布線節(jié)點n將不會引起橋接錯誤,其影響在于使得布線結(jié)構(gòu)更加分散,即各線網(wǎng)的分布更加稀疏。在每次拆線重布時,SEC需重新計算并計入互連資源的總成本,因此,該算法可以尋找出總成本最小的路徑,實現(xiàn)在盡量少的互連資源情況下降低互連資源軟錯誤的可能。
為了對所提出的抗軟錯誤物理設(shè)計方法進行驗證,實驗采用 MCNC(Microelectronics Center of North Carolina)基準(zhǔn)電路集,每個網(wǎng)表通過SIS邏輯優(yōu)化后,使用Flowmap進行工藝映射,利用引入EPP的T-VPack進行打包,然后采用修改后的VPR布局布線工具對電路網(wǎng)表進行實現(xiàn),最后進行可靠性評估。設(shè)計開銷由面積、延時和功率3部分組成,各占1/3。
對于只有一個單粒子翻轉(zhuǎn),為了和文獻[14]中僅使用EPP驅(qū)動CAD進行對比,直接計算了系統(tǒng)失效概率改善比例(Soft Failure Rate Improvement,SFRI)。對于單粒子多位翻轉(zhuǎn)的情況,采用故障注入方式模擬輻射環(huán)境進行可靠性評估[20]。故障注入基于局部重配置方法,將 FPGA中內(nèi)嵌的 PowerPC核作為故障注入控制器,首先通過 PLB(Processor Local Bus)從BRAM中讀取重配置比特流;其次對比特流進行隨機翻轉(zhuǎn)操作,模擬SEU的發(fā)生,生成故障注入序列;然后利用 ICAP(Internal Configuration Access Port)對FPGA進行重配置;最后對結(jié)果進行采集,與正確結(jié)果比較,判定SEU是否影響FPGA的正常工作。對于DBU,其比例分別為10%、30%、50%、80%和100%,注入次數(shù)為10000次;此外,實驗還對MBU中的3位翻轉(zhuǎn)進行故障注入實驗,其比例與DBU相同(其余為單位翻轉(zhuǎn)),注入次數(shù)為10000次。
表1給出了本文所述CAD流程與文獻[14]中采用SEU-AWARE CAD流程在SFRI上的結(jié)果對比情況,SFRI從12.45%上升到18.01%,設(shè)計開銷幾乎沒有增加。從表1中可知,本算法對不同電路的提升效果有所不同,其原因在于電路的輸入輸出管腳數(shù)目以及CLB數(shù)目不同,同時由于布局布線尋優(yōu)的隨機性導(dǎo)致電路提升效果存在差異。圖6給出了以上電路在不同 DBU比例下的發(fā)生錯誤的平均百分比。從圖中可以看出本文提出的算法可以有效地降低DBU對系統(tǒng)的影響,當(dāng)DBU比例增加時,系統(tǒng)失效概率遠低于其他方式,且沒有顯著地上升,這說明本文提出的算法對不同比例的 DBU有很好的適應(yīng)性。由于配置單元數(shù)目較大以及故障注入的隨機性,導(dǎo)致只有 1%~3%的注入實驗引發(fā)了電路功能錯誤,但仍可以驗證本算法緩解 DBU的有效性。圖7給出了在不同3位翻轉(zhuǎn)比例下發(fā)生錯誤的平均百分比,其結(jié)果與 DBU相似,從圖中可以看出,本算法同樣可以有效地緩解3位翻轉(zhuǎn)對系統(tǒng)的影響。
圖6 不同DBU比例下的錯誤發(fā)生比例情況(10000次故障注入)
圖7 不同3位翻轉(zhuǎn)比例下的錯誤發(fā)生比例情況(10000次故障注入)
表1 SFRI和開銷對比
本文對SRAM型FPGA的單位翻轉(zhuǎn)和多位翻轉(zhuǎn)進行分析,提出了布線資源軟錯誤發(fā)生概率能夠有效評估SEU軟錯誤,并通過結(jié)合錯誤傳播概率計算系統(tǒng)失效率,對FPGA的物理設(shè)計流程中的打包、布局布線算法進行了優(yōu)化改進。實驗結(jié)果表明,本文提出的方法能夠減少SBU和MBU作用下的軟錯誤,提高FPGA的抗輻射性能。
[1]Naumann R C. Radiation-induced soft errors in advanced semiconductor technologies[J].IEEE Tranactions on Device and Materials Reliability, 2005, 5(3): 305-316.
[2]Quinn H, Graham P, Krone J,et al.. Radiation-induced Multi-Bit Upsets in SRAM-based FPGAs[J].IEEE Transactions on Nuclear Science, 2005, 52(6): 2217-2223.
[3]Tipton A D, Pellish J A, Hutson J M,et al.. Deviceorientation effects on multiple-bit upset in 65 nm SRAMs[J].IEEE Transactions on Nuclear Science, 2008, 55(6):2880-2885.
[4]ITRS. The International Technology Roadmap for Semiconductors(2011Edition)[R]. http://www.itrs.net, 2011.
[5]譚宜濤, 楊海鋼, 黃娟, 等. 基于關(guān)鍵路徑的三模冗余表決器插入算法[J]. 電子與信息學(xué)報, 2012, 34(2): 487-492.
Tan Yi-tao, Yang Hai-gang, Huang Juan,et al.. Voter insertion algorithm based on critical path for triple module redundancy[J].Jounal of Electronics&Information Technology, 2012, 34(2): 487-492.
[6]Ruano O, Maestro J A, and Reviriego P. A fast and efficient technique to apply selective TMR through optimization[J].Microelectronics Reliability, 2011, 51(12): 2388-2401.
[7]Argyrides C A, Reviriego P, Pradhan D K,et al.. Matrixbased codes for adjacent error correction[J].IEEE Transactions on Nuclear Science, 2010, 57(4): 2106-2111.
[8]She Xiao-xuan, Li N, and Jensen D W. SEU tolerant memory using error correction code[J].IEEE Transactions on Nuclear Science, 2012, 59(1): 205-210.
[9]Asadi G and Tahoori M B. Soft error mitigation for SRAM-based FPGAs[C]. Proceedings of the IEEE VLSI Test Symposium, California, 2005: 207-212.
[10]Sari A and Psarakis M. Scrubbing-based SEU mitigation approach for systems-on-programmable-chips[C]. Proceedings of Field-Programmable Technology(FPT), New Delhi, 2011:1-8.
[11]Zarandi H R, Miremadi S G, Pradhan D K,et al.. SEU-mitigation placement and routing algorithms and their impact in SRAM-based FPGAs[C]. Proceedings of International Symposium on Quality Electronic Design, San Jose, 2007: 380-385.
[12]Golshan S and Bozorgzadeh E. Single-Event-Upset(SEU)awareness in FPGA routing[C]. Proceedings of the ACM/IEEE Design Automation Conference, San Diego, 2007:330-333.
[13]Abdul-Aziz M A and Tahoori M B. Soft error reliability aware placement and routing for FPGAs[C]. Proceedings of the IEEE International Test Conference(ITC), Austin, 2010:1-9.
[14]Bahramnejad S and Zarandi H R. Mitigation of soft errors in SRAM-based FPGAs using CAD tools[J].Computers and Electrical Engineering, 2011, 37(6): 1019-1031.
[15]Sterpone L and Battezzati N. A new placement algorithm for the mitigation of multiple cell upsets in SRAM-based FPGAs[C]. Proceedings of Design, Automation and Test in Europe Conference and Exhibition(DATE), Dresden, 2010:1231-1236.
[16]Zhang Q X, Hou M D, Liu J,et al.. The impact of incident angle on multiple-bit upset in SRAMs[J].Nuclear Instruments and Methods in Physics Research B, 2003, 209:367-370.
[17]Radaelli D, Puchner H, Wong S,et al.. Investigation of multi-bit upsets in a 150 nm technology SRAM device[J].IEEE Transactions on Nuclear Science, 2005, 52(6):2433-2437.
[18]Asadi H and Tahoori M B. An accurate SER estimation method based on propagation probability[C]. Proceedings of IEEE Design, Automation and Test in Europe, Munich, 2005:306-307.
[19]Luu J, Kuon I, Jamieson P,et al.. VPR 5.0: FPGA cad and architecture exploration tools with single-driver routing,heterogeneity and process scaling[C]. Proceedings of the International Symposium on Field Programmable Gate Arrays, New York, 2009: 133-142.
[20]Sterpone L and Violante M. A new partial reconfigurationbased fault-injection system to evaluate SEU effects in SRAM-based FPGAs[J].IEEE Transactions on Nuclear Science, 2007, 54(4): 965-970.