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