數(shù)字信號處理(DSP )系統(tǒng)測試和調(diào)試2
JTAG 技術(shù)簡介
收縮技術(shù)(shrinking technology)的一個劣勢在于,測試小型器件的復(fù)雜程度急劇升高。當電路板面積較大時,板的測試是通過采用釘床等技術(shù)來進行的。這種技術(shù)采用小型彈簧式測試探針來和板底部的焊盤進行連接。這種測試方案是定制的,不僅成本太高,而且效率低下,而且在設(shè)計完成之前很多測試都無法進行。
隨著電路板面積的縮小,以及表面貼裝技術(shù)的改進,釘床測試的問題不斷增多。
而且,如果一塊電路板兩面都安插了器件,根本無法留下任何可使電路板安放到測試器件上的依附點。
邊界掃描(Boundary scan)
1985 年,一個歐洲電子公司組織聯(lián)合起來,試圖尋找能夠解決這些問題的方案。該組織名為聯(lián)合測試行動組,制定了一個用于在集成電路級別上進行邊界掃描硬件測試的規(guī)范。1990 年,IEEE 將該規(guī)范制定為IEEE 1149.1 標準,在其中說明了通過一個JTAG 端口接入任何芯片的詳情。
邊界掃描技術(shù)可以通過少數(shù)的專用測試管腳在嵌入式系統(tǒng)上進行大量調(diào)試和診斷。信號被連續(xù)掃描進出器件的I/O 單元,以在各種情況下控制其輸入并測試輸出。如今,邊界掃描技術(shù)幾乎成為業(yè)界最為流行并通用的可測性設(shè)計技術(shù)。
測試管腳
系統(tǒng)中的器件是通過一組I/O 管腳來和外界通信的。如果只靠這些管腳本身,我們無法詳細了解器件內(nèi)部的情況。但是,支持邊界掃描的器件中有一種位移寄存器,器件的每個信號管腳都有一個。如圖5 所示,這些寄存器以一個特別的路徑連接在器件的邊界上(邊界掃描因此而得名)。這樣就將每個普通輸入端口都包圍起來,并直接控制器件及輸出端上的可視性。
圖5 一個采用了JTAG 邊界掃描的標準集成電路
在測試中,器件的I/O 信號通過邊界掃描單元進出芯片。經(jīng)過配置,邊界掃描單元可以支持外部測試,以測試芯片間的互聯(lián),也可以支持內(nèi)部測試,測試芯片內(nèi)部的邏輯。
為了提供邊界掃描功能,IC 廠商必須在他們的器件上添加邏輯,包括每個信號管腳上的掃描寄存器、一個連接這些寄存器的專用掃描路徑、4 個(需要時可添加5 個)額外的管腳以及額外的控制電路。
添加這個邏輯并不會產(chǎn)生太多的負載,而且為了實現(xiàn)板級的高效測試能力,這樣的成本也是值得的。這些邊界掃描控制信號被統(tǒng)稱為測試接入端口(TAP),定義了一個用于掃描式器件的串行協(xié)議:
TCK/時鐘- 同步內(nèi)部狀態(tài)機操作。
TMS/模式選擇- 在TCK 的上升沿被采樣,以決定下一個狀態(tài)。
TDI/數(shù)據(jù)進入- 當內(nèi)部狀態(tài)機處于正確狀態(tài)時,這個信號在TCK 的上升沿被采樣,被轉(zhuǎn)移到器件的測試或編程邏輯。
TDO/數(shù)據(jù)輸出- 當內(nèi)部狀態(tài)機處于正確狀態(tài)時,這個信號表示數(shù)據(jù)被從器件的測試或編程邏輯轉(zhuǎn)移出去,并在TCK 的下降沿有效。
TRST/重置(可選功能)- 當TCK 下降至很低時,內(nèi)部狀態(tài)機會自動重置。
TCK、TMS 和TRST 輸入管腳驅(qū)動著一個有16 種狀態(tài)的TAP 控制器狀態(tài)機。TAP控制器控制著數(shù)據(jù)和指令的交換。它根據(jù)每個TCK 上升沿的TMS 信號數(shù)值來進入下一個狀態(tài)。只要接線方式無誤,就可以對多個IC 或電路板進行同步測試。邊界掃描描述語言文件定義了各個器件的邊界掃描邏輯的功能。
測試過程
通過邊界掃描技術(shù)驗證一個器件(或電路板)的標準測試過程如下:
測試人員將測試或診斷數(shù)據(jù)加到器件的輸入管腳上。
邊界掃描單元在監(jiān)控輸入管腳的邊界掃描寄存器中捕捉數(shù)據(jù)。
數(shù)據(jù)通過TDO 管腳掃描出器件,用于驗證。
數(shù)據(jù)可通過TDI 管腳掃描進器件。
測試人員在器件的輸出管腳上驗證數(shù)據(jù)。
簡單的測試可以發(fā)現(xiàn)一些制造缺陷,例如器件管腳斷開、器件缺失、電路板上的器件位置不正確或者方向倒反等情況,甚至能檢測到有故障的或者無法工作的器件。
邊界掃描技術(shù)的主要優(yōu)勢在于它能夠獨立于應(yīng)用邏輯來觀察器件輸入上的數(shù)據(jù),并控制輸出的數(shù)據(jù)。另一個關(guān)鍵優(yōu)勢是它可以降低接入設(shè)備所需測試點的總數(shù)量。有了邊界掃描,就不再需要物理測試點,從而降低電路板制造成本,并提高封裝密度。
邊界掃描的診斷功能要好于其它測試方法。傳統(tǒng)的技術(shù)是將測試矢量(測試模式)加到器件的輸入,并監(jiān)控輸出。如果測試中發(fā)生問題,需要很長的時間才能隔離問題,并且需要進行重新測試。而在邊界掃描技術(shù)中,邊界掃描單元可以通過監(jiān)控器件的輸入管腳來觀察器件響應(yīng),從而輕松隔離各種測試故障,比如管腳和電路板不接觸的問題。
邊界掃描可以用于各種級別的功能測試和調(diào)試,從內(nèi)部IC 測試到板級測試,甚至能用于硬件/軟件測試中。
有些測試設(shè)備和ASIC 單元供應(yīng)商就給自己的產(chǎn)品增加了JTAG 功能來執(zhí)行軟件調(diào)試功能。通于內(nèi)置到目標CPU 中的功能支持,這個接口可以用下載代碼、執(zhí)行代碼并檢查寄存器和內(nèi)存值。這些功能已經(jīng)囊括了一個標準調(diào)試器的大部分低級別功能。另外,還可以在工作站或者電腦上運行一個成本不高的遠程調(diào)試器,來軟件調(diào)試提供支持。
邊界掃描技術(shù)還被用來仿真。通過控制掃描信息在目標和調(diào)試器窗口之間的傳輸,仿真器的前端可以行使掃描管理器的功能。當然,當有一個主機來控制JTAG掃描信息時,必須讓連接到這一掃描鏈中的其它器件也獲知這一點。
JTAG 還讓設(shè)備的內(nèi)部組件都可以被掃描(例如CPU)。這使得JTAG 可以接入所有能通過CPU 接入的設(shè)備,因而可用來調(diào)試嵌入式設(shè)備,同時還能全速進行測試。
這已經(jīng)成為了硅廠商使用的一個標準仿真調(diào)試方法。JTAG 還可進行系統(tǒng)級調(diào)試。
如果給設(shè)備添加額外的管腳,就能實現(xiàn)額外的系統(tǒng)集成功能,包括基準化、繪制概圖和系統(tǒng)級斷點等。
設(shè)計周期時間壓力是由以下幾個因素造成的:
集成等級的提高- 更多功能被集成到一個設(shè)備中,而不是添加離散器件。
時鐘率提高- 外部支持邏輯導(dǎo)致的電氣干擾。
更精密的封裝- 這產(chǎn)生了外部調(diào)試連接性問題。
如今,這些同樣的因素交織在一起,給為當前復(fù)雜的、更高時鐘率的高集成設(shè)計提供所需的系統(tǒng)調(diào)試能力的掃描類仿真器形成了極大的挑戰(zhàn)?,F(xiàn)在的系統(tǒng)正在變得越來越小、越來越快而且越來越便宜。它們的面積密度越來越大,性能越來越高。系統(tǒng)發(fā)展的這些積極趨勢,卻給對系統(tǒng)活動的觀察產(chǎn)生了反作用,而系統(tǒng)可視性卻正是快速部署的關(guān)鍵因素。這個效應(yīng)就叫做“日益下降的可視性”。
片上系統(tǒng)(SoC)模式將一個完整系統(tǒng)所有的功能都集成到了一張硅芯片中,包括處理器、存儲設(shè)備、邏輯元件、通信外圍設(shè)備和模擬設(shè)備。這個方法的優(yōu)勢在于通過在單芯片上集成所有這些組件而縮小了組件之間的物理間隔,使設(shè)備變得更小,并進而能夠運行得更快,制造起來也更簡單。這些優(yōu)勢使得系統(tǒng)的可靠性得以提高,總體成本也降低了。
應(yīng)用開發(fā)人員更喜歡圖6 中顯示的理想化可視性級別,因為它不僅提供了可視性,還能控制各種相關(guān)的系統(tǒng)活動。隨著集成等級和時鐘速率的穩(wěn)步上升,可視性和控制級別則不斷下降。這些就造成了一個可視性和控制間隙,即期望的可視性和控制級別和現(xiàn)實級別之間的差距。這個間隙會隨著時間的推移而不斷擴大。
應(yīng)用開發(fā)工具供應(yīng)商正在努力延緩這一間隙的擴大。開發(fā)工具、軟件和相關(guān)硬件組件必須以更少而且不同的方式來執(zhí)行更多的功能,降低由于這些因素而導(dǎo)致的使用難度。高端的仿真技術(shù)可以提供人們期望的程序活動和執(zhí)行的可視性,而由于以上提到的各種原因,DSP 類系統(tǒng)正需要這樣的可視性。
圖6:可視性和控制間隙
下一章將解釋仿真器如何通過斷點和單步執(zhí)行等功能來控制DSP 上的程序。
評論