邵晶波,王 丹,王 巖,張瑞雪
(1.哈爾濱師范大學計算機科學與信息工程學院,黑龍江 哈爾濱 150025; 2.哈爾濱金融學院計算機系,黑龍江 哈爾濱 150030)
隨著半導體工業(yè)制造技術不斷發(fā)展,集成電路已進入超越摩爾定律時代。國際半導體技術路線圖ITRS(International Technology Roadmap for Semiconductors)預測,到2021年,晶體管尺寸將不再縮小,傳統的二維SoC已不能解決因互連線過長、功耗過高等問題而面臨的嚴峻挑戰(zhàn),采用垂直硅通孔TSV(Through Silicon Via)技術的三維SoC由于縮短了互連長度,減少了電路延遲,提高了系統集成度和系統性能,已成為業(yè)界研究的熱點。從中長期來看,基于TSV的晶片堆疊將占主要地位,而測試工作將面臨的挑戰(zhàn)之一為,需要一種新的可測性設計方法來緩解增加的測試儀測試時間和測試資源問題[1]。
與傳統二維芯片不同,三維SoC測試分綁定前、綁定中、綁定后和封裝[2]。綁定中測試指每新堆疊一層晶片就要對這個部分堆疊整體測試一次。它能更早地檢測出三維SoC綁定中引入的缺陷,但會導致測試時間劇增[3],熱量分布不均[4],測試成本高[5]等問題。若綁定中某一晶片或TSV出現缺陷,將導致所有晶片或TSV失效,則成品率下降。此外,IP核復用技術雖可使三維SoC開發(fā)周期縮短,但它自身不能訪問嵌入式核。因此,三維SoC因良率損失和測試困難導致其測試優(yōu)化更加困難而成為主要挑戰(zhàn)[6]。如今,以測試封裝和測試訪問機制TAM(Test Access Mechanism)為架構的模塊化測試已經成為三維SoC測試的主要方法。首先通過測試封裝將不同IP核的I/O接口標準化,TAM通過I/O引腳傳輸測試數據,而且層間連接需有測試專用TSV。三維SoC測試資源優(yōu)化涉及測試成本優(yōu)化,而測試時間影響測試成本,本文主要研究多塔三維SoC綁定中測試時間TT(Test Time)優(yōu)化問題。
文獻[7]為平衡測試時間和TAM帶寬,提出適用于硬、軟晶片的維克瑞-克拉克-格羅夫斯VCG(Vickrey-Clarke-Groves)算法,把測試時間和TAM帶寬看作博弈雙方,達到了全局和個體最優(yōu)目標,但未考慮測試功耗。原始的IEEE P1838標準提案只針對單塔三維SoC測試,而比利時微電子研究中心IMEC(Interuniversity MicroElectronics Centre)的Chi等人[8]首先提出經濟有效且可擴展的多塔通用架構,它符合IEEE 1149.1/1500標準,塔可包含任意數量晶片,塔內分包含子塔和不包含子塔2種,其架構與IEEE P1838標準提案相同。本文主要研究的多塔三維SoC正是該架構的擴展。隨后,Papameletis等人[9]提出支持測試數據壓縮、嵌入式IP核和多塔堆疊的三維SoC,為后續(xù)研究打下了良好基礎。針對測試時間長的問題,印度理工學院的Dhuwalia等人[10]提出考慮測試引腳和TSV約束的適用于硬晶片的逐層LBL(Layer-By-Layer)算法、逐塔TBT(Tower-By-Tower)算法和啟發(fā)式HA(Heuristic Algorithm)算法,但是沒有考慮測試功耗,且沒有最大限度地減少空閑時間塊,因而有進一步優(yōu)化的空間。文獻[11]針對多塔三維SoC測試時間長的問題,提出適用于硬晶片的基于無會話的多塔三維SoC測試調度方法,但沒有考慮測試功耗。文獻[12]在TAM帶寬和TSV數、峰值功耗約束下,對多塔三維ICs綁定后測試和集成過程總測試采用量子粒子群算法調度優(yōu)化。
針對這些問題,本文提出同時考慮TAM帶寬、層間TSV數和測試功耗約束的多塔三維SoC測試時間優(yōu)化算法。
本文其余部分組織如下:第2節(jié)描述本文所研究的問題;第3節(jié)分析HA的不足;第4節(jié)詳細介紹本文提出的多塔三維SoC測試時間優(yōu)化算法;第5節(jié)是實驗結果及分析,以檢驗本文算法的優(yōu)點;最后總結全文。
三維SoC可嵌入2~8個晶片,本文只討論由硬晶片(測試架構固定、測試時間已知) 實現的多塔三維SoC。測試三維SoC時,TAM需經最底層晶片上的測試引腳把測試數據擴展至所有晶片,將測試激勵傳送到被指定晶片或將測試響應傳送到最底層測試引腳,除最底層晶片外,所有晶片都需有測試專用TSV,也稱“測試梯”。
多塔三維SoC中除最底層晶片外,其余晶片所在塔的塔底晶片只有一個,其塔內分包含子塔和不包含子塔2種。本文所研究的是塔內包含子塔的多塔三維SoC。
圖1中的矩形表示晶片,最底層晶片1的底部是I/O引腳,晶片內部的水平箭頭是TAM,晶片之間的垂直箭頭是TSV連接。圖1所示粗實線框內整體為一個多塔三維SoC,由6個晶片、2個塔組成,2個塔都位于晶片1上,分別為細實線框內的塔1和塔2。塔1由晶片2和晶片4組成,是塔內不包含子塔的塔;塔2由晶片3、晶片5和晶片6組成,為塔內包含2個子塔的塔,2個子塔都位于晶片3上,即虛線框內的子塔21和子塔22。其中,子塔21由晶片5構成,子塔22由晶片6組成。
Figure 1 Architecture illustration of multi-tower 3D SoC圖1 多塔三維SoC結構示例
一個測試引腳所占面積大約是一個TSV的百倍[13]。每個晶片都內嵌多個IP核,其I/O引腳數與IP功能復雜程度成正比,而特定晶片對外測試引腳數有限,所以測試時應考慮可用測試引腳數。
由于TSV通常用于時鐘、電源/接地和I/O等功能互連,測試訪問專用的TSV數不能太多[14]。而且,TSV面積開銷大,制造成本高,因此測試時應考慮TSV數約束[15]。
集成電路測試時會激活晶片各功能模塊,其產生的測試功耗值和電路跳變次數都高于正常模式。但是,晶片垂直堆疊不易散熱,可能會使電路不能正常工作,嚴重時會燒毀電路。因此,三維SoC測試必須考慮測試功耗,比如通過限定哪些晶片并行測試,哪些晶片串行測試來保護待測電路。
多塔三維SoC測試時間優(yōu)化問題描述如下:
給定一個塔內包含子塔的多塔三維SoC,由M個晶片、N個塔構成。假設最底層晶片上可用測試引腳數為Wmax,峰值功耗為Pmax,層間TSV數上限為L.TSVmax。對于任意晶片i∈{1,2,…,M},其測試時間為Diei.t,測試引腳數為Diei.w(Diei.w≤Wmax),測試功耗為Diei.p。目標為在Wmax、Pmax和L.TSVmax約束下,尋求最佳的測試方法,使總測試時間TT最小。
針對多塔三維SoC測試時間優(yōu)化問題,文獻[10]提出了考慮測試引腳和TSV約束的LBL、TBT和HA算法,其中HA是經典算法,優(yōu)化效果最好、性能最高,然而HA也存在不足,仍有優(yōu)化空間。
基于表1和圖2,假設Wmax=60,L.TSVmax=100,利用文獻[10]的HA所得TT為550。
Table 1 Parameters for hard dies表1 硬晶片參數表
Figure 2 Multi-tower 3D SoC圖2 多塔三維SoC
圖3利用為HA的多塔三維SoC測試過程[10],不難看出,它是等待上一個并行晶片子集測試完后,再去尋找下一個并行晶片子集,每個并行晶片子集的測試時間取決于測試時間最長的晶片,整個過程產生很多空閑時間塊,并沒有使測試時間達到最優(yōu)。
Figure 3 Test process of HA 圖3 HA測試過程
下面針對文獻[10]的HA產生空閑時間塊,沒有最大程度優(yōu)化測試時間的缺點,舉例進行改進。
基于表1和圖2,假設Wmax=60,L.TSVmax=100。
所有晶片初始化為未測試,按測試時間降序排列為p34392、p93791、p93791、p22810、f2126和d695。
(1)選擇p34392,但p34392所在位置對應的底層p93791未測試,則選擇p93791, p93791所占Wmax=30,位于第0層,使用TSV=0(最底層晶片不使用TSV),測試結束時間為200并標記為已測試,當前剩余Wmax=30且第0層TSV=100。
(2)選擇p34392,p34392所占Wmax=25,位于第1層,使用TSV=50,測試結束時間為250并標記為已測試,當前剩余Wmax=5且第1層TSV=100-50=50。
(3)選擇p93791(位于第1層),p93791所占Wmax=30>5,釋放最早結束測試時間為200的p93791所占測試資源并移除該時間,當前剩余Wmax=35且第0層TSV=100,則再選擇p93791;p93791所占Wmax=30,位于第1層,使用TSV=60>50,釋放最早結束測試時間為250的p34392所占測試資源并移除該時間,當前剩余Wmax=60且第1層TSV=50+50=100,則再選擇p93791;p93791所占Wmax=30,位于第1層,使用TSV=60,測試結束時間為250+200=450并標記為已測試,當前剩余Wmax=30且第1層TSV=100-60=40。
(4)選擇p22810,p22810所占Wmax=25,位于第2層,使用TSV=50,測試結束時間為250+150=400并標記為已測試,當前剩余Wmax=5且第2層TSV=100-50=50。
(5)選擇f2126,f2126所占Wmax=20>5,釋放最早結束測試時間為400的p22810所占測試資源并移除該時間,當前剩余Wmax=30且第2層TSV=50+50=100,則再選擇f2126;f2126所占Wmax=20,位于第2層,使用TSV=40,測試結束時間為400+100=500并標記為已測試,當前剩余Wmax=10且第2層TSV=100-40=60。
(6)選擇d695,d695所占Wmax=15>10,釋放最早結束測試時間為450的p93791所占測試資源并移除該時間,當前剩余Wmax=40且第1層TSV=60+40=100,則再選擇d695;d695所占Wmax=15,位于第2層,使用TSV=30,測試結束時間為450+50=500并標記為已測試,當前剩余Wmax=25且第2層TSV=60-30=30。
(7)此時所有晶片已測試完,TT=500。
由此可見,對于同一個多塔三維SoC,相同約束下,改進HA后的TT為500,比文獻[10]的HA所得TT更優(yōu)。
圖4為改進HA后的測試過程,可以看出,改進算法明顯減少了空閑時間塊,縮短了TT。在此基礎上,本文提出基于硬晶片的多塔三維SoC測試時間優(yōu)化算法。
Figure 4 Reduced test time for the improved HA 圖4 改進HA的測試時間優(yōu)化
測試功耗是影響測試時間的重要因素之一,文獻[10]算法不但產生了空閑時間塊,而且沒有考慮測試功耗。根據以上分析,本文提出新型多塔三維SoC測試時間優(yōu)化算法,該算法不但考慮測試引腳和TSV數約束,還考慮測試功耗。
表2為本文提出的多塔三維SoC測試時間優(yōu)化算法所涉及的變量定義。
Table 2 Variable definitions of the proposed algorithm表2 本文算法中變量的定義
圖5為多塔三維SoC測試時間優(yōu)化算法流程。將所有晶片初始化為未測試,并按測試時間降序排列。優(yōu)先選擇測試時間最長的晶片,同時遵循自底向上的選擇原則。綜合考慮Wmax、L.TSVmax和Pmax3種測試資源,每測試一個晶片,記錄剩余測試資源和測試結束時間,并標記為已測試。同時再把剩余未測試晶片降序排列后,按原則選擇晶片。直到剩余測試資源不滿足待調度晶片測試時,釋放第1個最早結束測試的晶片測試資源(釋放的TSV資源指相應層的TSV數),再判斷剩余測試資源是否滿足待調度晶片測試。若滿足,則待調度晶片提前進入測試階段,使該晶片與未結束測試晶片實現部分流水,否則再釋放第2個最早結束測試的晶片測試資源。以此類推,直至所有晶片測試完畢。
Figure 5 Flow chart of the proposed algorithm圖5 本文算法流程圖
本文提出的多塔三維SoC測試時間優(yōu)化算法如算法1所示。
算法1新型多塔三維SoC測試時間優(yōu)化
輸入:表1中的變量。
輸出:最佳測試時間TT。
1.begin
2.M個晶片初始化為Diei.test=0;m=M;Diei.start=0;
3.while(m!=0) {
4.m個晶片按Diei.t降序排列;
5.i=1;//選擇第1個未測試晶片
6.if(Diei.layer==0){
7.Wmax=Wmax-Diei.w;
8.Pmax=Pmax-Diei.p;
9.Diei.tsv=0;
10.L.TSVmax=L.TSVmax-Diei.tsv;
11.Diei.end=Diei.start+Diei.t;
12.Diei.test=1;
13.m=m-1}
14.else{
15.if(該晶片所在的塔底晶片未測試){
16. 選擇塔底晶片,判斷是否位于第0層}
17.else{
18. 選擇該晶片;
19.if(Diei.w<=Wmax&&Diei.p<=Pmax&&2*Diei.w<=L.TSVmax){
20.Wmax=Wmax-Diei.w;
21.Pmax=Pmax-Diei.p;
22.Diei.tsv=2*Diei.w;
23.L.TSVmax=L.TSVmax-Diei.tsv;
24.Diei.end=Diei.start+Diei.t;
25.Diei.test=1;
26.m=m-1}
27.else{
28.SortM-m(Diei.end);
29.Diei.start=min(Diei.end);
30.RemoveDiei.end
31.Wmax=Wmax+Diei.w;
32.Pmax=Pmax+Diei.p;
33.L.TSVmax=L.TSVmax+Diei.tsv;
34.選擇該晶片,判斷此時剩余測試資源是否滿足該晶片測試}}}}
35.SortM(Diei.end);//排序所有晶片
36.returnTT=max(Diei.end);
37.end
本文提出的多塔三維SoC測試時間優(yōu)化算法中,while循環(huán)體的量級是m,所以時間復雜度為O(m);算法沒有利用輔助空間,輔助空間是常量,因此空間復雜度是O(1)。其中第2行是將所有晶片初始化為未測試。第3~34行是測試調度所有晶片,直到測試所有晶片后退出循環(huán)。第28~34行是釋放最早結束測試的晶片測試資源,讓待測試晶片提前進入測試,使該晶片與未結束測試晶片部分重疊并行,實現部分流水測試。第34~35行是返回所有晶片結束測試時間中的最大值作為TT。
本文在內存為4 GB、主頻是2.4 GHz的英特爾雙核處理器Windows 10操作系統上,采用C語言編程實現所提算法。為驗證所提算法的有效性,選用ITC02測試基準中的d695、f2126、p22810、p34392和p93791 5種晶片,手工搭建圖6所示的2類多塔三維SoC,以此為例進行實驗。表3為所選晶片的參數,假設全為硬晶片,其測試時間和測試引腳引自文獻[10],測試功耗引自文獻[12]。
Figure 6 Two kinds of multi-tower 3D SoC圖6 2種多塔三維SoC
為考察測試引腳和TSV數對多塔三維SoC總測試時間的影響,這組實驗暫時忽略測試功耗。表4和表5分別為考慮TAM帶寬和TSV數約束時,本文算法與文獻[10]的HA、TBT、LBL算法在多塔三維SoC1和多塔三維SoC2上的測試時間結果比較。表4和表5中第1、2列的Wmax和L.TSVmax分別為可用測試引腳數和TSV數;第3列又都分為4小列,用以表示本文算法與HA、TBT、LBL算法各自所得的測試時間;第4、5、6列分別表示本文算法相比HA、TBT、LBL算法在測試時間方面減少的百分比。
Table 3 Parameters for selected hard dies表3 選定硬晶片的參數
從表4可以看出,對于多塔三維SoC1測試時間,與HA相比,本文算法減少率達到20.34%;與TBT算法相比,本文算法減少的測試時間達到54.68%;與LBL算法相比,本文算法減少率達到58.96%。
表5表明,針對多塔三維SoC2的測試時間,與HA相比,本文算法減少率達到27.78%;與TBT算法相比,本文算法減少的測試時間達到41.04%;與LBL算法相比,本文算法減少率達到68.87%。
Table 4 Comparison of TT among the proposed algorithm and HA、TBT、LBL on 3D SoC1表4 本文算法與HA、TBT、LBL算法的多塔三維SoC1測試時間比較
Table 5 Comparison of TT among the proposed algorithm and HA、TBT、LBL on 3D SoC2表5 本文算法與HA、TBT、LBL算法的多塔三維SoC2測試時間比較
同一測試引腳和TSV數約束下,相比于HA、TBT和LBL算法,本文算法所得的多塔三維SoC總測試時間都更短,因而測試時間優(yōu)化性能更好。
根據表4和表5,得到圖7~圖10。圖7和圖9分別為當給定Wmax=120,改變多塔三維SoC1和多塔三維SoC2的L.TSVmax值時,本文算法與HA、TBT、LBL算法的TT變化比較。類似地,圖8和圖10分別繪出了當給定L.TSVmax=140,改變多塔三維SoC1和多塔三維SoC2的Wmax值時,本文算法與HA、TBT、LBL算法的TT變化比較。
Figure 7 TT of multi-tower 3D SoC1 varying with L.TSVmax when Wmax=120圖7 Wmax=120時多塔三維SoC1隨L.TSVmax變化的TT
Figure 8 TT of multi-tower 3D SoC1 varying with Wmax when L.TSVmax=140圖8 L.TSVmax=140時多塔三維SoC1隨Wmax變化的TT
Figure 9 TT of multi-tower 3D SoC2 varying with L.TSVmax when Wmax=120圖9 Wmax=120時多塔三維SoC2隨L.TSVmax變化的TT
Figure 10 TT of multi-tower 3D SoC2 varying with Wmax when L.TSVmax=140圖10 L.TSVmax=140時多塔三維SoC2隨Wmax變化的TT
圖7~圖10顯示,無論是改變Wmax還是L.TSVmax,本文算法所得TT都小于HA、TBT、LBL算法的,表明本文算法在測試時間優(yōu)化方面,都優(yōu)于HA、TBT、LBL算法。是因為本文算法通過釋放最早結束測試的晶片測試資源,讓待調度晶片提前進入測試階段,在剛進入測試階段的晶片與測試還未結束的晶片之間實現了部分流水,減少了并行測試過程中的空閑時間塊,從而使TT大大縮短。
根據表4和表5,本節(jié)繪出了圖 11和圖12,比較了測試引腳數和TSV數對多塔三維SoC測試時間的影響。
Figure 11 Influence of Wmax and L.TSVmax on TT of multi-tower 3D SoC1圖11 Wmax和L.TSVmax對多塔三維SoC1的TT的影響
Figure 12 Influence of Wmax and L.TSVmax on TT of multi-tower 3D SoC2 圖12 Wmax和L.TSVmax對多塔三維SoC2的TT的影響
以圖11中Wmax=60時,多塔三維SoC1測試時間隨L.TSVmax變化的趨勢為例。在Wmax為60的條件下,當橫坐標L.TSVmax小于120時,縱坐標上測試時間在減少;當L.TSVmax達到120時,測試時間保持不變。其本質原因是當測試引腳數不變時,測試時間會隨TSV數的增加而減少,這是因為增加TSV數相當于增加測試資源量;但當TSV數增加到某一特定值時,測試時間不再改變,表明此時測試時間不再受TSV數影響,而是受測試引腳數影響。
同樣,以L.TSVmax=120為例,測試時間隨Wmax的增加在減少;以L.TSVmax=80為例,當Wmax分別為60,80,100和120時,測試時間無變化。其原因為當給定TSV數時,測試時間會隨TAM帶寬的增加而減少,這是由于增加TAM帶寬,可供并行測試的核數也會增加;但當TAM帶寬增加到某一特定值時,測試時間不再改變,表明此時測試時間不再受TAM帶寬影響,而是受TSV數影響。
以圖12中Wmax=120時,多塔三維SoC2測試時間隨L.TSVmax變化的趨勢為例。在Wmax為120的條件下,當橫坐標L.TSVmax小于100時,縱坐標上測試時間在減少;當L.TSVmax達到100時,測試時間保持不變。其原因為當給定TAM帶寬值時,測試時間會隨TSV數的增加而減少,這是由于增大TSV數,可供測試的資源量也隨之增加;但當TSV數增加到某一特定值時,測試時間不再改變,表明此時測試時間不再受TSV數影響,而是受TAM帶寬影響。
同樣,以L.TSVmax=80為例,當Wmax分別為60,80和100時,測試時間呈下降趨勢,但當Wmax大于100后,測試時間便不再變化。其原因是當給定TSV數時,測試時間會隨測試引腳數的增加而減少,這是因為增加測試引腳數后,并行測試通道數增多;但當測試引腳數增加到某一特定值時,測試時間不再改變,表明此時測試時間不再受測試引腳數影響,而是受TSV數影響。
總而言之,當Wmax保持不變時,測試時間不會隨L.TSVmax的增加一直減少;同樣,當給定L.TSVmax值時,測試時間也不會隨Wmax的增加一直減少,說明達到了“帕累托點”,因此,Wmax和L.TSVmax共同影響多塔三維SoC測試時間。另外,對于多塔三維SoC測試時間優(yōu)化,增加測試引腳數比增加TSV數更有效。
本節(jié)實驗是為了比較在Wmax和L.TSVmax值不變的情況下,改變Pmax的值后,本文算法相比量子粒子群優(yōu)化QPSO(Quantum-Behaved Particle Swarm Optimization)算法的優(yōu)越性。表6為同時考慮TAM帶寬、TSV數和測試功耗約束時,本文算法與文獻[12]的QPSO算法在多塔三維SoC1和多塔三維SoC2上的測試時間比較。第1、2、3列的Pmax、Wmax和L.TSVmax分別表示測試功耗、引腳數和TSV數上限;第4、5列分別為本文算法與QPSO算法在多塔三維SoC1和多塔三維SoC2上的測試時間比較情況,其中第3小列表示本文算法相比QPSO算法在測試時間方面減少的百分比。
Table 6 Comparison of TT on multi-tower 3D SoCs under constraints of Pmax表6 功耗約束下2種多塔三維SoC上測試時間比較
根據表6,設置Wmax=120,L.TSVmax=80時,本文算法與QPSO算法在多塔三維SoC1和多塔三維SoC2上隨Pmax變化的測試時間TT比較,分別如圖13和圖14所示。
Figure 13 Comparison of TT of multi-tower 3D SoC1 under different Pmax when Wmax=120,L.TSVmax=80圖13 Wmax=120,L.TSVmax=80時 不同Pmax下的多塔三維SoC1測試時間比較
Figure 14 Comparison of TT of multi-tower 3D SoC2 under different Pmax when Wmax=120,L.TSVmax=80圖14 Wmax=120,L.TSVmax=80時 不同Pmax下的多塔三維SoC2測試時間比較
由此得出,無論是對于多塔三維SoC1還是針對多塔三維SoC2,在Wmax,L.TSVmax,Pmax的取值分別與文獻[12]中的QPSO算法取值相同時,本文算法所得到的總測試時間都更優(yōu)。
針對多塔三維SoC測試時間長的問題,本文提出一種新型測試時間優(yōu)化算法。該算法主要研究由測試架構已經固定的硬晶片構成的多塔三維SoC。首先將所有未測試晶片按測試時間降序排列。然后在排列中依次選擇晶片測試時要遵循自底向上的原則。同時考慮Wmax、L.TSVmax和Pmax3種資源約束,每測試一個晶片,就計算剩余測試資源和測試結束時間,并標記為已測試。同時再把剩余未測試晶片降序排列后,按照晶片測試原則來選擇晶片測試。直到剩余測試資源不滿足待調度晶片測試時,釋放第1個最早結束測試的晶片測試資源,再判斷剩余測試資源是否滿足待測試晶片。若滿足,則調度晶片提前進入測試階段,與未結束測試晶片實現部分流水,否則再釋放第2個最早結束測試的晶片測試資源。以此類推,直至所有晶片測試完畢。在手工搭建的2種多塔三維SoC上運行本文算法,結果表明,與HA、TBT、LBL算法相比較,本文算法在多塔三維SoC1上的測試時間減少率分別高達20.34%,54.68%,58.96%;在多塔三維SoC2上的測試時間減少率分別高達27.78%,41.04%,68.87%。由該百分比數據得出,無論是在多塔三維SoC1上,還是針對多塔三維SoC2,本文算法都優(yōu)于HA、TBT和LBL算法。因為本文算法通過釋放最早結束測試的晶片測試資源,合理調度了待測試晶片的測試順序,讓待調度晶片提前進入測試階段,減少了并行測試過程中的空閑時間塊,從而使多塔三維SoC的TT明顯減少。實驗發(fā)現,增加測試引腳數比增加層間測試TSV數更能減少多塔三維SoC的測試時間。與HA、TBT和LBL算法相比,本文算法增加了測試功耗約束。與QPSO算法進行的實驗對比分析表明,本文算法更具有優(yōu)越性。