徐 輝
(安徽理工大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院,安徽 淮南 232001)
2017年,我國提出“新工科”建設(shè),著力培養(yǎng)面向未來、面向世界、引領(lǐng)未來的精英人才。通過實(shí)施“卓越工程師教育培養(yǎng)計(jì)劃”,我國建成了規(guī)模龐大、門類齊全的工程教育體系,極大地支撐了國家社會(huì)經(jīng)濟(jì)發(fā)展[1-2]。通過開展“工程教育本科專業(yè)認(rèn)證”,保證了工程教育本科教學(xué)質(zhì)量。通過學(xué)習(xí)并實(shí)踐“華盛頓協(xié)議”,既引導(dǎo)了高校按照國際標(biāo)準(zhǔn)培養(yǎng)高水平人才,又實(shí)現(xiàn)了工程師國際互認(rèn)[3]。“數(shù)字電路”是計(jì)算機(jī)信息類專業(yè)的重要基礎(chǔ)課。目前“數(shù)字電路”課程教學(xué)主要存在以下問題:過于重視傳統(tǒng)知識(shí)的講授,忽略了科技前沿對(duì)教學(xué)內(nèi)容和教學(xué)手段的影響;課程獨(dú)立性太強(qiáng),講授過程中與其他學(xué)科的交叉欠缺,課程學(xué)習(xí)片段化明顯;課程實(shí)踐過程采用傳統(tǒng)教學(xué)模式,實(shí)踐目標(biāo)仍然以驗(yàn)證理論知識(shí)為主;學(xué)生被動(dòng)接受知識(shí)的環(huán)節(jié)較多,探索性環(huán)節(jié)欠缺。針對(duì)以上問題,我們提出在“數(shù)字電路”課程教學(xué)中采用案例教學(xué)法,注意緊扣學(xué)科發(fā)展前沿,下面具體以數(shù)字電路老化教學(xué)為例進(jìn)行討論。
傳統(tǒng)數(shù)字電路中“二極管”、“三極管”知識(shí)點(diǎn)被刪除,代之以CMOS集成電路。目前CMOS電路可靠性已經(jīng)成為限制集成電路發(fā)展不可忽視的重要因素。對(duì)于65 nm及以下的集成電路,負(fù)偏置溫度不穩(wěn)定性(NBTI)已經(jīng)成為影響電路可靠性的關(guān)鍵因素,嚴(yán)重影響了芯片的生命周期[4-5]。引導(dǎo)學(xué)生查閱文獻(xiàn)資料,理解NBTI是一種主要作用于PMOS晶體管的老化效應(yīng),當(dāng)PMOS的柵極處于負(fù)偏置時(shí),PMOS的閾值電壓就會(huì)隨著電路工作時(shí)間的增加而不斷升高,進(jìn)而導(dǎo)致邏輯門的傳輸時(shí)延增大,降低了電路性能,最終可能會(huì)導(dǎo)致電路發(fā)生時(shí)序違規(guī)。因此,探討NBTI的老化效應(yīng)并進(jìn)行精準(zhǔn)的預(yù)測(cè)和防護(hù)具有重要意義。通過文獻(xiàn)調(diào)研,同學(xué)們了解到當(dāng)前的NBTI電路老化研究工作大致可以分為兩個(gè)階段:硅前階段,對(duì)NBTI效應(yīng)進(jìn)行物理建模和老化預(yù)測(cè)分析[6-8];硅后階段,對(duì)芯片的老化情況進(jìn)行在線監(jiān)測(cè)[9-10]及NBTI相關(guān)的電路優(yōu)化技術(shù)[11-14]。對(duì)于該問題的解決手段,同學(xué)們總結(jié)了兩種優(yōu)良的解決方案:文獻(xiàn)[15]提出了利用MDS(Maximum Dynamic Stress)老化分析方法來預(yù)測(cè)NBTI效應(yīng)導(dǎo)致的時(shí)延增加,該方法將所有邏輯門的輸入節(jié)點(diǎn)占空比都統(tǒng)一設(shè)定為0.95,忽略了電路邏輯門之間的拓?fù)潢P(guān)系,對(duì)于老化時(shí)延的預(yù)測(cè)過于悲觀;文獻(xiàn)[16]提出了一種基于靜態(tài)時(shí)序分析的識(shí)別NBTI老化效應(yīng)下關(guān)鍵門和關(guān)鍵路徑的方法,該方法僅僅通過路徑上的單個(gè)邏輯門的老化時(shí)延和時(shí)序約束進(jìn)行比較來識(shí)別關(guān)鍵門,缺乏對(duì)于同一時(shí)序路徑下其他邏輯門影響的考慮,在識(shí)別的精度上有待提高。針對(duì)這兩種方案的缺點(diǎn),提出學(xué)習(xí)任務(wù)。
對(duì)于NBTI引起的時(shí)延,敦促學(xué)生從工程角度考慮問題,從數(shù)學(xué)角度解決問題,掌握精確的NBTI數(shù)學(xué)模型對(duì)于時(shí)延預(yù)測(cè)的作用。NBTI預(yù)測(cè)常用的是R-D(Reaction-Diffusion)模型,它將NBTI的老化過程分成反應(yīng)階段和擴(kuò)散階段兩部分。在反應(yīng)階段,界面陷阱的產(chǎn)生速率與工作時(shí)間呈線性關(guān)系。隨后的擴(kuò)散階段,氫原子結(jié)合成氫分子并以tn的時(shí)間依賴關(guān)系從界面向氧化層擴(kuò)散,對(duì)于氫分子而言,n一般取0.16。界面陷阱的產(chǎn)生模型為
其中,kF是正向反應(yīng)速率,kR是逆向反應(yīng)速率,N0是初始時(shí)刻界面陷阱的密度,DH是氫的擴(kuò)散系數(shù)[6]。在NBTI的長期老化預(yù)測(cè)模型中閾值電壓增量與工作時(shí)間、占空比等因素的關(guān)系[17]為
其中,K是與電場(chǎng)、溫度和載流子濃度等相關(guān)的參數(shù);n為時(shí)間系數(shù),當(dāng)擴(kuò)散模型為氫分子的時(shí)候取0.16[6];α為輸入信號(hào)概率,表征PMOS管在一段工作時(shí)間內(nèi)負(fù)偏置的時(shí)間比例;Tclk為時(shí)鐘周期;β為與時(shí)鐘周期、工作溫度以及工藝參數(shù)相關(guān)的系數(shù)。在特定工藝參數(shù)下閾值電壓增量簡化公式為[18]
其中,A為環(huán)境和工藝參數(shù),t為電路的工作時(shí)間。研究表明,NBTI老化效應(yīng)下邏輯門的傳播時(shí)延增量與閾值電壓增量ΔVth可以表示為一階線性關(guān)系[19]:
其中,B是與環(huán)境因素和邏輯門工藝相關(guān)的常數(shù),可以通過對(duì)邏輯門的老化數(shù)據(jù)進(jìn)行擬合得到。
學(xué)生在教師指導(dǎo)下,結(jié)合數(shù)據(jù)結(jié)構(gòu)與算法知識(shí),提出了一種準(zhǔn)確識(shí)別NBTI效應(yīng)下老化敏感的關(guān)鍵門算法流程:首先,對(duì)標(biāo)準(zhǔn)邏輯門單元進(jìn)行NBTI老化時(shí)延模型抽象分析;然后,通過建立動(dòng)態(tài)占空比模型分析所有內(nèi)部節(jié)點(diǎn)的占空比信息,得到具體的老化時(shí)延信息;最后,將關(guān)鍵門的識(shí)別分類,第1部分通過時(shí)序約束和邏輯門的老化識(shí)別出初始關(guān)鍵門,第2部分充分考慮同一條時(shí)序路徑其他邏輯門發(fā)生嚴(yán)重時(shí)序違規(guī)造成的影響,識(shí)別出需要進(jìn)行老化防護(hù)的實(shí)際關(guān)鍵門。
這樣,同學(xué)們提出的算法流程就充分考慮了電路中邏輯拓?fù)浣Y(jié)構(gòu)引起的邏輯門之間的邏輯功能和占空比約束,并考慮在識(shí)別關(guān)鍵門過程中可能出現(xiàn)的特殊情況,在進(jìn)一步提高對(duì)關(guān)鍵門識(shí)別精度的同時(shí),減少了最后識(shí)別出的關(guān)鍵門數(shù)量。毫無疑問,結(jié)合數(shù)學(xué)知識(shí)、數(shù)字電路知識(shí)、算法知識(shí)等解決了實(shí)際工程問題,極大地提高了同學(xué)們的學(xué)習(xí)興趣。
結(jié)合文獻(xiàn)[20-21],學(xué)生設(shè)計(jì)出考慮NBTI的靜態(tài)時(shí)序分析流程,如圖1所示,有關(guān)定義如下。
圖1 算法流程
定義1初始關(guān)鍵門:電路中經(jīng)過了一段工作時(shí)間之后因受到NBTI的影響而導(dǎo)致經(jīng)過該邏輯門的時(shí)延超過了原先設(shè)計(jì)階段預(yù)留的時(shí)間余量,則稱該邏輯門為一個(gè)初始關(guān)鍵門。
定義2實(shí)際關(guān)鍵門:在初始關(guān)鍵門的集合中,如果當(dāng)前的初始關(guān)鍵門發(fā)生了嚴(yán)重的時(shí)序違規(guī),并導(dǎo)致同一條時(shí)序路徑上的其他邏輯門發(fā)生時(shí)序違規(guī),則稱該初始關(guān)鍵門為一個(gè)實(shí)際關(guān)鍵門。
具體算法流程:(1)利用電路綜合出的電路網(wǎng)表,結(jié)合工藝參數(shù)以及初始的模型參數(shù)信息,建立整個(gè)電路的邏輯拓?fù)浣Y(jié)構(gòu);(2)根據(jù)整個(gè)電路的邏輯拓?fù)浣Y(jié)構(gòu),結(jié)合輸入輸出信息,計(jì)算出受到NBTI老化之前的時(shí)延信息;(3)根據(jù)占空比模型,在給定輸入信號(hào)占空比的情況下,對(duì)所有邏輯門工作時(shí)的動(dòng)態(tài)占空比進(jìn)行計(jì)算,并將結(jié)果作為預(yù)測(cè)NBTI老化的重要參數(shù);(4)通過NBTI的老化模型對(duì)電路中所有邏輯門的老化時(shí)延進(jìn)行預(yù)測(cè),并確定在給定的時(shí)序余量之下出現(xiàn)時(shí)序違規(guī)的邏輯門,將它們作為初始關(guān)鍵門;(5)通過算法計(jì)算所有初始關(guān)鍵門是否會(huì)對(duì)同一條時(shí)序路徑下其他初始關(guān)鍵門的時(shí)序違規(guī)產(chǎn)生重要影響,得出實(shí)際關(guān)鍵門。
對(duì)于一個(gè)給定的電路網(wǎng)表文件,其中可能包含大量觸發(fā)器和邏輯門,在對(duì)電路進(jìn)行分析之前,需要先建立起電路整體的邏輯拓?fù)浣Y(jié)構(gòu)。拓?fù)渑判蚴撬惴ㄕn程的重要知識(shí)點(diǎn),同學(xué)們結(jié)合文獻(xiàn)[22-23]采用了深度優(yōu)先搜索算法來對(duì)電路進(jìn)行拓?fù)渑判?,如算?和算法2所示。
算法1:Topo_Sort
算法2:DFS
老化邏輯占空比在NBTI導(dǎo)致的老化問題研究中,占空比指PMOS晶體管處于負(fù)偏置的時(shí)間占電路所有工作時(shí)間的比例[24]。從統(tǒng)計(jì)學(xué)角度來看,占空比可以看成整個(gè)工作時(shí)間內(nèi)電路節(jié)點(diǎn)輸入信號(hào)為零的概率。由式(4)可知,NBTI導(dǎo)致的老化延遲與邏輯門輸入信號(hào)占空比存在函數(shù)關(guān)系。根據(jù)初始輸入信號(hào)的占空比動(dòng)態(tài)計(jì)算出所有節(jié)點(diǎn)的占空比,用于準(zhǔn)確預(yù)測(cè)NBTI老化效應(yīng)導(dǎo)致的延遲。同學(xué)們利用概率論知識(shí),結(jié)合算法1、2的占空比傳播公式[25]計(jì)算出了電路中所有節(jié)點(diǎn)的占空比,如表1所示。
表1 幾種基本邏輯門的占空比傳播公式
將電路NBTI老化效應(yīng)下的關(guān)鍵門識(shí)別分為初始關(guān)鍵門識(shí)別和實(shí)際關(guān)鍵門識(shí)別。
初始關(guān)鍵門識(shí)別由邏輯占空比模型可得出電路中邏輯門Gk的輸入信號(hào)占空比d(Gk),結(jié)合式(4)可以得到實(shí)際NBTI老化:
其中,ΔD(GK)表示邏輯門GK的NBTI老化,B是工藝環(huán)境相關(guān)的系數(shù),t為工作時(shí)間,n對(duì)于氫分子取0.16,Δp為預(yù)測(cè)誤差的常數(shù)項(xiàng)。
確定初始關(guān)鍵門步驟:(1)通過3.2中所有邏輯拓?fù)淞斜鞹PL對(duì)整個(gè)電路進(jìn)行老化前的STA,得到各個(gè)邏輯門的延遲D(GK),并計(jì)算出整個(gè)電路中所有輸出的最大延遲Dmax(其中D觸發(fā)器的輸入端作為偽輸出端參與計(jì)算);(2)由未老化的最大延遲Dmax和設(shè)定的時(shí)間余量系數(shù)Δt推導(dǎo)出老化后電路的最大時(shí)序延遲Daging_max;(3)根據(jù)所有邏輯門的延遲D(GK)、NBTI效應(yīng)下的老化系數(shù)ΔD(GK)和輸出端最大時(shí)序延遲Daging_max從輸出端逆向計(jì)算每個(gè)邏輯門在經(jīng)過NBTI老化之后的時(shí)序約束TC(GK)(Timing Constraint);(4)由邏輯拓?fù)淞斜韺?duì)整個(gè)電路進(jìn)行NBTI老化效應(yīng)的靜態(tài)時(shí)序仿真,挑選出所有超過時(shí)序約束的邏輯門作為初始關(guān)鍵門。具體見算法3。
算法3:CG_Selection
算法3中的符號(hào)說明:TPL,電路邏輯門拓?fù)淞斜?;Δt,設(shè)計(jì)階段預(yù)留的時(shí)間余量系數(shù);Dmax,老化前電路輸出端的最大時(shí)延;STA,靜態(tài)時(shí)序分析算法;Daging_max,老化后電路輸出端的最大時(shí)延;D(GK),邏輯門GK老化前的時(shí)延;ΔD(GK),邏輯門GK受NBTI老化效應(yīng)影響的老化系數(shù);D′(GK),邏輯門GK老化后的時(shí)延;TCGk,邏輯門GK在老化后的時(shí)序約束;F_OUT(GK),邏輯門GK的所有扇出邏輯門集合;Aging_STA,老化后的靜態(tài)時(shí)序分析算法;Pre_CG,初始關(guān)鍵門集合。
實(shí)際關(guān)鍵門的識(shí)別在完成初始關(guān)鍵門的識(shí)別后,仍需要對(duì)Pre_CG中的初始關(guān)鍵門做進(jìn)一步的篩選,從而得到實(shí)際關(guān)鍵門。算法3關(guān)鍵門的識(shí)別方法過于粗糙。電路經(jīng)過算法3識(shí)別之后可以發(fā)現(xiàn)某條路徑上的邏輯門發(fā)生了時(shí)序違規(guī)。但是若作為偽輸入端的D觸發(fā)器時(shí)序路徑在開始處就發(fā)生了時(shí)序違規(guī),就可能會(huì)出現(xiàn)特殊情況:如果前面邏輯門的時(shí)序違規(guī)過大,而后面的幾個(gè)邏輯門對(duì)NBTI老化效應(yīng)并不敏感,但是因?yàn)殡娐窌r(shí)延傳遞的原因,導(dǎo)致后面的所有邏輯門都發(fā)生了時(shí)序違規(guī)。這種特殊情況對(duì)NBTI老化防護(hù)可能會(huì)帶來影響。如果僅僅是因?yàn)榍耙患?jí)的延遲過大,那么在進(jìn)行防護(hù)時(shí)僅僅需要對(duì)一個(gè)邏輯門進(jìn)行防護(hù),而不需要對(duì)原先時(shí)序路徑上的所有邏輯門進(jìn)行老化防護(hù),這樣可以大大減少老化防護(hù)的開銷。真正需要進(jìn)行防護(hù)的邏輯門就是該論文中的實(shí)際關(guān)鍵門。
針對(duì)上述特殊情況,同學(xué)們通過修改算法思想,從初始關(guān)鍵門集合Pre_CG中識(shí)別出實(shí)際關(guān)鍵門,并采取以下兩個(gè)策略:a)如果一個(gè)初始關(guān)鍵門的扇入中存在另一個(gè)初始關(guān)鍵門,并且其時(shí)序違規(guī)超過當(dāng)前初始關(guān)鍵門的時(shí)序違規(guī),則當(dāng)前關(guān)鍵門為一個(gè)實(shí)際關(guān)鍵門;b)如果一個(gè)初始關(guān)鍵門的扇入中存在另一個(gè)初始關(guān)鍵門,并且其時(shí)序違規(guī)超過所有初始關(guān)鍵門的時(shí)序違規(guī)平均值,則當(dāng)前關(guān)鍵門為一個(gè)實(shí)際關(guān)鍵門。對(duì)于Pre_CG中的任一初始關(guān)鍵門,如果能夠同時(shí)滿足上述兩個(gè)條件,則可以把該關(guān)鍵門視為一個(gè)實(shí)際關(guān)鍵門。
數(shù)字邏輯作為重要的專業(yè)課,需要不斷改革和優(yōu)化傳統(tǒng)實(shí)驗(yàn),以適應(yīng)新工科發(fā)展的需要。同學(xué)們根據(jù)文獻(xiàn)要求,選用了數(shù)字電路EDA工具進(jìn)行了仿真實(shí)驗(yàn)。首先采用Design Compiler對(duì)電路進(jìn)行綜合分析,再將HSPICE中得到的各個(gè)邏輯門老化數(shù)據(jù)進(jìn)行擬合,得到工藝環(huán)境相關(guān)參數(shù)B和常數(shù)項(xiàng)誤差Δp,擬合部分是通過MATLAB R2016b中的Curve Fitting工具箱來實(shí)現(xiàn)。這部分工作量大、工作平臺(tái)多,要求同學(xué)們通力配合,才能準(zhǔn)確獲取各種數(shù)據(jù)。
算法部分的實(shí)現(xiàn),充分考慮高級(jí)語言程序設(shè)計(jì)專業(yè)課。基于VS2017實(shí)驗(yàn)平臺(tái),將上述各種仿真工具得到的各項(xiàng)參數(shù)通過C++讀取,實(shí)現(xiàn)對(duì)電路網(wǎng)表的讀取和轉(zhuǎn)換及時(shí)序電路組合化。同學(xué)們用C++實(shí)現(xiàn)了對(duì)老化前的靜態(tài)時(shí)序分析(STA)、動(dòng)態(tài)占空比分析(DC_Analysis)、老化后的靜態(tài)時(shí)序分析(Aging_STA)、初始關(guān)鍵門選?。–G_Selection)以及實(shí)際關(guān)鍵門識(shí)別(CG_Recheck)。
經(jīng)過實(shí)驗(yàn)分析,研討小組得到所提方案,并與國際主流方案進(jìn)行對(duì)比,得到時(shí)序余量系數(shù)為10%,經(jīng)過10年NBTI老化的情況方案在不同電路中識(shí)別的關(guān)鍵門數(shù)量,對(duì)比結(jié)果如表2所示。表2中第1列和第2列分別表示電路的名字和對(duì)應(yīng)的邏輯門總數(shù)(包括D觸發(fā)器),第3列到第5列分別表示了本文方法和文獻(xiàn)[15]、文獻(xiàn)[16]識(shí)別出的關(guān)鍵門數(shù)量,第6列和第7列分別表示本文結(jié)果同文獻(xiàn)報(bào)道的結(jié)果相比的相對(duì)減少百分比。
表2 不同方法識(shí)別的關(guān)鍵門數(shù)量比較
與文獻(xiàn)[15]相比較,同學(xué)們采用了更加精確的預(yù)測(cè)模型,將初始輸入信號(hào)的占空比全部設(shè)定為0.95,而其內(nèi)部節(jié)點(diǎn)的占空比遵循電路的邏輯功能,動(dòng)態(tài)地通過計(jì)算節(jié)點(diǎn)的占空比預(yù)測(cè)。從表2結(jié)果來看,研究小組能夠在更加精確合理地識(shí)別出關(guān)鍵門的同時(shí),也大大減少了關(guān)鍵門數(shù)量,比文獻(xiàn)[15]的結(jié)果平均減少了35.67%。與文獻(xiàn)[16]相比較,同學(xué)們?cè)谶壿嬮T與時(shí)序約束的大小關(guān)系基礎(chǔ)上,將關(guān)鍵門的識(shí)別步驟細(xì)化,進(jìn)一步加入了對(duì)于同一時(shí)序路徑中部分關(guān)鍵門可能出現(xiàn)嚴(yán)重時(shí)序違規(guī)情況的考慮,從而識(shí)別出在初始關(guān)鍵門集合中真正需要進(jìn)行防護(hù)的實(shí)際關(guān)鍵門。相比于文獻(xiàn)[16]中的識(shí)別方法,同學(xué)們的方法同比減少了25.28%的關(guān)鍵門數(shù)量。
綜上所述,本文以“數(shù)字電路老化研究案例”為例,討論了數(shù)字電路案例教學(xué)的實(shí)施策略。該案例考慮了學(xué)科前沿、多學(xué)科交叉和學(xué)生意愿,充分調(diào)動(dòng)了學(xué)生的積極性。在“新工科”背景下,基于培養(yǎng)合格工程師要求,可以在數(shù)字電路教學(xué)中使用案例教學(xué)方法。對(duì)于數(shù)字電路學(xué)科中的電路老化這一前沿課題,我們將數(shù)字電路、數(shù)學(xué)、高級(jí)語言程序設(shè)計(jì)以及算法知識(shí)相結(jié)合,有效地解決了這一難題,極大地提高了學(xué)生的學(xué)習(xí)興趣,激發(fā)了學(xué)生對(duì)于未知世界的探索欲望。