邊界掃描測(cè)試(Boundary scan)是為了解決印制電路板(PCB)上芯片與芯片之間的互連測(cè)試而提出的一種解決方案。它與內(nèi)部掃描有明顯的區(qū)別,前者是在電路的輸入/輸出端口增加掃描單元,并將這些掃描單元連成掃描通路,后者是將電路中普通的時(shí)序單元替換成為具有掃描能力的時(shí)序單元,再將它們連成掃描通路。
一、邊界掃描測(cè)試原理
邊界掃描的原理是在核心邏輯電路的輸入和輸出端口都增加一個(gè)寄存器,通過將這些I/O上的寄存器連接起來,可以將數(shù)據(jù)串行輸入被測(cè)單元,并且從相應(yīng)端口串行讀出。在這個(gè)過程中,它可以實(shí)現(xiàn)3方面的測(cè)試。
首先是芯片級(jí)測(cè)試,即可以對(duì)芯片本身進(jìn)行測(cè)試和調(diào)試,使芯片工作在正常功能模式,通過輸入端輸入測(cè)試矢量,并通過觀察串行移位的輸出響應(yīng)進(jìn)行調(diào)試。
其次是板級(jí)測(cè)試,檢測(cè)集成電路和PCB之間的互連。實(shí)現(xiàn)原理是將一塊PCB上所有具有邊界掃描的IC中的掃描寄存器連接在一起,通過一定的測(cè)試矢量,可以發(fā)現(xiàn)元件是否丟失或者擺放錯(cuò)誤,同時(shí)可以檢測(cè)引腳的開路和短路故障。
最后是系統(tǒng)級(jí)測(cè)試,在板級(jí)集成后,可以通過對(duì)板上CPLD或者Flash的在線編程,實(shí)現(xiàn)系統(tǒng)級(jí)測(cè)試。
其中,最主要的功能是進(jìn)行板級(jí)芯片的互連測(cè)試,如圖1所示。
圖1 基于邊界掃描的板級(jí)互連測(cè)試
二、IEEE 1149.1標(biāo)準(zhǔn)
邊界掃描是歐美一些大公司聯(lián)合成立的一個(gè)組織——聯(lián)合測(cè)試行動(dòng)小組(JTAG),為了解決印制電路板(PCB)上芯片與芯片之間互連測(cè)試而提出的一種解決方案。由于該方案的合理性,它于1990年被IEEE采納而成為一個(gè)標(biāo)準(zhǔn),即IEEE 1149.1。該標(biāo)準(zhǔn)規(guī)定了邊界掃描的測(cè)試端口、測(cè)試結(jié)構(gòu)和操作指令。
1.IEEE 1149.1結(jié)構(gòu)
IEEE 1149.1結(jié)構(gòu)如圖2所示,其主要包括TAP控制器和寄存器組。其中,TAP控制器如圖3所示;寄存器組包括邊界掃描寄存器、旁路寄存器、標(biāo)志寄存器和指令寄存器,主要端口為TCK、TMS、TDI、TDO,另外還有一個(gè)用戶可選擇的端口TRST。
圖2 IEEE 1149.1結(jié)構(gòu)
圖3 TAP控制器
2.端口定義如下
(1)TCK(Test Clock)
邊界掃描設(shè)計(jì)中的測(cè)試時(shí)鐘是獨(dú)立的,因此與原來IC或PCB上的時(shí)鐘是無關(guān)的,也可以復(fù)用原來的時(shí)鐘。
(2)TMS(Test Mode Select)
由于在測(cè)試過程中,需要有數(shù)據(jù)捕獲、移位、暫停等不同的工作模式,因此需要有一個(gè)信號(hào)來控制。在IEEE 1149.1中,僅有這樣一根控制信號(hào),通過特定的輸入序列來確定工作模式,采用有限狀態(tài)機(jī)來實(shí)現(xiàn)。該信號(hào)在測(cè)試時(shí)鐘TCK的上升沿采樣。
(3)TDI(Test Data In)
以串行方式輸入的數(shù)據(jù)TDI有兩種。一種是指令信號(hào),送入指令寄存器;另一種是測(cè)試數(shù)據(jù)(激勵(lì)、輸出響應(yīng)和其他信號(hào)),它輸入到相應(yīng)的邊界掃描寄存器中去。
(4)TDO(Test Data Out)
以串行輸出的數(shù)據(jù)也有兩種,一種是從指令寄存器移位出來的指令,另一種是從邊界掃描寄存器移位出來的數(shù)據(jù)。
除此之外,還有一個(gè)可選端口TRST,為測(cè)試系統(tǒng)復(fù)位信號(hào),作用是強(qiáng)制復(fù)位。
3.TAP控制器
TAP控制器的作用是將串行輸入的TMS信號(hào)進(jìn)行譯碼,使邊界掃描系統(tǒng)進(jìn)入相應(yīng)的測(cè)試模式,并且產(chǎn)生該模式下所需的各個(gè)控制信號(hào)。IEEE 1149.1的TAP控制器由有限狀態(tài)機(jī)來實(shí)現(xiàn),圖4所示為狀態(tài)轉(zhuǎn)移圖。DR表示數(shù)據(jù)寄存器,IR表示指令寄存器。
圖4 TAP控制器的狀態(tài)轉(zhuǎn)移圖
4.寄存器組
(1)指令寄存器(IR,Instruction Register)
如圖5所示,指令寄存器由移位寄存器和鎖存器組成,長(zhǎng)度等于指令的長(zhǎng)度。IR可以連接在TDI和TDO的兩端,經(jīng)TDI串行輸入指令,并且送入鎖存器,保存當(dāng)前指令。在這兩部分中有個(gè)譯碼單元,負(fù)責(zé)識(shí)別當(dāng)前指令。由于JTAG有3個(gè)強(qiáng)制指令,所以該寄存器的寬度至少為2位。
圖5 指令寄存器
(2)旁路寄存器(BR,Bypass Register)
旁路寄存器也可以直接連接在TDI和TDO兩端,只有1位組成。若一塊PCB上有多個(gè)具有邊界掃描設(shè)計(jì)的IC,可將每個(gè)IC中的邊界掃描鏈串接起來。如果此時(shí)需要對(duì)其中的某幾個(gè)IC進(jìn)行測(cè)試,就可以通過BYPASS指令來旁路無須測(cè)試的IC。如圖6所示,如果需要測(cè)試Chip2和Chip3,則在TDI輸入110000就可以配置旁路寄存器,此時(shí)Chip1的旁路寄存器被置位,表示該芯片在測(cè)試過程中被旁路。
圖6 旁路寄存器使用舉例
(3)標(biāo)志寄存器(IDR,Identification Register)
如圖7所示,在一般的邊界掃描設(shè)計(jì)中,都包含一個(gè)固化有該器件標(biāo)志的寄存器,它是一個(gè)32位的標(biāo)準(zhǔn)寄存器,其內(nèi)容有關(guān)于該器件的版本號(hào)、器件型號(hào)、制造廠商等信息,用途是在PCB生產(chǎn)線上,可以檢查IC的型號(hào)和版本,以便檢修和替換。
在器件標(biāo)志寄存器的標(biāo)準(zhǔn)格式中,最低位(第0位)為1,用于識(shí)別標(biāo)志寄存器和旁路寄存器的標(biāo)志位。第1~11位為制造廠商的標(biāo)識(shí)位。根據(jù)國際聯(lián)合電子器件工程委員會(huì)所提出的方案,這11位共允許有2032個(gè)生產(chǎn)廠家的標(biāo)識(shí)。第12~27位表示器件的型號(hào),總計(jì)可以表示216=65536種不同的型號(hào)。余下的4位表示同一型號(hào)器件的不同版本。
圖7 標(biāo)志寄存器
(4)邊界掃描寄存器
邊界掃描寄存器是邊界掃描中最重要的結(jié)構(gòu)單元,它完成測(cè)試數(shù)據(jù)的輸入、輸出鎖存和移位過程中必要的數(shù)據(jù)操作。其工作在多種模式,首先是滿足掃描鏈上的串行移位模式,其次是正常模式下電路的數(shù)據(jù)捕獲和更新,如圖8所示。
圖8 邊界掃描寄存器
利用邊界掃描寄存器可提供如下的主要測(cè)試功能:
? 對(duì)被測(cè)IC的外部電路進(jìn)行測(cè)試,如可測(cè)IC之間的互連,此時(shí)可以使用外部測(cè)試指令EXTEST;
? 使用INTEST進(jìn)行被測(cè)電路的內(nèi)部自測(cè);
? 對(duì)輸入、輸出信號(hào)進(jìn)行采樣和更新,此時(shí)可以完全不影響核心邏輯電路的工作狀態(tài)。
5.相關(guān)指令
JTAG規(guī)定了3個(gè)強(qiáng)制指令:EXTEST、BYPASS、SAMPLE/PRELOAD。
(1)EXTEST:外測(cè)試指令
外測(cè)試指令主要用于測(cè)試IC和PCB之間的連線或邊界掃描設(shè)計(jì)以外的邏輯電路。執(zhí)行該指令的主要操作為,將測(cè)試矢量串行移位至邊界掃描寄存器,以激勵(lì)被測(cè)的連線或外部邏輯電路,同時(shí)該寄存器又捕獲響應(yīng)數(shù)據(jù),并串行移出測(cè)試結(jié)果,以便檢查。
(2)BYPASS:旁路指令
這是一條由1組成的全1指令串,它的功能是選擇該IC中的旁路寄存器BR,決定該IC是否被測(cè)試。
(3)SAMPLE/PRELOAD:采樣/預(yù)裝指令
采樣指令用于不影響核心邏輯正常工作的條件下,將邊界掃描設(shè)計(jì)中的并行輸入端的信號(hào)捕獲至邊界掃描寄存器中,在測(cè)試時(shí),通過采樣指令捕獲所測(cè)試邏輯電路的響應(yīng)。預(yù)裝指令功能與采樣基本相同,只是此時(shí)裝入邊界掃描寄存器的數(shù)據(jù)是編程者已知或確定的。除了上述必須的指令外,JTAG還定義了部分可選擇的指令:INTEST、IDCODE、RUNBIST、CLAMP、HIGHZ。
? INTEST為內(nèi)測(cè)試指令,用于測(cè)試核心邏輯電路。執(zhí)行過程與外測(cè)試指令基本相似,只是由于被測(cè)對(duì)象的位置恰好相反,它的激勵(lì)端和響應(yīng)測(cè)試端正好相反。
? IDCODE指令用于從標(biāo)志寄存器中取出標(biāo)志代碼。
? RUNBIST為運(yùn)行自測(cè)試指令,用來執(zhí)行被測(cè)邏輯的自測(cè)試功能,需要保證電路本身具有
? 自測(cè)結(jié)構(gòu)。
? CLAMP是組件指令,有兩個(gè)功能,一是使旁路寄存器為0,另一個(gè)是使邊界掃描寄存器BSR的輸出為一組給定的固定電平。
? HIGHZ是輸出高阻指令,可以使IC的所有輸出端都呈高阻狀態(tài),即無效狀態(tài)。
三、邊界掃描測(cè)試策略和相關(guān)工具
1.板級(jí)測(cè)試策略
利用邊界掃描IEEE 1149.1進(jìn)行板級(jí)測(cè)試的策略分以下3步。
① 根據(jù)IEEE 1149.1標(biāo)準(zhǔn)建立邊界掃描的測(cè)試結(jié)構(gòu)。
② 利用邊界掃描測(cè)試結(jié)構(gòu),對(duì)被測(cè)部分之間的連接進(jìn)行矢量輸入和響應(yīng)分析。這是板級(jí)測(cè)試的主要環(huán)節(jié),也是邊界掃描結(jié)構(gòu)的主要應(yīng)用。可以用來檢測(cè)由于電氣、機(jī)械和溫度導(dǎo)致的板級(jí)集成故障。
③ 對(duì)單個(gè)核心邏輯進(jìn)行測(cè)試,可以初始化該邏輯并且利用其本身的測(cè)試結(jié)構(gòu)。
2.相關(guān)EDA工具
工業(yè)界主要采用的邊界掃描工具為Mentor的BSDArchitect和Synopsys的BSD Compiler。以后者為例,其主要設(shè)計(jì)流程如圖9所示。該流程會(huì)生成BSDL文件,該文件是邊界掃描測(cè)試描述文件,該文件內(nèi)容包括引腳定義和邊界掃描鏈的組成結(jié)構(gòu)。一般的ATE可以識(shí)別該文件,并自動(dòng)生成相應(yīng)的測(cè)試程序,完成芯片在板上的漏電流等參數(shù)的測(cè)試。
圖9 邊界掃描設(shè)計(jì)流程
責(zé)任編輯:gt
-
pcb
+關(guān)注
關(guān)注
4293文章
22769瀏覽量
393200 -
測(cè)試
+關(guān)注
關(guān)注
8文章
4925瀏覽量
125940 -
電路板
+關(guān)注
關(guān)注
140文章
4810瀏覽量
96089
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論