1990年,IEEE批準了被稱為邊界掃描的1149.1標準。該標準由聯合行為測試組(JTAG)開發,其開發用于幫助解決由日益增加的較大規模IC和高密度多層印制電路板(PCB)所引發的不可阻擋的測試問題。 測試PCB的老式“釘床”測試方法已不再能滿足工作,并無法進入到電路中,甚至IC上的管腳,這使得測試變得極其困難。具備邊界掃描,IC和電路板制造商就能夠提供完全自動化測試。 多年來,該標準已作了定期更新,并且所有硬件和軟件制造商已經出現支持測試的努力。由于近來的變化,該標準成為嵌入式設計平臺的一部分。邊界掃描現在存在于被稱為嵌入式儀器的新的測試和測量方法的核心。 JTAG滿足的測試 過去,電路板直接進行功能測試,電路板接通電源和激勵信號,來考察其是否能滿足設計(圖1)。測試將在正常的設計頻率和速度下執行。這樣的測試是在釘床型的在線測試儀(ICT)上實現的。缺陷被發現并修復。 然而,多年的測試經驗已經表明,最大的失敗是結構性。一些統計數字表明,99%以上的所有錯誤并不在于不良IC或設計錯誤,而是在于PCB板和焊料的缺陷,例如開焊點、冷焊點、焊盤翹起、焊點橋接、扭轉部分,以及其他物理問題。這就是為什么要對最復雜的電路板進行測試,在功能性ICT之前要檢測結構性問題。 例如,在復雜PCB板裝配后,第一步就是目視檢查。工程師可以手動和眼看電路板,來檢查是否所有部件都具備,并且方向正確且焊接正確。這一步還可能包括光學機器視覺檢查和/或X光檢查。二者在檢測初步的缺陷中都是有用的,這包括了不良焊接或無焊接。 結構性測試是下一步。這里是在進行邊界掃描。其提供了對開路、短路和無焊接,以及其他方法無法確定的不良焊接進行詳細測試的方法。采用邊界掃描,該項測試自動識別問題,從而快速進行修復和校正。 這之后,進行通常的功能性測試。繼續采用ICT或釘床測試頭,這實現了與電路板銅和焊料的連接,從而提供了測試信號和測量。功能性測試與修復之后,進行整體的系統測試,從而結束這一過程。這種系統測試包括了環境影響評價,以及軟件和配置過程。 JTAG標準概述 邊界掃描后的基本思想是,因為在IC中或某些PCB板上的大部分點是無法進入的,設計師可以建立測試/接入電路,這將使得工程師可以讀取特定節點的狀態或者用外部信號來激勵一個節點。 目前,許多(大部分)大規模IC、球柵陣列(BGA)、系統級芯片(SoC)、ASIC、FPGA,以及多芯片模塊都具有內置的邊界掃描電路。多層的高密度PCB也提出了測試問題。這個概念是建立了大量測試接入點,以便完整的電路或其中一部分可以進行外部測試。 圖2表示了基本的邊界掃描結構。要測試的IC邏輯塊被連接到多個邊界掃描單元。當生產該芯片時,這些單元是與IC電路是一起建立的。每個單元可以監測或激勵電路中的一個點。采用觸發器和多路復用器,該單元可以用于任何并入/并出或串入/串出操作(圖3)。 然后這些單元串行鏈接形成長的移位寄存器,該寄存器串行輸入、指定測試數據輸入(TDI),并且測試數據輸出(TDO)串行輸出端口成為JTAG接口基本的I/O。移位寄存器由外部測試時鐘(TCK)來提供時鐘。為了給電路提供激勵,測試位移入到寄存器中。即所謂的測試向量。 為了監測進行測試的電路,對電路的狀態進行采樣,并存儲在移位寄存器中。然后,其串行移出,其中軟件用來將測試模式與所預期的模式進行比較。當在PCB板上使用多個具備JTAG功能的芯片時,每個芯片的串行數據I/O與所有其他部分是串行鏈,并且最終的結果出現在單一的JTAG接口上。 TCK速率與任何系統時鐘無關。TCK是獨立的時鐘,通常在10到100MHz范圍內;10、25和40MHz速率是很常見的。 除了串入、串出和時鐘信號,還提供了測試模式選擇(TMS)輸入,以及可選的測試復位引腳(TRST)。TMS、TCK、TRST信號用于16-狀態的有限狀態機,即測試訪問端口(TAP)控制器。隨著外部二進制指令,其控制了所有可能的邊界掃描功能。 在圖2中的指令寄存器解碼了四個強制指令(Extest、Bypass、Sample和Preload,參見下表)中的一個。可選指令為Intest、Idcode、Usercode、Runbist、Clamp和HighZ。 當執行Idcode時,對永久儲存在32位識別寄存器中的設備識別碼進行掃描輸出。當運行Bypass指令時,TDI通過1位旁路寄存器連接到TDO。不再需要部分測試時,這就縮短了串行邊界寄存器。在某些提供內建自測試(BIST)電路的芯片中,也有結果數據寄存器。該寄存器的輸出可以使用Runbist指令來移出。 JTAG接口I/O線通常連接到接口卡或盒,再連接到PC上。接口盒包括了存儲器,該存儲器加載了測試向量位。其還存儲了中間結果,并與PC進行通信,PC測試軟件駐留在存儲器中。商業軟件提供了按照測試需要將數據移入和移出器件或PCB板的方法。 部分JTAG標準定義了邊界掃描描述語言(BSDL),它定義了所有的邊界掃描特性,功能以及在每顆IC內構建的邏輯。芯片供應商為每顆IC提供了供其使用的BSDL文件。 測試軟件需要兩件事來進行PCB板測試:用于PCB板上每顆芯片的BSDL文件,以及定義了PCB板上連接的電路板網表。有了這一數據,測試軟件生成程序功能就創建了基本的測試程序和序列。然后,它就可以執行測試。此后,該軟件會提供一份結果報告。 如前所述,多年來,原始的JTAG標準已經進行了更新和補充。以下是目前IEEE標準名稱的摘要:
市場上硬件和軟件產品關鍵是具備成功的邊界掃描應用。JTAG科技公司的JT 37x7/APC插入到安捷倫3070中,這是一種在自動測試設備(ATE)電路板測試中廣泛使用的ICT產品(圖4)。 據該公司稱,將結構性和功能性測試相結合,以及一款產品中的系統內編程在測試速度和精度上產生了經濟和收益。機架式的版本為集成到現有測試系統中提供了方便。 邊界掃描應用成功的最終“秘訣”是軟件。在ASSET InterTech公司的ScanWorks套件中基于PC的工具可以配置為設計驗證,并在生產過程中首次出現在開發環境、測試建立、應用和診斷中,在處理器和FPGA/CPLD的Flash和邏輯編程中,以及在現場測試和修復期間的故障排除和診斷中。該公司還具有一系列完整的硬件配件來配合ScanWorks。JTAG科技公司也有類似的軟件,即JTAG ProVision和JTAG Visualizer。 邊界掃描的應用 原來的邊界掃描系統是建立用來方便進行高密度PCB板產品測試的。它已被迅速合并到許多IC中。在每顆芯片中具備邊界掃描功能,PCB板可以在IC之間進行短路、開路以及互連的充分測試。盡管這仍然是邊界掃描的主要應用,但其他應用也已經出現。邊界掃描目前廣泛應用在產品設計、樣機調試和現場服務中。 在產品開發中,邊界掃描是測試和調試電路板原型的好方法。對于體積小、多層、高密度、BGA封裝和窄間距IC的復雜PCB板,其可以在沒有特別的在線測試裝置下進行測試。這是因為目前使用的大部分主要IC都結合了JTAG端口。這對幾乎每個嵌入式控制器和處理器,以及大部分CPLD和FPGA尤其如此。 對于特定CPU上軟件的調試,JTAG接口可以用來從CPU下載代碼,預加載,運行程序,然后查看寄存器和存儲器的內容,從而確定正確的操作。JTAG還廣泛用于仿真。采用適當的軟件,可以建立測試程序來測試和調試產品。 目前JTAG的關鍵作用就是對IC進行編程。嵌入式控制器可以具有其內部的編程閃存。任何可編程芯片都可以按照其JTAG接口的需要進行初步編程和更新。FPGA和CPLD同樣可以進行編程,并在后來按照要求進行更新。當對PCB進行裝配時,這允許安裝未編程的芯片,在裝配之前對芯片進行編程可以節省額外的時間和成本?梢栽谧詈蟮墓δ軠y試之前進行編程。 邊界掃描也已實現了現場服務、執行軟件升級、更新閃存ROM,或編程CPLD或FPGA。此外,它可以用于基本的故障診斷功能,從而快速精確地找出問題。 由于可測性設計(DFT)和BIST特性已結合到更新、更復雜的芯片中,JTAG已起到作用。到目前為止,更大規模的SoC以及在最終產品中更難以單獨測試。因此,芯片設計師已向這些芯片中嵌入了額外的硬件,以便其能夠對自己進行測試。該功能極大減少了芯片的測試時間和成本,并在很多情況下,其可以消除對昂貴ATE的需要。 盡管BIST硬件明顯增加了芯片的硅面積,但其與全芯片電路相比通常很小。額外的電路也會降低性能、造成時間問題,并增加其他無用開銷。不過,為了能夠更快更便宜地測試芯片與系統,通常這些缺點是無足輕重的。 有幾種類型的BIST分類,如邏輯BIST和存儲器BIST(圖5)。模擬BIST并不常見,但對模擬和混合信號測試有著不斷增加的需求。偽隨機測試模式發生器有助于創建待測電路(CUT)的測試信號。然后電路的輸出被儲存在一個或多個結果寄存器中,這將被掃描輸出來進行分析。 在某些情況下,也在片內作了對理想結果的比較,以便輸出是簡單的通過/失敗指示。在更新的BIST中,輸入和輸出均通過數據壓縮處理來極大降低測試位和用來進行分析的輸出數據的數量。在具有數以億計電路的更大規模芯片中,測試數據量可以擊敗測試工程師,更不用提任何測試設備了。 通常,龐大的測試向量文件被壓縮后發送到BIST電路。然后,測試位被解壓縮并用于測試。最后,輸出結果在讀出之前被壓縮。壓縮提供了壓縮高達100倍的輸出字或符號,這對于分析最為方便和快捷。 此外,壓縮被用來阻止黑客通過讀取掃描鏈來竊取數據,密鑰和IP機密。壓縮基本上解決了這一問題。Mentor Graphics公司的TestKompress就是一個這種壓縮的例子。 在芯片內實現BIST的另一種方法就是連接所有觸發器和寄存器串聯進入掃描鏈,這可以提供進入測試狀態或檢索儲存在鏈中的測試結果的一種方法。復雜的芯片可能有多個掃描鏈,而不是一條長的串行鏈,這種長的串行鏈可能會減慢測試。將測試向量位掃描到芯片中,然后其可以在設計速度下進行功能測試。 在測試中的某些點,捕獲事件出現來存儲測試結果,然后再移出來與理想輸出進行比較。對這兩種類型的BIST,JTAG可能在其用于輸出測試的數據寄存器中用于插入測試位或捕獲輸出結果。就目前的情況而言,對于如何通過BIST使用JTAG并沒有標準,但IEEE 1687努力希望能對這方面進行彌補。 歡迎嵌入式儀器 由于半導體特征尺寸持續縮小到65nm及以下范圍,芯片密度和復雜性不斷增加,使得供應商可以將更多電路集成到單一芯片中。這些更小幾何尺寸也允許更高的數據速率,以及高達5GHz的頻率。正是這些導致更測試這些芯片和電路板更為困難。 該問題已經迫使芯片供應商要超越掃描鏈和JTAG來創立創新的技術來對這些先進芯片的電路進行讀取和測試。有些是芯片供應商的專利,而有些可用于與JTAG進行連接?傊,這些技術被稱為嵌入式儀器。 這一測試問題對大多數新計算機和其他設備中所采用的最新高速串行總線而言特別緊迫。PCI Express、光纖信道、10Gb/s以太網、串行ATA(SATA)、全緩沖DIMM(FBD),以及其他的例子。 相當大的失真和信號衰減發生在5Gb/s速度及以上,甚至超過幾英寸的PCB線寬,很難真正了解信號看起來像什么。連接這樣的線范圍,甚至會引入進一步的失真。由于這種傳統方法已不再有用,新的嵌入式測試方法是針對制圖板。 該計劃移動部分或全部測試儀器或片內電路。嵌入式儀器是BIST的擴展。它一般可以定義為任何設計驗證、測試或對嵌入在內核、SoC、系統級封裝(SiP)、電路板,或系統中的IP進行調試,這些可以通過設計、測試或制造的使用來實現測試、測量或其他工程任務。 因為嵌入式儀器尚在起步階段,并沒有標準。但IEEE 1149.1 JTAG組提出了邊界掃描標準的擴展,這將允許JTAG TAP來管理配置、操作,并從該嵌入式儀器電路中收集數據。這一努力也支持IEEE 1687或IJTAG。 “當你剛剛開始,你會發現嵌入式儀器對于業界邁向更高速度、更小尺寸,以及更大密度是至關重要的,”ASSET InterTech公司總裁兼CEO Glenn Woppman說。 “不是每個人稱其為嵌入式儀器,但大部分嵌入邏輯,尋址問題例如設計驗證、測試、調試、器件和電路板監測以及其他類型的儀其功能。正是我們將稱其為嵌入式儀器,”Woppman補充說。 ASSET公司對嵌入式儀器有信心,其能夠成為一家致力于提供嵌入式儀器開放工具的公司。該公司新的座右銘是“推動嵌入式儀器”(圖6)。 當你涉及到嵌入式儀器,它可被視為測試與測量行業的未來發展。這是超越虛擬儀器及其模塊化硬件和軟件(如美國國家儀器公司的LabVIEW)一代的一步。ASSET InterTech公司的ScanWorks JTAG軟件平臺似乎變成了嵌入式儀器LabVIEW的偉大起點。 英特爾的IBIST(內建自測是互連)設計驗證和測試結構允許芯片到芯片的互連測試,以及PCB上高速總線的設計驗證。它內建到英特爾5300和7300系列四核Xeon處理器為基礎的平臺中,該平臺用于服務器。它也將用于英特爾的下一代Nehalem處理器平臺。 IBIST通過余度、誤碼率測試(BERT)和模式生成測試來采用信號完整性分析。它還采用邊界掃描測試、系統內編程和可測性設計。ASSET公司的ScanWorks對其進行了支持。 很多其他公司也開始結合嵌入式儀器。例如,Altera公司利用其預加重和均衡鏈路估算(PELE)能夠用于電子設計自動化(EDA)公司,如Mentor公司,以便設計師可以用它來對Stratix II GX FPGA進行信號完整性測量。DAFCA是一家EDA公司,該公司讓芯片設計師將可重構儀器與其IP庫結合。 Logic Vision公司讓設計師分配其嵌入式串行器—解串器(SERDES)環回解決方案,其描述了確定信號眼失真的參數。美信將監測儀器結合到其部分電源管理芯片中。此外,Rambus正在將可編程偽隨機模式產生儀和位流比較器集成到其存儲器芯片上的I/O塊中。 Synopsys公司目前提供其嵌入式儀器IP的DesignWare驗證庫。Vitesse半導體公司已提出了一系列新的收發器和SERDES芯片,該芯片結合其基于均等和獨特采樣技術的VScope波形觀察技術。此外,Xilinx公司的ChipScope Pro實時調試和驗證工具將邏輯分析儀、總線分析儀和虛擬I/O儀直接插入到了FPGA中。在未來的幾個月中期望在這一領域有更多的新聞和公告。 |