<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 三模冗余技術(shù)在A(yíng)SIC設計中的應用及實(shí)現

三模冗余技術(shù)在A(yíng)SIC設計中的應用及實(shí)現

作者: 時(shí)間:2017-06-05 來(lái)源:網(wǎng)絡(luò ) 收藏

0 引言

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

本文引用地址:http://dyxdggzs.com/article/201706/349073.htm

1 三模冗余介紹

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

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

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

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

2 三模冗余的實(shí)現

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

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

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

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

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

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

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

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

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

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

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

3 結語(yǔ)

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



評論


技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>