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