張砦, 王友仁
南京航空航天大學(xué) 自動(dòng)化學(xué)院, 南京 210016
應(yīng)用設(shè)計(jì)過程的胚胎硬件細(xì)胞單元粒度優(yōu)化方法
張砦*, 王友仁
南京航空航天大學(xué) 自動(dòng)化學(xué)院, 南京 210016
胚胎硬件的高可靠性主要由新穎的硬件體系和細(xì)胞電路結(jié)構(gòu)來保障,缺乏應(yīng)用設(shè)計(jì)過程的可靠性提高方法研究。分析了在應(yīng)用設(shè)計(jì)過程中可調(diào)的胚胎硬件可靠性影響因素,針對細(xì)胞單元粒度不同會(huì)導(dǎo)致細(xì)胞面積變化從而影響細(xì)胞陣列可靠性的實(shí)際情況,對傳統(tǒng)可靠性模型無法體現(xiàn)細(xì)胞面積變化的不足進(jìn)行了改進(jìn),建立了新的可靠性模型。通過實(shí)例分析,總結(jié)出不同細(xì)胞單元粒度情況下的細(xì)胞陣列可靠性變化規(guī)律,進(jìn)而給出細(xì)胞單元粒度優(yōu)化選擇方法,設(shè)計(jì)者基于該方法不需設(shè)計(jì)完整電路就能確定自身設(shè)計(jì)能力范圍內(nèi)獲得最大可靠性的細(xì)胞單元粒度。
胚胎硬件; 可靠性分析; 電路優(yōu)化; 細(xì)胞單元粒度; 可重構(gòu)
具有功能重配置特點(diǎn)的可重構(gòu)硬件已成為電子系統(tǒng)容錯(cuò)設(shè)計(jì)的主要對象之一。當(dāng)前,可重構(gòu)硬件容錯(cuò)主要由片外注入測試向量法進(jìn)行故障檢測,根據(jù)測試結(jié)果生成重配置數(shù)據(jù),整個(gè)過程由片外或系統(tǒng)外控制,容錯(cuò)速度慢、算法復(fù)雜、計(jì)算量大,系統(tǒng)可靠性也因?yàn)殡y以高效利用內(nèi)部冗余資源而較低,對實(shí)時(shí)性、可靠性要求高,外部控制困難的應(yīng)用,如航空航天、深海、輻射、軍事等領(lǐng)域電子系統(tǒng),亟待研究片內(nèi)自主控制,能自修復(fù)的新型可重構(gòu)硬件及其設(shè)計(jì)方法。
胚胎硬件(Embryonics Hardware)是一種具有芯片自愈特色的新型可重構(gòu)硬件,基于該硬件方法的芯片系統(tǒng),具有內(nèi)部自診斷、自修復(fù)邏輯,可自主觸發(fā)局部動(dòng)態(tài)重構(gòu)完成自愈,整個(gè)過程完全由芯片按生物啟發(fā)式方法進(jìn)行分布控制,設(shè)計(jì)者無需做復(fù)雜的設(shè)計(jì)決策,且運(yùn)算復(fù)雜度低、容錯(cuò)速度快。此外,由于硬件冗余發(fā)生在芯片內(nèi)的電子細(xì)胞層,硬件容錯(cuò)代價(jià)大大減小,與傳統(tǒng)板級外部控制下的芯片重構(gòu)相比,不僅實(shí)現(xiàn)了自主控制,可靠性也得到大幅提高[1-4]。
胚胎硬件研究主要基于二維細(xì)胞單元陣列結(jié)構(gòu),以提高硬件資源利用率、容錯(cuò)修復(fù)速度和可靠性為目標(biāo),基本研究思路是模仿生物機(jī)體結(jié)構(gòu)(器官、組織、細(xì)胞)和功能系統(tǒng)(神經(jīng)系統(tǒng)、內(nèi)分泌系統(tǒng)、免疫系統(tǒng))工作方式,研究細(xì)胞單元的故障檢測、移除和替代策略。當(dāng)前胚胎硬件的研究重心是如何將仿生機(jī)制用硬件實(shí)現(xiàn)[4-9],重點(diǎn)改進(jìn)硬件體系和細(xì)胞電路結(jié)構(gòu),但作為一項(xiàng)高可靠性硬件類型,應(yīng)用設(shè)計(jì)過程中基于可靠性分析的優(yōu)化方法研究十分缺乏。Ortega和Tyrrell[10-11]在胚胎硬件研究早期分析了不同容錯(cuò)策略對系統(tǒng)可靠性的影響;林勇和羅文堅(jiān)[12]分析了細(xì)胞陣列布局結(jié)構(gòu)對系統(tǒng)可靠性的影響,但在可靠性建模中都將細(xì)胞視為固定節(jié)點(diǎn),未考慮細(xì)胞內(nèi)部模塊受陣列規(guī)模、細(xì)胞布局和容錯(cuò)策略影響的情況,相關(guān)結(jié)論與實(shí)際設(shè)計(jì)結(jié)果存在較大偏差,要用于實(shí)際應(yīng)用設(shè)計(jì)指導(dǎo),需要建立與細(xì)胞電路設(shè)計(jì)結(jié)合更緊密、能體現(xiàn)多種設(shè)計(jì)因素的新可靠性模型。
胚胎硬件設(shè)計(jì)中,影響系統(tǒng)可靠性的主要因素包括:陣列規(guī)模、細(xì)胞單元電路(包含單元粒度大小和模塊組成結(jié)構(gòu))、容錯(cuò)策略和細(xì)胞布局等。從可靠性角度,陣列規(guī)模、細(xì)胞模塊組成結(jié)構(gòu)和容錯(cuò)策略的影響很大,但應(yīng)用設(shè)計(jì)過程是特定人員在已知芯片上實(shí)現(xiàn)一定系統(tǒng)功能,陣列總規(guī)模和細(xì)胞電路設(shè)計(jì)方法(決定了細(xì)胞組成結(jié)構(gòu)和陣列容錯(cuò)策略)已確定,設(shè)計(jì)過程對系統(tǒng)可靠性的主要影響是設(shè)計(jì)者的設(shè)計(jì)能力(特點(diǎn)設(shè)計(jì)方法下的電路實(shí)現(xiàn)能力)、細(xì)胞單元粒度和細(xì)胞布局結(jié)構(gòu)。本文針對最常用的容錯(cuò)策略和細(xì)胞布局方式,研究細(xì)胞單元粒度對系統(tǒng)可靠性的影響,以獲取細(xì)胞單元粒度優(yōu)化選擇的分析方法。
圖1為典型的胚胎硬件二維細(xì)胞陣列及其內(nèi)部結(jié)構(gòu),系統(tǒng)由結(jié)構(gòu)相同的電子細(xì)胞以二維陣列形式構(gòu)成,每個(gè)細(xì)胞與4個(gè)方向的相鄰細(xì)胞有直接連線。系統(tǒng)功能由配置了邏輯功能的細(xì)胞(稱為工作細(xì)胞)完成,未配置邏輯功能的細(xì)胞稱為空閑細(xì)胞,修復(fù)是用故障工作細(xì)胞的配置數(shù)據(jù)配置空閑細(xì)胞實(shí)現(xiàn)功能替代。細(xì)胞內(nèi)部模塊根據(jù)功能不同,可分為邏輯功能模塊、控制模塊、配置存儲(chǔ)器、坐標(biāo)模塊和輸入輸出布線器5大部分,功能模塊實(shí)現(xiàn)邏輯功能,控制模塊控制整個(gè)細(xì)胞的工作,配置存儲(chǔ)器存儲(chǔ)細(xì)胞的配置信息(類似生物DNA),坐標(biāo)模塊確定選中哪部分配置信息以決定細(xì)胞具體執(zhí)行的功能,輸入輸出布線器用以連接細(xì)胞和傳送數(shù)據(jù)。
圖1 胚胎硬件的二維陣列和細(xì)胞內(nèi)部結(jié)構(gòu)Fig.1 Cellular array and inner modules of embryonics hardware
胚胎硬件自修復(fù)是細(xì)胞自主分布式控制下實(shí)現(xiàn)空閑細(xì)胞對故障工作細(xì)胞替代的過程,相關(guān)方法稱為自修復(fù)策略:細(xì)胞內(nèi)自檢測邏輯發(fā)現(xiàn)故障后觸發(fā)細(xì)胞“死亡”,其功能由陣列中的空閑細(xì)胞代替。自修復(fù)策略研究的目標(biāo)是細(xì)胞替代過程簡單、涉及細(xì)胞少、細(xì)胞利用率高。目前,胚胎硬件設(shè)計(jì)采用的2種基本策略是:行/列移除和單細(xì)胞移除[4,8-13]。雖然研究人員提出過多種自修復(fù)策略,但目前尚無策略在簡單性、高效性和高利用率方面均能最佳,設(shè)計(jì)中往往只能尋找最合適某種應(yīng)用的策略,采用最多的是單細(xì)胞移除策略,其基本原理如圖2所示,本文針對單細(xì)胞移除策略開展研究。
故障細(xì)胞所在行有空閑細(xì)胞,則先行內(nèi)細(xì)胞移除:自故障細(xì)胞開始,右邊細(xì)胞功能依次右移,如圖2(b)所示,如果空閑細(xì)胞不少于故障細(xì)胞,行內(nèi)即可完成修復(fù);如果行內(nèi)空閑細(xì)胞不足,則觸發(fā)行移除操作,如圖2(d)所示。
圖2 單細(xì)胞移除策略工作原理Fig.2 Single-cell-elimination self-repairing strategy
1)k-out-of-m模型
包含m個(gè)單元,但只要其中k個(gè)單元能正常工作的系統(tǒng)稱為滿足k-out-of-m模型的系統(tǒng),二維細(xì)胞陣列結(jié)構(gòu)中,每個(gè)細(xì)胞相互獨(dú)立,滿足k-out-of-m模型。對于每個(gè)單元正常工作的概率分布函數(shù)為p(t)=e-λt的k-out-of-m模型系統(tǒng),其可靠度可表示為
(1)
式中:λ為單元失效率,取常數(shù)。由于可靠度R(t)是一個(gè)隨時(shí)間變化的量,一般用平均無故障時(shí)間(Mean Time to Failure,MTTF)來衡量系統(tǒng)可靠性,本文取λ的單位為10-6/h,則MTTF的單位為106h。
2) 基于單細(xì)胞移除策略的可靠性模型
設(shè)細(xì)胞陣列由工作細(xì)胞和空閑細(xì)胞組成,陣列總規(guī)模為N×M,工作細(xì)胞規(guī)模為n×m,其中:N、n分別為總陣列和工作細(xì)胞陣列的行數(shù),M、m分別為總陣列和工作細(xì)胞陣列的列數(shù)。采用單細(xì)胞移除策略,每行中有m個(gè)細(xì)胞可靠則該行可靠,陣列中有n行可靠則陣列可靠,所以,單細(xì)胞移除策略下行、列的可靠性都滿足k-out-of-m模型。每行可靠度為
(2)
陣列的可靠度R(t)和可靠性MTTF分別為
(3)
(4)
胚胎硬件由結(jié)構(gòu)相同的細(xì)胞單元以陣列形式構(gòu)成,細(xì)胞單元粒度的大小表明細(xì)胞能夠?qū)崿F(xiàn)邏輯功能規(guī)模。
在1.3節(jié)模型的基礎(chǔ)上引入細(xì)胞單元粒度變量g。為說明單元粒度對細(xì)胞陣列可靠性的影響,以g=1時(shí),N=M=200,n=m=100的方陣為例進(jìn)行可靠性數(shù)值分析,g=1在實(shí)際設(shè)計(jì)中代表任選的某狀態(tài)。引入單元粒度后,由于g變化會(huì)引起細(xì)胞面積變化,故以細(xì)胞數(shù)與單元粒度的乘積來表示芯片面積和細(xì)胞電路面積。
圖3 陣列可靠性隨細(xì)胞單元粒度g變化情況(N=M=200,n=m=100)Fig.3 Array reliability for different celludar granularity g (N=M=200,n=m=100)
由圖3可知:隨著g的增大,陣列可靠性單調(diào)下降,表明細(xì)胞單元粒度越小,細(xì)胞陣列可靠性越高,因此,要提高胚胎硬件的可靠性,應(yīng)采用盡可能小的細(xì)胞單元粒度進(jìn)行設(shè)計(jì),且越小越好。上述分析過程將細(xì)胞單元粒度直接等效為細(xì)胞面積,存在較大的不準(zhǔn)確性,但用于分析粒度大小對陣列可靠性的影響趨勢有借鑒意義,說明通過細(xì)胞單元粒度優(yōu)化選擇能提高系統(tǒng)可靠性。
實(shí)際設(shè)計(jì)過程中,采用小細(xì)胞單元粒度設(shè)計(jì)不一定能獲得高可靠性。胚胎硬件陣列中實(shí)現(xiàn)邏輯功能主要是細(xì)胞內(nèi)的邏輯功能模塊,但為了實(shí)現(xiàn)系統(tǒng)硬件自修復(fù),細(xì)胞內(nèi)還有其他模塊,其硬件消耗并不與功能模塊粒度大小變化成正比,當(dāng)細(xì)胞單元粒度較小時(shí),相同邏輯功能需要更多細(xì)胞單元實(shí)現(xiàn),加上自修復(fù)所增加的其他模塊電路,陣列連線、配置所需的硬件資源增加,采用不同細(xì)胞單元粒度設(shè)計(jì)相同系統(tǒng)功能,消耗的工作細(xì)胞總面積資源并不相同[7,8,15-19],1.3節(jié)的可靠性模型無法體現(xiàn)自修復(fù)設(shè)計(jì)附加電路的影響。
為準(zhǔn)確區(qū)分細(xì)胞單元粒度變化的影響,將細(xì)胞內(nèi)硬件資源按是否受其影響進(jìn)行分類,稱細(xì)胞內(nèi)僅用于實(shí)現(xiàn)系統(tǒng)邏輯功能的電路硬件為基本資源,主要是邏輯功能模塊,其他資源稱為輔助資源,基本資源不受陣列規(guī)模、細(xì)胞布局和自修復(fù)策略等因素影響,而輔助資源不僅受上述因素影響,還與設(shè)計(jì)者的設(shè)計(jì)能力有關(guān)。
細(xì)胞布局和容錯(cuò)策略一定時(shí),輔助資源消耗主要與陣列規(guī)模和設(shè)計(jì)能力有關(guān),細(xì)胞單元粒度小時(shí),細(xì)胞數(shù)多,故障檢測、修復(fù)控制邏輯和連線復(fù)雜度都高,導(dǎo)致細(xì)胞內(nèi)輔助資源面積占比提高,引起系統(tǒng)可靠性下降。因此,考慮實(shí)際設(shè)計(jì)情況下的細(xì)胞內(nèi)輔助資源因素時(shí),小的細(xì)胞單元粒度結(jié)構(gòu)會(huì)導(dǎo)致可靠性降低,如何反映細(xì)胞內(nèi)輔助資源影響因素是新模型研究要解決的問題。
細(xì)胞內(nèi)基本資源和輔助資源受到設(shè)計(jì)能力、設(shè)計(jì)方法和設(shè)計(jì)目標(biāo)影響。
1) 基本資源
細(xì)胞單元粒度變化以細(xì)胞內(nèi)基本資源變化量衡量,具體值用電路面積表示。所有工作細(xì)胞中的基本資源之和為實(shí)現(xiàn)系統(tǒng)功能的基本資源總消耗,確定的設(shè)計(jì)者,設(shè)計(jì)特定系統(tǒng)功能,且方法一定時(shí),基本資源總消耗將保持不變。雖然細(xì)胞單元粒度大小不同時(shí),基本資源總消耗會(huì)受到電路邏輯功能工藝映射算法的影響,難以精確量化,但系統(tǒng)邏輯功能不變。從基于查找表(LUT)結(jié)構(gòu)FPGA的工藝映射過程看,采用較小粒度LUT進(jìn)行邏輯分配,LUT總單元數(shù)較多而每個(gè)LUT中單元利用率較高;采用較大粒度LUT進(jìn)行邏輯分配,LUT總單元數(shù)較少但每個(gè)LUT中單元利用率也較低,因此,LUT粒度大小相差不大則LUT總資源消耗相差也不會(huì)很大[20],本文建模過程假設(shè)所有工作細(xì)胞中基本資源總消耗在實(shí)現(xiàn)特定系統(tǒng)功能時(shí)保持不變。雖然該假設(shè)存在一定誤差,但利用本文優(yōu)化方法進(jìn)行設(shè)計(jì)時(shí),這個(gè)誤差可以通過實(shí)際工藝映射后的結(jié)果來修正,并不影響本文方法的有效性。
2) 輔助資源
細(xì)胞內(nèi)主要是配置存儲(chǔ)器和輸入輸出布線模塊受到陣列規(guī)模、細(xì)胞布局和自修復(fù)策略影響。
① 配置存儲(chǔ)器
細(xì)胞功能由配置存儲(chǔ)器存儲(chǔ)的配置信息確定,每個(gè)細(xì)胞的配置存儲(chǔ)器需保存自身以及可能替代的所有細(xì)胞的配置信息,因此,修復(fù)次數(shù)越多,配置信息越多,配置存儲(chǔ)器面積越大。細(xì)胞單元粒度減小,細(xì)胞數(shù)增多,可修復(fù)次數(shù)增加,則細(xì)胞內(nèi)配置存儲(chǔ)器增大,輔助資源占細(xì)胞面積比例將提高,從而影響冗余細(xì)胞數(shù)。
② 輸入輸出布線模塊的輔助布線電路
單細(xì)胞移除策略下,修復(fù)過程行內(nèi)細(xì)胞功能右移導(dǎo)致該行故障細(xì)胞右方所有細(xì)胞與其相鄰的上下行之間的連線均發(fā)生變化[4,8,9,13],輸入輸出布線器電路中須增加輔助布線電路,行內(nèi)修復(fù)次數(shù)越多,細(xì)胞內(nèi)的輔助布線電路將越復(fù)雜,面積越大,因此,細(xì)胞單元粒度變小會(huì)引起細(xì)胞內(nèi)輔助資源面積占比提高。
1) 新模型的變量定義
① 應(yīng)用設(shè)計(jì)過程是在固定芯片上實(shí)現(xiàn)特定的系統(tǒng)功能,芯片總面積和基本資源總面積不變。每個(gè)工作細(xì)胞面積由基本資源部分和輔助資源部分構(gòu)成,細(xì)胞內(nèi)基本資源部分面積大小與細(xì)胞單元粒度有關(guān),而輔助資源面積還受到設(shè)計(jì)過程的設(shè)計(jì)能力、容錯(cuò)策略和陣列布局結(jié)構(gòu)等影響。
② 細(xì)胞單元粒度g的初始值為g0=1。若粒度增大10%,則g=1.1,減小10%,則g=0.9。
③ 引入2.1節(jié)關(guān)于輔助資源變化的分析結(jié)果,定義每個(gè)細(xì)胞中輔助資源與細(xì)胞面積的比為β∈(0,1),細(xì)胞內(nèi)無輔助資源時(shí),β=0。
④ 設(shè)g=1,β=0時(shí),工作細(xì)胞數(shù)為n×m,n、m分別表示陣列中工作細(xì)胞的行數(shù)和列數(shù);總細(xì)胞數(shù)為N×M,N、M分別表示陣列總細(xì)胞的行數(shù)和列數(shù)。
2) 新模型中的參數(shù)隨細(xì)胞單元粒度變化情況
① 細(xì)胞單元面積Sg=gS/(1-β),其中,S為g=1,β=0時(shí)的細(xì)胞面積。
④ 細(xì)胞單元失效率與細(xì)胞面積成正比:λg=g/(1-β)λ,λ=1×10-6/h是g=1時(shí)的細(xì)胞單元失效率,此處不考慮細(xì)胞內(nèi)部電路形式不同引起的失效率不同問題。
新模型可體現(xiàn)細(xì)胞單元粒度g和細(xì)胞內(nèi)輔助資源面積占比β對系統(tǒng)可靠性的影響。
選擇以g=1,N=M=200,n=m=100,λ=1×10-6/h為初始狀態(tài),實(shí)際設(shè)計(jì)可任意確定初始狀態(tài),只需取該狀態(tài)下的g=1即可。
1)g和β單獨(dú)變化時(shí)的陣列可靠性
圖4給出了g=1時(shí),不同β值下的陣列可靠度,若g值變化,依然能獲得類似的可靠度曲線,因?yàn)間一定,則工作細(xì)胞數(shù)將保持不變,單個(gè)細(xì)胞單元的面積隨β增大而增大,一方面導(dǎo)致細(xì)胞失效率升高,另一方面總細(xì)胞數(shù)減少,而工作細(xì)胞數(shù)不變,總細(xì)胞數(shù)減少引起可修復(fù)次數(shù)減少,所以陣列可靠性單調(diào)降低(圖5中g(shù)=1時(shí)的曲線給出了圖4中可靠性曲線的MTTF值變化情況)。由圖4和圖5可知,若g保持不變,則設(shè)計(jì)的細(xì)胞電路中輔助資源越少,陣列可靠性越高,表明胚胎硬件配置存儲(chǔ)器電路和輔助布線器電路簡化設(shè)計(jì)能夠有效提高陣列可靠性。
圖4 g=1時(shí),不同β下的陣列可靠度R(t)Fig.4 R(t) curves for different β when g=1
圖5為不同細(xì)胞單元粒度下的陣列可靠性曲線。由圖可知,g一定,系統(tǒng)可靠性隨β增大單調(diào)遞減;而β一定,可靠性將隨g增大而單調(diào)降低。分析g和β單獨(dú)變化對系統(tǒng)可靠性影響,表明減小細(xì)胞單元粒度可提高系統(tǒng)可靠性。
圖5 不同g下,陣列可靠性隨β變化情況Fig.5 Array reliability for different β and g
2)g和β同時(shí)變化時(shí)的陣列可靠性
根據(jù)2.1節(jié)內(nèi)容,細(xì)胞內(nèi)部電路模塊變化,g和β會(huì)同時(shí)改變,只是具體變化量由設(shè)計(jì)者設(shè)計(jì)能力決定,設(shè)計(jì)者不同具體值也不同。所以還需分析不同g和β組合時(shí)的可靠性情況。
圖6為細(xì)胞單元粒度g取0~2,細(xì)胞內(nèi)輔助資源面積占比β為0~1時(shí),不同g和β值下得到的陣列可靠性曲面。由圖可知,g和β同時(shí)取較小值時(shí),可靠性較高,但實(shí)際電路設(shè)計(jì)過程兩者變化趨勢相反,即g增大則β會(huì)減小(單元粒度大,設(shè)計(jì)難度小,輔助資源的電路占比會(huì)下降,實(shí)際情況無法做到g和β同時(shí)取較小值),而g減小則β增大。圖6的3個(gè)變量中,MTTF是優(yōu)化目標(biāo),β是反應(yīng)設(shè)計(jì)者設(shè)計(jì)能力的固有參數(shù),而g是優(yōu)化設(shè)計(jì)的調(diào)節(jié)手段。給出曲面中不同點(diǎn)的g、β取值組合,作為設(shè)計(jì)者在特定設(shè)計(jì)目標(biāo)下的參數(shù)選擇參照值,可選擇最佳細(xì)胞單元粒度去獲得設(shè)計(jì)能力范圍內(nèi)的最大可靠性。
圖6 g和β同時(shí)變化時(shí)的陣列可靠性曲面Fig.6 Curved surface of reliability for different g and β
圖6中畫出了g=1,β=0時(shí)陣列可靠性的等MTTF面和等MTTF曲線,等高線是等高面與陣列可靠性曲面的交線,等高線上點(diǎn)的取值為不同g和β值時(shí)獲得相同可靠性的臨界條件。以圖中曲線為例,該曲線與g<1情況的MTTF-β曲線均有交點(diǎn),為了更清晰地表示取值方法,給出了局部放大圖,如圖6(b)所示,其中標(biāo)出了與g=0.7時(shí)MTTF-β曲線的交點(diǎn),β值為0.172 1,含義為:若初始狀態(tài)下g=1,β=0,則g由1降低到0.7,要保持陣列可靠性不下降,應(yīng)該滿足細(xì)胞內(nèi)輔助資源面積占比不高于17.21%(臨界值),實(shí)用意義是:設(shè)計(jì)者設(shè)計(jì)的初始狀態(tài)細(xì)胞中輔助資源面積占比為0(實(shí)際若大于0,則繪出不同初始狀態(tài)下的曲面),若希望通過減小細(xì)胞粒度的方式提高可靠性,則粒度減小30%,每個(gè)細(xì)胞中增加的輔助資源面積占比不得超過17.21%(設(shè)計(jì)者能力決定,故只能參考,無法改變),否則采用小的細(xì)胞單元粒度也無法提高可靠性。分別計(jì)算不同g值下,等可靠性時(shí)的β值,可得到不同設(shè)計(jì)能力下的可靠性優(yōu)化設(shè)計(jì)的臨界條件,設(shè)計(jì)者可以此為參照,根據(jù)自身設(shè)計(jì)能力選擇最佳的細(xì)胞單元粒度。該曲線與g>1的MTTF-β曲線無交點(diǎn),表明如果細(xì)胞單元粒度增大,可靠性必然降低。
3) 細(xì)胞單元失效率對可靠性的影響
1) 細(xì)胞單元粒度變化時(shí),等可靠性設(shè)計(jì)的臨界條件分析
在圖6中,取不同初始狀態(tài)(g=1,β取0~0.5),分別作等MTTF線,得到相應(yīng)g、β值(表1所示),表中每行對應(yīng)一種初始狀態(tài)下的數(shù)據(jù)(第1行為圖6中等MTTF線的值),表1給出了g從0.5 到1.5變化時(shí)保持可靠性不下降的臨界β值。
由表1可得如下結(jié)論:
① 大粒度細(xì)胞單元結(jié)構(gòu)也可獲得比小粒度結(jié)構(gòu)更高的陣列可靠性。表中:β有臨界值的情況,均表明獲取相同的可靠性,設(shè)計(jì)者設(shè)計(jì)能力若大于該β臨界值,則采用較大粒度能夠獲得更高可靠性,如第一行中,若設(shè)計(jì)者在單元粒度減小10%情況下,β值大于0.058 5,則采用g=1可獲得更高可靠性。
② 表中β取值為“-”,表明采用該細(xì)胞單元粒度設(shè)計(jì)時(shí),可靠性必然降低。初始狀態(tài)下β較小時(shí),無法采用大粒度細(xì)胞單元結(jié)構(gòu)設(shè)計(jì)提高陣列可靠性,只能通過小粒度方式;初始狀態(tài)下β較大時(shí),采用大粒度細(xì)胞結(jié)構(gòu)也能夠獲得比小粒度結(jié)構(gòu)更高的可靠性。
③ 初始狀態(tài)下β較小時(shí),g增大或減小一定比例,對設(shè)計(jì)能力要求低。如β=0時(shí),g減小10%,只要輔助資源面積比例增大不超過0.058 5-0=5.85%,可靠性將不會(huì)下降,而β=0.4時(shí),輔助資源面積比例增大應(yīng)小于0.428 0-0.4=2.8%,表明對設(shè)計(jì)能力要求更高,同時(shí)說明輔助資源越簡化越有利于高可靠性設(shè)計(jì)。
2) 基于可靠性分析的硬件優(yōu)化設(shè)計(jì)步驟
① 設(shè)計(jì)者根據(jù)系統(tǒng)設(shè)計(jì)任務(wù),在已知系統(tǒng)功能和芯片的情況下,任選細(xì)胞單元粒度進(jìn)行細(xì)胞電路設(shè)計(jì):選擇最常用和最擅長的細(xì)胞單元結(jié)構(gòu),此過程即確定了初始狀態(tài)。
② 根據(jù)初始狀態(tài),確定可靠性模型參數(shù):此時(shí)細(xì)胞單元粒度為g=1;根據(jù)設(shè)計(jì)完成的細(xì)胞電路計(jì)算細(xì)胞內(nèi)輔助資源面積占比β(設(shè)計(jì)者不同β各不相同,通過細(xì)胞資源統(tǒng)計(jì)得到);根據(jù)已設(shè)計(jì)細(xì)胞面積和芯片面積情況計(jì)算總細(xì)胞陣列的行、列細(xì)胞數(shù);根據(jù)系統(tǒng)功能映射情況確定工作細(xì)胞陣列的行、列細(xì)胞數(shù)。
③ 根據(jù)步驟2獲得的模型參數(shù)進(jìn)行可靠性數(shù)值分析,獲得與表1相似的電路優(yōu)化設(shè)計(jì)的臨界條件。
表1 不同初始狀態(tài)下的細(xì)胞電路設(shè)計(jì)臨界條件(n=m=100,N=M=200)Table 1 Thresholds of β in different initial states (n=m=100, N=M=200)
④ 根據(jù)步驟2中的g和β值選擇表中的一行進(jìn)行細(xì)胞單元粒度優(yōu)化分析。以表1為例,設(shè)某設(shè)計(jì)的初始狀態(tài)為g=1,β=0.1,則選擇表中第3行數(shù)據(jù)為優(yōu)化依據(jù),表中數(shù)據(jù)的含義為:若采用比當(dāng)前粒度大10%的細(xì)胞進(jìn)行設(shè)計(jì),為使系統(tǒng)可靠性不低于當(dāng)前值(0.584),則新細(xì)胞中輔助資源面積占比應(yīng)小于0.054 6(5.46%);若細(xì)胞單元粒度小10%,則新細(xì)胞中輔助資源面積占比應(yīng)小于0.149 8(14.98%),該行其他細(xì)胞單元粒度下的數(shù)據(jù)可以此類推,臨界β值為可靠性不降低前提下的最大值,要提高可靠性β值應(yīng)比臨界值小。若選擇不同細(xì)胞單元粒度進(jìn)行細(xì)胞電路設(shè)計(jì),并確定為初始狀態(tài),只需要根據(jù)輔助資源消耗確定相應(yīng)β值,進(jìn)而查找表中相應(yīng)數(shù)據(jù)行進(jìn)行優(yōu)化分析。
⑤ 最佳細(xì)胞單元粒度選擇方法:根據(jù)表中臨界值,設(shè)計(jì)者根據(jù)自身能力,采用比當(dāng)前細(xì)胞單元粒度大或小的細(xì)胞結(jié)構(gòu)進(jìn)行電路設(shè)計(jì),比較新細(xì)胞中輔助資源面積占比與表中臨界條件,可判斷基于新細(xì)胞結(jié)構(gòu)設(shè)計(jì)的細(xì)胞陣列的可靠性是否得到提高,進(jìn)而確定最佳細(xì)胞單元粒度。
本文內(nèi)容以規(guī)模為n=m=100,N=M=200的陣列為例進(jìn)行可靠性數(shù)值分析,用于說明新模型分析結(jié)果對胚胎硬件設(shè)計(jì)中選擇最優(yōu)單元粒度的指導(dǎo)作用,雖然不同規(guī)模陣列的可靠性數(shù)值不盡相同,但本文方法給出的規(guī)律分析具有一般性。為了說明本文方法在不同芯片規(guī)模下實(shí)現(xiàn)系統(tǒng)功能時(shí)的適用性,表2以芯片總資源N=M=400為例,計(jì)算出了細(xì)胞電路的臨界設(shè)計(jì)條件。與表1 結(jié)果相比,基本規(guī)律一致,但對設(shè)計(jì)能力要求更為寬松,如同樣取g=1,β=0的初始狀態(tài),g減小10%時(shí),保持可靠性不降低的輔助資源面積占比的增加值達(dá)7.5%。
當(dāng)前,胚胎硬件設(shè)計(jì)缺乏統(tǒng)一的硬件結(jié)構(gòu)平臺和軟件開發(fā)工具,采用較大粒度的細(xì)胞電路設(shè)計(jì)是應(yīng)用設(shè)計(jì)的一種有效方法,可降低細(xì)粒度結(jié)構(gòu)設(shè)計(jì)的實(shí)現(xiàn)難度,但從高可靠性設(shè)計(jì)角度,采用較小粒度細(xì)胞結(jié)構(gòu)設(shè)計(jì)易于提高硬件資源利用率,在相同面積芯片上獲得較高可靠性。本文從可靠性優(yōu)化角度,給出了平衡大細(xì)胞粒度的低設(shè)計(jì)難度和小細(xì)胞粒度的高可靠性的分析方法,得到了細(xì)胞單元粒度選擇的指導(dǎo)準(zhǔn)則。設(shè)計(jì)者可在設(shè)計(jì)前根據(jù)自身設(shè)計(jì)能力設(shè)計(jì)單個(gè)細(xì)胞電路,進(jìn)而通過理論分析,即可確定獲得更高可靠性的設(shè)計(jì)結(jié)構(gòu)。
表2 不同初始狀態(tài)下的細(xì)胞電路設(shè)計(jì)臨界條件(n=m=100,N=M=400)Table 2 Thresholds of β in different initial states (n=m=100, N=M=400)
1) 針對胚胎硬件應(yīng)用設(shè)計(jì)過程的電路結(jié)構(gòu)特點(diǎn),以可靠性分析為手段,提出了不改進(jìn)硬件結(jié)構(gòu)體系和電路設(shè)計(jì)方法,僅通過調(diào)節(jié)細(xì)胞單元粒度實(shí)現(xiàn)陣列可靠性提高的方法。
2) 分析了采用不同細(xì)胞單元粒度時(shí)細(xì)胞內(nèi)電路模塊的硬件資源消耗情況,引入細(xì)胞面積參數(shù)對胚胎硬件傳統(tǒng)可靠性模型進(jìn)行改進(jìn),建立了新可靠性模型。與傳統(tǒng)可靠性模型分析結(jié)果對比,說明了新模型能夠更準(zhǔn)確地反映實(shí)際設(shè)計(jì)。
3) 給出了一種以高可靠性為優(yōu)化目標(biāo)的細(xì)胞單元粒度選擇方法。通過實(shí)例的可靠性數(shù)值分析,總結(jié)了不同細(xì)胞單元粒度情況下的細(xì)胞陣列可靠性變化規(guī)律,給出了采用不同細(xì)胞單元粒度時(shí)獲得相等陣列可靠性的細(xì)胞電路臨界設(shè)計(jì)條件計(jì)算方法,總結(jié)了基于本文方法的硬件優(yōu)化設(shè)計(jì)步驟。設(shè)計(jì)者只要根據(jù)自身設(shè)計(jì)能力,設(shè)計(jì)不同粒度的單個(gè)細(xì)胞電路,就能確定獲得更高可靠性的最優(yōu)細(xì)胞單元粒度,可避免系統(tǒng)電路設(shè)計(jì)的盲目性,不僅開發(fā)效率高,系統(tǒng)可靠性也高。
[1] BARKER W, HALLIDAY D M, THOMA Y. Fault tolerance using dynamic reconfiguration on the POEtic tissue[J]. IEEE Transactions on Evolutionary Computation, 2007, 11(5): 666-684.
[2] MANGE D, SIPPER M, MARCHAL P. Embryonic electronics[J]. Biosystems, 1999, 51(3): 145-152.
[3] MANGE D, SIPPER M, STAUFFER A, et al. Toward robust integrated circuits: The embryonics approach[J]. Proceedings of the IEEE, 2000, 88(4): 516-543.
[4] ZHANG Z, WANG Y R, YANG S S, et al. The research of self-repairing digital circuit based on embryonic cellular array[J]. Neural Computing and Applications, 2008, 17(2): 145-151.
[5] SAMIE M, DRAGFFY G, TYRRELL A M, et al. Novel bio-inspired approach for fault-tolerant VLSI systems[J]. IEEE Transactions on Very Large Scale Integration Systems, 2013, 21(10): 1878-1891.
[6] TU H. Comparisons of self-healing fault-tolerant computing schemes[C]//2010 World Congress on Engineering and Computer Science (WCECS 2010), 2010: 87-92.
[7] ZHANG X G. Biologically inspired highly reliable electronic systems with self-healing cellular architecture[D]. Bristol: University of the West of England, 2005.
[8] 郝國鋒, 王友仁, 張砦, 等. 可重構(gòu)硬件芯片級故障定位與自主修復(fù)方法研究[J]. 電子學(xué)報(bào), 2012, 40(2): 384-388.
HAO G F, WANG Y R, ZHANG Z, et al. In-chip fault localization and self-repairing method for reconfigurable hardware[J]. Acta Electronica Sinica, 2012, 40(2): 384-388 (in Chinese).
[9] 孫川, 王友仁, 張砦, 等. 可重構(gòu)陣列自主容錯(cuò)方法研究[J]. 信息與控制, 2010, 39(5): 568-573.
SUN C, WANG Y R, ZHANG Z, et al. Self fault-tolerant reconfigurable array[J]. Information and Control, 2010, 39(5): 568-573 (in Chinese).
[10] ORTEGA C, TYRRELL A M. Self-repairing multi-cellular hardware: a reliability analysis[C]//5th European Conference on Artificial Life (ECAL), 1999: 442-446.
[11] ORTEGA C, TYRRELL A M. Reliability analysis in self-repairing embryonic systems[C]//Proceedings of the First NASA/DoD Workshop on Evolvable Hardware, 1999: 120-128.
[12] 林勇, 羅文堅(jiān).n×n陣列胚胎電子系統(tǒng)應(yīng)用中的優(yōu)化設(shè)計(jì)問題分析[J]. 中國科學(xué)技術(shù)大學(xué)學(xué)報(bào), 2007, 37(2): 171-176.
LIN Y, LUO W J. Analysis of optimization design inn*narray embryonic system applications[J]. Journal of University of Science and Technology of China, 2007, 37(2): 171-176 (in Chinese).
[13] 張砦, 王友仁. 基于可靠性分析的胚胎硬件容錯(cuò)策略選擇方法[J]. 系統(tǒng)工程理論與實(shí)踐, 2013, 33(1): 236-242.
ZHANG Z, WANG Y R. Guidelines to fault-tolerant strategy selection in embryonics hardware based on reliability Analysis[J]. Systems Engineering-Theory & Practice, 2013, 33(1): 236-242 (in Chinese).
[14] 杜文志, 譚維熾. 針對FPGA內(nèi)缺陷成團(tuán)的電路可靠性設(shè)計(jì)研究[J]. 中國空間科學(xué)技術(shù), 2004, 24(2): 19-26.
DU W Z, TAN W Z. Research on design of circuit reliability in FPGA with defect clustering[J]. Chinese Space Science and Technology, 2004, 24(2): 19-26 (in Chinese).
[15] GUPTA S, SHARMA A. Embryonics: A new family of coarse grained FPGA with self repair and self-reproducing properties[J]. International Journal of Electrical and Electronics Engineers, 2010, 2(1): 31-43.
[16] SEFFRIN A, BIEDERMANN A. Cellular-array implementations of bio-inspired self-healing systems: state of the art and future perspectives[J]. Design Methodologies for Secure Embedded Systems: Lecture Notes in Electrical Engineering, 2011, 78: 151-170.
[17] SZASZ C, CHINDRIS V. Development of hardware redundant embryonic structure for high reliability control applications[C]//12th International Conference on Optimization of Electrical and Electronic Equipment (OPTIM), 2010: 728-733.
[18] BREMNER P, LIU Y, SAMIE M, et al. SABRE: A bio-inspired fault-tolerant electronic architecture[J]. Bioinspiration & Biomimetics, 2013, 8(1): 1-16.
[19] XIE S D, WANG Y X. Construction of tree network with limited delivery latency in homogeneous wireless sensor networks[J]. Wireless Personal Communication, 2014, 78(1): 231-246.
[20] 徐國培. 基于LUT的FPGA工藝映射算法的設(shè)計(jì)與實(shí)現(xiàn)[D]. 西安: 西安電子科技大學(xué), 2009.
XU G P. Design and implementation of technology mapping algorithm in LUT-based FPGA[D]. Xi’an: Xidian University, 2009 (in Chinese).
張砦男, 博士, 講師。主要研究方向: 仿生硬件自修復(fù)、 可重構(gòu)電子系統(tǒng)設(shè)計(jì)。
Tel.: 13851798450
E-mail: wolnyzhang@nuaa.edu.cn
王友仁男, 博士, 教授, 博士生導(dǎo)師。主要研究方向: 可重構(gòu)硬件設(shè)計(jì)、 電子系統(tǒng)健康監(jiān)測與故障診斷。
E-mail: wangyrac@nuaa.edu.cn
*Correspondingauthor.Tel.:13851798450E-mail:wolnyzhang@nuaa.edu.cn
Cellgranularityoptimizationmethodofembryonicshardwareinapplicationdesignprocess
ZHANGZhai*,WANGYouren
CollegeofAutomationEngineering,NanjingUniversityofAeronauticsandAstronautics,Nanjing210016,China
Thehighreliabilityofembryonicshardwareissupportedbythenovelarchitectureofreconfigurablecellulararray.Duringtheapplicationdesignprocess,researchonthemethodtoimprovethereliabilityisscarce.Inthispaper,thosefactorsadjustablebydesignerintheapplicationprocesshavebeenextractedout,whichaffectthereliabilityofembryonicshardware.Inembryonichardware,cellareawillchangeindifferentcellgranularity,whichisfollowedbythechangeofcellulararrayreliability.Tosolvethisproblem,anewreliabilitymodelisproposedforthetraditionalreliabilitymodeldoesnothaveparameterstoexpresstheareachangeofcells.Afterthereliabilityanalysisofexamples,variationlawsofcellulararrayreliabilitywithdifferentcellgranularityaresummarized,andacellgranularityoptimizationmethodisraised.Basedonthemethod,designerscanchoosetheoptimalcellgranularitywithoutacompletedesignofcellulararray.
embryonicshardware;reliabilityanalysis;circuitoptimization;cellulargranularity;reconfigurable
2015-11-27;Revised2015-12-16;Accepted2016-02-15;Publishedonline2016-02-241643
URL:www.cnki.net/kcms/detail/11.1929.V.20160224.1643.008.html
s:NationalNaturalScienceFoundationofChina(61202001,61402226)
2015-11-27;退修日期2015-12-16;錄用日期2016-02-15; < class="emphasis_bold">網(wǎng)絡(luò)出版時(shí)間
時(shí)間:2016-02-241643
www.cnki.net/kcms/detail/11.1929.V.20160224.1643.008.html
國家自然科學(xué)基金 (61202001,61402226)
*
.Tel.:13851798450E-mailwolnyzhang@nuaa.edu.cn
張砦, 王友仁. 應(yīng)用設(shè)計(jì)過程的胚胎硬件細(xì)胞單元粒度優(yōu)化方法J. 航空學(xué)報(bào),2016,37(11):3502-3511.ZHANGZ,WANGYR.CellgranularityoptimizationmethodofembryonicshardwareinapplicaitondesignprocessJ.ActaAeronauticaetAstronauticaSinica,2016,37(11):3502-3511.
http://hkxb.buaa.edu.cnhkxb@buaa.edu.cn
10.7527/S1000-6893.2016.0041
V243.1; TP18
A
1000-6893(2016)11-3502-10