誤發(fā)生率低于所述第二指令和/或數(shù)據(jù)的指令和/或數(shù)據(jù)替代所 述第二指令和/或數(shù)據(jù)的同時,采用所述恢復(fù)機制實現(xiàn)所述第二指令和/或數(shù)據(jù)的相同功 能。
[0027] 綜上所述,由于采用了上述技術(shù)方案,其有益效果有:本發(fā)明采用復(fù)用掃描鏈技術(shù) 來定位片上系統(tǒng)時序邏輯錯誤,不會增加芯片面積和成本,也不會有額外的功耗增加;能夠 確定哪些指令和/或數(shù)據(jù)能夠正常執(zhí)行,哪些指令和/或數(shù)據(jù)會發(fā)生時序邏輯錯誤,用戶根 據(jù)自身應(yīng)用需要,選擇用戶可接受錯誤發(fā)生率范圍內(nèi)的芯片,既節(jié)約了成本,同時也能滿足 用戶的需求;采用分組的概念,滿足不同用戶的不同需求,使不同的用戶均能夠在最低的成 本預(yù)算下實現(xiàn)其應(yīng)用。
【附圖說明】
[0028] 圖1是Razor技術(shù)的實現(xiàn)電路結(jié)構(gòu)示意圖;
[0029] 圖2是Razor觸發(fā)器應(yīng)用在五級流水線處理結(jié)構(gòu)時的使用狀態(tài)示意圖;
[0030] 圖3A是插入掃描鏈之前的觸發(fā)器結(jié)構(gòu)示意圖;
[0031] 圖3B是插入掃描鏈之后的觸發(fā)器結(jié)構(gòu)示意圖;
[0032] 圖4是指令和/或數(shù)據(jù)的功耗隨芯片的工作電壓和頻率的變化而變化的示意圖;
[0033] 圖5為本發(fā)明一種定位片上系統(tǒng)時序邏輯錯誤的電路結(jié)構(gòu)示意圖;
[0034] 圖6為本發(fā)明一種定位片上系統(tǒng)時序邏輯錯誤的時序圖;
[0035] 圖7為本發(fā)明一種定位片上系統(tǒng)時序邏輯錯誤的具體應(yīng)用中指令和/或數(shù)據(jù)的功 耗隨芯片的工作電壓和頻率的變化而變化的示意圖。
【具體實施方式】
[0036] 本發(fā)明提出提出了一種定位片上系統(tǒng)時序邏輯錯誤、錯誤率計算及其應(yīng)用方法。
[0037] 在定位片上系統(tǒng)時序邏輯錯誤時,在特定的工作電壓、工作頻率以及環(huán)境溫度下, 將測試指令和/或數(shù)據(jù)從PAD 口輸入P級掃描中,此時掃描鏈使能信號有效;經(jīng)p個時鐘周 期后所述測試指令和/或數(shù)據(jù)進入N級流水線,在N級流水線中,在第一個時鐘周期內(nèi)所述 掃描鏈使能信號有效,此后的n-1個時鐘內(nèi),所述掃描鏈使能信號無效;經(jīng)n個周期后,所述 測試指令和/或數(shù)據(jù)經(jīng)過處理器的N級流水線處理和執(zhí)行完畢;將所述測試指令和/或數(shù) 據(jù)的處理結(jié)果輸入至Q級掃描后串行移位至PAD端口。最后,通過對比處理結(jié)果與預(yù)期結(jié) 果,判斷所述處理結(jié)果與與其結(jié)果是否相同,從而判斷與所述處理結(jié)果相應(yīng)的該組測試指 令和/數(shù)據(jù)是否出現(xiàn)邏輯或時序錯誤。多次進行上述測試,通過對所有的判斷結(jié)果的統(tǒng)計, 獲取在該特定的工作電壓、工作頻率以及環(huán)境溫度下所述測試指令和/或數(shù)據(jù)的錯誤率。
[0038] 除此之外,針對不同的測試條件下不同的測試指令和/或數(shù)據(jù)都進行多次測量, 獲取每個測試條件下每種測試指令和/或數(shù)據(jù)的錯誤率。
[0039] 在降低片上系統(tǒng)時序邏輯錯誤率的方法中,當處理器在某一特定環(huán)境(該特定環(huán) 境是指特定的電壓、特定的頻率以及特定的溫度)下工作時,執(zhí)行應(yīng)用程序中的第一指令 和/或數(shù)據(jù),通過統(tǒng)計執(zhí)行這些指令和/或數(shù)據(jù)時的錯誤發(fā)生率對其進行分類。將錯誤發(fā) 生率為〇的指令和/或數(shù)據(jù)歸類為第一指令和/或數(shù)據(jù),將錯誤發(fā)生率大于〇小于1的指 令和/或數(shù)據(jù)歸類為第二指令和或數(shù)據(jù),將錯誤發(fā)生率等于1的指令和/或數(shù)據(jù)歸類為第 三指令和/或數(shù)據(jù)。由于在該特定環(huán)境下,處理器執(zhí)行第一指令和/或數(shù)據(jù)的錯誤發(fā)生率 為〇,所以不對第一指令和/或數(shù)據(jù)進行其它處理。但是在執(zhí)行第二指令和/或數(shù)據(jù)以及第 三指令和/或數(shù)據(jù)時,均存在出現(xiàn)錯誤的情況,所以需要對第二指令和/或數(shù)據(jù)和/或第三 指令和/或數(shù)據(jù)進行處理后再繼續(xù)進行程序的運行。下面分兩種情況進行說明:
[0040] (1)當處理器執(zhí)行第二指令和/或數(shù)據(jù)時,用第一指令和/或數(shù)據(jù)替代所述第二指 令和/或數(shù)據(jù);或者還可以采用恢復(fù)機制進行自動恢復(fù),以實現(xiàn)所述第二指令和/或數(shù)據(jù)的 相同功能;但是當恢復(fù)機制不能夠滿足用戶體驗或者錯誤發(fā)生率超出了所述用戶可接受的 范圍時,用錯誤發(fā)生率低于所述第二指令和/或數(shù)據(jù)的指令和/或數(shù)據(jù)替代所述第二指令 和/或數(shù)據(jù),同時還可以采用恢復(fù)機制進行自動恢復(fù)。
[0041 ] (2)當處理器執(zhí)行第三指令和/或數(shù)據(jù)時,可以用第一指令和/或數(shù)據(jù)替代所述第 三指令和/或數(shù)據(jù);或者還可以用第二指令和/或數(shù)據(jù)替代所述第三指令和/或數(shù)據(jù),并采 用恢復(fù)機制進行自動恢復(fù),以實現(xiàn)所述第二指令和/或數(shù)據(jù)的相同功能;但是當恢復(fù)機制 不能夠滿足用戶體驗或者錯誤發(fā)生率超出了所述用戶可接受的范圍時,用錯誤發(fā)生率低于 所述第二指令和/或數(shù)據(jù)的指令和/或數(shù)據(jù)替代所述第二指令和/或數(shù)據(jù),同時還可以采 用恢復(fù)機制進行自動恢復(fù)。
[0042] 下面結(jié)合附圖對本發(fā)明定位片上系統(tǒng)時序邏輯錯誤以及降低錯誤率的方法的具 體實施方式作進一步的說明。
[0043] 實施例一
[0044] DVFS技術(shù)是一種優(yōu)化處理器能耗的方法,但電壓和頻率的變化不可避免的會造成 內(nèi)部時序邏輯錯誤。用戶可接受錯誤發(fā)生率是指在一種特定條件下(電壓V,頻率F,溫度 T等),處理器在運行該特定用戶的特定應(yīng)用程序時能夠規(guī)避發(fā)生錯誤的指令和/或數(shù)據(jù); 或者說在一種特定條件下(電壓V,頻率F,溫度T等),一些指令和/或數(shù)據(jù)在所有測試過 程中發(fā)生錯誤的概率并非100%,一旦這些指令和/或數(shù)據(jù)發(fā)生錯誤,該芯片所在系統(tǒng)能夠 在特定的恢復(fù)機制下恢復(fù)正常工作,并且由錯誤指令和/或數(shù)據(jù)產(chǎn)生的恢復(fù)過程并不影響 該用戶的使用體驗。
[0045] 例如,一種采用看門狗電路的恢復(fù)機制如下:在那些包含容易發(fā)生錯誤的指令和 /或數(shù)據(jù)的程序段的前后使能和關(guān)閉開門狗,當系統(tǒng)執(zhí)行到該程序段時,如果該程序段能夠 正常執(zhí)行,那么看門狗電路就會被正常關(guān)閉,結(jié)束后繼續(xù)執(zhí)行其他程序段;如果該程序段執(zhí) 行期間某些指令和/或數(shù)據(jù)發(fā)生了錯誤,程序跑飛,那么開門狗就不會被正常關(guān)閉,等到看 門狗計數(shù)器溢出就會向系統(tǒng)發(fā)送一個復(fù)位信號,系統(tǒng)會重新執(zhí)行整個程序,直到該程序段 能夠被正常執(zhí)行。
[0046] 本發(fā)明提出一種復(fù)用掃描鏈技術(shù)定位片上系統(tǒng)時序邏輯錯誤的方法。首先,通過 復(fù)用掃描鏈技術(shù)來確定用戶可接受錯誤發(fā)生率范圍內(nèi)的指令和/或數(shù)據(jù)。處理器的指令和 /或數(shù)據(jù)的錯誤發(fā)生率及功耗隨電壓或頻率的關(guān)系曲線一般如圖4所示,可以看出,隨著電 壓或頻率的降低,芯片的功耗也隨之降低,但指令和/或數(shù)據(jù)的錯誤發(fā)生率會隨之升高。在 芯片制造完成后對其進行測試時,我們按照不同的電壓、頻率以及溫度等測試條件,通過復(fù) 用掃描鏈技術(shù)對其所有的指令和/或數(shù)據(jù)進行測試驗證,并按照不同的測試條件統(tǒng)計沒有 發(fā)生錯誤的指令和/或數(shù)據(jù)集和發(fā)生錯誤的指令和/或數(shù)據(jù)集及錯誤發(fā)生率,最后統(tǒng)計的 表格如表1所不。
[0047] 表1不同測試條件下的測試統(tǒng)計
[0048]
[0049] 例如在電壓VN、頻率FN、溫度TN條件下,得到芯片的功耗預(yù)算為PBN,在該條件下, 通過本發(fā)明復(fù)用掃描鏈技術(shù)測試和驗證,有若干指令和/或數(shù)據(jù)沒有發(fā)生時序邏輯錯誤, 集合為PSN。而發(fā)生錯誤的指令和/或數(shù)據(jù)的集合為FSN,并統(tǒng)計錯誤發(fā)生率為ERN,即指令 和/或數(shù)據(jù)發(fā)生錯誤的次數(shù)與總的測試次數(shù)之間的比值。通過本發(fā)明這種分組之后,不同 的客戶可以根據(jù)他們各自不同的需求,在用戶可接受錯誤發(fā)生率范圍內(nèi),選用適合客戶應(yīng) 用環(huán)境的工作條件和合適的功耗預(yù)算的分組芯片產(chǎn)品。
[0050] 如圖5所示,假設(shè)從PAD輸入端口到N級流水