文獻(xiàn)標(biāo)識碼: A
文章編號: 0258-7998(2013)01-0079-04
隨著微電子技術(shù)、表面貼裝技術(shù)和印制電路板制造技術(shù)的不斷發(fā)展,單芯片多核設(shè)計(jì)、片上系統(tǒng)和疊層裸片技術(shù)等成為主流技術(shù)?,F(xiàn)有的邊界掃描測試方法(JTAG)已很難滿足來自于測試、調(diào)試和功能等多方面的挑戰(zhàn):測試時需同時對多個測試存取端口(TAP)進(jìn)行控制和掃描;調(diào)試時需縮短掃描鏈長度及支持調(diào)試數(shù)據(jù)的傳輸;功能上需減少測試引腳并且實(shí)現(xiàn)更低的功耗。在此背景下,可測試性總線標(biāo)準(zhǔn)委員會于2009年表決通過 IEEE 1149.7 標(biāo)準(zhǔn),提出了緊湊型邊界掃描技術(shù)(CJTAG)[1]。CJTAG在兼容IEEE 1149.1標(biāo)準(zhǔn)的基礎(chǔ)上增加了新特性[2],完全滿足現(xiàn)階段芯片設(shè)計(jì)過程中測試與調(diào)試的新要求,且不影響目前市面上基于IEEE 1149.1標(biāo)準(zhǔn)設(shè)計(jì)的芯片進(jìn)行測試與調(diào)試操作。
標(biāo)準(zhǔn)公布以后,在國內(nèi)外電子業(yè)界引起了高度關(guān)注。CJTAG的研究主要包括兩個方面[3],一方面是設(shè)計(jì)支持CJTAG測試的電路芯片:充分利用待測芯片的緊湊型邊界掃描測試邏輯結(jié)構(gòu),提高電路芯片的測試與調(diào)試的效率,國內(nèi)徐志磊等人對此研究設(shè)計(jì)和驗(yàn)證了CJTAG接口[4];另一方面是對支持CJTAG測試的電路芯片設(shè)計(jì)相應(yīng)的測試系統(tǒng):產(chǎn)生符合IEEE 1149.7標(biāo)準(zhǔn)的測試信號[5-6]。本文主要研究后一問題,即在IEEE1149.7標(biāo)準(zhǔn)所提出的邊界掃描測試的基礎(chǔ)上,研究組建1149.7邊界掃描測試系統(tǒng)的設(shè)計(jì)方法。
1 IEEE 1149.7標(biāo)準(zhǔn)簡介
IEEE1149.7標(biāo)準(zhǔn)以IEEE 1149.1-2001邊界掃描標(biāo)準(zhǔn)為基礎(chǔ),提供可升級的測試方法滿足集成電路種類繁多及功能復(fù)雜的需要,從功能上劃分為T0~T5六層[7],每一層都在它上一層的基礎(chǔ)上增加新的功能,如圖1所示。
T0層確保符合IEEE 1149.1標(biāo)準(zhǔn)測試基礎(chǔ)構(gòu)架的可行性,支持多片上TAPC(測試存取引腳控制器)串行結(jié)構(gòu),可通過選擇序列控制共享DTS的技術(shù)分支。T1層用零位DR掃描(ZBS)設(shè)定TAP.7控制器的狀態(tài),在不影響TAP.1控制器的前提下實(shí)現(xiàn)控制器命令。T2層通過芯片級的旁路掃描路徑大幅縮短掃描鏈從而提高調(diào)試芯片的效率。T3層增加了4線星型(Star-4)掃描拓?fù)?,可直接對TAP.7控制器進(jìn)行尋址。T4層實(shí)現(xiàn)了質(zhì)的飛躍,增加的2線星型(Star-2)掃描拓?fù)鋵AP.7所需要的引腳數(shù)從4減少為2。T5層支持自定義的通信協(xié)議,且使用8個數(shù)據(jù)通道支持后臺數(shù)據(jù)的傳輸,使測試引腳能同時進(jìn)行待測芯片的調(diào)試與基本操作。
IEEE 1149.7標(biāo)準(zhǔn)根據(jù)測試與調(diào)試所需引腳數(shù)規(guī)定了標(biāo)準(zhǔn)協(xié)議和高級協(xié)議:標(biāo)準(zhǔn)協(xié)議指使用TCK、TMS引腳控制TAP控制器(支持IEEE 1149.x標(biāo)準(zhǔn)的TAP控制器)的狀態(tài)進(jìn)程,使用TDI、TDO引腳完成測試數(shù)據(jù)的傳輸;高級協(xié)議指使用TCKC與TMSC引腳不僅能控制TAPC的狀態(tài)進(jìn)程,而且還能完成測試數(shù)據(jù)的傳輸,TDIC和TDOC引腳可以閑置或做其他功能使用。IEEE 1149.7標(biāo)準(zhǔn)規(guī)定CJTAG的T4和T5層使用高級協(xié)議。根據(jù)IEEE 1149.7標(biāo)準(zhǔn),T2和T5層的功能在調(diào)試方面更具優(yōu)勢,本文所設(shè)計(jì)的CJTAG測試控制器主要解決待測芯片的測試問題,故本文重點(diǎn)實(shí)現(xiàn)支持CJTAG的T0、T1、T3和T4層的測試。
2 基于IEEE 1149.7標(biāo)準(zhǔn)的邊界掃描測試系統(tǒng)設(shè)計(jì)
在具有TAP.7接口的被測電路系統(tǒng)中進(jìn)行邊界掃描測試,需要滿足兩項(xiàng)條件:首先,被測系統(tǒng)的設(shè)計(jì)需符合IEEE 1149.7標(biāo)準(zhǔn)的規(guī)范;其次,需要有緊湊型邊界掃描測試系統(tǒng)的支持。雖然標(biāo)準(zhǔn)提出了測試系統(tǒng)的功能要求,但對測試系統(tǒng)的構(gòu)建方式與實(shí)現(xiàn)途徑?jīng)]有制定相應(yīng)的規(guī)范。在深入研究IEEE 1149.7標(biāo)準(zhǔn)的結(jié)構(gòu)與規(guī)范后,確定緊湊型邊界掃描測試系統(tǒng)的設(shè)計(jì)方法。
2.1 系統(tǒng)功能總體設(shè)計(jì)
CJTAG測試體系包括測試軟件和硬件平臺,如圖2所示。測試系統(tǒng)硬件包括兩大功能模塊:邊界掃描測試控制器和USB接口電路,其中測試控制器將PC機(jī)并行發(fā)送的測試信號轉(zhuǎn)化為滿足IEEE 1149.7標(biāo)準(zhǔn)的串行測試信號,在系統(tǒng)軟件控制下進(jìn)行掃描測試操作。
USB接口電路負(fù)責(zé)測試數(shù)據(jù)的交換及對測試控制器的管理。
系統(tǒng)軟件功能:提取被測電路的信息;根據(jù)提取的信息產(chǎn)生測試矢量發(fā)送至硬件平臺,并對響應(yīng)數(shù)據(jù)進(jìn)行分析與故障診斷等。即在PC上完成測試的設(shè)置、測試矢量的生成、測試數(shù)據(jù)的發(fā)送、響應(yīng)數(shù)據(jù)的接收、響應(yīng)數(shù)據(jù)的分析、測試結(jié)果的存儲及測試控制器的USB驅(qū)動。
2.2 測試系統(tǒng)硬件設(shè)計(jì)
CJTAG測試控制器作為測試體系最核心的部分,實(shí)際上是一種智能化的并行到串行的協(xié)議轉(zhuǎn)換器:將PC機(jī)并行發(fā)送的測試數(shù)據(jù)或測試指令轉(zhuǎn)化為待測芯片識別的串行CJTAG測試信號,且將待測芯片串行發(fā)送的響應(yīng)數(shù)據(jù)并行發(fā)送至PC機(jī)。具體完成的工作:
(1)根據(jù)PC機(jī)的設(shè)置產(chǎn)生CJTAG測試時鐘。
(2)讀取PC機(jī)中的測試數(shù)據(jù),并將這些并行的測試數(shù)據(jù)轉(zhuǎn)化為串行的CJTAG測試信號。當(dāng)無測試數(shù)據(jù)時,停止讀取PC機(jī)的測試數(shù)據(jù)。
(3)采集待測芯片返回的響應(yīng)數(shù)據(jù),并將這些串行的響應(yīng)數(shù)據(jù)并行寫入PC機(jī)。當(dāng)無響應(yīng)數(shù)據(jù)時,停止采集響應(yīng)數(shù)據(jù)。
2.2.1 控制器總體設(shè)計(jì)
根據(jù)CJTAG測試控制器的功能需求,將此控制器的設(shè)計(jì)分為五個子模塊和一個頂層模塊。五個子模塊分別為基本測試控制模塊、選擇機(jī)制控制模塊、命令控制模塊、Star-4控制模塊和Star-2控制模塊,分別實(shí)現(xiàn)了CJTAG的T0、T1、T3和T4層的功能。頂層模塊包括處理器接口模塊和TAP.7接口模塊,作為該控制器連接PC機(jī)和待測芯片的橋梁。具體硬件總體框圖如圖3所示。
2.2.2 基本測試控制模塊設(shè)計(jì)
基本測試控制模塊實(shí)現(xiàn)T0層的串行掃描測試,以TAP.7控制器狀態(tài)機(jī)為基礎(chǔ)設(shè)計(jì)一個模塊狀態(tài)機(jī),產(chǎn)生串行掃描所需要的測試信號實(shí)時控制待測芯片。
此模塊的工作過程:首先PC機(jī)將并行發(fā)送的測試數(shù)據(jù)和測試指令存儲在該模塊的數(shù)據(jù)存儲器中。其次通過TMS引腳控制TAP.7控制器進(jìn)入Shift-xR狀態(tài)且自循環(huán),測試數(shù)據(jù)或測試指令通過TDO引腳串行發(fā)送至待測芯片中,同時響應(yīng)數(shù)據(jù)通過TDI引腳由待測芯片串行傳輸?shù)皆撃K的數(shù)據(jù)存儲器中,最后將響應(yīng)數(shù)據(jù)并行輸出至PC機(jī)。
Shift-xR狀態(tài)測試數(shù)據(jù)或測試指令傳輸?shù)牟僮髁鞒倘鐖D4所示,圖中ram_address為緩沖器地址,ram_reload表明裝載緩沖器,test_data為測試數(shù)據(jù)或測試指令,shift_cnt為移位計(jì)數(shù)器。據(jù)此設(shè)計(jì)一個8×8的測試緩沖器,通過測試數(shù)據(jù)管腳并行接收PC機(jī)的測試數(shù)據(jù)或測試指令,在數(shù)據(jù)傳輸過程中通過TDO串行輸出。
2.2.3 選擇機(jī)制控制模塊設(shè)計(jì)
選擇機(jī)制控制模塊實(shí)現(xiàn)T0層的選擇序列。首先TMS(C)與TCK(C)信號產(chǎn)生相應(yīng)的邏輯序列實(shí)現(xiàn)選擇逃脫或警報(bào)初始化選擇序列。初始化選擇序列后,通過TMS(C)在TCK(C)下降沿產(chǎn)生指定的邏輯序列生成選擇序列。
生成選擇序列的操作流程如圖5所示。
2.2.4 其他控制模塊設(shè)計(jì)
其他控制模塊設(shè)計(jì)過程類似,命令控制模塊實(shí)現(xiàn)T1層的控制器命令,以TAP.7控制器狀態(tài)機(jī)為基礎(chǔ)設(shè)計(jì)一個模塊狀態(tài)機(jī),產(chǎn)生所需要的測試信號實(shí)時控制待測芯片,依次實(shí)現(xiàn)待測芯片的ZBS以及控制器命令。
Star-4控制模塊實(shí)現(xiàn)T3層的Star-4測試信號,以TAP.7控制器狀態(tài)機(jī)為基礎(chǔ)設(shè)計(jì)一個模塊狀態(tài)機(jī),產(chǎn)生所需要的測試信號實(shí)時控制待測芯片,在允許停泊的狀態(tài)發(fā)送SSD指令,選擇目標(biāo)控制器傳輸數(shù)據(jù)。
Star-2控制模塊實(shí)現(xiàn)T4層Star-2測試信號,以TAP.7控制器狀態(tài)機(jī)為基礎(chǔ)設(shè)計(jì)一個模塊狀態(tài)機(jī),產(chǎn)生所需要的測試信號實(shí)時控制待測芯片調(diào)用高級協(xié)議,在Star-4控制模塊的基礎(chǔ)上實(shí)例化調(diào)用高級掃描生成模塊,產(chǎn)生Star-2掃描拓?fù)錅y試信號。
2.3測試系統(tǒng)軟件平臺
測試系統(tǒng)軟件主要包括文本編譯模塊、測試矢量生成模塊、測試運(yùn)行模塊、故障診斷模塊、交互調(diào)試模塊等部分。
測試系統(tǒng)軟件總體框圖如圖6所示。測試軟件從操作界面輸入電路板網(wǎng)表文件,結(jié)合器件BSDL.1/BSDL.7/HSDL.7文件信息,通過文本編譯生成掃描鏈信息,分析可測互連網(wǎng)絡(luò),確定互連網(wǎng)絡(luò)節(jié)點(diǎn)的結(jié)構(gòu)類型,選定測試矢量生成算法。根據(jù)測試任務(wù)類型生成對應(yīng)的測試矢量集,利用測試運(yùn)行模塊測試操作。最后通過診斷模塊對測試結(jié)果進(jìn)行故障診斷,判定故障類型及故障位置。
3 測試及驗(yàn)證
本文中設(shè)計(jì)的測試控制器利用FPGA硬件平臺進(jìn)行設(shè)計(jì)和QuartusⅡ軟件進(jìn)行仿真驗(yàn)證。對五個子模塊功能,以選擇機(jī)制控制模塊為例進(jìn)行設(shè)計(jì)驗(yàn)證。
選擇機(jī)制控制模塊的主要功能是生成選擇序列。分別對選擇逃脫、警報(bào)及生成的選擇序列進(jìn)行仿真,驗(yàn)證設(shè)計(jì)的正確性。
3.1選擇逃脫及短型選擇序列的仿真
選擇逃脫及短型選擇序列的仿真如圖7所示,由仿真圖可知選擇機(jī)制控制模塊實(shí)現(xiàn)了選擇逃脫和短型選擇序列。
3.2 警報(bào)及長型選擇序列的仿真
警報(bào)及長型選擇序列的仿真如圖8所示,由仿真圖可知選擇機(jī)制控制模塊實(shí)現(xiàn)了警報(bào)和長型選擇序列。
由以上分析可知,選擇機(jī)制控制模塊實(shí)現(xiàn)的測試信號滿足了IEEE 1149.7標(biāo)準(zhǔn)中關(guān)于選擇序列的要求。
邊界掃描測試技術(shù)廣泛應(yīng)用于超大規(guī)模的集成電路中,IEEE 1149.7測試標(biāo)準(zhǔn)的發(fā)展為測試設(shè)計(jì)提出了更高的要求。本文從IEEE1149.7標(biāo)準(zhǔn)分層理論入手,針對測試問題設(shè)計(jì)了CJTAG測試控制器。該控制器以CJTAG的六個功能層為理論依據(jù),提供了一種可擴(kuò)展的設(shè)計(jì)方案。通過構(gòu)建測試系統(tǒng),仿真實(shí)驗(yàn)驗(yàn)證證明了設(shè)計(jì)的正確性。
參考文獻(xiàn)
[1] IEEE Std 1149.7. IEEE standard for reduced-pin and enhanced-functionality test access port and boundary-scan architecture[S]. IEEE Standard Board, 2009.
[2] IEEE Std 1149.1-2001. IEEE standard test access port and Boundary-Scan Architecture[S]. IEEE Standard Board, 2001.
[3] LAU S. 在SoC調(diào)試中重塑JTAG的作用[J].電子設(shè)計(jì)應(yīng)用, 2009(2):26-29.
[4] 徐志磊.緊湊型JTAG接口的設(shè)計(jì)與驗(yàn)證[D].上海:上海交通大學(xué),2010.
[5] 黃文君.基于IEEE1149.7邊界掃描技術(shù)的研究[D].桂林:桂林電子科技大學(xué), 2011.
[6] 建真真. CJTAG測試控制器的研究設(shè)計(jì)[D].桂林:桂林電子科技大學(xué),2012.
[7] LEY A W. Doing more with less-an IEEE 1149.7 embedded tutorial: standard for reduced-pin and enhanced-functionality test access port and boundary-scan architecture[J]. International Test conference, 2009.