陳 田 ,汪加偉,安 鑫,任福繼,3
(1.合肥工業(yè)大學(xué)計算機與信息學(xué)院,合肥230601;2.情感計算與先進智能機器安徽省重點實驗室(合肥工業(yè)大學(xué)),合肥230601;3.德島大學(xué)工學(xué)部,日本 德島770-8506))
(*通信作者電子郵箱ct@hfut.edu.cn)
目前,傳統(tǒng)的二維(Two-Dimensional,2D)芯片在集成度和功耗等方面面臨許多困難和挑戰(zhàn)。與2D芯片相比,三維(Three-Dimensional,3D)芯片結(jié)構(gòu)具有更高的傳輸帶寬、更低的延遲和更低的功耗[1],目前已經(jīng)成為學(xué)術(shù)界和產(chǎn)業(yè)界的研究熱點。3D芯片在其堆疊過程中,隨著電路的復(fù)雜性逐層增加,會導(dǎo)致測試難度不斷增大,而整個芯片的可測試性問題也是3D芯片獲得應(yīng)用的主要難點之一[2]。在3D芯片多核測試中,如何將測試數(shù)據(jù)移入位于不同層各個芯核的掃描鏈中以及如何縮短測試時間一直是3D片上系統(tǒng)(System on Chip,SoC)中測試訪問機制(Test Access Mechanism,TAM)設(shè)計的重要問題。如果測試激勵移入一個芯核中掃描鏈的頻率很高,測試時可能會產(chǎn)生過高的測試功耗。另一方面,如果采用多核并行測試,會在并行測試的局部區(qū)域產(chǎn)生大量的電路開關(guān)活動,有可能使這一部分電路在測試時產(chǎn)生噪聲,導(dǎo)致芯片良品率的損失;同時,也可能導(dǎo)致芯片局部溫度升高,在芯片上產(chǎn)生熱斑,這對沒有散熱裝置的裸片而言,很容易造成芯片因過熱而失效[3]。因此,如何在功耗限制下,縮短3D多核測試時間、提高測試并行度是一個很重要的問題。然而,在測試過程中,由于測試引腳和芯核之間傳輸測試數(shù)據(jù)的TAM資源有限,利用有限的資源最小化測試時間被認為是一個NPHard問題[4]。文獻[5]將該問題轉(zhuǎn)化為二維裝箱問題,并使用傳遞閉合圖與動態(tài)分區(qū)相結(jié)合的方法來進行求解,取得了良好的效果,但仍有可以提升并行度的空間。另外,一些最優(yōu)化方法也被引入用于解決該問題,如:文獻[6]使用整數(shù)線性規(guī)劃的方法并定義了一種退出搜索循環(huán)的約束策略求解TAM寬度限制下的最優(yōu)資源分配,但是該方法在SoC規(guī)模較大時計算量極高;文獻[7]基于遺傳算法提出了一種測試調(diào)度優(yōu)化方法,擁有較強的隨機搜索能力,但是該方法在遺傳基因確定和基因突變的規(guī)劃等方面存在非常大的多變性;文獻[8]將量子尋優(yōu)算法作為解決裝箱問題的策略。這些調(diào)度優(yōu)化方法雖然減少了測試所需的時間,但是仍然受限于TAM架構(gòu)設(shè)計。一些學(xué)者將研究方向放在TAM的優(yōu)化設(shè)計上,設(shè)計了基于時間段分割方式的測試訪問方法[9]和將位于不同層的芯核先進行偽平面設(shè)計再進行掃描鏈均衡的方法[10]等。然而,這些設(shè)計與調(diào)度方法在同一時間段內(nèi)只有部分芯核能夠并行測試,測試過程中仍然存在大量空閑的TAM資源;另外,為了保證測試時間較短,這部分芯核在測試時的頻率也相對較高,使得整個堆疊在測試過程中的發(fā)熱不均、芯片失效的風(fēng)險仍然存在,而時分復(fù)用的TAM設(shè)計方法在這些問題上有著明顯優(yōu)勢。
時分復(fù)用作為一種典型的多路復(fù)用技術(shù),最初被廣泛應(yīng)用于電話公司的數(shù)字語音傳輸,文獻[11]中將時分復(fù)用方法用于解決2D芯片的測試問題,文獻[12]在此基礎(chǔ)之上將其應(yīng)用到3D芯片的TAM設(shè)計中。這一方法能夠讓堆疊中的所有芯核并行測試,并且每個芯核在測試時都被限制在較低的頻率下。本文在文獻[12]的基礎(chǔ)上,提出了一種基于分時復(fù)用的協(xié)同優(yōu)化各層之間、層與核之間測試資源的調(diào)度方法。
在整個3D芯片的堆疊過程中,多個芯核被分配到不同層。因為連接三維芯片不同層的TSV長度很短,所以TSV可以在GHz范圍內(nèi)傳輸測試數(shù)據(jù)[13],并且TSV在3D堆疊的不同層之間建立了高速的垂直通信接口[14],但是芯核的測試頻率受到功耗的約束,因此整個3D堆疊只能在較低的頻率下進行測試[12]。時分復(fù)用的方法將自動測試設(shè)備(Automatic Test Equipment,ATE)的全局測試時鐘(Global Test Clock,GTC)從堆疊芯片的底部輸入,經(jīng)過TSV傳輸,并通過各層間移位寄存器對時鐘頻率進行分解,然后進入3D堆疊中的不同層,進入每一層的層間測試時鐘(Layer Test Clock,LTC)與全局測試時鐘相比相對較低。同樣,再將LTC經(jīng)過核間移位寄存器進一步分解,這樣,到達不同芯核的測試時鐘頻率會被再次降低。所有芯核共享數(shù)據(jù)通道,并根據(jù)分配到的時鐘接收測試數(shù)據(jù),從而保證了多個芯核可以在較低頻率下并行測試。
但是,在時分復(fù)用數(shù)據(jù)通道進行芯核測試的過程中,由于各個芯核的測試數(shù)據(jù)量不成比例,這使得用于分頻的寄存器的設(shè)計問題變得十分復(fù)雜,并且會產(chǎn)生部分的空閑測試時鐘周期,造成測試資源的浪費。為了解決這一問題,本文設(shè)計了一種基于貪心算法的寄存器分配方案,并提出了一種使用離散二進制粒子群優(yōu)化(Discrete Binary Particle Swarm Optimization,DBPSO)算法優(yōu)化芯核在三維堆疊中布圖的方法,協(xié)同優(yōu)化層間與核間的測試并行度,該方法充分利用測試傳輸通道的數(shù)據(jù)傳輸潛力,以減少綁定前、綁定中和綁定后的測試時間。
3D SoC與傳統(tǒng)的2D SoC相比結(jié)構(gòu)更為復(fù)雜,因此測試流程也相對繁瑣。為了更好地解決可測試性設(shè)計問題,本文在3D SoC設(shè)計之初就將測試問題納入設(shè)計范圍并使用時分的方法設(shè)計測試結(jié)構(gòu),通過合理分配整個SoC上的芯核分布,盡可能平衡層內(nèi)芯核的測試時間,保證層間測試并行度,進一步減少測試時間。本文設(shè)計流程可以分為以下幾個步驟:
1)將不同芯核所需的測試數(shù)據(jù)按照全局測試通道寬度進行等長分段;
2)按貪心策略確定寄存器分配方案;
3)對整個三維芯片按照不同芯核所在的層號進行二進制編碼,將整個三維堆疊表示為二進制形式;
4)使用基于BPSO的方法求得最優(yōu)的芯核布圖。
本文方案可以有效解決層內(nèi)和層間測試的并行問題,因此可以應(yīng)用于綁定前、綁定中和綁定后的測試過程中。對于一個m層的3D SoC,一般的測試過程如下:
1)對每一層芯片都進行綁定前測試,保證每一片芯片在綁定前都是有效的;
2)對每一次部分堆疊的綁定都進行一次測試,保證部分堆疊的有效性,共需要進行m-2次綁定中測試;
3)對綁定后的完整堆疊進行綁定后的完整測試;
4)對封裝后的整個3D SoC進行1次最終測試。
根據(jù)文獻[14],在測試過程中,一個由m層芯片堆疊而成的3D芯片,需要經(jīng)過2m次測試步驟。本文在一般測試流程之前對芯核進行了優(yōu)化設(shè)計,整體流程如圖1所示。
圖1 尋找最優(yōu)測試堆疊方案Fig.1 Scheme of searching optimal test stacking
在共享測試數(shù)據(jù)通道的環(huán)境中如何使得測試數(shù)據(jù)從ATE輸出后按照既定邏輯到達指定的芯核是數(shù)據(jù)調(diào)度的主要問題。數(shù)據(jù)先經(jīng)過全局測試通道調(diào)度到不同層,再在各層間經(jīng)過調(diào)度到達指定的芯核,而層核間測試數(shù)據(jù)調(diào)度的關(guān)鍵在于層與核間移位寄存器的設(shè)計。
在整個堆疊的每一層都分配一個相同結(jié)構(gòu)的移位寄存器,目的是將GTC信號進行劃分,轉(zhuǎn)換為每一層的LTC。在圖2中,堆疊的每層上都有一個四位的循環(huán)移位寄存器,寄存器的初始值分別為“1010”“0100”“0001”。當(dāng) GTC信號的一次脈沖來臨時,每層的循環(huán)移位寄存器進行一次移位,GTC信號被分解為原頻率的1/2、1/4和 1/4分別進入 Layer 1、Layer 2和Layer 3,且不同層內(nèi)的脈沖并無沖突。
圖2 層間移位寄存器設(shè)計Fig.2 Design of interlayer shift register
層內(nèi)移位寄存器設(shè)計如圖3所示,與層間數(shù)據(jù)傳輸頻率劃分類似,在每一層內(nèi),通過循環(huán)移位寄存器將LTC分解為不同芯核的測試頻率。與層間頻率劃分不同的是在層內(nèi)多個芯核共用一個寄存器。從不同的寄存器中引出輸出信號作為不同芯核的數(shù)據(jù)傳輸時鐘,當(dāng)某一寄存器數(shù)據(jù)由0跳變成1時,芯核從共享的全局測試數(shù)據(jù)通道中接收一次測試數(shù)據(jù)段,從而減少多個移位寄存器帶來的額外面積開銷。
圖3 核間移位寄存器設(shè)計Fig.3 Design of inter-core shift register
在圖4中,每個芯核用于測試的掃描鏈有多個,當(dāng)一個接收數(shù)據(jù)的脈沖到來時,多段掃描鏈從全局測試時鐘上接收一個測試數(shù)據(jù)段,直到整個掃描鏈被填滿,然后進行芯核的測試。
圖4 全局數(shù)據(jù)通道共享方式Fig.4 Sharing method of global data channel
在層間和核間的移位寄存器設(shè)計中,如果層或者芯核分配到的用于產(chǎn)生局部時鐘的觸發(fā)器數(shù)比例越高,那么,通過對GTC分頻得到的測試數(shù)據(jù)段的時鐘頻率也越高。由于不同層之間或者同一層的不同芯核之間所需時鐘周期數(shù)不一致,需要有效的寄存器分配方案。
假設(shè)在測試中,傳送測試數(shù)據(jù)的全局測試通道寬度是確定的,芯核A、B和C接收測試數(shù)據(jù)各需要100、200和300個時鐘周期。如果每個芯核都只分配一個觸發(fā)器,那么,當(dāng)芯核A完成測試時,芯核B、C仍然沒有測試完成,繼續(xù)進行測試時為A分配的測試資源會出現(xiàn)空閑狀況。為了保證所有芯核能夠被完整測試,芯核A會產(chǎn)生200個空閑時鐘周期,芯核B會產(chǎn)生100個空閑時鐘周期,共產(chǎn)生300個空閑的時鐘周期。如何分配移位寄存器以保證每個芯核能獲得合適的測試時間是多核并行測試中的一個重要問題。
為了降低成本減少面積開銷,需要對移位寄存器的規(guī)模作一定的約束,為此,可以在設(shè)計時將移位寄存器中觸發(fā)器的數(shù)量限制在給定值以內(nèi)。本文提出了一種基于貪心算法的寄存器設(shè)計方案。假設(shè)給n個芯核最多分配r個觸發(fā)器,具體設(shè)計步驟如下:
1)初始,為每一個芯核分配一個觸發(fā)器,計算空閑周期并將該次分配記為最優(yōu)分配;
2)為每一個芯核嘗試分配下一個觸發(fā)器時,計算該次分配所產(chǎn)生的空閑時鐘周期,將該觸發(fā)器分配給空閑時鐘周期最少的芯核;
3)將步驟2)分配與最優(yōu)分配進行對比,如果空閑時鐘周期小于最優(yōu)分配的空閑周期,則更新最優(yōu)分配;
4)判斷r個觸發(fā)器是否分配完成,如果沒有完成,重新進行步驟2);
5)輸出最優(yōu)分配。
以前文提到的芯核A、B和C為例,假設(shè)最大觸發(fā)器數(shù)量為7,圖5中的方塊標記了當(dāng)次分配觸發(fā)器后所產(chǎn)生的空閑時鐘周期,并且每次選擇分配的芯核都用深色標出。首先為三個芯核各分配一個觸發(fā)器,將第4個觸發(fā)器分配給芯核C時,空閑時鐘周期最小;將第5個觸發(fā)器分配給芯核B時,空閑時鐘周期最小;當(dāng)7個觸發(fā)器分配完成后,最優(yōu)分配是為芯核A、B和C分別分配1、2、3個觸發(fā)器的方案,此時的空閑時鐘周期為0。
圖5 移位寄存器分配過程Fig.5 Allocation process of shift register
層間移位寄存器的分配也采用該方法,只需要將芯核的測試數(shù)據(jù)量替換為完成該層測試所需的時鐘周期。
為保證測試時間最短,不同層的測試完成時間應(yīng)保持一致,可以通過優(yōu)化芯核在不同層上的分布來解決這樣的問題。同時為了保證功耗安全,針對某一個指定的芯核,它的測試時鐘頻率應(yīng)該被限制在某一個頻率之下,以保障芯核在測試過程中不會因為頻率過高而產(chǎn)生熱故障,即在功耗約束下,求得一個最優(yōu)三維堆疊,使得整體的測試時間最小。
對于一個擁有m層并有n個芯核的三維芯片,問題在于如何將n個芯核分配不同層中,對于一個特定的芯核k,它所在的層號:qk(0<qk≤m,qk∈Z)表示這一個芯核處于整個三維芯片堆疊的層號,其中Z表示整數(shù)集,針對一個給定的三維芯片堆疊,其芯核1到n的層號排列可以表示為一個n維的向量:(q1,q2,…,qk,…,qn),0 < qk≤m,qk∈Z,1≤k≤n。對向量中芯核k,其層號用qk二進制編碼表示,層編碼長度為「lb(m)?,對某一個確定的三維芯片堆疊,其二進制編碼長度l為:
圖6表示的是一個三維堆疊分配方案的編碼,它有4層并包含8個芯核。標志4層要2個二進制位,共有8個芯核,所以碼字長度為16比特。按照每兩位為一個芯核層號的規(guī)律,可以將圖6的二進制編碼還原為一個原始的三維芯片中芯核分配方案,即底層分配Core4和Core8,第二層分配Core2和Core7,第三層分配 Core3和 Core5,第四層分配 Core1和Core6。如果某一次分配使得整個三維芯片堆疊需要的測試時鐘周期最少,則該編碼所表示的三維芯片堆疊為最優(yōu)的三維芯片芯核分配方案。對于一個規(guī)模較大的三維芯片,如何尋找三維芯片的最優(yōu)測試堆疊是一個復(fù)雜的問題,本文使用離散二進制粒子群優(yōu)化算法來解決這一問題。
圖6 分配方案二進制編碼Fig.6 Binary coding of allocation scheme
粒子群優(yōu)化(Particle Swarm Optimization,PSO)算法由魚群、鳥群的群體智能規(guī)律設(shè)計出來的,DBPSO算法是PSO基礎(chǔ)上的改進版本,用以解決PSO算法在離散空間尋優(yōu)問題中存在的局限性,本文引入該方法用以尋找三維芯片的最優(yōu)堆疊。
在一維的空間中存在多個粒子,每一個粒子表示的空間點都是一個三維芯片堆疊方案的二進制編碼,粒子的每一個維度只能取值0或者1,粒子的位置和速度根據(jù)自身和同伴的經(jīng)驗進行動態(tài)的調(diào)整,經(jīng)過多次迭代之后找到一個最優(yōu)的空間點作為三維芯片的最優(yōu)分配方案。
整個種群(種群中粒子的總數(shù)為p)第i個粒子的位置表示為Xi=(bi1,bi2,…,bil),Xi即為一次三維堆疊分配方案,將測試所需的時鐘周期數(shù)的倒數(shù)作為種群的適應(yīng)度,粒子的適應(yīng)度越高,則該粒子的位置更優(yōu)。將特定粒子在歷史上獲得的最優(yōu)位置記為Pbesti,最優(yōu)位置Gbest看成是種群到目前的最優(yōu)解,那么粒子的速度 Vi=(vi1,vi2,…,vil)。
當(dāng)前的粒子速度Vi中某一維的速度vid由當(dāng)前的種群的狀態(tài)決定:
其中:pbestid為當(dāng)前粒子歷史最優(yōu)Pbesti的第d維;gbestd為全局最優(yōu)位置Gbest的第d維;ω、c1和c2分別為上一代粒子速度vid、pbestid和gbestd對當(dāng)前粒子速度影響的權(quán)重,當(dāng)前粒子某一維的速度表示在下一次迭代中該二進制位取1的概率,為了將速度值映射到區(qū)間[0,1]中,使用sigmoid函數(shù):
sigmoid函數(shù)是將變量映射到[0,1]區(qū)間的S型函數(shù),其中的Sig(vid)作為位置xid取1的概率,使用rand()函數(shù)落入[0,1]區(qū)間的位置來模擬隨機性:
所有粒子位置更新后,Pbesti和Gbest也將得到更新,重新計算粒子的飛行速度vid。初始種群和初始粒子速度隨機生成,種群經(jīng)過多次迭代后收斂,最終獲得種群最優(yōu)解作為分配方案。
本文整體測試結(jié)構(gòu)如圖7所示。在設(shè)計階段,本文方案需要根據(jù)測試數(shù)據(jù)量對3D SoC進行可測性設(shè)計優(yōu)化,保證位于不同層的芯核完成測試的時間相差不大。在圖7中,用于測試的數(shù)據(jù)被預(yù)先存儲在ATE中,ATE發(fā)出的測試數(shù)據(jù)進入全局測試通道,經(jīng)過層間的通信接口共享到不同層的不同核中。全局測試時鐘經(jīng)過層間移位寄存器和核間移位寄存器的分解,到達芯核后變成芯核接收數(shù)據(jù)段的頻率。每次脈沖來臨時,芯核就從全局測試通道接收一次數(shù)據(jù)段,當(dāng)某一芯核接收到完整的測試向量,進行一次測試。
圖7 并行測試結(jié)構(gòu)Fig.7 Parallel test structure
對單個芯核k來說,在測試數(shù)據(jù)量和測試頻率一定的情況下,測試時間tk與芯核k數(shù)據(jù)傳輸帶寬wk成反比。將tk和wi當(dāng)作矩形的長和寬,則矩形面積為:
面積 sk恒定。假定有5 個芯核 C1、C2、C3、C4和 C5,在無有效的TAM設(shè)計下,每個芯核只能串行測試,圖8(a)中表示了使用串行測試方法所需要的時間,整個堆疊的測試時間較長。在進行合理的TAM資源分配后,部分芯核可以進行并行測試,相較于串行測試方法測試時間有所減少;但在圖8(b)中,某些時間段仍然有大量空閑的TAM資源,存在測試資源的浪費。
圖8 串行測試與并行測試方法對比Fig.8 Comparison of serial test and parallel test methods
在本文中的測試架構(gòu)設(shè)計中,所有芯核共享測試資源,理論上通過頻率上的分配可以使得所有芯核在相同的時間完成測試。在圖9(a)中,測試資源得到了合理的分配,使得測試時間進一步減少。然而,考慮到控制上的復(fù)雜性,在圖9(b)的實際分配情況中,每個芯核的測試完成時間會略有偏差,但仍能保證芯核在比較接近的時間點完成測試;雖然造成了少量的資源浪費,但是測試效率保持了較大的提升。
圖9 本文測試調(diào)度方法與理論測試方法對比Fig.9 Comparison of proposed test scheduling method and ideal test method
為了驗證本文分配方法的有效性,采用ISCAS-89標準測試電路中4個測試電路(C2670,C7552,S420,S641)模擬芯核進行測試,算法在Windows平臺PC上采用C++程序設(shè)計語言模擬實現(xiàn)芯核測試過程。層間移位寄存器進行分配時的各個芯核傳輸測試數(shù)據(jù)需要的時鐘周期數(shù)如表1所示。
表1 芯核測試數(shù)據(jù)分配結(jié)果Tab.1 Allocation results of core test data
實驗數(shù)據(jù)表明移位寄存器內(nèi)寄存器的數(shù)量對測試所需時鐘周期量有較大的影響。隨著移位寄存器的數(shù)量增加,測試所需時鐘周期急劇減少,最后趨于穩(wěn)定。測試數(shù)據(jù)量的下降趨勢如圖10所示。
為了驗證多芯核優(yōu)化方案的有效性,實驗選取了12個芯核、4層堆疊的三維芯片作為實驗對象,層間和核間最大的寄存器數(shù)量取12個。由于芯核在測試過程中并行工作,實驗通過控制ATE傳輸數(shù)據(jù)的頻率保證整個芯片的測試功耗始終在安全閾值以下。
圖11是測試通道寬度為48時,原始三維堆疊和優(yōu)化后的三維堆疊TAM利用率的對比。為了更加直觀地對比利用率,將每一個時鐘周期作為圖像的一個像素點。當(dāng)該時鐘周期內(nèi)TAM正在使用時,像素點標為黑色;TAM空閑時,像素點標為白色。由于圖中黑白像素點較為密集,部分區(qū)域黑白交替呈現(xiàn)出灰色,顏色越深,表示黑色像素點的占比越高。圖11中,優(yōu)化后的堆疊生成的圖像黑色像素點較優(yōu)化前占比更高,即優(yōu)化后的TAM利用率更高。在測試過程中,測試資源的利用率得到提高后,相應(yīng)的測試時間得到縮短。
圖10 最大寄存器數(shù)量與測試數(shù)據(jù)量的關(guān)系Fig.10 Relationship between maximum number of registers and amount of test data
圖11 優(yōu)化前后TAM利用率對比Fig.11 Comparison of TAM utilization ratio before and after optimization
本文方案優(yōu)化前后的對比如表2所示。由表2可知,優(yōu)化后的三維堆疊測試時間有所下降:測試通道寬度為16、32、48、64 時,測試時間分別下降 14.44%、12.71%、14.35%、14.45%,平均測試時間下降13.98%,并在整個TAM利用率上有較大的提升;測試通道寬度為16、32、48、64時,TAM利用率分別上升 16.88%、14.60%、16.75%、16.88%,平均 TAM利用率上升16.28%。
表2 優(yōu)化前后測試時間和TAM利用率對比Tab.2 Comparison of test time and TAM utilization ratio before and after optimization
為了驗證本文方案在測試時間上的效果,本文在ITC'02基準電路中的3D SoC(p22810、p34392和p93791)上進行實驗,并與近些年來的一些方案在相同的測試頻率和TAM寬度下進行了測試時間上的對比,實驗結(jié)果如表3所示。其中:文獻[6]方案使用整數(shù)線性規(guī)劃方法尋找最優(yōu)裝箱策略,來提高測試并行度;文獻[8]方案使用量子尋優(yōu)算法優(yōu)化測試調(diào)度;文獻[9]方案是將測試過程按時間分段的測試架構(gòu)設(shè)計;文獻[10]方案采用了一種先偽平面化的結(jié)構(gòu)設(shè)計再進行掃描鏈均衡的優(yōu)化設(shè)計方法;文獻[12]方案是一種時分復(fù)用的架構(gòu)設(shè)計,該方案也是本文方案的研究基礎(chǔ);文獻[16]方案是一種標準可配置的測試架構(gòu)設(shè)計。總體來看,由于基準電路中部分芯核之間存在依賴關(guān)系,所以絕大多數(shù)方案不能對這類芯核并行測試;而本文方案采用時分復(fù)用的策略,宏觀上看各個芯核雖然并行測試,但在測試中某一時刻,只有不多于一個芯核在進行測試,所以不存在沖突的問題。由表3可知,在相同測試頻率和TAM寬度的情況下,除了文獻[8]方案未提供p34392的實驗數(shù)據(jù)外,本文方案均使用了較短的測試時間,有效地降低了芯片的測試成本。此外,本文方案因為所有芯核都可以并行測試且測試頻率較低,相較于其他方案只有部分芯核可以并行測試,整個堆疊的發(fā)熱更為均勻,也相對更安全。
表3 不同方案的測試時間(時鐘周期數(shù))對比Tab.3 Comparison of test time(clock cycle number)of different schemes
針對測試時間對測試成本的重要影響,本文提出了一種基于時分復(fù)用的層核間測試數(shù)據(jù)調(diào)度的多芯核優(yōu)化方法。通過合理分配層核上的移位寄存器數(shù)量,提高不同芯核的測試并行度,同時使用DBPSO算法優(yōu)化芯核在三維堆疊中的位置,求出最優(yōu)測試芯核布圖。實驗結(jié)果表明,該方法不僅可以協(xié)同優(yōu)化測試數(shù)據(jù)在層與核間的測試調(diào)度,并且適用于綁定前、綁定中和綁定后測試。由于方法考慮了芯核間的測試并行度問題,在減少測試時間的同時,也降低了各個芯核的測試頻率,從而保證了芯核的安全測試。
本文方法目前每個時鐘周期只能對一個芯核進行測試數(shù)據(jù)的傳輸,進一步的研究方向在于如何使相容的測試數(shù)據(jù)可以同時送入不同的芯核中,進一步提高芯核的測試并行度,減少3D SoC的測試時間。參考文獻(References)
[1] 王喆垚.三維集成技術(shù)[M].北京:清華大學(xué)出版社,2014:6-18.(WANG Z Y.Three-Dimensional Integration Technology [M].Beijing:Tsinghua University Press, 2014:6 -18.)
[2] LEE H H S,CHAKRABARTY K.Test challenges for 3D integrated circuits [J].IEEE Design and Test of Computers, 2009, 26(5):26-35.
[3] NICOLICI N, AL-HASHIMI B M.Power-Constrained Testing of VLSI Circuits [M].Boston, MA:Springer, 2003:113 -115.
[4] IYENGAR V,Chakrabarty K,MARINISSEN E J.Test wrapper and test access mechanism co-optimization for system-on-chip [J].Journal of Electronic Testing,2002,18(2):213-230.
[5] ZHAO D,UPADHYAYA S.Dynamically partitioned test scheduling with adaptive TAM configuration for power-constrained SoC testing[J].IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems,2005,24(6):956-965.
[6] CHAKRABARTY K,IYENGAR V,CHANDRA A.Test wrapper and TAM co-optimization[M]//CHAKRABARTY K,IYENGAR V,CHANDRA A.Test Resource Partitioning for System-on-Chip.New York:Springer US,2002:65-93.
[7] 梁旭,李行善,于勁松.基于遺傳算法的并行測試調(diào)度算法研究[J].電子測量與儀器學(xué)報,2009,23(2):19 -24.(LIANG X, LI X S, YU J S.Research on the task schedule algorithm based on the GA [J].Journal of Electronic Measurement and Instrument, 2009,23(2):19 -24.)
[8] XU C P, ZHANG J, ZHANG M.Test scheme of SOC test with multi-constrained to reduce test time[C]//Proceedings of the 2009 International Conference on Electronic Packaging Technology&High Density Packaging.Piscataway, NJ:IEEE, 2009:970 -973.
[9] ROY S, GHOSH P, RAHAMAN H, et al.Session based core test scheduling for minimizing the testing time of 3D SOC [C]//Proceedings of the 2014 International Conference on Electronics and Communication Systems.Piscataway, NJ:IEEE, 2014:1 -5.
[10] 李嬌.層次化SOC可測性架構(gòu)及測試調(diào)度優(yōu)化策略研究[D].上海:上海大學(xué),2014:63 -83.(LI J.The research on DFT structure and test scheduling optimization for hierarchical SOC [D].Shanghai:Shanghai University,2014:63 -83.)
[11] VARTZIOTIS F, KAVOUSIANOS X, CHAKRABARTY K, et al.Time-division multiplexing for testing DVFS-based SoCs [J].IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, 2015,34(4):668 -681.
[12] GEOFGIOU P,VARTZIOTIS F, KAVOUSIANOS X, et al.Twodimensional time-division multiplexing for 3D-SoCs [C]//Proceedings of the 2016 IEEE European Test Symposium.Piscataway,NJ:IEEE,2016:1-6.
[13] NDIP I, CURRAN B, LOBBICKE K, et al.High-frequency modeling of TSVs for 3-D chip integration and silicon interposers considering skin-effect,dielectric quasi-TEM and slow-wave modes[J].IEEE Transactions on Components, Packaging and Manufacturing Technology,2011,1(10):1627-1641.
[14] SHEIBANYRAD A, PETROT F.Asynchronous 3D-NoCs making use of serialized vertical links [M]//SHEIBANYRAD A,PETROT F,JANTSCH A.3D Integration for NoC-based SoC Architectures.New York:Springer, 2011:149 -165.
[15] MARINISSEN E J, ZORIAN Y.Testing 3D chips containing throughsilicon vias [C]//Proceedings of the 2009 IEEE International Test Conference.Piscataway, NJ:IEEE,2009:1-11.
[16] 李廣進,陳圣儉,牛金濤,等.數(shù)字IP核的IEEE Std1500外殼架構(gòu)設(shè)計研究[J].微電子學(xué)與計算機,2012,29(10):42 -46.(LI G J, CHEN S J, NIU J T, et al.Research on IEEE Std1500 wrapper design for digit IP core [J].Microelectronic & Computer,2012, 29(10):42 -46.)