基于復(fù)用的SOC測(cè)試技術(shù)
90年代國(guó)際上出現(xiàn)的SOC概念,以系統(tǒng)為中心、基于IP模塊多層次、高度復(fù)用的設(shè)計(jì)思想受到普遍重視和廣泛應(yīng)用。SOC的高集成度和復(fù)雜度使得SOC測(cè)試面臨挑戰(zhàn),傳統(tǒng)的基于整個(gè)電路的測(cè)試方法不再適用。對(duì)于IP模塊和SOC而言,在電路設(shè)計(jì)向可復(fù)用這一目標(biāo)發(fā)展的同時(shí),測(cè)試中的復(fù)用也變得愈加重要,成為解決SOC測(cè)試的關(guān)鍵,也成為目前該領(lǐng)域研究的焦點(diǎn)。本文在分析SOC與SOB(system on board)本質(zhì)區(qū)別的基礎(chǔ)上,闡明復(fù)用對(duì)于SOC測(cè)試的重要性,對(duì)現(xiàn)有主要幾類基于復(fù)用思想的SOC測(cè)試進(jìn)行分析。
2 SOC的測(cè)試
SOC使集成電路設(shè)計(jì)者分為兩個(gè)部分:IP模塊的設(shè)計(jì)者和SOC集成者(IP模塊的使用者)[2,4,5] 。IP模塊是設(shè)計(jì)者提供的具有特定功能和相關(guān)參數(shù)描述的模塊;而SOC集成者利用它們和用戶自定義邏輯(UDL)集成在一起,實(shí)現(xiàn)既定的功能。從表面上看,這種設(shè)計(jì)類似于傳統(tǒng)的基于芯片的SOB 設(shè)計(jì),但二者存在本質(zhì)區(qū)別。
SOB中的IC是經(jīng)制造生產(chǎn)和測(cè)試后的實(shí)體,因此對(duì)SOB集成者而言,測(cè)試是針對(duì)系統(tǒng)中IC之間連接的測(cè)試。在SOB的設(shè)計(jì)集成過(guò)程中,IC的制造商和系統(tǒng)的集成者有相對(duì)獨(dú)立的測(cè)試開(kāi)發(fā)和實(shí)施階段,如圖1所示。從描述的層次而言,SOC中的IP模塊可以分為軟核、固核以及硬核。每一個(gè)核又可以是若干更小的模塊共同構(gòu)成,但無(wú)論什么模塊,相對(duì)于SOB中的芯片而言是虛擬器件,在進(jìn)行SOC集成設(shè)計(jì)時(shí)都未經(jīng)物理實(shí)現(xiàn)。IP模塊提供者對(duì)所設(shè)計(jì)的虛擬模塊進(jìn)行測(cè)試開(kāi)發(fā),卻不能對(duì)IP模塊進(jìn)行實(shí)際的物理測(cè)試。因此IP模塊設(shè)計(jì)者和SOC集成者的測(cè)試開(kāi)發(fā)和實(shí)施將不再是彼此獨(dú)立和分割的兩個(gè)階段。SOC集成者要完成包括IP模塊在內(nèi)的整個(gè)芯片的測(cè)試方案[2]。因此,SOC測(cè)試較傳統(tǒng)的SOB測(cè)試而言,更加復(fù)雜,也更具挑戰(zhàn)性。
圖1 SOB與SOC測(cè)試的比較
3 復(fù)用技術(shù)與SOC測(cè)試
隨著技術(shù)的發(fā)展和市場(chǎng)的需要,IP模塊和SOC 的設(shè)計(jì)正逐漸以分布和并行的方式進(jìn)行。來(lái)源于不同的各種IP模塊的多層次復(fù)用是SOC的基礎(chǔ)。IP 模塊是對(duì)功能和實(shí)現(xiàn)方式的描述,是未經(jīng)物理實(shí)現(xiàn)的虛擬器件,不同類型的IP模塊有不同的模型和測(cè)試方法,IP模塊的提供者雖然無(wú)法對(duì)模塊進(jìn)行物理測(cè)試,但必須向SOC集成者提供模塊的測(cè)試信息,其中包括模塊的測(cè)試方法、可測(cè)性結(jié)構(gòu)、測(cè)試產(chǎn)生方法及測(cè)試集等 [2,4,6]。如果不以這些模塊的測(cè)試信息為基礎(chǔ),SOC集成者就無(wú)法對(duì)高達(dá)千萬(wàn)門級(jí)的芯片進(jìn)行測(cè)試,而復(fù)用則是SOC測(cè)試的關(guān)鍵。因此,國(guó)際上IEEE P1500工作組和VSIA(virtual socket in ter face alliance)聯(lián)盟正在制定相關(guān)的國(guó)際標(biāo)準(zhǔn)[6,7] ,研究焦點(diǎn)集中于規(guī)范IP模塊設(shè)計(jì)者和SOC集成者之間的軟硬件接口,如模塊測(cè)試語(yǔ)言(CTL,)和可擴(kuò)展結(jié)構(gòu),以實(shí)現(xiàn)SOC測(cè)試中IP模塊測(cè)試信息的即插即用。但標(biāo)準(zhǔn)并不進(jìn)行復(fù)用方法和測(cè)試集成及優(yōu)化的研究,有許多問(wèn)題尚未解決。因此采用何種方式復(fù)用,如何解決復(fù)用中遇到的問(wèn)題成為目前 SOC測(cè)試研究的焦點(diǎn)之一。從復(fù)用的角度,現(xiàn)有的SOC測(cè)試解決方案大致分為兩類:直接復(fù)用和間接復(fù)用。
3.1 直接復(fù)用
該方法的基本思路是自頂向下,直接在芯片級(jí)使用已有的模塊測(cè)試信息,通過(guò)實(shí)現(xiàn)對(duì)每個(gè)IP模塊的測(cè)試訪問(wèn)從而解決整個(gè)芯片的測(cè)試[8]。核心是通過(guò)構(gòu)建測(cè)試通路實(shí)現(xiàn)對(duì)各IP模塊的測(cè)試訪問(wèn),前提是各IP模塊都具有良好的可測(cè)性和完整的測(cè)試信息。這類方法的有效性關(guān)鍵在于兩個(gè)方面,即各模塊原有測(cè)試信息的質(zhì)量和在SOC中各模塊測(cè)試訪問(wèn)的實(shí)現(xiàn)。具體的方案如下。
① 測(cè)試總線。ARM公司發(fā)布的32位AMBA(advanced microcontroller bus architecture)總線結(jié)構(gòu),通過(guò)解決每個(gè)IP模塊的測(cè)試訪問(wèn)問(wèn)題來(lái)最終完成整個(gè)SOC的測(cè)試,但其兼容性、測(cè)試費(fèi)用及測(cè)試時(shí)間上有其局限性 [9]。Duel Technologies公司也作了類似的工作,提出了“測(cè)試總線”,連接每個(gè)IP模塊,雖然優(yōu)化了測(cè)試所占用的芯片面積,但無(wú)法同時(shí)將多個(gè)IP模塊連到總線上進(jìn)行測(cè)試。
② 端口訪問(wèn)。Intel公司提出將每個(gè)IP模塊的接口端通過(guò)多路選擇器接到芯片的引腳上直接進(jìn)行訪問(wèn)[10]。但當(dāng)IP模塊增加時(shí),對(duì)多路選擇器的控制就會(huì)過(guò)于復(fù)雜,且該方法對(duì)IP的端口數(shù)有明確的限制。
③ 模塊的透明模型。文獻(xiàn)[11]提出一種基于IP模塊透明模型的方法,它要求每個(gè)IP模塊都有一種工作模式——透明模式。當(dāng)對(duì)SOC中某一個(gè)IP模塊進(jìn)行測(cè)試時(shí),其它模塊均處于透明模式,從而為該模塊提供測(cè)試訪問(wèn)通路。這種方案較前兩種方案減少了硬件開(kāi)銷,但對(duì)IP模塊的設(shè)計(jì)有特殊要求,且數(shù)據(jù)傳輸通道多位串行會(huì)導(dǎo)致測(cè)試時(shí)間過(guò)長(zhǎng)。
④ 邊界掃描。Texas Instrument公司利用IEEE 1149.1標(biāo)準(zhǔn)中的邊界掃描測(cè)試(BST)技術(shù),通過(guò)標(biāo)準(zhǔn)的掃描鏈串行訪問(wèn)IP模塊,該方案是將用于解決SOB的測(cè)試技術(shù)移植到了SOC上。該方案的硬件開(kāi)銷會(huì)隨著電路集成度提高而加大,測(cè)試時(shí)間也會(huì)隨著SOC規(guī)模的增加變得無(wú)法接受[12]。
3.2 間接復(fù)用
這類方法的基本思路是自底向上,利用每個(gè)模塊級(jí)的測(cè)試信息,通過(guò)綜合轉(zhuǎn)換形成該模塊在芯片級(jí)可以實(shí)施的測(cè)試信息,直至形成整個(gè)芯片的測(cè)試。核心是以系統(tǒng)為出發(fā)點(diǎn),利用各IP模塊的測(cè)試信息,綜合SOC的結(jié)構(gòu)或功能特點(diǎn),形成SOC 對(duì)各IP模塊的測(cè)試數(shù)據(jù)和方案。具體的方案如下。
① 宏測(cè)試。從設(shè)計(jì)出發(fā),在自IP模塊向系統(tǒng)集成的過(guò)程中不斷將模塊的測(cè)試信息進(jìn)行擴(kuò)展,直至芯片級(jí)。其中較為典型的是Philips公司將解決IC測(cè)試的Macro Test技術(shù)用于SOC測(cè)試[13]。其基本思路是將每個(gè)IP模塊的測(cè)試信息以測(cè)試協(xié)議描述,結(jié)合整個(gè)系統(tǒng)的設(shè)計(jì),識(shí)別合適的訪問(wèn)路徑擴(kuò)展到芯片級(jí),再通過(guò)芯片級(jí)的測(cè)試協(xié)議調(diào)度每個(gè)模塊的測(cè)試順序,最終通過(guò)單獨(dú)測(cè)試每個(gè)IP的方法來(lái)完成SOC測(cè)試。該方法對(duì)SOC中的IP模塊及其測(cè)試信息有嚴(yán)格的規(guī)定。
② 層次復(fù)用。文獻(xiàn)[13]提出了一種層次法,基本思路是針對(duì)系統(tǒng)進(jìn)行分析,提取系統(tǒng)中與待測(cè)IP 模塊的約束關(guān)系,使模塊在約束下直接產(chǎn)生測(cè)試集,進(jìn)而解決整個(gè)芯片系統(tǒng)的測(cè)試問(wèn)題。該方法每次只考慮一個(gè)模塊,先對(duì)每個(gè)模塊產(chǎn)生功能約束,將約束和該模塊一起綜合,形成一個(gè)從芯片級(jí)可以訪問(wèn)的對(duì)應(yīng)電路,再用商業(yè)軟件對(duì)模塊內(nèi)部的故障生成測(cè)試。但當(dāng)該技術(shù)應(yīng)用到集成度很高的SOC時(shí),模塊本身測(cè)試的生成變得非常困難。如果SOC中的模塊是多層次復(fù)用的,需要進(jìn)一步分解成子模塊,約束條件的提取變得十分繁復(fù)。為解決這個(gè)問(wèn)題,文獻(xiàn)[14]提出一種新的層次地提取可重復(fù)使用的約束方法,并在提取約束時(shí)利用綜合工具剔除冗余的邏輯部分,提高了測(cè)試生成效率,使其更有效。
③ 功能復(fù)用。SOC的功能日益強(qiáng)大,其中許多都含有內(nèi)嵌處理器和存儲(chǔ)器。文獻(xiàn)[16],[17]提出,在SOC內(nèi)部通過(guò)內(nèi)嵌處理器模塊和存儲(chǔ)器模塊實(shí)現(xiàn)對(duì)其他IP模塊的測(cè)試。具體就是首先將各IP模塊的測(cè)試數(shù)據(jù)壓縮并存入存儲(chǔ)器模塊,再由內(nèi)嵌處理器利用這些數(shù)據(jù),對(duì)IP模塊進(jìn)行測(cè)試并收集響應(yīng)進(jìn)行測(cè)試分析。這種方法充分利用了SOC內(nèi)部資源和已有的各IP模塊測(cè)試信息,可以實(shí)現(xiàn)芯片內(nèi)部的高速測(cè)試。但測(cè)試數(shù)據(jù)處理和測(cè)試控制的復(fù)雜度都會(huì)隨的SOC設(shè)計(jì)復(fù)雜度的加大而增加。
4 面臨的問(wèn)題
SOC內(nèi)部晶體管集成度的增長(zhǎng)遠(yuǎn)遠(yuǎn)高于芯片引腳的增長(zhǎng),有限的管腳資源使得外部數(shù)據(jù)帶寬和內(nèi)部數(shù)據(jù)帶寬之間的差異越來(lái)越大[1]。這種差異不僅降低了內(nèi)部模塊的可測(cè)性,還加大了間接復(fù)用方案中測(cè)試生成的難度。同時(shí),具有一定故障覆蓋率的測(cè)試數(shù)據(jù)會(huì)隨著電路集成度和規(guī)模的增加而增加,大量的測(cè)試數(shù)據(jù)會(huì)對(duì)直接復(fù)用方案中的測(cè)試訪問(wèn)的頻率和帶寬提出要求。
SOC嵌入了類型豐富的IP模塊,一些公司已將模擬電路、數(shù)字電路、嵌入式DRAM等不同形式的模塊集成到芯片中。隨著技術(shù)的發(fā)展,將有更多的電路類型被集成到SOC中,如嵌入式的FPGA、Flash、射頻發(fā)生器等?;旌闲盘?hào)測(cè)試在SOC測(cè)試中占有重要地位,現(xiàn)有的復(fù)用方案還未解決該問(wèn)題。
前面分析的現(xiàn)有方案有的來(lái)自于專業(yè)廠商,有的是利用自己的技術(shù)傳統(tǒng),對(duì)原IC、SOB測(cè)試技術(shù)的改進(jìn),著眼于解決各自產(chǎn)品的測(cè)試問(wèn)題,因此研究的出發(fā)點(diǎn)有局限性,各方案的適用范圍有限。
5 結(jié)論
迄今為止,還沒(méi)有一個(gè)貫穿IP模塊和SOC設(shè)計(jì)始終的完整的SOC測(cè)試解決方案,因?yàn)檫@不僅需要盡快訂立相關(guān)的國(guó)際標(biāo)準(zhǔn),還需要進(jìn)行一些關(guān)于復(fù)用方法上的研究,例如,如何在進(jìn)行IP模塊的測(cè)試開(kāi)發(fā)中引入可復(fù)用的因素,使得模塊級(jí)的測(cè)試信息對(duì)被集成環(huán)境具有更好的適應(yīng)性,能被更高層電路模塊的測(cè)試開(kāi)發(fā)高效率地復(fù)用;研究基于復(fù)用的測(cè)試集成和優(yōu)化技術(shù),利用已有模塊測(cè)試信息,集成出更高層模塊的測(cè)試并保證其可復(fù)用性等。