国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種以內(nèi)升溫方式檢測時延故障的定溫指令級自測試方法

      文檔序號:8380840閱讀:586來源:國知局
      一種以內(nèi)升溫方式檢測時延故障的定溫指令級自測試方法
      【技術(shù)領(lǐng)域】
      [0001]本發(fā)明涉及半導(dǎo)體工藝技術(shù)領(lǐng)域,尤其是涉及一種以內(nèi)升溫方式檢測時延故障的定溫指令級自測試方法,是一種VLSI故障容忍高溫條件下時延故障的檢測方法。
      【背景技術(shù)】
      [0002]高溫因素一直是影響計算機(jī)系統(tǒng)可靠性的關(guān)鍵因素之一。計算機(jī)系統(tǒng)在正常工作溫度下可正確地工作。但是,一旦溫度升高,計算機(jī)系統(tǒng)中將出現(xiàn)大量無法理解的故障。即使整個系統(tǒng)的芯片都經(jīng)過了嚴(yán)格的制造測試,這種問題依然普遍存在。這種與溫度相關(guān)的問題主要來源于最壞時延故障,即高溫條件下的時延故障。隨著芯片溫度的提高,電路中信號傳輸?shù)臅r延也會顯著地提高,因此高溫條件會加劇芯片原本的時延。然而糟糕的是,由于當(dāng)前芯片有著日益遞增的性能要求,設(shè)計中預(yù)留給高溫和其它因素的時間邊界被嚴(yán)重地消減了。在這種情況下,高溫導(dǎo)致電路時延超過芯片的固有時延的故障成為了一項計算機(jī)系統(tǒng)的普遍問題。這個問題需要被妥當(dāng)?shù)靥幚?,尤其是高可靠性要求的計算機(jī)系統(tǒng)。但是,當(dāng)前的方法檢測這種問題存在缺陷,因此需要設(shè)計合適測試方法檢測高溫條件下的時延故障。
      [0003]當(dāng)前的制造測試并不適用于測試高溫條件下的時延故障。首先,針對正常的時延故障,制造測試自身就有缺陷。這種方法需要在被測電路上插入輔助測試電路(Design forTest, DFT),這樣使得被測電路中的故障能夠更容易被激活或被觀測。但是,這種測試要求改變了原來的電路,會引入一些在正常工作中完全不會出現(xiàn)的向量(被稱為非功能向量)。對于時延故障,制造測試將會引入的這種非功能向量比例極其高。這樣,很多工作模式下能正常工作的芯片在制造測試過程中卻被誤認(rèn)為是錯誤芯片。這種問題被稱為過度測試問題,它會對芯片工業(yè)帶來難以容忍的經(jīng)濟(jì)損失。其次,采用制造測試的方法檢測高溫條件下的時延故障是非常危險的。一方面,當(dāng)溫度提高后制造測試會加劇已經(jīng)存在的過量測試問題。這是因為非功能向量能夠輕易地激活那些不可測的長通路,而當(dāng)溫度升高后,這部分故障首先被觀測到。另一方面,當(dāng)前的制造測試亟需降低測試溫度,而不是測試高溫條件下的時延故障。在制造測試中,它的信號跳變數(shù)目是正常工作模式下的數(shù)倍,這些不正常的信號跳變會迅速加熱芯片,甚至直接燒毀芯片。因此,制造測試并不適用于測試高溫條件下的時延故障。
      [0004]老化測試常常用于測試芯片在高溫條件下是否正常工作,但是它同樣具有一些致命的問題。在老化測試中,被測芯片被烤爐從外部加熱直到它到達(dá)給定的溫度。然后,這種溫度下,老化測試運行正常程序數(shù)個小時或者數(shù)天,藉此可以測試高溫條件下芯片的缺陷。但是,老化測試會損壞被測芯片。由于長時間的烘烤,這種方法會損壞絕緣,進(jìn)而降低芯片的壽命。更糟糕的是,老化測試不能有效地測試高溫條件下的時延缺陷。首先,由于絕緣層的因素,老化測試可能加熱芯片的表層,而并沒有有效地加熱芯片的內(nèi)部電路。更進(jìn)一步,正常的功能程序并不是專門針對時延故障,它們的故障覆蓋率不高,難以完備地測試芯片。
      [0005]指令級自測試方法是一種新型的測試技術(shù),它通過運行普通的功能程序測試處理器或嵌入式系統(tǒng),它最顯著的特征是極高的故障覆蓋率,堪比采用全掃描結(jié)構(gòu)的制造測試。這種方法曾經(jīng)被用于測試基于跳變故障模型的時延測試,并且達(dá)到了 94%以上的故障覆蓋率。同時,它也能夠用于基于路徑故障模型的時延測試,同樣達(dá)到了較高的故障覆蓋率。以往的指令級自測試方法僅考慮過低功耗或低溫度,以減少測試開銷。但是,沒有工作考慮采用指令級自測試方法,檢測高溫條件下的時延故障。為了有效地檢測最糟糕情況下的時延故障,指令級自測試方法需要運行在系統(tǒng)允許的最高溫度范圍內(nèi),即能夠在高溫范圍內(nèi)開展定溫測試。

      【發(fā)明內(nèi)容】

      [0006]本發(fā)明的目的就是為了克服上述現(xiàn)有技術(shù)存在的缺陷而提供一種能有效地測試高溫條件下的時延故障、保證高的故障覆蓋率、減小處理器損失的以內(nèi)升溫方式檢測時延故障的定溫指令級自測試方法。
      [0007]本發(fā)明的目的可以通過以下技術(shù)方案來實現(xiàn):
      [0008]一種以內(nèi)升溫方式檢測時延故障的定溫指令級自測試方法,對處理器進(jìn)行高溫時延測試,包括以下步驟:
      [0009]I)獲取原始指令級自測試程序模塊,形成未變形原始程序模塊集合TH);
      [0010]2)對原始指令級自測試程序模塊進(jìn)行循環(huán)展開的變形;
      [0011]3)對原始指令級自測試程序模塊進(jìn)行基于觸發(fā)cache miss的變形;
      [0012]4)根據(jù)步驟2)和3),形成基于循環(huán)展開變形的程序模塊集合TF1、基于觸發(fā)cachemiss變形的程序模塊集合TF2和同時采用循環(huán)展開和觸發(fā)cache miss變形的程序模塊集合 TF3 ;
      [0013]5)在設(shè)定的測試溫度區(qū)間內(nèi),采用定溫測試程序調(diào)度算法,從所述TF0、TF1、TF2、TF3中獲取可行調(diào)度;
      [0014]6)將處理器加熱到測試溫度區(qū)間的下界,根據(jù)可行調(diào)度,執(zhí)行相應(yīng)程序,針對時延故障實施內(nèi)升溫的定溫測試。
      [0015]所述步驟2)中,循環(huán)展開的變形具體為:
      [0016]2.1)刪除程序模塊中循環(huán)語句的檢測器;
      [0017]2.2)提取循環(huán)次數(shù),并將其作為變量N的值;
      [0018]2.3)檢查變量N是否大于0,若是,則進(jìn)入步驟2.4),若否,則進(jìn)入步驟2.6);
      [0019]2.4)根據(jù)N的值,設(shè)置程序模塊中l(wèi)oad指令和store指令的偏移地址,并輸出本次循環(huán)對應(yīng)的指令序列;
      [0020]2.5)變量N自減1,返回步驟2.3);
      [0021]2.6)結(jié)束。
      [0022]所述步驟3)中,進(jìn)行基于觸發(fā)cache miss的變形時,判斷處理器的cache結(jié)構(gòu),根據(jù)所述cache結(jié)構(gòu)觸發(fā)原始指令級自測試程序模塊中的cache miss。
      [0023]所述cache結(jié)構(gòu)包括直接映射cache、全相聯(lián)cache或組相聯(lián)cache。
      [0024]所述步驟5)中,定溫測試程序調(diào)度算法是基于貪心策略,從TF0、TF1、TF2、TF3中搜索滿足設(shè)定的測試溫度區(qū)間的測試程序調(diào)度方案。
      [0025]所述貪心策略包括低開銷程序變形優(yōu)先策略和高溫度模塊優(yōu)先策略。
      [0026]所述定溫測試程序調(diào)度算法具體為:
      [0027]5.1)以測試溫度區(qū)間的下界為初始溫度;
      [0028]5.2)根據(jù)低開銷程序變形優(yōu)先策略,從TH)開始搜索,根據(jù)初始溫度計算TH)中未執(zhí)行程序模塊的終態(tài)溫度;
      [0029]5.3)根據(jù)所述終態(tài)溫度判斷TH)是否存在滿足設(shè)定的測試溫度區(qū)間的程序模塊,若是,則將滿足設(shè)定的測試溫度區(qū)間的程序模塊作為可行模塊,并根據(jù)高溫度模塊優(yōu)先策略,從所述可行模塊中選取終態(tài)溫度最高的一個加入可行調(diào)度中,并以該終態(tài)溫度作為初始溫度,返回步驟5.2),若否,則執(zhí)行步驟5.4);
      [0030]5.4)根據(jù)低開銷程序變形優(yōu)先策略,從TF2開始搜索,根據(jù)初始溫度計算TF2中未執(zhí)行程序模塊的終態(tài)溫度;
      [0031]5.5)根據(jù)所述終態(tài)溫度判斷TF2是否存在滿足設(shè)定的測試溫度區(qū)間的程序模塊,若是,則將滿足設(shè)定的測試溫度區(qū)間的程序模塊作為可行模塊,并根據(jù)高溫度模塊優(yōu)先策略,從所述可行模塊中選取終態(tài)溫度最高的一個加入可行調(diào)度中,并以該終態(tài)溫度作為初始溫度,返回步驟5.2),若否,則執(zhí)行步驟5.6);
      [0032]5.6)根據(jù)低開銷程序變形優(yōu)先策略,從TFl開始搜索,根據(jù)初始溫度計算TFl中未執(zhí)行程序模塊的終態(tài)溫度;
      [0033]5.7)根據(jù)所述終態(tài)溫度判斷TFl是否存在滿足設(shè)定的測試溫度區(qū)間的程序模塊,若是,則將滿足設(shè)定的測試溫度區(qū)間的程序模塊作為可行模塊,并根據(jù)高溫度模塊優(yōu)先策略,從所述可行模塊中選取終態(tài)溫度最高的一個加入可行調(diào)度中,并以該終態(tài)溫度作為初始溫度,返回步驟5.2),若否,則執(zhí)行步驟5.8);
      [0034]5.8)根據(jù)低開銷程序變形優(yōu)先策略,從TF3開始搜索,根據(jù)初始溫度計算TF3中未執(zhí)行程序模塊的終態(tài)溫度;
      [0035]5.9)根據(jù)所述終態(tài)溫度判斷TF3是否存在滿足設(shè)定的測試溫度區(qū)間的程序模塊,若是,則將滿足設(shè)定的測試溫度區(qū)間的程序模塊作為可行模塊,并根據(jù)高溫度模塊優(yōu)先策略,從所述可行模塊中選取終態(tài)溫度最高的一個加入可行調(diào)度中,并以該終態(tài)溫度作為初始溫度,返回步驟5.2),若否,則終止。
      [0036]所述未執(zhí)行程序模塊的終態(tài)溫度采用四階runge-kutta算法計算獲得。
      [0037]所述未執(zhí)行程序模塊的終態(tài)溫度的具體計算過程為:
      [0038]al)獲得未執(zhí)行程序模塊i的測試時間time和功耗power ;
      [0039]a2)根據(jù)初始溫度計算未執(zhí)行程序模塊i在一個采樣間隔interval后的終態(tài)溫度Te ;
      [0040]a3)將終態(tài)溫度Te設(shè)置成下一個采樣周期的初始溫度Ts ;
      [0041]a4)重復(fù)步驟al)?a3)M次,得到最終的終態(tài)溫度Te ;
      [0042]其中,M為循環(huán)變量,M= time/interval。
      [0043]所述根據(jù)高溫度模塊優(yōu)先策略,從所述可行模塊中選取終態(tài)溫度最高的一個加入可行調(diào)度中具體為:
      [0044]bl)初始化最高溫度Temax等于首個可行模塊的終態(tài)溫度,最高溫模塊序號max等于該程序模塊的序號i ;
      [0045]b2)判斷是否存在其它可行模塊,若是,則選擇另一可行模塊j,執(zhí)行步驟b3),若否,則執(zhí)行步驟b4);
      [0046]b3)判斷可行模塊j的終態(tài)溫度是否大于最高溫度Temax,若是,則將可行模塊j的終態(tài)溫度作為最高溫度Temax,同時將序號max更新為j,返回步驟b2
      當(dāng)前第1頁1 2 3 4 
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1