本發(fā)明涉及組合邏輯電路的軟錯誤敏感性評估技術(shù)。
背景技術(shù):
集成電路工藝技術(shù)的不斷發(fā)展,使得單粒子事件所引起的軟錯誤成為了集成電路可靠性工作的主要威脅。晶體管密度的增加以及關(guān)鍵電荷的降低使得在微米量級下并不重要的低能質(zhì)子和μ子甚至也成為了納米集成電路的潛在威脅。當(dāng)具有一定能量的粒子擊打到晶體管中反偏的P-N結(jié)時,在其經(jīng)過的徑跡上會由于直接電離或者核反應(yīng)產(chǎn)生高密度的電子空穴對,這些電子空穴對在偏置電場的作用下會基于擴(kuò)散和漂移的作用被晶體管的漏極所吸收。如果這個過程作用在SRAM或者寄存器等存儲器件中時,存儲器件的邏輯狀態(tài)可能由于電荷的收集而改變,這種現(xiàn)象稱為單粒子翻轉(zhuǎn);當(dāng)所產(chǎn)生的電荷被多個存儲器件的敏感節(jié)點(diǎn)所收集時就會引起單粒子多位翻轉(zhuǎn)。如果這一過程發(fā)生在組合邏輯電路中,粒子擊打所產(chǎn)生的電荷會作用于一個或多個邏輯門的輸出端,并對輸出端電容進(jìn)行充電或放電,從而形成單粒子瞬態(tài)或單粒子多瞬態(tài)。在微米級工藝技術(shù)下,單粒子翻轉(zhuǎn)和單粒子多位翻轉(zhuǎn)是數(shù)字集成電路發(fā)生軟錯誤的兩種主要表現(xiàn)形式。但是,隨著工藝尺寸發(fā)展到納米級,由組合邏輯電路中的單粒子瞬態(tài)脈沖所引起的軟錯誤所占的比例越來越大。這主要有兩方面的原因,首先,在存儲器件中的單粒子翻轉(zhuǎn)事件的發(fā)生概率隨著工藝技術(shù)的發(fā)展幾乎保持不變,而工藝尺寸的減少使得單粒子瞬態(tài)和單粒子多瞬態(tài)現(xiàn)象顯著增加。其次,針對于存儲器件有兩種比較成熟的加固技術(shù)來保證其可靠工作,一種是采用錯誤探測與糾正的編碼技術(shù),另外一種是采用基于電路級加固的鎖存器、觸發(fā)器或者存儲器來保證其工作的可靠性。但是基于錯誤探測與糾正的編碼加固技術(shù)無法應(yīng)用于組合邏輯單元中,而在電路設(shè)計(jì)中大量使用加固單元往往又會造成較大的面積以及功耗和延遲方面的開銷。因此,提高軟錯誤評估的準(zhǔn)確性,從而有效的針對電路的最敏感部分進(jìn)行加固,能夠有效的降低開銷。準(zhǔn)確的軟錯誤評估方法是合理有效的利用加固技術(shù)的根本前提。
傳統(tǒng)的對于組合邏輯電路的軟錯誤敏感性分析的方法主要有兩種,一種是通過人為的向待測電路中注入大量錯誤,然后通過邏輯級的仿真來計(jì)算其失效率。這種方法能夠準(zhǔn)確模擬瞬態(tài)脈沖在電路中的傳播過程,但是脈沖注入的過程往往是通過遍歷電路的各個節(jié)點(diǎn)來實(shí)現(xiàn)的,無法考慮到粒子擊打器件的隨機(jī)過程,同時針對單粒子多瞬態(tài)的分析也只能以網(wǎng)表中的邏輯相鄰單元為錯誤注入目標(biāo),而邏輯級相鄰的單元在經(jīng)過布局布線后在實(shí)際的物理級可能不再相鄰,因此這種評估方法也存在因?yàn)獒槍Χ辔凰矐B(tài)的錯誤注入目標(biāo)的選擇的不準(zhǔn)確性而失效。另一種方法是通過分析和計(jì)算電路的屏蔽效應(yīng)來評估電路的軟錯誤敏感性。這種方法能夠節(jié)約仿真時間,但是通過評估脈沖傳播的屏蔽效應(yīng)的解析模型往往是對邏輯級仿真或晶體管級的SPICE仿真方法的近似,從而在評估的過程中引入了一定的誤差。此外基于解析模型的軟錯誤評估方法往往只注重于脈沖的傳播與鎖存的過程,而忽略了脈沖產(chǎn)生過程的不同情況,從而也忽略了粒子擊打位置的信息,無法有效的評估單粒子多瞬態(tài)的具體情況。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的是為了解決現(xiàn)有組合邏輯電路軟錯誤評估方法無法有效的評估單粒子多瞬態(tài)的軟錯誤敏感性的問題,從而提供一種考慮版圖布局信息的組合邏輯電路的單粒子多瞬態(tài)軟錯誤敏感性評估方法。
本發(fā)明所述的一種考慮版圖布局信息的組合邏輯電路的單粒子多瞬態(tài)軟錯誤敏感性評估方法,該方法包括以步驟:
步驟一、基于版圖布局信息提取有效敏感體,并進(jìn)行Geant4蒙特卡洛仿真,包括以下步驟:
步驟一一、基于Verilog網(wǎng)表及工藝庫下的標(biāo)準(zhǔn)單元庫對使用硬件描述語言所編寫的組合邏輯電路進(jìn)行邏輯綜合,得到綜合網(wǎng)表;
步驟一二、采用布局布線工具對綜合網(wǎng)表進(jìn)行布局布線,并將結(jié)果保存為設(shè)計(jì)交互式文件;
步驟一三、分析設(shè)計(jì)交互式文件的每個邏輯單元中每個晶體管的漏極位置,產(chǎn)生整個版圖的敏感體布局信息;
步驟一四、根據(jù)整個版圖的敏感體布局信息建立Geant4蒙特卡洛仿真模型,搭建粒子轟擊的仿真環(huán)境,得到整個版圖中的每個敏感體的能量收集信息;
步驟一五、篩除能量收集值低于預(yù)先設(shè)計(jì)值的敏感體,得到有效敏感體的能量收集信息;
步驟一六、將有效敏感體的能量收集信息轉(zhuǎn)換為電荷,形成雙指數(shù)電流源;
步驟二、生成“黃金”網(wǎng)表文件以及調(diào)用快速SPICE仿真工具進(jìn)行仿真;
步驟二一、基于Verilog網(wǎng)表及工藝庫下的標(biāo)準(zhǔn)單元庫生成組合邏輯電路的晶體管級網(wǎng)表文件,即“黃金”網(wǎng)表;
步驟二二、調(diào)用快速SPICE仿真工具對組合邏輯電路的“黃金”網(wǎng)表進(jìn)行仿真,得到組合邏輯電路輸出端的邏輯狀態(tài)及每一個輸入向量下的組合邏輯電路中各個節(jié)點(diǎn)的邏輯狀態(tài);
步驟三、生成錯誤注入網(wǎng)表,以及調(diào)用快速SPICE仿真工具進(jìn)行仿真;
步驟三一、根據(jù)步驟二二得到的每一個輸入向量下的組合邏輯電路中各個節(jié)點(diǎn)的邏輯狀態(tài),將步驟一六得到的雙指數(shù)電流源注入到步驟二一得到的“黃金”網(wǎng)表中與所述雙指數(shù)電流相應(yīng)的有效敏感體所在區(qū)域,得到錯誤注入網(wǎng)表;
步驟三二、調(diào)用快速SPICE仿真工具對錯誤注入網(wǎng)表進(jìn)行仿真,得到組合邏輯電路輸出端的邏輯狀態(tài);
步驟四、根據(jù)步驟二二得到的組合邏輯電路輸出端的邏輯狀態(tài)及步驟三二得到的組合邏輯電路輸出端的邏輯狀態(tài),得到組合邏輯電路的失效率,根據(jù)失效率評估組合邏輯電路的單粒子多瞬態(tài)軟錯誤敏感性。
優(yōu)選的是,步驟一四中,所述粒子為Xe離子或Bi離子。
本發(fā)明提取組合邏輯電路的版圖信息,并基于模擬粒子在物質(zhì)中輸運(yùn)過程的工具包Geant4建立了針對于組合邏輯電路的輻射仿真環(huán)境,通過Geant4蒙特卡洛仿真平臺有效的評估了各個敏感體所收集的能量,再將所收集的能量轉(zhuǎn)換為電荷形成雙指數(shù)電流源后,注入到“黃金”網(wǎng)表當(dāng)中,再通過調(diào)用快速SPICE仿真工具進(jìn)行晶體管級的組合邏輯電路仿真,最后給出組合邏輯電路的軟錯誤失效率。
本發(fā)明通過分析組合邏輯電路的版圖信息,建立組合邏輯電路各個邏輯單元的敏感體,這種方法能夠準(zhǔn)確的定位各邏輯單元的位置關(guān)系進(jìn)而能夠分析在粒子擊打電路時所產(chǎn)生的電荷被鄰近單元收集的情況,從而可以處理單粒子多瞬態(tài)的問題。本發(fā)明不僅能夠給出多次Geant4蒙特卡洛仿真后所統(tǒng)計(jì)出的錯誤次數(shù)還能夠提供輸出端脈沖寬度的分布情況。另外,本方法在進(jìn)行粒子入射仿真時,還可以通過對粒子槍進(jìn)行不同的設(shè)置,分析不同粒子種類、能量以及不同線性能量傳輸值情況下的組合邏輯電路的軟錯誤敏感性問題。本發(fā)明在保證仿真精度的同時還采用了快速SPICE仿真工具,能夠有效的縮短仿真時間。
本發(fā)明適用于評估組合邏輯電路的軟錯誤敏感性。
附圖說明
圖1是具體實(shí)施方式一所述的組合邏輯電路的單粒子多瞬態(tài)軟錯誤敏感性評估方法的流程示意圖;
圖2是具體實(shí)施方式一中的敏感體分布示意圖;
圖3是具體實(shí)施方式一中的敏感體的剖面結(jié)構(gòu)示意圖;
圖4是具體實(shí)施方式一中的Geant4蒙特卡洛仿真環(huán)境中的粒子擊打過程的示意圖;
圖5是具體實(shí)施方式一中的二輸入或非門的版圖;
圖6為具體實(shí)施方式一中的二輸入或非門的版圖的敏感體分布示意圖;
圖7為具體實(shí)施方式一中的二輸入或非門的電路圖;
圖8為具體實(shí)施方式一中的Xe離子輻射下各benchmark電路所產(chǎn)生的瞬態(tài)脈沖數(shù)以及產(chǎn)生的軟錯誤數(shù);
圖9為具體實(shí)施方式一中的Bi離子輻射下各benchmark電路所產(chǎn)生的瞬態(tài)脈沖數(shù)以及產(chǎn)生的軟錯誤數(shù);
圖10為具體實(shí)施方式一中的Xe離子和Bi離子輻射下,benchmark電路c7552的瞬態(tài)脈沖脈寬分布圖。
具體實(shí)施方式
具體實(shí)施方式一:結(jié)合圖1至圖10具體說明本實(shí)施方式,本實(shí)施方式所述的一種考慮版圖布局信息的組合邏輯電路的單粒子多瞬態(tài)軟錯誤敏感性評估方法,該方法包括以步驟:
步驟一、基于版圖布局信息提取有效敏感體,并進(jìn)行Geant4蒙特卡洛仿真,包括以下步驟:
步驟一一、基于Verilog網(wǎng)表及工藝庫下的標(biāo)準(zhǔn)單元庫對使用硬件描述語言所編寫的組合邏輯電路進(jìn)行邏輯綜合,得到綜合網(wǎng)表;
步驟一二、采用布局布線工具對綜合網(wǎng)表進(jìn)行布局布線,并將結(jié)果保存為設(shè)計(jì)交互式文件;
步驟一三、分析設(shè)計(jì)交互式文件的每個邏輯單元中每個晶體管的漏極位置,產(chǎn)生整個版圖的敏感體布局信息;
步驟一四、根據(jù)整個版圖的敏感體布局信息建立Geant4蒙特卡洛仿真模型,搭建粒子轟擊的仿真環(huán)境,得到整個版圖中的每個敏感體的能量收集信息;
步驟一五、篩除能量收集值低于預(yù)先設(shè)計(jì)值的敏感體,得到有效敏感體的能量收集信息;
步驟一六、將有效敏感體的能量收集信息轉(zhuǎn)換為電荷,形成雙指數(shù)電流源;
步驟二、生成“黃金”網(wǎng)表文件以及調(diào)用快速SPICE仿真工具進(jìn)行仿真;
步驟二一、基于Verilog網(wǎng)表及工藝庫下的標(biāo)準(zhǔn)單元庫生成組合邏輯電路的晶體管級網(wǎng)表文件,即“黃金”網(wǎng)表;
步驟二二、調(diào)用快速SPICE仿真工具對組合邏輯電路的“黃金”網(wǎng)表進(jìn)行仿真,得到組合邏輯電路輸出端的邏輯狀態(tài)及每一個輸入向量下的組合邏輯電路中各個節(jié)點(diǎn)的邏輯狀態(tài);
步驟三、生成錯誤注入網(wǎng)表,以及調(diào)用快速SPICE仿真工具進(jìn)行仿真;
步驟三一、根據(jù)步驟二二得到的每一個輸入向量下的組合邏輯電路中各個節(jié)點(diǎn)的邏輯狀態(tài),將步驟一六得到的雙指數(shù)電流源注入到步驟二一得到的“黃金”網(wǎng)表中與所述雙指數(shù)電流相應(yīng)的有效敏感體所在區(qū)域,得到錯誤注入網(wǎng)表;
步驟三二、調(diào)用快速SPICE仿真工具對錯誤注入網(wǎng)表進(jìn)行仿真,得到組合邏輯電路輸出端的邏輯狀態(tài);
步驟四、根據(jù)步驟二二得到的組合邏輯電路輸出端的邏輯狀態(tài)及步驟三二得到的組合邏輯電路輸出端的邏輯狀態(tài),得到組合邏輯電路的失效率,根據(jù)失效率評估組合邏輯電路的單粒子多瞬態(tài)軟錯誤敏感性。
對于特定工藝下的標(biāo)準(zhǔn)單元庫中各個邏輯單元的版圖信息進(jìn)行分析,提取各個邏輯單元晶體管中的漏極區(qū)域,各個晶體管的漏極區(qū)域被認(rèn)為是其敏感體?;谔囟üに噹鞂κ褂糜布枋稣Z言所編寫的組合邏輯電路進(jìn)行邏輯綜合。利用布局布線工具對綜合后的網(wǎng)表文件進(jìn)行布局布線,并將結(jié)果保存為設(shè)計(jì)交互式文件,該文件中包含了各個邏輯單元的版圖位置信息。采用C++所編寫的程序分析設(shè)計(jì)交互文件各個邏輯單元中具體各個晶體管的漏極位置,產(chǎn)生整個版圖的敏感體布局信息,如圖2和圖3所示,圖2中,1為邏輯單元,2為P阱,3為N阱,4為敏感體,圖3中,5為5微米的鈍化層(鈍化層的材料為二氧化硅),6為3微米的絕緣層(絕緣層的材料為二氧化硅),7為2微米的金屬層(金屬層的材料為銅),8為10微米的襯底(襯底的材料為硅)。在Geant4開發(fā)工具包中,利用所產(chǎn)生的敏感體布局信息建立蒙特卡洛仿真模型,搭建粒子轟擊的仿真環(huán)境。粒子槍發(fā)射粒子,通過模擬粒子與敏感體的相互作用,獲得該次輻射事件所影響的各個敏感體單元列表以及每次輻射事件過程中各個敏感體的能量收集情況,在Geant4蒙特卡洛仿真環(huán)境中的粒子擊打過程如圖4所示。
基于工藝庫下的以邏輯電路的硬件描述語言的Verilog網(wǎng)表為基礎(chǔ),結(jié)合標(biāo)準(zhǔn)單元庫生成組合邏輯電路的晶體管級網(wǎng)表文件,調(diào)用快速SPICE仿真工具對組合邏輯電路的“黃金”網(wǎng)表進(jìn)行仿真,對仿真工具所生成的輸出文件進(jìn)行分析,D觸發(fā)器捕捉輸出端的邏輯狀態(tài),提取輸出端的邏輯狀態(tài)以便于與錯誤注入網(wǎng)表的仿真結(jié)果進(jìn)行比較,在此過程中還生成了一個組合邏輯電路中各個節(jié)點(diǎn)的邏輯狀態(tài)的文件,該文件包含了每一個輸入向量下的組合邏輯電路中各個節(jié)點(diǎn)的邏輯狀態(tài),利用該文件在雙指數(shù)電流源的脈沖注入的過程中,可以根據(jù)各個邏輯單元的輸入狀態(tài)來準(zhǔn)確定位需要脈沖注入的晶體管。
處理敏感體的能量收集信息的步驟為,濾除敏感體中能量收集較少的敏感體,它們被濾除的主要原因是其能量值過低而無法在邏輯單元中產(chǎn)生瞬態(tài)脈沖。將有效敏感體所的能量收集信息轉(zhuǎn)換為電荷,在將所得到的電荷轉(zhuǎn)換為雙指數(shù)電流源,將所得到的雙指數(shù)電流源注入到組合邏輯電路的“黃金”網(wǎng)表中的相對應(yīng)的粒子擊打所影響的晶體管的漏極當(dāng)中。在此過程中,在“黃金”網(wǎng)表的仿真中所生成的包含組合邏輯電路中各個節(jié)點(diǎn)的邏輯狀態(tài)的文件被應(yīng)用。這主要是因?yàn)樵诿舾畜w能量收集信息的過程中,每個單元的漏極都作為有效的敏感體,但是實(shí)際上只有關(guān)斷狀態(tài)的晶體管才處于敏感狀態(tài),我們只需要對這些晶體管進(jìn)行脈沖注入即可。在“黃金”網(wǎng)表的仿真中所生成的組合邏輯電路中各個節(jié)點(diǎn)的邏輯狀態(tài)的文件正是用于此目的。
以二輸入或非門為例對本實(shí)施方式的方法進(jìn)行驗(yàn)證,圖5所示為二輸入或非門的版圖信息,其中,NW為N阱,PP為P注入,NP為N注入,圖6中A、B和C區(qū)域?yàn)樵摪鎴D的敏感體,分別為敏感體1、敏感體2和敏感體3。但是通過分析圖7中所示的二輸入或非門的電路在不同輸入條件下的敏感性可以看到,在某一個輸入向量下,只有部分有效敏感體才是真正的有效敏感體,M1為節(jié)點(diǎn)1,M2為節(jié)點(diǎn)2,M3為節(jié)點(diǎn)3。具體情況如表1所示。
表1二輸入或非門真正的有效敏感體
以ISCAS85標(biāo)準(zhǔn)測試電路為研究對象驗(yàn)證了本發(fā)明所提出的方法的有效性。在實(shí)驗(yàn)的過程中我們對各個測試電路都進(jìn)行了敏感體的提取以及仿真模型的建立,并分別采用5000MeV的Xe離子與6370MeV的Bi離子進(jìn)行輻射,通過對脈沖注入的各測試電路進(jìn)行快速SPICE仿真可以證實(shí)本方法的有效性。
圖8和圖9所示分別為Xe離子和Bi離子所引起的各測試電路所產(chǎn)生的瞬態(tài)脈沖數(shù)以及產(chǎn)生的軟錯誤數(shù)。圖10中給出Xe離子和Bi離子輻射下,benchmark電路c7552的瞬態(tài)脈沖的脈寬分布圖,脈沖寬度的單位為ps。通過對錯誤注入網(wǎng)表和“黃金”仿真網(wǎng)表的仿真結(jié)果的對比分析,可以得到各個測試電路的失效率,如表2所示,其中第一列為測試電路的電路名稱,第二列為測試電路中所包含的邏輯門的數(shù)目,第三列為測試電路布局布線后的版圖面積大小,第四列為5000MeV Xe離子輻射情況下各個測試電路的失效率,第五列為6370MeV Bi離子輻射情況下各個測試電路的失效率。
表2測試電路的失效率仿真結(jié)果
本實(shí)施方式慮版圖布局信息,與直接對綜合網(wǎng)表進(jìn)行評估的方法相比,本實(shí)施方式得到的失效率的精度高。
對于本領(lǐng)域技術(shù)人員而言,顯然本發(fā)明不限于上述示范性實(shí)施例的細(xì)節(jié),而且在不背離本發(fā)明的精神或基本特征的情況下,能夠以其他的具體形式實(shí)現(xiàn)本發(fā)明。因此,無論從哪一點(diǎn)來看,均應(yīng)將實(shí)施例看作是示范性的,而且是非限制性的,本發(fā)明的范圍由所附權(quán)利要求而不是上述說明限定,因此旨在將落在權(quán)利要求的等同要件的含義和范圍內(nèi)的所有變化囊括在本發(fā)明內(nèi)。
雖然在本文中參照了特定的實(shí)施方式來描述本發(fā)明,但是應(yīng)該理解的是,這些實(shí)施例僅僅是本發(fā)明的原理和應(yīng)用的示例。因此應(yīng)該理解的是,可以對示例性的實(shí)施例進(jìn)行許多修改,并且可以設(shè)計(jì)出其他的布置,只要不偏離所附權(quán)利要求所限定的本發(fā)明的精神和范圍。應(yīng)該理解的是,可以通過不同于原始權(quán)利要求所描述的方式來結(jié)合不同的從屬權(quán)利要求和本文中所述的特征,結(jié)合單獨(dú)實(shí)施例所描述的特征可以使用在其他所述實(shí)施例中。