陳 翎,潘中良
(華南師范大學(xué)物理與電信工程學(xué)院,廣東 廣州510006)
集成電路邊界掃描測試系統(tǒng)中測試方式選擇模塊的電路設(shè)計(jì)
陳 翎,潘中良
(華南師范大學(xué)物理與電信工程學(xué)院,廣東 廣州510006)
集成電路規(guī)模的不斷增加,使測試的開銷在產(chǎn)品總成本中所占的比重越來越大,測試的過程更為復(fù)雜,因此對(duì)電路芯片需要采用邊界掃描測試進(jìn)行可測性設(shè)計(jì)。對(duì)邊界掃描控制器中的測試方式選擇TMS模塊的功能進(jìn)行了詳細(xì)說明,給出了該模塊的電路設(shè)計(jì)方法與步驟。通過與測試軟件的結(jié)合,能檢測芯片間互連線的開路故障、短路故障、固定型故障,以及芯片的內(nèi)部邏輯功能是否正常。
集成電路;邊界掃描;TAP控制器;測試方式選擇
隨著集成電路(IC)的設(shè)計(jì)與制造工藝的發(fā)展,電路的集成度不斷提高,電路的規(guī)模和布線密度也迅速增大。電路芯片的內(nèi)部結(jié)構(gòu)日趨復(fù)雜,時(shí)鐘頻率已在向千兆赫茲及以上發(fā)展。大規(guī)模集成電路和芯片的應(yīng)用領(lǐng)域不斷擴(kuò)大,也使得與其相關(guān)的數(shù)字系統(tǒng)的功能與結(jié)構(gòu)越來越復(fù)雜[1,2]。
在電路芯片和印制電路板的生產(chǎn)過程中,為保證其可靠性,測試一直是一個(gè)重要的工藝步驟。電路中常見的故障有信號(hào)線的短路、開路、固定型故障s-a-0和s-a-1,信號(hào)線和門電路的時(shí)延故障,以及信號(hào)完整性故障等[3,4]。例如,串?dāng)_就是一種典型的信號(hào)完整性故障,它是由兩條或多條信號(hào)線之間的耦合所引起的,是由一條信號(hào)線上的信號(hào)向相鄰信號(hào)線產(chǎn)生噪聲的現(xiàn)象。串?dāng)_根據(jù)其耦合源分為容性耦合和感性耦合兩種方式,當(dāng)信號(hào)在通過一條信號(hào)線時(shí)會(huì)按照這兩種方式將能量耦合到相鄰的信號(hào)線上。串?dāng)_對(duì)被干擾的信號(hào)線所帶來的噪聲主要有峰值的變化和時(shí)序的變化[5,6]。在一個(gè)電路中如果存在串?dāng)_故障,將會(huì)引起電路的時(shí)序和邏輯功能發(fā)生錯(cuò)誤,進(jìn)而對(duì)電路的性能造成影響,并導(dǎo)致電路的質(zhì)量和可靠性的下降。
因此,隨著集成電路規(guī)模的不斷增加,對(duì)它的測試問題也日益尖銳起來,測試的開銷在產(chǎn)品總成本中所占的比重越來越大,特別是對(duì)大規(guī)模數(shù)字集成電路,其測試的過程更為復(fù)雜,不能再采用傳統(tǒng)的物理接觸的針床和測試探針等來進(jìn)行測試,必須在電路的設(shè)計(jì)時(shí)就考慮測試的問題,進(jìn)行可測性設(shè)計(jì)[7,8]。邊界掃描測試就是一種可用于電路芯片與印制電路板的可測性設(shè)計(jì)技術(shù),能夠有效地進(jìn)行芯片內(nèi)部的邏輯功能測試和芯片間的互連測試[9,10]。本文對(duì)邊界掃描控制器中的測試方式選擇TMS模塊的功能進(jìn)行了分析,給出了該模塊的電路實(shí)現(xiàn)。
邊界掃描測試是針對(duì)電路芯片和印制電路板的一種可測試性設(shè)計(jì)技術(shù),它能夠?qū)崿F(xiàn)對(duì)芯片級(jí)、電路板級(jí),乃至系統(tǒng)級(jí)等不同層次的測試。它是在芯片的每一個(gè)輸入/輸出管腳處添加一個(gè)邊界掃描單元,這種邊界掃描單元是由一些寄存器所組成,通過將這些寄存器連成掃描路徑,構(gòu)成掃描鏈。
在進(jìn)行測試期間,這些邊界掃描單元用于控制輸入管腳的狀態(tài),并讀出輸出管腳的狀態(tài),這樣就可以檢測出電路板中器件的好壞以及相互連接的正確性。在正常工作期間,這些邊界掃描單元是透明的,不影響芯片和電路板的正常工作。
邊界掃描測試的硬件電路結(jié)構(gòu)主要包括:測試存取通道(TAP)、TAP控制器、指令寄存器、旁路寄存器、測試數(shù)據(jù)寄存器等。在硬件上在電路芯片的每個(gè)I/O引腳處添加一個(gè)邊界掃描單元,以及添加一些測試控制邏輯。這些邊界掃描單元位于芯片的外部引腳和芯片的內(nèi)部邏輯之間,在TAP控制器的作用下,對(duì)外部引腳和內(nèi)部邏輯進(jìn)行信號(hào)的采集或施加測試信號(hào)。邊界掃描測試的結(jié)構(gòu)如圖1所示。
圖1 邊界掃描測試的結(jié)構(gòu)
測試存取通道TAP(Test Access Port)是邊界掃描測試結(jié)構(gòu)與外部電路的接口,它包括以下五種控制信號(hào):測試時(shí)鐘、測試方式選擇、測試數(shù)據(jù)輸入、測試數(shù)據(jù)輸出、測試復(fù)位。
(1)測試時(shí)鐘TCK(Test Clock)是用于控制邊界掃描寄存器和TAP控制器的時(shí)鐘。
(2)測試方式選擇TMS(Test Mode Select)是用于確定被測電路中的TAP控制器的當(dāng)前狀態(tài),以進(jìn)行測試數(shù)據(jù)的移入與移出。當(dāng)該信號(hào)有效時(shí),IC芯片處于測試模式,否則是處于正常工作模式。
(3)測試數(shù)據(jù)輸入TDI(Test Data Input)是用于邊界掃描測試數(shù)據(jù)的輸入,邊界掃描指令和測試數(shù)據(jù)均由此進(jìn)行輸入。TAP控制器的狀態(tài)及指令寄存器的內(nèi)容決定哪個(gè)寄存器接受TDI傳來的數(shù)據(jù)。在TCK的上升沿,TDI的數(shù)據(jù)裝入到寄存器中。
(4)測試數(shù)據(jù)輸出TDO(Test Data Output)是用于邊界掃描測試數(shù)據(jù)的輸出,由TAP控制器的狀態(tài)和指令寄存器的內(nèi)容來決定哪些寄存器用于數(shù)據(jù)的輸出;TDO在TCK的下降沿改變狀態(tài),并僅在數(shù)據(jù)輸出時(shí)有效,其余時(shí)間TDO均為高阻態(tài)。
(5)測試復(fù)位TRST(Test Reset)是用于邊界掃描測試的邏輯復(fù)位,該信號(hào)為可選信號(hào)。當(dāng)為低電平時(shí)有效,即當(dāng)TRST的輸入為低電平時(shí),邊界掃描測試的控制邏輯無效,芯片進(jìn)入正常工作狀態(tài)。
每個(gè)邊界掃描單元都有兩個(gè)數(shù)據(jù)通道:一個(gè)是測試數(shù)據(jù)通道,它包含測試數(shù)據(jù)輸入TDI和測試數(shù)據(jù)輸出TDO;另一個(gè)是常規(guī)數(shù)據(jù)通道,即常規(guī)數(shù)據(jù)的輸入與輸出。在常規(guī)的工作狀態(tài)時(shí),數(shù)據(jù)的輸入和輸出可以自由地通過每個(gè)邊界掃描單元進(jìn)行傳送。在測試狀態(tài)時(shí),對(duì)于用作輸入的IC引腳,可以從TDI輸入數(shù)據(jù);對(duì)于用作輸出的IC引腳,可以從邊界掃描單元輸出數(shù)據(jù)至TDO.
TAP控制器是邊界掃描測試的核心,它的輸入信號(hào)為TCK、TMS和TRST.TAP控制器產(chǎn)生測試時(shí)鐘信號(hào),在它進(jìn)入到相應(yīng)的狀態(tài)時(shí)就可以進(jìn)行測試數(shù)據(jù)的移位、更新、捕獲等操作。下面對(duì)TAP控制器中的測試方式選擇TMS模塊的硬件電路實(shí)現(xiàn)進(jìn)行詳細(xì)闡述。
測試方式選擇TMS模塊的功能是確定并給出TAP控制器的當(dāng)前狀態(tài)、產(chǎn)生測試方式選擇TMS信號(hào)、控制TDI模塊的數(shù)據(jù)移出和TDO模塊的數(shù)據(jù)移入。TMS模塊的結(jié)構(gòu)如圖2所示。
圖2 TMS模塊的結(jié)構(gòu)
在圖2中,狀態(tài)譯碼是對(duì)測試系統(tǒng)的指令在運(yùn)行時(shí)的一些狀態(tài)例如當(dāng)前狀態(tài)、工作狀態(tài)、結(jié)束狀態(tài)等的譯碼操作。測試時(shí)鐘TCK對(duì)狀態(tài)譯碼、TMS信號(hào)生成、TAP狀態(tài)生成等提供時(shí)鐘信息,使得能夠在相應(yīng)的信號(hào)狀態(tài)執(zhí)行特定的操作。
TMS模塊的一個(gè)主要功能是給出TAP控制器的當(dāng)前狀態(tài),這里TAP控制器是邊界掃描測試的關(guān)鍵部分,它是一個(gè)同步狀態(tài)機(jī),把接收到的TMS信號(hào)和TCK信號(hào)進(jìn)行譯碼,并產(chǎn)生所需要的操作控制序列,使得被測電路進(jìn)入相應(yīng)的測試方式。圖3是TAP控制器的狀態(tài)圖,在圖中的箭頭邊上的數(shù)字0或1是表示TMS信號(hào)在TCK上升沿的值。在圖3中右邊的分支是用于指令寄存器,左邊的分支是用于數(shù)據(jù)寄存器。
圖3 TAP控制器的狀態(tài)圖
當(dāng)被測電路處于邊界掃描測試模式時(shí),TAP控制器根據(jù)指令選擇一種寄存器,該寄存器中的每個(gè)單元在TAP控制器的作用下進(jìn)行數(shù)據(jù)移位、輸出數(shù)據(jù)、鎖存數(shù)據(jù)等各種操作。
TAP控制器有如下的多個(gè)穩(wěn)定狀態(tài):測試邏輯復(fù)位(Test-Logic-Reset),運(yùn)行測試/空閑(Run-Test/ Idle),數(shù)據(jù)寄存器移位(Shift-DR),數(shù)據(jù)寄存器暫停(Pause-DR),指令寄存器移位(Shift-IR),指令寄存器暫停(Pause-IR)。對(duì)TAP控制器的狀態(tài)轉(zhuǎn)換,當(dāng)TMS為高電平時(shí)只有測試邏輯復(fù)位這一種穩(wěn)定狀態(tài);當(dāng)TAP控制器處于其他狀態(tài)時(shí),通過設(shè)定TMS信號(hào)為高電平,就可以在五個(gè)測試時(shí)鐘TCK的時(shí)間內(nèi)返回到測試邏輯復(fù)位這種狀態(tài)。當(dāng)需要對(duì)被測電路進(jìn)行測試時(shí),在TCK和TMS信號(hào)的控制下,使得TAP控制器跳出測試邏輯復(fù)位狀態(tài),并通過選擇數(shù)據(jù)寄存器掃描(Select-DR-Scan)或選擇指令寄存器掃描(Select -IR-Scan)而進(jìn)入到圖3所示的各種狀態(tài)。
對(duì)兩個(gè)分支即選擇數(shù)據(jù)寄存器掃描和選擇指令寄存器掃描中的狀態(tài)的操作過程是類似的。對(duì)選擇數(shù)據(jù)寄存器掃描,第一步是捕獲數(shù)據(jù),是把數(shù)據(jù)并行地加載到相應(yīng)的串行數(shù)據(jù)通道中,然后TAP控制器從捕獲狀態(tài)(Capture-DR)進(jìn)入到移位狀態(tài)(Shift -DR)或退出1狀態(tài)(Exit1-DR)。隨后,TAP控制器可以通過退出1狀態(tài)而進(jìn)入到更新狀態(tài)(Update-DR)或暫停(Pause-DR)狀態(tài)。當(dāng)在更新狀態(tài)時(shí),移入掃描通道的數(shù)據(jù)被輸出;當(dāng)在暫停狀態(tài)時(shí),對(duì)數(shù)據(jù)的移位被暫時(shí)停止,這時(shí)可以對(duì)數(shù)據(jù)寄存器重新加載測試矢量。當(dāng)跳出Pause-DR狀態(tài)之后,就進(jìn)入到退出2狀態(tài)(Exit2-DR),然后通過該狀態(tài)可以再次進(jìn)入移位狀態(tài)或更新狀態(tài),或回到運(yùn)行測試/空閑(Run -Test/Idle)狀態(tài)。只要TMS信號(hào)保持為邏輯0,則TAP控制器就處于運(yùn)行測試/空閑狀態(tài)。
對(duì)被測電路進(jìn)行測試的第一步是裝入一條指令,此時(shí)必須進(jìn)入到選擇指令寄存器掃描這一分支,為了從運(yùn)行測試/空閑狀態(tài)進(jìn)入到該分支,需要兩個(gè)TCK時(shí)鐘脈沖,同時(shí)TMS必須保持在邏輯1.當(dāng)TAP控制器處于該分支時(shí),被測電路中的指令寄存器被串行連接起來,并被連接在TDI與TDO管腳之間;對(duì)緊接著的兩個(gè)TCK時(shí)鐘脈沖,并使TMS為邏輯0,就能進(jìn)入到捕獲指令寄存(Capture-IR)狀態(tài),隨后可進(jìn)入到移位指令寄存(Shift-IR)狀態(tài)。這里,只要TAP控制器處于移位指令寄存狀態(tài)且TMS保持為邏輯0時(shí),在多個(gè)TCK時(shí)鐘脈沖的時(shí)間內(nèi),移位操作可以連續(xù)進(jìn)行。若把TMS再次設(shè)置為邏輯1,則移位過程結(jié)束,進(jìn)入到退出1狀態(tài)(Exit1-IR),然后可進(jìn)入更新指令寄存(Update-IR)狀態(tài)。在更新指令寄存狀態(tài),將TMS設(shè)置為邏輯0時(shí),就回到運(yùn)行測試/空閑狀態(tài);將TMS設(shè)置為邏輯1時(shí),就進(jìn)入到選擇數(shù)據(jù)寄存器掃描這個(gè)狀態(tài)。
在對(duì)TMS模塊進(jìn)行硬件電路設(shè)計(jì)時(shí),首先需要對(duì)TAP控制器的狀態(tài)進(jìn)行編碼,以把當(dāng)前的狀態(tài)值鎖存到寄存器中。表1是TAP控制器的狀態(tài)的一種編碼方式。
表1 TAP控制器的狀態(tài)編碼
其次,TMS模塊的電路結(jié)構(gòu)主要是由一個(gè)FIFO緩存、TAP狀態(tài)機(jī)和TAP狀態(tài)寄存器三部分組成。這里的FIFO緩存用于存儲(chǔ)多條測試命令,例如,對(duì)整個(gè)邊界掃描進(jìn)行復(fù)位操作的命令,進(jìn)行數(shù)據(jù)移位的命令,進(jìn)行指令移位的命令等。這些命令是通過電路的JTAG接口進(jìn)行測試時(shí)使用的測試命令,是由被測電路的生產(chǎn)商在出廠時(shí)就已經(jīng)定義好的,因此可直接使用。通過不斷地對(duì)FIFO緩存中的命令進(jìn)行讀取并執(zhí)行,每執(zhí)行完一條命令后,再從FIFO中取出下一條命令,直到FIFO為空。
TMS模塊中的TAP狀態(tài)機(jī)依據(jù)當(dāng)前所輸入和執(zhí)行的這條命令,來進(jìn)行狀態(tài)轉(zhuǎn)移,并根據(jù)對(duì)應(yīng)的狀態(tài)來產(chǎn)生并輸出相應(yīng)的TMS信號(hào)。例如,當(dāng)執(zhí)行的命令是復(fù)位命令Reset時(shí),則TMS信號(hào)是連續(xù)輸出5個(gè)TCK周期長度的高電平,使被測電路進(jìn)入TAP的測試邏輯復(fù)位狀態(tài);當(dāng)執(zhí)行的命令是數(shù)據(jù)移位命令時(shí),則TMS信號(hào)是TDO使能信號(hào),使TDO模塊進(jìn)行移位操作。TMS模塊中的TAP狀態(tài)寄存器的作用是將當(dāng)前的狀態(tài)值鎖存到寄存器中,以供其它的電路模塊查詢當(dāng)前的TAP狀態(tài)并在此基礎(chǔ)上通過一定的途徑來改變TAP的后續(xù)狀態(tài)。
使用如上的TMS模塊的電路結(jié)構(gòu),采用FPGA設(shè)計(jì)了一個(gè)邊界掃描控制器,如圖4所示。對(duì)邊界掃描控制器的USB總線,采用USB芯片CY7C68013A來實(shí)現(xiàn),以完成邊界掃描控制器與微型計(jì)算機(jī)之間的通信。對(duì)邊界掃描控制器的其它部分,采用FPGA芯片EP2C8Q208C8N來實(shí)現(xiàn),通過該控制器對(duì)微型計(jì)算機(jī)傳來的測試命令與測試數(shù)據(jù)進(jìn)行相應(yīng)的時(shí)序轉(zhuǎn)換,實(shí)現(xiàn)對(duì)被測電路的邊界掃描測試,即完成操作指令與測試矢量的施加,對(duì)測試響應(yīng)的捕獲,對(duì)故障與測試結(jié)果的分析等。
圖4 邊界掃描控制器的結(jié)構(gòu)
在圖4中,鎖相環(huán)模塊是對(duì)輸入時(shí)鐘信號(hào)進(jìn)行倍頻,供FPGA芯片內(nèi)的各個(gè)模塊使用。接口模塊是完成與USB芯片的通信,通過使用上位機(jī)(微型計(jì)算機(jī))上的測試程序來實(shí)現(xiàn)對(duì)邊界掃描控制器的測試過程的控制與測試結(jié)果的傳送。測試時(shí)鐘TCK模塊是實(shí)現(xiàn)可變頻率的測試時(shí)鐘信號(hào),測試方式選擇TMS模塊是根據(jù)所輸入的命令和TAP狀態(tài),來產(chǎn)生TMS信號(hào)以及產(chǎn)生對(duì)TDO和TDI模塊的控制信號(hào)。測試數(shù)據(jù)輸出TDO模塊實(shí)現(xiàn)對(duì)FIFO緩存中數(shù)據(jù)的并串轉(zhuǎn)換,并按照TMS的指示來完成數(shù)據(jù)的輸出。測試數(shù)據(jù)輸入TDI模塊實(shí)現(xiàn)對(duì)TDI輸入信號(hào)的采樣,并在TMS模塊的控制下完成串并轉(zhuǎn)換,并進(jìn)行保存。
用C++語言編制了邊界掃描的測試軟件,該軟件由如下模塊組成:電路結(jié)構(gòu)處理、電路網(wǎng)表結(jié)構(gòu)分析、完備性測試、互連測試、芯片內(nèi)部功能的測試、測試結(jié)果輸出等。該軟件在微型計(jì)算機(jī)上運(yùn)行,通過與邊界掃描控制器的結(jié)合,實(shí)現(xiàn)了對(duì)被測電路的整個(gè)測試過程。
為驗(yàn)證邊界掃描測試系統(tǒng)的性能,設(shè)計(jì)了一個(gè)被測電路板,在該板上主要有如下六個(gè)芯片:EP1C3T144、EPM7064AET44、四個(gè)SN74LVTH182512.把這六個(gè)芯片通過邊界掃描測試總線中的TCK、TMS、TDI和TDO等進(jìn)行連接。同時(shí),在它們的互連線上設(shè)置了開路、短路、固定型s-a-0和s-a-1等多種類型的故障。
實(shí)驗(yàn)結(jié)果說明,所設(shè)計(jì)的邊界掃描測試系統(tǒng),能檢測芯片的內(nèi)部邏輯功能是否正常,能夠檢測芯片間互連線的開路故障、短路故障、固定型故障s-a-0 和s-a-1等多種類型的故障。
邊界掃描測試能夠?qū)﹄娐沸酒膬?nèi)部邏輯功能以及芯片間互連線的故障進(jìn)行檢測,可以有效地提高電路芯片和印制電路板的可靠性。在進(jìn)行邊界掃描控制器的設(shè)計(jì)時(shí),測試方式選擇TMS模塊對(duì)整個(gè)測試過程起主要作用。本文對(duì)TMS模塊的功能進(jìn)行了詳細(xì)闡述,給出了對(duì)它的電路實(shí)現(xiàn)方法。
[1]潘中良.系統(tǒng)芯片SoC的設(shè)計(jì)與測試[M].北京:科學(xué)出版社,2009.
[2]陳光禹,潘中良.可測性設(shè)計(jì)與技術(shù)[M].北京:電子工業(yè)出版社,1997.
[3]W.Dghais,J.Rodriguez.New multiport I/O model for poweraware signal integrity analysis[J].IEEE Trans.on Components Packaging&Manufacturing Technology,2016,6(3):447-454.
[4]B.A.Khaled,N.C.Roda,G.Ali.RF performance of SOI CMOS technology on commercial 200-mm enhanced signal integrity high resistivity SOI substrate[J].IEEE Trans.on Electron Devices,2014,61(3):722-728.
[5]V.R.Kumar,A.Alam,B.Kaushik.An unconditionally stable FDTD model for crosstalk analysis of VLSI interconnects[J]. IEEE Trans.on Components,Packaging&Manufacturing Technology,2015,5(12):1810-1817.
[6]K.Karmarkar,S.Tragoudas.On-chip codeword generation to cope with crosstalk[J].IEEE Trans.on CAD,2014,33(2): 237-250.
[7]IEEE Std1149.1-2001,IEEE standard test access port and boundary-scan architecture[S].2001.
[8]F.Farnaz,N.Bahareh,T.Fatemeh.A new approach to model the effect of topology on testing using boundary scan[J].Journal of Electronic Testing,2015,31(3):301-310.
[9]L.Y.Ungar.Boundary scan as a system-level diagnostic tool [J].IEEE Instrumentation&Measurement Magazine,2013,16 (4):8-15.
[10]B.Terry.Considerations in the design of a boundary scan runtime library[J].IEEE Instrumentation&Measurement Magazine,2014,17(4):27-30.
Circuit Design of Test Mode Selection Module for Integrated Circuits Boundary Scan Testing System
CHEN Ling,PAN Zhong-liang
(School of Physics and Telecommunication Engineering,South China Normal University,Guangzhou Guangdong 510006,China)
The increasing scale of integrated circuits makes that the cost of the testing process is increasing in the proportion of the total cost of the product.The testing process of chip is more complex,therefore it is needed to adopt the boundary scan testing which is one of design for testability.The function of test mode selection module in boundary scan controller is demonstrated in this paper,the circuit design method and procedure are given.The combination of boundary scan controller and testing software can detect the open faults,bridge faults,stuck-at faults,and can detect the internal logic function of the chips.
integrated circuits;boundary scan;TAP controller;test mode selection
TN407
A
1672-545X(2016)07-0023-05
2016-04-02
廣東省自然科學(xué)基金(編號(hào):2014A030313441);廣東省科技計(jì)劃項(xiàng)目(編號(hào):2013B090600063,2014B090901005),廣州市科技計(jì)劃項(xiàng)目(編號(hào):201510010169)資助。
陳翎(1968-),女,四川成都人,本科,工程師,研究方向:電路與系統(tǒng)。