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