定位片上系統(tǒng)時序邏輯錯誤、錯誤率計算及其應用方法
【技術(shù)領域】
[0001] 本發(fā)明涉及定位片上系統(tǒng)時序邏輯錯誤技術(shù)領域,尤其涉及一種定位片上系統(tǒng)時 序邏輯錯誤、錯誤率計算及其應用方法。
【背景技術(shù)】
[0002] 動態(tài)電壓頻率縮放(Dynamic Voltage Frequency Scale,DVFS)技術(shù)是一種能夠 優(yōu)化處理器能耗的方法,它允許處理器在運行時動態(tài)地改變其時鐘頻率和供電電壓。這種 技術(shù)可以在軟件層面上和硬件層面上來實現(xiàn)。在硬件層面上,電壓和頻率的降低帶來的直 接后果就是可能會發(fā)生時序邏輯錯誤,會影響處理器的正常工作。一種傳統(tǒng)的方法就是利 用延時鏈或者查找表來確定在特定頻率下無錯誤操作的最小電壓。另一種方法就是在關(guān)鍵 時序路徑上添加延時錯誤檢測和糾正電路(該項技術(shù)由ARM公司提出,并稱之為Razor)以 降低錯誤發(fā)生率,如圖1所示,從而能夠保證在特定電壓和特定頻率下處理器依然能夠正 常工作,從而降低功耗。該項技術(shù)特征是Razor觸發(fā)器并不是應用到設計中的每個觸發(fā)器 上,而僅僅應用在關(guān)鍵時序路徑上,避免了過度設計和額外的面積開銷,又能夠在更低的錯 誤發(fā)生率下節(jié)省更多的功耗。如圖2所示的是Razor觸發(fā)器應用在了處理器的五級流水線 路徑中,流水線恢復機制能夠保證了處理器在指令譯碼、執(zhí)行、訪問內(nèi)存和回寫過程中不會 發(fā)生因時序邏輯錯誤而導致的功能錯誤,從而使程序能夠正常運行。但是,這種技術(shù)的缺點 也是顯而易見的。首先,隨著工藝技術(shù)不斷提高,基于仿真模型很難準確定位真正的關(guān)鍵路 徑;而且由于工藝波動性和片上差異,很容易遺漏真正的關(guān)鍵路徑。其次,Razor技術(shù)是針 對同一產(chǎn)品中的所有芯片,所有用戶拿到的都是同樣的芯片,不論該芯片位于哪種工藝角 下。假設現(xiàn)在有客戶A和客戶B,客戶A的應用場合是:電壓Va,頻率Fa,功耗預算PBa,芯片 工藝條件CCa;客戶B的應用場合是:電壓V B,頻率Fb,功耗預算PBb,芯片工藝條件CCB。若 V A> VB,F(xiàn)A< FB,PBA>PBb,CCA也要優(yōu)于CCB,那么Razor技術(shù)滿足了客戶B的應用需求, 但對用戶A來說,其應用場合條件要寬松的多,換言之,Razor技術(shù)浪費了芯片面積,增加了 用戶A的成本,這是用戶A所不愿承擔的。
[0003] 掃描鏈(Scan chain)技術(shù)是一種可測試性設計的實現(xiàn)技術(shù),普遍用于現(xiàn)在的數(shù)字 邏輯電路設計和測試。它通過插入各種用于提高芯片可測性的邏輯,提高芯片可測性的邏 輯,從而使芯片變得容易測試,大大降低了芯片的測試成本。圖3A為插入掃描鏈之前的數(shù) 字邏輯電路,圖3B為插入掃描鏈之后的數(shù)字邏輯電路。如圖3B所示,采用掃描鏈設計技術(shù) 后,通過掃描輸入端SCAN_IN,可以把需要的數(shù)據(jù)串行地移位到掃描鏈的相應單元中,以串 行地控制各個單元;同時,也可以通過掃描輸出端SCAN_0UT串行地觀測它們。這樣就消除 了時序電路的不可控制性和不可觀測性,提高了電路的可測性。由上述可以看出,掃描鏈技 術(shù)是為了簡化芯片測試而采用的技術(shù),對芯片的功能沒有影響,但不可避免地會增加邏輯, 對芯片產(chǎn)生一些影響。
【發(fā)明內(nèi)容】
[0004] 針對上述技術(shù)問題,本申請?zhí)峁┝艘环N復用掃描鏈技術(shù)定位片上系統(tǒng)時序邏輯錯 誤的方法,所述方法包括:
[0005] 同一測試指令和/或數(shù)據(jù)通過PAD口輸入P級掃描鏈,掃描鏈使能信號有效,所述 測試指令和/或數(shù)據(jù)經(jīng)所述P級掃描鏈串行移位至N級流水線的起始位置;
[0006] 在同一測試條件下(需要注意的是,只有在經(jīng)過N級流水線的時候才需要在指定 的工作條件下,而其他階段則可不需考慮工作條件),當所述測試指令和/或數(shù)據(jù)進入所述 N級流水線,在第一個時鐘周期內(nèi)所述掃描鏈使能信號有效,此后的n-1個時鐘內(nèi),所述掃 描鏈使能信號無效;
[0007] 所述測試指令和/或數(shù)據(jù)經(jīng)所述N級流水線處理和執(zhí)行后使能所述掃描鏈使能信 號,所述測試指令和/或數(shù)據(jù)經(jīng)N級流水線的處理結(jié)果通過Q級掃描鏈串行移位至所述PAD 口輸出;
[0008] 判斷從所述PAD端口輸出的所述測試指令和/或數(shù)據(jù)的處理結(jié)果是否與預期結(jié)果 是否相同,并獲取判斷結(jié)果;
[0009] 記錄所述判斷結(jié)果;
[0010] 其中,n為所述測試指令和/或數(shù)據(jù)在所述N級流水線中共經(jīng)歷的時鐘周期數(shù);n、 P、N和Q均為正整數(shù)。
[0011] 較佳的,所述測試指令和/或數(shù)據(jù)進入所述N級流水線經(jīng)n個時鐘周期后和所述 測試指令和/或數(shù)據(jù)的處理結(jié)果進入Q級掃描鏈之前,掃描鏈使能信號從無效設置為有效。
[0012] 較佳的,當從所述PAD端口輸出的所述測試指令和/或數(shù)據(jù)經(jīng)N級流水線的處理 結(jié)果與所述預期結(jié)果相同時,所述判斷結(jié)果為所述指令和/或數(shù)據(jù)未出現(xiàn)邏輯或時序錯 誤。
[0013] 較佳的,當從所述PAD端口輸出的所述處理結(jié)果與所述預期結(jié)果不相同時,所述 判斷結(jié)果為所述指令和/或所述數(shù)據(jù)出現(xiàn)邏輯或時序錯誤。
[0014] 較佳的,所述同一測試條件是指工作電壓、工作頻率以及環(huán)境溫度相同。
[0015] 本申請還提供了一種計算系統(tǒng)時序邏輯錯誤的方法,所述方法包括在測試條件X 下對測試指令和/或數(shù)據(jù)Y執(zhí)行z次復用掃描鏈技術(shù)定位片上系統(tǒng)時序邏輯錯誤的方法, 獲取z個判斷結(jié)果;
[0016] 根據(jù)z個所述判斷結(jié)果計算所述測試指令和/或數(shù)據(jù)Y在測試條件X下的錯誤發(fā) 生率;
[0017] 其中,所述測試條件X包括測試條件X1、測試條件X2........測試條件X# m種; 所述測試指令和/或數(shù)據(jù)Y包括測試指令和/或數(shù)據(jù)Y1、測試指令和/或數(shù)據(jù)Y2........ 測試指令和/或數(shù)據(jù)1共n種;X p X2........Xni為不同的所述測試條件的標號,Y p Y2........Yn為不同的所述測試指令和/或數(shù)據(jù)的標號;m、n和z均為大于0的正整數(shù)。
[0018] 本申請還提供了一種復用掃描鏈技術(shù)定位片上系統(tǒng)時序邏輯錯誤的應用,當處理 器執(zhí)行應用程序中的第二指令和/或數(shù)據(jù)時,第一指令和/或數(shù)據(jù)替代第二指令和/或數(shù) 據(jù)并實現(xiàn)所述第二指令和/或數(shù)據(jù)的相同功能;
[0019] 其中,當所述處理器執(zhí)行所述第一指令和/或數(shù)據(jù)時錯誤發(fā)生率為0,執(zhí)行所述第
[0020] 較佳的,當執(zhí)行所述應用程序中的所述第二指令和/或數(shù)據(jù)并發(fā)生錯誤時,采用 恢復機制恢復所述處理器的正常工作,且所述恢復機制滿足用戶體驗。
[0021] 較佳的,當所述處理器執(zhí)行應用程序中的第三指令和/或數(shù)據(jù)時,所述第一指令 和/或數(shù)據(jù)替代所述第三指令和/或數(shù)據(jù)。
[0022] 較佳的,所述處理器執(zhí)行所述第三指令和/或數(shù)據(jù)時錯誤發(fā)生率為1。
[0023] 較佳的,當所述處理器執(zhí)行應用程序中的所述第三指令和/或數(shù)據(jù)時,所述第二 指令和/或數(shù)據(jù)替代所述第三指令和/或數(shù)據(jù)。
[0024] 較佳的,所述第二指令和/或數(shù)據(jù)替代所述第三指令和/或數(shù)據(jù),采用恢復機制實 現(xiàn)所述第三指令和/或數(shù)據(jù)的相同功能。
[0025] 較佳的,當所述恢復機制不能夠滿足用戶體驗和/或所述錯誤發(fā)生率超出了所述 用戶可接受的范圍時,用錯誤發(fā)生率低于所述第二指令和/或數(shù)據(jù)的指令和/或數(shù)據(jù)替代 所述第二指令和/或數(shù)據(jù)。
[0026] 較佳的,當用錯