楊兵,姜巖峰,張東
(1北方工業(yè)大學(xué)信息工程學(xué)院微電子中心 北京 100144 2北京自動(dòng)測試技術(shù)研究所 北京 100088)
混合信號(hào)電路(Mixed—signal Circuits)應(yīng)用非常廣泛,但其測試設(shè)備非常昂貴,且缺乏結(jié)構(gòu)化的DFT 解決方案。邊界掃描測試的應(yīng)用雖非常成功,商品化的測試系統(tǒng)也已有上百種,但其重點(diǎn)一直是數(shù)字電路。面向微組裝高密度的混合信號(hào)模擬部件也需要測試,而常規(guī)的物理接觸式測試手段已難以為繼,其可測試性設(shè)計(jì)問題必須盡快予以解決。為此,IEEE半導(dǎo)體工業(yè)協(xié)會(huì)(SA)標(biāo)準(zhǔn)委員會(huì)在針對(duì)純數(shù)字電路的邊界掃描測試標(biāo)準(zhǔn)(即IEEE1149.1標(biāo)準(zhǔn))早已提出并已被廣泛接受和使用的基礎(chǔ)上,將IEEE1149.4標(biāo)準(zhǔn)設(shè)計(jì)成與IEEE1149.1標(biāo)準(zhǔn)完全兼容。通過分析帶混合信號(hào)邊界掃描測試結(jié)構(gòu)的CUT(CircuitUnder Test),研究并設(shè)計(jì)了IEEEl149.4測試系統(tǒng)仿真和運(yùn)行表明,該測試系統(tǒng)可用于混合信號(hào)系統(tǒng)級(jí)、PCB級(jí)和芯片級(jí)CUT進(jìn)行簡單互連、差分互連和擴(kuò)展互連等邊界掃描測試。
IEEE1149.4標(biāo)準(zhǔn)規(guī)定了帶邊界掃描結(jié)構(gòu)的混合信號(hào)器件包括六個(gè)測試訪問端口(即TAP和ATAP),即:測試數(shù)字?jǐn)?shù)據(jù)輸入口TDI,測試數(shù)字?jǐn)?shù)據(jù)輸出口TDO,測試時(shí)鐘TCK,測試模式選擇TMS,模擬激勵(lì)輸入AT1,模擬響應(yīng)輸出AT2,如圖1所示。主要硬件為TAP控制器,指令寄存器,邊界掃描寄存器(包括DBM、ABM 和TBIC), 旁路寄存器,TBIC開關(guān)矩陣和ABM開關(guān)矩陣及它們的控制電路??蛇x的測試引腳包括測試對(duì)象復(fù)位口TRST,與差測試有關(guān)的模擬引腳AT1N、AT2N,和其它測試數(shù)據(jù)寄存器。邊界掃描測試是在TAP控制器、指令譯碼器、TBIC控制電路和ABM的控制電路產(chǎn)生的控制信號(hào)的控制下進(jìn)行的。
圖1 混合信號(hào)的邊界掃描結(jié)構(gòu)
TAP控制器是個(gè)16位狀態(tài)機(jī),由TMS和TCK信號(hào)驅(qū)動(dòng),它主要將指令移人指令寄存器,將測試數(shù)據(jù)移人測試數(shù)據(jù)寄存器,將數(shù)字測試響應(yīng)數(shù)據(jù)從測試數(shù)據(jù)寄存器移出、捕獲、移位、更新測試數(shù)字?jǐn)?shù)據(jù),控制TBIC和ABM的控制電路等。ABM是模擬邊界掃描電路單元,其開關(guān)結(jié)構(gòu)如圖2所示,通過這些概念開關(guān),ABM 開關(guān)結(jié)構(gòu)控制了該模擬管腳與內(nèi)部測試總線相連。結(jié)合TBIC的控制,AT1或AT2就可與任一器件的任一管腳相連,完成模擬虛擬探針測試。通過VTH (門闕電平)、VH、VL 三種電平,每一根模擬管腳都能仿真1149.4測試輸入端標(biāo)準(zhǔn)的數(shù)字狀態(tài),即提供靜止的高低電平,并捕獲數(shù)字化響應(yīng),從而使模擬簡單互聯(lián)測試中的橋接、短路或斷路等故障更容易測試,并應(yīng)用與數(shù)字互聯(lián)測試相同的測試方法。
圖2 TBIC開關(guān)結(jié)構(gòu)圖
ATAP、TBIC、ABM和內(nèi)部模擬數(shù)據(jù)總線構(gòu)成了混合信號(hào)邊界掃描器件的模擬邊界掃描結(jié)構(gòu),為模擬邊界掃描測試提供了硬件基礎(chǔ)。這樣就形成了兩條虛擬探針通道,一條是從TDI到DBM到TDO的數(shù)字激勵(lì)施加和數(shù)字響應(yīng)獲取通道,即數(shù)字虛擬探針;另一是從AT1到TBIC到內(nèi)部測試總線到ABM到AT2的模擬測試激勵(lì)施加和模擬測試響應(yīng)獲取通道,即模擬虛擬探針。
ABM 是一種模擬電路邊界掃描單元, 它具有由數(shù)字電路構(gòu)成的移位寄存器、更新寄存器和控制邏輯。移位寄存器、更新寄存器用來進(jìn)行數(shù)字信號(hào)的輸入輸出。控制邏輯的作用是控制模擬功能管腳上的概念開關(guān), 其開關(guān)結(jié)構(gòu)如圖3所示。各模擬功能管腳通過ABM 的概念開關(guān)矩陣和測試總線接口電路與模擬測試訪問口AT1、AT2 相連。外界模擬測試激勵(lì)可通過1條模擬信號(hào)通路施加到1個(gè)模擬管腳上。本測試結(jié)構(gòu)中就是將模擬測試電流加在AT1端口上,然后通過接口電路和內(nèi)部測試總線將該測試電流輸入到核心電路中,成為模擬測試激勵(lì)。
圖3 ABM開關(guān)結(jié)構(gòu)
測試控制模塊的基本實(shí)現(xiàn)框架如圖4所示。測試控制模塊中主要包含以下幾個(gè)模塊或模塊組:
(1)TAP控制器模塊:在TCK,TMS,TS的作用下產(chǎn)生控制信號(hào),傳給測試數(shù)據(jù)寄存器與指令寄存器;
(2)指令寄存器模塊:在I_S_Ctrl信號(hào)組的作用下,裝載指令;
(3)譯碼模塊:從指令寄存器模塊讀入指令并進(jìn)行譯碼,并將譯碼信號(hào)傳給測試數(shù)據(jù)寄存器模塊;
(4)測試數(shù)據(jù)寄存器模塊組:該寄存器模塊組包含旁路模塊與邊界掃描模塊。其所進(jìn)行的操作,都是在控制信號(hào)的作用下,使掃描鏈按照IEEE1149.4標(biāo)準(zhǔn)所定義的時(shí)序,進(jìn)行捕獲、移位或更新;
(5)選擇模塊:在Select信號(hào)控制下,確定是將指令還是將掃描鏈中的數(shù)據(jù)從TDO串行移位輸出。
圖4 測試控制模塊結(jié)構(gòu)圖
邊界掃描單元被設(shè)置在數(shù)字輸出端口處,且每個(gè)掃描單元的結(jié)構(gòu)相同。掃描單元的原理結(jié)構(gòu)如圖5所示。
圖5 邊界掃描單元(BSC)結(jié)構(gòu)
邊界掃描單元的控制信號(hào)可分為兩類:一類是由TAP控制器產(chǎn)生的時(shí)序控制信號(hào),控制掃描單元進(jìn)行相應(yīng)的操作;另一類是由指令譯碼器產(chǎn)生的譯碼信號(hào)。IEEE1149.4定義了掃描鏈的時(shí)序,可分為3個(gè)階段:
(1) 數(shù)據(jù)捕獲階段:掃描單元從并行的數(shù)據(jù)輸入中捕獲數(shù)據(jù)到S觸發(fā)器。
(2) 數(shù)據(jù)移位階段:掃描單元將S觸發(fā)器中的值串行移位到下一個(gè)掃描單元的S觸發(fā)器中,并將其前一級(jí)掃描單元S觸發(fā)器中的值移入。
(3) 數(shù)據(jù)更新階段:所有掃描單元并行地將其S觸發(fā)器中的值打入到U觸發(fā)器中。
TAP控制器產(chǎn)生3個(gè)控制信號(hào)(Shift_dr,Clock_dr,Update_dr)來實(shí)現(xiàn)這三個(gè)階段。此外,為使掃描單元完成相應(yīng)的功能,還需要一個(gè)指令譯碼信號(hào)(Mode),控制是否將U觸發(fā)器中的值傳入到核心邏輯。
IEEE 1149.4標(biāo)準(zhǔn)是IEEE 1149.1標(biāo)準(zhǔn)的擴(kuò)展版,所以在1149.1中定義的強(qiáng)制指令都包含在1149.4的標(biāo)準(zhǔn)中,在1149.4的標(biāo)準(zhǔn)中有三種類型的指令:強(qiáng)制指令、選擇指令和用戶自定義指令,這里只介紹1149.1中沒有的部分指令。
2.1.1 旁路指令(BYPASS)
該指令執(zhí)行后,所有ATAP管腳與內(nèi)部模擬測試總線和所有測試電壓都隔離開,所有模擬管腳都連接到核心電路中,并且與內(nèi)部和外部測試總線隔離。測試電路和邏輯對(duì)核心電路的工作沒有任何影響;
2.1.2 采樣/預(yù)置(SAMPLE/PRELOAD)
在旁路下,ATAP和模擬管腳都從模擬DFT電路中隔離,該指令的功能包括兩方面:一是采樣,允許ABM的比較器采樣模擬信號(hào)的數(shù)字化信號(hào);第二個(gè)功能是預(yù)置,將數(shù)字向量裝載,從而控制ABM的操作。
2.1.3 外測試(EXTEST)
當(dāng)選擇該指令后,模擬管腳與核心元件斷開,CD開關(guān)開路,這個(gè)指令允許使用ABM中的比較器和電壓源對(duì)簡單的開路/短路進(jìn)行測試。另外,可以用ATE對(duì)擴(kuò)展的內(nèi)連接的參數(shù)進(jìn)行測試。
2.1.4 探測連接(PROBE)
當(dāng)該指令執(zhí)行后,基于在控制向量掃描中裝載的數(shù)據(jù)對(duì)模擬管腳和核心元件以及模擬測試總線(AB1/AB2)進(jìn)行連接,當(dāng)元件工作在正常模式時(shí),使用AB1和AB2能夠?qū)δM管腳進(jìn)行激勵(lì)和操作。
2.2.1 內(nèi)測試(INTEST)
INTEST指令使模擬管腳連接到核心元件和模擬測試總線上,激勵(lì)由AB1提供,響應(yīng)通過AB2進(jìn)行調(diào)整,圖18中示出該結(jié)構(gòu),可以用來測試內(nèi)部模擬芯片。
2.2.2 器件識(shí)別寄存器
器件識(shí)別寄存器指令包括IDCORE指令和USERCODE指令,與1149.1中的一致。
2.2.3 運(yùn)行自測試(RUNBIST)
在1149.1中,RUNBIST指令是一個(gè)自我約束指令,運(yùn)行后在測試數(shù)據(jù)寄存器中留下唯一測試結(jié)果簽名數(shù)據(jù)。而在1149.4中,所有模擬輸出信號(hào)則由邊界掃描寄存器中包括的數(shù)據(jù)進(jìn)行定義或?qū)⑵浞胖迷诜腔钴S驅(qū)動(dòng)狀態(tài)。
2.2.4 CLAMP指令
當(dāng)CLAMP指令執(zhí)行后,所有模擬輸出管腳的信號(hào)都由相應(yīng)的ABM中的數(shù)據(jù)進(jìn)行定義,可能的輸出狀態(tài)包括高阻、VH、VL、VG。
2.2.5 HIGHZ指令
當(dāng)HIGHZ指令執(zhí)行后,所有模擬功能管腳與其它電路均斷開,也就是說,在ABM中的所有開關(guān)均開路。類似地,AT1/AT2管腳進(jìn)入高阻態(tài),與TBIC控制寄存器中的數(shù)據(jù)無關(guān)。在1149.4中的HIGHZ指令和BYPASS指令非常相似,都是將芯片從電路板的其它電路中斷開。
用戶也可以定義自己的指令,用戶定義指令可以看成是選擇指令的擴(kuò)展,用戶在定義時(shí),必須符合IEEE 1149.1和IEEE 1149.4標(biāo)準(zhǔn)中所規(guī)定的內(nèi)容,而且這些指令不能與那些已經(jīng)規(guī)定的強(qiáng)制指令發(fā)生矛盾和沖突。
邊界掃描技術(shù)支持多種測試操作,不同操作其測試機(jī)理有所不同,下面分別加以討論。
互聯(lián)測試,可分為簡單互連、擴(kuò)展互連和差分互連等。簡單互連測試是指對(duì)直接通過導(dǎo)線連接的管腳進(jìn)行的互聯(lián)測試,主要用來測試器件連線間的開路、短路和網(wǎng)絡(luò)間的橋接等故障。進(jìn)行測試時(shí),先用SAMPLE/PRELOAD指令給輸出型的邊界掃描單元預(yù)置測試激勵(lì)。執(zhí)行EXTEST指令之后,捕獲該連接線上輸入型邊界掃描單元的測試響應(yīng)。然后通過比較激勵(lì)和響應(yīng)來判斷、定位故障。
對(duì)于數(shù)字引腳的簡單互連測試,首先根 據(jù)PCB(Printed Circuit Board)網(wǎng) 表、 器 件BSDL(Boundary—Scan Description Language)等 相關(guān)文檔資料選擇合適的互連測試算法,如等權(quán)值抗誤判算法和極小權(quán)值一極大相異算法,WALK“0”、WALK“1”等,生成互連測試矢量,用SAMPLE/PRELOAD指令將測試激勵(lì)施加給輸出型的邊界掃描單元,然后執(zhí)行EXTEST指令進(jìn)行互連測試。這樣,互連信號(hào)就被捕獲到與之相連的另一邊界掃描器件的相應(yīng)的輸入型邊界掃描單元中。再通過掃描鏈將邊界掃描寄存器的內(nèi)容移出則可得到測試響應(yīng)。不過,必須通過一組測試矢量全集的測試,才能保證故障定位的正確。
在模擬引腳的簡單互聯(lián)測試中,為了使模擬管腳的簡單互連測試與數(shù)字管腳兼容,IEEE1149.4標(biāo)準(zhǔn)在ABM(Analog Boundary Module)中增添了VTH、VH、VL三種不同的電平,分別代表高電平、低電平和門闕電平。在控制邏輯的控制下,將VH、VL電平施加到輸出型的模擬管腳上作為預(yù)置測試激勵(lì)(相當(dāng)于數(shù)字管腳加入高電平或低電平激勵(lì))。執(zhí)行EXTEST指令之后,通過捕獲該連接線上的輸入型模擬管腳上的電壓,并與門闕電平進(jìn)行比較,將模擬量數(shù)字化為一位數(shù)字值“0”或“1”,作為輸入型模擬管腳上的測試響應(yīng),交邊界掃描鏈移出。這樣,就可將模擬電路的簡單互聯(lián)測試轉(zhuǎn)化為數(shù)字電路的互聯(lián)測試。通過對(duì)預(yù)置測試激勵(lì)和測試響應(yīng)進(jìn)行比較,就可以分析出該模擬簡單互連線是否發(fā)生了短路、斷路、橋接等故障,并且可將故障定位到管腳級(jí)。
從邊界掃描技術(shù)角度來看,差分電路可分為數(shù)字差分電路和模擬差分電路。差分電路的測試有三種,即數(shù)字差分互連電路的測試、模擬差分電路的簡單互連測試和模擬差分電路的擴(kuò)展互連測試等。對(duì)于數(shù)字差分互聯(lián)測試,顯然,只需將數(shù)字差分輸入或輸出的兩個(gè)DBM(Digital Boundary Module)看成兩單獨(dú)的DBM,采用數(shù)字管腳簡單互連的測試方法即可。
對(duì)于模擬差分邊界掃描結(jié)構(gòu),在進(jìn)行簡單互連測試時(shí),標(biāo)準(zhǔn)規(guī)定其差分輸入端至少須有五種組態(tài):即 H—L (High Level—Low Leve1)、L—H 、CD—CD (Core Disconnect)、CD—G(Ground)和 G—CD。所以,在進(jìn)行差分簡單互連測試時(shí),從差分輸出端所施加的測試激勵(lì)不能違反這些規(guī)定,除非你確知該測試對(duì)象還允許有其它組態(tài)。由于差分輸出的兩ABM具備施加VH、VL電平的能力(只是須注意,當(dāng)一個(gè)腳加VH則另一個(gè)腳須加VL,或反之),另一端又可捕獲其數(shù)字化值,所以可按非差分ABM進(jìn)行簡單的互連測試,只是激勵(lì)的施加稍有不同。
若模擬差分互連是擴(kuò)展的差分互連,可以采用完全差分測試或非完全差分測試兩種方法。若被測對(duì)象只有AT1(Analog Test)和AT2兩根模擬測試線且?guī)в胁罘蛛娐罚瑒t只能采用非完全差分測試。首先讓差分輸入的一端(如“+”端)連接AB1(Internal Analog Bus)、TBIC(Test Bus Interface Circuit)的S5,通過AT1腳輸入模擬測試激勵(lì),差分輸入的另一端(如“~ ”端)則通過其ABM 控制邏輯連其VH 或VL 來提供模擬測試激勵(lì)。對(duì)差分輸出響應(yīng)的獲取,先是讓差分輸出的一端經(jīng)AB2、TBIC的S6、AT2輸出,再讓差分輸出的另一端經(jīng)AB2、TBIC的S6、AT2輸出。然后再反過來,讓差分輸入“+”端接固定電平 VH 或VL,讓差分輸入的“一”端通過AB1、TBIC的S5、ATl腳輸入原模擬測試激勵(lì),同上面一樣測量兩次。施加兩次激勵(lì)及測量四次響應(yīng)雖然麻煩一些,但I(xiàn)C器件的邊界掃描硬件電路可設(shè)計(jì)簡單些,從而節(jié)省器件成本。
進(jìn)行完全差分測試,就需要被測試對(duì)象有專門的差分測試結(jié)構(gòu),即有一對(duì)差分測試激勵(lì)輸入管腳AT1和ATIN,一對(duì)差分測試響應(yīng)捕獲管腳AT2和AT2N及相應(yīng)的TBIC和內(nèi)部總線結(jié)構(gòu)。測試時(shí),差分模擬測試激勵(lì)通過AT1和ATIN、TBIC、AB1和AB1N差分輸入功能管腳的兩ABM 的兩SB1加載到差分輸入上。其差分輸出響應(yīng)經(jīng)差分輸出功能管腳的兩ABM的兩SB2、AB2和AB2N、TBIC、AT2和AT2N輸出給外部測試響應(yīng)處理器。
因目前還沒有符合DOT4的器件成品,所以使用了DOT4工作組用于混合信號(hào)邊界掃描測試的專用實(shí)驗(yàn)芯片KLIC0 。KLIC實(shí)際上是個(gè)Mixed—Signal Scan I/0。測試對(duì)象DEM0板設(shè)計(jì)原理是在Mixed—Signal Core電路的基礎(chǔ)上插入邊界掃描結(jié)構(gòu)即KLIC,使其構(gòu)成混合信號(hào)邊界掃描CUT。DEMO板掃描鏈中兩個(gè)邊界掃描器件之間直接的互連線有3條,分別從IC1的輸出腳DBM、ABM2、ABM3連接到IC2的輸入腳DBM、ABM2、ABM3。由KLIC的邊界掃描內(nèi)部結(jié)構(gòu)可知,其在掃描鏈上的互連測試矢量排列如下(其中,“X”為無關(guān)量,“V”對(duì)應(yīng)表1中的測試矢量欄,“R”對(duì)應(yīng)響應(yīng)數(shù)據(jù)欄):XVV XXXXXXXXXXXX XXXX XXX XXX VVX XVVX XXX XX XXXXXXXX與之相仿,掃描測試結(jié)果在掃描鏈上的表示為:XXR XXXXXXXXXXXX XXXX XXX XXX XXR XXXR XXX XX XXXXXXXX這里我們仿照WALK一1、WALK一0的全集測試矢量方法,測試時(shí),通過故障模擬開關(guān)進(jìn)行了故障設(shè)置,并且通過響應(yīng)測試碼得到了測試報(bào)告和測試分析。把DBM與ABM2橋接,本測試系統(tǒng)的測試結(jié)果如表1所示。
表1 DBM 與ABM2橋接時(shí)測試激勵(lì)和響應(yīng)
在這里,有個(gè)問題值得注意,數(shù)字邏輯“1”與模擬電平進(jìn)行線與操作得到的結(jié)果是數(shù)字化值“1”,與數(shù)字邏輯“1”線與數(shù)字邏輯“0”的結(jié)果為數(shù)字邏輯“0”不同,這主要與器件的實(shí)現(xiàn)結(jié)構(gòu)以及其VH或VL和VTH三種電平的值及其開關(guān)SH、SL的結(jié)構(gòu)有關(guān)。與美國Corelis公司的Scan Plus數(shù)字邊界掃描系統(tǒng)進(jìn)行了對(duì)比測試,所測結(jié)果完全一樣。
本文提出了符合1149. 4標(biāo)準(zhǔn)的測試方法,并用本研究室開發(fā)的混合信號(hào)邊界掃描測試系統(tǒng)進(jìn)行了測試驗(yàn)證。測試結(jié)果表明,不但能測量互連元器件是否存在,而且還可測量其元件值(電阻、電容、電感),當(dāng)然還可擴(kuò)充到非線性元件。
混合信號(hào)測試總線是測試數(shù)字和模擬信號(hào)的起點(diǎn),但不是解決問題的全部方案。對(duì)于小電抗的分立元件,或者高頻IC,其測量就較困難。
[1]張媛媛,姜巖峰.Σ-Δ模擬/ 數(shù)字轉(zhuǎn)換器綜述[J].微電子學(xué),2006,36(4):456-460.
[2]薛亮,沈延釗,張向民. 一種A/D靜態(tài)參數(shù)和動(dòng)態(tài)參數(shù)測試方法[J]. 儀器儀表學(xué)報(bào),2004,25(4):72-74.
[3]F. Azdis, S. Bernard, Y. Bertrand and M. Renovell.Towards an ADC BIST Scheme using the Histogram Test Technique [EB/OL]. 0-7695-0701-8/0 2000 IEEE
[4]Rahal-Arabi T,Taylor G.A JTAG based AC leakage self test[A].Symp VLSI Circ[C].Kyoto,Japan.2001, 205-206.
[5]王孜,劉洪民,吳德馨.邊界掃描測試電路的設(shè)計(jì)[J].微電子學(xué),2003,33(1):71-73.
[6]張西多,易曉山,胡政.基于IEEE1149.4的混合信號(hào)邊界掃描測試控制器設(shè)計(jì)[J].計(jì)算機(jī)測量與控制,2006,14(5):570-572.
[7]王維英,姜巖峰,基于JTAG標(biāo)準(zhǔn)的電流模模數(shù)轉(zhuǎn)換器的可測試性設(shè)計(jì)[J].微電子學(xué),2007(37):4.
[8]李正光,雷 加. 基于IEEE l 149.4的測試方法研究[J],測控技術(shù)與設(shè)備,2003(29):4.