新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 三模冗余技術(shù)在ASIC設計中的應用及實現(xiàn)

三模冗余技術(shù)在ASIC設計中的應用及實現(xiàn)

作者: 時間:2017-06-05 來源:網(wǎng)絡 收藏

0 引言

航天器在空間中飛行時,一直處在帶電粒子構(gòu)成的輻射環(huán)境中。在這種輻射環(huán)境中微處理器可能會因為而中斷正常功能從而導致災難性事故。這主要涉及到2方面的問題,輻射總劑量效應和單粒子效應的問題,單粒子效應又分為單粒子翻轉(zhuǎn)(SEU)和單粒子閉鎖(SEL)2個方面。單粒子翻轉(zhuǎn)效應能夠?qū)е聰?shù)字電路的存儲單元中的某一位因受到干擾而發(fā)生翻轉(zhuǎn),從而引起存儲內(nèi)容的變化,還可在組合邏輯電路的輸出上引入一個短暫的脈沖,單粒子翻轉(zhuǎn)效應是目前導致處理器運行失效的主要原因。星載計算機系統(tǒng)中處理器性能的穩(wěn)定與可靠在整個系統(tǒng)的穩(wěn)定與可靠性中占有重要地位,因此必須對電路進行加固,三模冗余技術(shù)是一種對單粒子翻轉(zhuǎn)有效的容錯技術(shù),能夠極大地提高電路的可靠性。

本文引用地址:http://www.butianyuan.cn/article/201706/349073.htm

1 三模冗余介紹

三模冗余(TMR)技術(shù)是一種時序電路加固技術(shù),其基本思想是對于待加固模塊生成2個相同的模塊,再通過多數(shù)表決輸出,這樣即使有一個模塊發(fā)生故障電路依然可以正常工作。三模冗余在結(jié)構(gòu)上又有空間冗余和時間冗余之分,時間冗余就是3路時鐘信號之間存在一定延遲,延遲值應大于SEU翻轉(zhuǎn)的最大脈寬。時間冗余的作用是對于時序電路的輸入毛刺,最多只有一路時鐘會采樣到錯誤值,因此可以有效地防止組合邏輯毛刺所帶來的錯誤。圖1是采用普通時空三模冗余加固的觸發(fā)器的電路圖(以后簡稱TMR觸發(fā)器),其中VOTER為多數(shù)表決器的組合電路。

雖然三模冗余技術(shù)可以極大地提高系統(tǒng)的可靠性,但是代價也是巨大的。由TMR的基本結(jié)構(gòu)不難看出采用TMR技術(shù)的2個缺點:首先由于進行了硬件冗余導致芯片面積增大到原來的3倍多;其次由于三路時鐘信號之間的延遲和在輸出端加入了表決電路,在關(guān)鍵路徑上引入了額外的延時,導致電路的運行速度下降。
如果設計中2個觸發(fā)器之間的關(guān)鍵路徑延遲太短(比如移位寄存器),圖1的三模冗余電路結(jié)構(gòu)在運行中可能會出現(xiàn)電路輸出不定態(tài)和電路狀態(tài)錯誤的問題,圖2是一個采用三模冗余加固的4位移位寄存器的電路圖,圖中的TMR_DFF模塊的電路如圖2所示。

圖3為三模冗余加固后的寄存器的頂層模塊的仿真波形圖,圖中標線處電路的狀態(tài)出現(xiàn)了錯誤(由輸入d可以看出正確的狀態(tài)應該是在第3個時鐘上升沿后輸出才變?yōu)?),其原因是由于TMR_DFF是組合邏輯輸出,在第1個上升沿的時候,reg0的輸入D經(jīng)clk,clk_skew[1]采樣后,out[0]變?yōu)?,reg1的輸入out[0]經(jīng)clk_skew[0]采樣后,其q2(圖1電路中的信號)變?yōu)?,電路狀態(tài)仍為1,在第二個上升沿來的時候,由于reg1的q2已經(jīng)為1,所以reg2的輸入out1經(jīng)clk采樣后,其q0變?yōu)?,多數(shù)表決后out1變?yōu)?,電路狀態(tài)為3,reg2的輸入out1經(jīng)clk_skew[1],clk_skew[0]采樣后,其q1,q2變高,輸出out2變高,電路狀態(tài)變?yōu)?,就出現(xiàn)了狀態(tài)出錯的狀況。

如果減小時鐘間的延遲,電路可能會出現(xiàn)不定態(tài),原因也是由于組合邏輯的提前輸出,這里就不再討論了。

2 三模冗余的實現(xiàn)

2.1 修改網(wǎng)表二次綜合

DC綜合的功能是讀取設計的RTL代碼并且根據(jù)時序約束,綜合RTL代碼到結(jié)構(gòu)級,從而產(chǎn)生一個映射后的門級網(wǎng)表,其中一個重要的步驟是指定綜合所使用的綜合庫,綜合庫一般由流片廠商提供,庫中包含了引腳到引腳的時序,面積,引腳類型和功耗等信息,綜合后的門級網(wǎng)表中的單元也就是庫中所定義的單元。

三模冗余的加固過程實際上就是為設計中的每個觸發(fā)器生成2個冗余觸發(fā)器并加上表決邏輯,而RTL代碼中無法反應出這點,因此可以對原設計綜合后的門級網(wǎng)表進行修改,把觸發(fā)器改為,用門級描述編寫模塊,然后和修改的網(wǎng)表一起再次綜合就可得到三模冗余加固后的網(wǎng)表文件。值得說明的是DC綜合庫里面有多種類型的觸發(fā)器,比如SDFF,EDFF,SEDFF,JK,DFF,即使在綜合腳本中限定只用DFF觸發(fā)器,也會有好幾種,所以對于不同的單元要編寫相應的模塊(其結(jié)構(gòu)如圖1所示)。此外由于有3路時鐘信號,所以要編寫時鐘生成模塊,其功能是由clk產(chǎn)生互有延遲的2路時鐘信號。

首先在Synopsys的綜合工具DsignCompiler下對原設計的RTL代碼進行綜合,得到電路的門級網(wǎng)表。門級網(wǎng)表中的電路實際上就是通過例化綜合庫的單元來描述電路的結(jié)構(gòu),可以使用形式驗證工具Formality來驗證RTL代碼和綜合后的門級網(wǎng)表在功能上是否一致。

然后修改門級網(wǎng)表,在網(wǎng)表中增加線網(wǎng)類型ck[2:0],并且實例化clkgen模塊,再把網(wǎng)表里面的觸發(fā)器改為三模冗余觸發(fā)器,并修改其時鐘端口為{clk,ck[1:0]},由于綜合庫中不含有這兩個模塊,這時網(wǎng)表中就出現(xiàn)了兩個綜合工具沒有處理的模塊,時鐘生成模塊和三模冗余觸發(fā)器模塊,修改后的網(wǎng)表就不是完全映射后的門級網(wǎng)表。

最后對修改后的網(wǎng)表,時鐘生成模塊及三模冗余觸發(fā)器模塊進行再次綜合,這次綜合實際上就是對時鐘生成模塊和三模冗余觸發(fā)器的綜合,把它們映射為綜合庫中的單元,得到的門級網(wǎng)表即是三模冗余加固后設計的門級網(wǎng)表。

2.2 建立三模冗余觸發(fā)器的庫單元

由于三模冗余觸發(fā)器單元的時鐘端口有3位,即使在庫中加入三模冗余觸發(fā)器的單元,綜合器也無法把設計直接映射成該單元,因此可以把時鐘生成模塊放到TMR_DFF內(nèi)部,這樣三模冗余觸發(fā)器時鐘端口就只有1位,在庫文件中把觸發(fā)器單元用對應的三模冗余觸發(fā)器單元替換掉,DC就可以把電路中的觸發(fā)器直接映射成TMR_DFF,一次綜合就可以完成設計了,但是這樣一來整個芯片的面積又會增大很多(時鐘生成模塊不在共用),除此之外也可以借助上面的方法在原設計綜合后修改網(wǎng)表。前面已經(jīng)提到庫文件里面有很多種類型的觸發(fā)器,所以應對不同的DFF觸發(fā)器建立相應的庫單元,下面是一種建立庫單元的方法,主要分為2步:版圖設計和仿真特性提取。

單元庫的建立首先要完成單元的版圖設計,在確定單元庫所包含的單元種類和單元電路后,根據(jù)加工廠家的工藝參數(shù),設計規(guī)則等完成單元的版圖設計,并導出電路網(wǎng)表,此時網(wǎng)表中不僅有電路結(jié)構(gòu),還有電阻,電容參數(shù)。然后就可以進行單元的參數(shù)提取工作。

參數(shù)提取需要選擇一種用于參數(shù)提取的工具,這里選擇siliconsmart,其次要確定模擬仿真工具,如HSpice。主要步驟包括創(chuàng)建工作目錄配置仿真環(huán)境,引入?yún)⒖紟欤a(chǎn)生仿真文件,運行仿真特性提取,生成庫文件。
創(chuàng)建工作目錄是指創(chuàng)建一個用于siliconsmart運行的目錄,此時會自動生成一個名為config.tcl的腳本文件,需要手動對其進行一些關(guān)鍵配置,主要包括模擬工具的選擇(這里選擇HSpice),模擬模型的指定,環(huán)境溫度等變量的設置等。引入?yún)⒖紟焓菫楣ぞ咧付ㄒ粋€參考的庫單元,工具將參考單元的信息摘取出來,并為該單元生成一個控制文件,該文件詳細描述了需要提取的單元的信息。包括單元網(wǎng)表文件,管腳信息,邏輯功能,輸入信號的上升/下降時間,輸出管腳負載情況等。如果沒有參考的庫文件,則需要手動編寫該文件。產(chǎn)生仿真文件是告訴工具對單元的哪些方面進行特性提取,比如時序,功耗,CCS模型等。運行仿真提取是對單元進行模擬仿真特性提取工作。生成庫文件會產(chǎn)生2個庫單元,其中.v是仿真工具用的仿真庫,.lib是可讀的綜合庫,可以在DC中用read_lib *.lib命令讀入.lib文件,然后用write_ lib* *.db命令可以生成.db綜合庫(*代表庫單元的名字)。

對于加固來說,除了用電路加固外可能還需要選擇更加可靠的工藝,SOI工藝就具有很好的性能,它消除了閂鎖效應,有效地降低了單粒子效應,而此時就需要建立自己的單元庫了,庫中的觸發(fā)器單元就可以直接建成三模冗余觸發(fā)器的庫單元。

3 結(jié)語

航天系統(tǒng)中芯片的能力是一個重要的指標,對于抗輻射的處理器和存儲器來說,輻照實驗是測試中的一個重要環(huán)節(jié)。三模冗余加固技術(shù)只是眾多抗輻照加固技術(shù)的一種,比較常用的還有檢錯糾錯碼EDAC,SOI工藝加固,其中采用SOI工藝流片的費用比普通工藝更為昂貴。標準單元庫的建立對ASIC設計來說是一項基礎性的工作,建立符合設計需要的標準單元庫對芯片設計來說是很重要的,對此文章提供了一種一般性的方法。



評論


技術(shù)專區(qū)

關(guān)閉