黃正峰, 王 敏, 李雪筠, 魯迎春, 倪天明
(1.合肥工業大學 電子科學與應用物理學院,安徽 合肥 230601; 2.安徽工程大學 電氣工程學院,安徽 蕪湖 241000)
隨著空間技術和集成電路的高速發展,微處理器已廣泛應用于航空航天領域,在太空輻射環境中,存在著大量的中子、α粒子等高能粒子[1-2]。當集成電路遭到高能粒子轟擊時很容易發生單粒子翻轉 (single event upset,SEU)和單粒子瞬態 (single event transient,SET)[3],導致芯片功能發生錯誤[4],從而造成嚴重的后果。
三模冗余(triple modular redundancy,TMR)系統是最簡單有效的抗單粒子容錯技術。3個模塊同時執行相同的操作,以多數相同的輸出作為表決系統的正確輸出,通常稱為“三中取二”。3個模塊中只要不同時發生錯誤,就能掩蔽掉故障模塊的錯誤,保證系統正確的輸出。因為3個模塊是互相獨立的,2個模塊同時出現錯誤是極小概率事件,所以可以大大提高系統的可靠性。但隨著互補金屬氧化物半導體(complementary metal oxide semiconductor,CMOS)工藝尺寸的日益減小,芯片中的延遲功耗對集成電路的影響日益突出。因此需要對傳統的三模冗余結構進行簡化,既要保證其抗單粒子翻轉的能力,又能降低延遲、功耗和面積開銷。三模冗余結構分為主、從兩級,主級是3個同構的D鎖存器,從級是多數表決器(Voter)。本文中所有TMR鎖存器主級結構相同,從級表決器的結構有差異。利用Hspice仿真工具對相關TMR鎖存器的延遲、功耗和面積開銷進行測量,并且進行對比分析,綜合評估性能。
TMR容錯技術基于多數表決思想,即認為“多數者的意見是正確的”,具體的結構如圖1所示。
圖1 基本三模冗余鎖存器
圖1中,M1、M2、M3是3個相同的模塊,同時執行相同的操作,以多數相同的輸出作為表決系統的正確輸出,通常稱為“三中取二”,則只要三模冗余主級3個模塊中不同時發生錯誤,就能掩蔽掉故障模塊的錯誤,保證系統正確的輸出。
本文將三模冗余鎖存器分為主、從兩級,在圖1中,M1、M2、M3表示三模冗余鎖存器的主級;表決器表示三模冗余鎖存器的從級。本文分別對三模冗余鎖存器的主從兩級進行結構分析。
1.1.1 三模冗余鎖存器主級
三模冗余鎖存器主級如圖2所示,由圖2可知,本文中三模冗余主級是3個同構的D鎖存器,輸入信號同時經過鎖存器主級產生3個反向信號,再同時進入多數表決器。
圖2 三模冗余鎖存器主級
1.1.2 三模冗余鎖存器從級
三模冗余鎖存器主級有3個輸出,對應的表決器有3個輸入,假設3個輸入分別為A、B、C,輸出為F,則根據表決器的“三中取二”原理,其真值見表1所列。
表1 表決器的真值
由表1可以推出此表決器輸出公式為:
F=AB+BC+AC
(1)
三模冗余系統可以正常工作的條件是:三模都正常,或三模中有任意兩模正常,因此三模冗余系統的可靠度RT為[5]:
(2)
其中,Rv、Rm分別表示表決器和模塊的可靠度(假設表決器的可靠度為1,且各模塊可靠度相同),已經證明,各功能模塊有相同的可靠度時整個系統的可靠性最大[6]。
此時三模冗余的可靠度RT為:
(3)
三模冗余系統結構如圖3所示。其工作原理是3個模塊同時對輸入信號進行運算處理,并將運算結果送往多數表決器。因此,一個模塊發生故障并不影響系統的正常工作,只有兩個模塊同時發生故障時,輸出結果才會發生錯誤。
圖3 TMR鎖存器
本文列舉的11種三模冗余鎖存器主級全部是由3個同構的D鎖存器構成,從級是由不同類型的表決器構成,下面分析11種不同的表決器結構。
3.1.1 表決器1
由表決器邏輯表達式(1)式可知[7],在門級上可以設計出由二輸入“與”門和三輸入“或”門構成的表決器1是由26個晶體管構成,結構如圖4所示。
圖4 表決器1
3.1.2 表決器2
由表達式F=AB+BC+AC=((AB)′(BC)′(AC)′)′可推出由二輸入“與非”門和三輸入“與非”門構成的同向表決器2,該表決器由18個晶體管構成,結構如圖5所示。
圖5 表決器2
晶體管級的表決器是由PMOS管和NMOS管組合構成,在本文的1.1節中介紹了“三中取二”表決器的邏輯表達式是F=AB+BC+AC,由于本文介紹的三模冗余鎖存器主級輸入輸出是反向的,要使整體鎖存器輸入輸出同向,則從級表決器也要是反向,因此可以直接寫出反向“三中取二”表決器邏輯表達式F=A′B′+B′C′+C′A′,從而可以推導出表決器中P型網絡的邏輯表達式為:
FP=A′B′+B′C′+C′A′。
N型網絡的邏輯表達式為:
FN=(AB+BC+CA)′。
從而可以得到與之相對應的P型和N型網絡結構圖。同時本文又分別對P型和N型網絡的邏輯表達式進行其他形式的化簡,最終得到3種P型網絡圖和3種N型網絡圖。
本文對上述不同的晶體管結構進行自由組合,因此產生3*3=9種不同的表決器結構,如圖6所示。9種不同的晶體管級表決器結構中,P1+N1型[8]、P1+N3型、P3+N1型3個表決器都由12個晶體管構成,P1+N2型、P2+N1型、P2+N3型、P3+N2型4個表決器由11個晶體管構成,P2+N2型表決器由10個晶體管構成。由此可以推斷,由P2+N2型表決器構成的三模冗余鎖存器的面積開銷應該是最小的。
圖6 自由組合過的晶體管級表決器示意圖
從圖6可以看出,P1+N1型、 P1+N2型、 P1+N3型、P2+N3型、P3+N3型5個表決器根據輸入類型的不同,可能會經過2個或3個晶體管的延遲。以P1+N1型表決器結構為例,當輸入ABC為000時,輸入值是經過3個晶體管的延遲才能到達輸出,當輸入ABC為011時,輸入值是經過2個N型晶體管的延遲到達輸出。但P2+N1型、P2+N2型、P3+N1型、 P3+N2型4個表決器輸入到輸出都只經過2個晶體管的延遲,同時,在這4個結構之中,晶體管又分為串聯和并聯2種類型,2個并聯的晶體管相當于增大了寬長比,延遲就會更大。因此可以得出,P2+N2型表決器結構的延遲是最小的,且由P2+N2型表決器構成的TMR鎖存器性能最優。
因為輸入D通過3個相同的D鎖存器后輸出反向信號,為了保證TMR鎖存器輸出Q與輸入D為同向信號,所以以下列舉的鎖存器中表決器都必須保持輸入輸出為反向。下面將上述列舉的11種表決器結構與TMR鎖存器主級進行連接,并使用Hspice仿真工具對這11種鎖存器結構進行故障注入測試和功耗、延遲以及面積開銷測試。
4.1.1 TMR1鎖存器
TMR1鎖存器從級是表決器1(結構如圖4所示),由于該表決器同向,為了保證三模冗余鎖存器的輸入D與輸出Q同向,可以將表決器中的“或”門改為“或非”門,此時表決器減少了2個晶體管。TMR1鎖存器共由48個晶體管構成。結構如圖7所示。
圖7 TMR1鎖存器
為了驗證三模冗余鎖存器的容錯性能以及測試其延遲和功耗,從而計算出鎖存器的面積開銷和功耗延遲積(power delay product,PDP)。本文在PTM(predictive technology model) 45 nm工藝模型下[9],利用Hspice仿真工具,仿真環境設定為:電源電壓1 V、溫度25 ℃、時鐘頻率約167 MHz,采用雙指數電流源模型模擬粒子轟擊產生的瞬態脈沖。
應用Hspice進行仿真得到的波形圖如圖8所示。
圖8 TMR1仿真波形圖
從圖8可以看出,在結構主級中,輸入信號D經過一個反相器,輸出3個反向信號A、B、C,再經過一個反向表決器,則得到與輸入信號D同向的輸出信號F。從圖8可以看出,當輸入信號D為高電平1時,A、B、C信號此時為低電平0,輸出信號F為1。同樣地,當輸入信號為0時,輸出信號也為0。
本文在節點A的10 ns處進行故障注入[10],從波形圖可以看出,輸出端Q并未受到影響,TMR鎖存器完全容忍SEU。
4.1.2 TMR2鎖存器
TMR2鎖存器從級由表決器2構成(結構如圖5所示),與TMR1鎖存器一樣,本結構的表決器也是同向的,因此將最后的三輸入與非門改成了與門,此時增加了2個晶體管,共有44個晶體管。
該TMR2鎖存器與TMR1鎖存器波形圖是一樣的,也在10 ns時節點A處進行故障注入,能完全容忍SEU。
由于都是三模冗余鎖存器,本文中鎖存器的主級都是一樣的,從級是不同的表決器,相對應的節點都是與圖8相同的波形。
晶體管級三模冗余主級和傳統三模冗余鎖存器的主級一致,從級是由圖6所示的各種表決器構成的。按表決器的順序分別記為TMR3~TMR11鎖存器。與4.1節一致,在相同仿真條件下,對所有的鎖存器進行Hspice仿真。
以下是各種TMR鎖存器的仿真結果對比,見表2所列。
表2中,UST表示面積開銷,UST、PDP的計算公式[11]如下:
由表2性能對比可知,在11種三模冗余表決器中,TMR7鎖存器在延遲、功耗以及面積開銷等性能上的指標都是最優的,由此也驗證了3.2節中的理論分析,P2+N2型表決器的性能最優。
表2 TMR鎖存器性能對比
本文對11種TMR鎖存器進行了綜合分析,介紹了三模冗余鎖存器的構成、表決器的多種結構及思路來源,利用Hspice仿真工具測得各鎖存器節點波形圖、延遲和功耗;并且通過UST計算公式計算出TMR鎖存器面積開銷,通過PDP公式計算出功耗延遲積。經過綜合對比發現,TMR7鎖存器(使用P2+N2型表決器)的綜合性能最優。