在 SoC 調試中重塑 JTAG 的作用
您希望在設計方案中率先實施 JTAG 調試接口嗎? 本文將詳盡介紹即將推出的 IEEE 1149.7 標準的相關情況
作者:Stephen Lau,德州儀器
作為獲得廣泛采用的 IEEE 1149.1 (JTAG) 標準的擴展集,IEEE 1149.7 的使用歷史已經超過了 20 年。盡管新的 IEEE 1149.7 標準還未較終確定,但其發展方向及其為工程師帶來的優勢已非常明確,對于開發和調試復雜系統軟件的工程師而言尤為如此。
IEEE 1149.7 標準的制定全面兼顧了以下目標,即保持與 IEEE 1149.1 標準的向后兼容性、提升調試性能。此外,IEEE 1149.7 還能降低片上系統 (SoC) 的引腳數量要求,支持標準化的節電工作條件。需要指出的是,雖然 IEEE 1149.7 為現有標準增加了大量功能,但它并不會取代 IEEE 1149.1。新標準保持了向后兼容性,任何電路板或系統只要集成了支持新舊兩種標準的芯片,就能運行檢測或調試程序。
優勢
新標準可為設計人員提供多種優勢,其中包括:
- 能以業界標準方式控制調試——邏輯功耗。IEEE 1149.1 只有一種“始終開啟”的狀態,而 IEEE 1149.7 則能提供四種可選電源模式,以支持超低功耗器件。
- 能快速通過多個器件訪問系統中的特定器件。通過實施系統級旁路,掃描環節得以大幅縮短,從而直接改進了調試體驗。
- 推出星形拓撲配合標準的串行拓撲。采用疊層裸片器件 (stacked-die device)、多芯片模塊和插入卡的設計人員希望使用星形拓撲,因為這有助于簡化物理器件互連。
- 除了 IEEE 1149.1 所需的四引腳操作外還支持雙引腳操作。由于當今大多數系統都集成了多個 IC,在尺寸方面有著較大限制,因此減少引腳和線跡數量有助于設計人員滿足空要求,支持附加功能引腳和/或降低封裝成本。后臺數據傳輸 (BDX) 為發送儀表數據提供了業界標準的方法。以前,不同的廠商就儀表信息采用不同的方法,難以提供工具支持。通過標準化,用戶將能更方便地選擇多種產品。
JTAG 基礎
由于新標準大多使用當前的術語與技術,因此有必要先簡單回顧一下 IEEE 1149.1 標準。
上世紀 80 年代中期,多層電路板與非引線框架 IC 成為標準。不過,由于 IC 之間的連接不能檢測子系統探針,因此檢測工作越來越困難。為解決這一問題,于 1985 年成立了聯合測試行動小組 (JTAG)。
盡管人們認為 IEEE 1149.1 標準實際上就是JTAG,不過該標準的官方稱謂是“標準測試訪問端口與邊界掃描架構 (Standard Test Access Port and Boundary-Scan Architecture)”。它定義了利用邊界掃描檢測 PC 電路板的檢測訪問端口 (TAP) 等。
目前,JTAG 不僅用于 PC 電路板檢測,還能訪問集成電路的子塊,并調試嵌入式系統。
JTAG 社群主要包括 IC 設計人員,他們在每個芯片中嵌入檢測邏輯,并將芯片中的內部寄存器與 JTAG 掃描鏈連接在一起。IEEE 1149.1 的硬件組件包括:
- TAP:四個必備的引腳為:測試數據輸入 (TDI)、測試數據輸出 (TDO)、測試模式選擇 (TMS) 以及測試時鐘 (TCK)。此外還定義了可選的 TRST/復位引腳。驅動為低時,將對內部狀態機進行復位。
- TAP 控制器:具備 16 種狀態,以 TMS 與 TCK 作為輸入的有限狀態機。輸出包括 ClockDR、UpdateDR、shiftDR、ClockIR、UpdateIR、ShiftIR、Select、Enable、TCK 以及可選的 TRST。
- 指令寄存器
- 測試數據寄存器
圖 1 顯示了 IEEE 1149.1 的基本 IC 架構。
測試工程師以這些結構作為內建自測試 (BIST) 的訪問點。JTAG 與 BIST相結合,廣泛用于部署低成本嵌入式測試解決方案,可檢測短路、開路和邏輯錯誤等靜態故障。
就軟件調試而言,設計工程師采用內電路仿真器來訪問片上調試模塊,通過 JTAG 接口集成到 CPU 中。這種調試模塊使軟件開發人員能實現 CPU 的加載、運行、暫停與步進。
IEEE 1149.7
目前看來,IEEE 1149.7 標準將于 2009 年得到批準。開發這種新標準的 IEEE 工作組與其他兩家標準機構合作,即為移動產業處理器接口 (MIPI) 聯盟與 NEXUS (IEEE ISTO 5001) 協會,并從中獲得借鑒。
新標準的功能被方便地分為六大類,每一類都建立在前一類開發的基礎之上。
前四類(Class T0 到 T3)基本上是對 IEEE 1149.1 的擴展。第二組(T4 與 T5)實施并使用高級雙引腳運行模式。通過采用這種步進式開發模式,工作組可使設計人員能夠更簡單地了解新標準的含意,并確保器件能夠實現必需的功能。
Class T0
Class T0 可確保符合當前業界基于 IEEE 1149.1 的測試基礎局端標準。對于 T0 而言,測試邏輯復位 (Test-Logic-Reset) 后,所有 IEEE 1149.7 多插頭器件 (multi-tap device) 都必須符合 IEEE 1149.1 的強制指令行為要求,并就旁路指令實施一位 DR 掃描。
Class T1
Class T1 定義的控制系統隨后成為各類高級功能的基礎。
簡而言之,這種創新型控制系統采用兼容于 IEEE 1149.1 的 TAP 狀態序列和狀態移動監視功能來創建控制系統,同時在確保符合 IEEE 1149.1 標準的芯片完全不受影響時采用零位 DR Scans (ZBSs) 來設置符合 IEEE 1149.7 標準的芯片狀態。
ZBS 狀態序列在 IEEE 1149.1 系統中幾乎從不與 BYPASS 和IDCODE 指令同時使用,也不執行真正的功能(見圖 2),這是由于帶上述指令的 ZBS 比較溫和,不能實際改變測試邏輯的狀態。
圖 2 中的黃線標出了 ZBS 狀態序列的路徑。當“監視”并對工程師啟動的 ZBS 數量進行計數時,結構圖左側的卡通圖代表控制系統。
ZBS 從選擇 DR 掃描 (Select-DR-Scan) 狀態開始,經過退出 (exit) 到 Update-DR TAP 控制器狀態,而不會對 TAP 控制器造成任何改變。對于 IEEE 1149.1 標準而言,不會產生任何影響。
不過,圖 2 中的卡通圖標所代表的邏輯會持續計算 ZBS 狀態序列啟動的次數。當從 Capture-DR 狀態轉至 Shift-DR 狀態時,ZBS 序列斷開,這時邏輯就會鎖定 ZBS 計數。
鎖定 ZBS 計數會激活等于 ZBS 計數(從 1 到 7)的控制級。控制級2用于創建 IEEE 1149.7 系統的指令。控制級功能如表 1 所示。
當特定事件發生時就會退出控制級。這些事件包括 Select-IR-Scan 控制器狀態、Test-Logic-Reset 狀態以及某些旨在同步 Class T4 與 T5 控制器操作的控制器指令與事件。
此外,Class T1 也有助于控制功率。IEEE 1149.7 可定義四種降低功率的模式,專用于電路板測試、芯片測試以及應用調試等情況。為調試邏輯定義的功率下降模式有助于降低系統功耗,并為工具廠商開發可降低功率的器件提供一種標準的方式。
Class T2
通過實施芯片級的旁路機制,Class T2 可通過大幅縮短掃描鏈來為芯片計數高的應用提升調試性能。
由于每個芯片中的 TAP 控制器均為串行鏈接,因此在 IEEE 1149.7 標準之前,采用多個器件的設計方案在掃描鏈的每個器件中都要包括 TAP 控制器。圖 3 給出的示例系統包括帶五個內核的三個器件,掃描鏈共有 100 位。如果開發人員希望探詢鏈上的較后一個器件,就必須每次掃描 100 個位。這樣做的效率非常低,且會導致嵌入式軟件開發人員訪問器件的速度降低。
IEEE 1149.7 的全新芯片級旁路功能可凍結器件中無關的 TAP 控制器,將掃描位從 100 個減少為 8 個(圖 3)。這就減少了需要在系統中移出的位數,從而大幅提高了掃描鏈的性能。此外,該機制還可發揮防火墻的作用。如果目標電路板在工作時采用熱連接,防火墻就非常實用。在 IEEE 1149.1系統中,連接至正在運行的目標可能導致不可預計的運行情況,這是因為這種連接可能會導致調試邏輯的混亂,從而產生電氣問題。有了旁路機制作為防火墻,只有啟動預確定的序列才能訪問芯片 TAP。這一步驟可確保調試測試系統只有在目標有了穩定的電氣連接后才能建立連接。
Class T3
通過使用芯片選擇機制和 link-ID 分配,Class T3 使開發人員能創建星形配置,而不是 IEEE 1149.1 標準的傳統串聯配置。T3 采用 Star-4 或 Wide Star 配置方法,如圖 4 所示。
為了創建星形配置,必須對相關芯片進行編號。不過在啟動時,芯片在控制器中并未記錄號碼。Class T3 定義了一種方法,可以為芯片分配編號,這基本上是一種基于 IDCODE 與唯一 ID 的排除法。
Class T3 可創建星形配置,能夠支持雙引腳操作的重大革新,這種新技術在 Class T4 中實施。我們還應注意到,IEEE 1149.7 系統加電啟動與 IEEE 1149.1 兼容。通過 ZBS 配置 IEEE 1149.7 邏輯,可提供 IEEE 1149.7 的高級功能。
Class T4
雖然我們可將 Classes T0 至 T3 視為IEEE 1149.1 標準的擴展,但 Class T4 卻在功能方面實現了質的飛躍。主要優勢在于所需的引腳數量從四個減少到了兩個,而且還采用了新式掃描格式,支持優化處理,在引腳數量減少的配置情況下維持與改進了性能。
在器件裸片疊層的情況下,我們應該盡可能減少連接器的數量,因為連接器越多,芯片疊層就越困難,連接器越少也就越簡單,因為每個連接器都會增加額外的成本。
簡而言之,雙引腳配置的關鍵就是清除原來的數據線路 (TDI/TDO),并通過 TMSC 線路實現串行數據的雙向傳輸。
通過無縫星形配置減少引腳數可為采用疊層裸片與多芯片模塊的系統設計人員
相關閱讀:
- ...· Efinix® 全力驅動AI邊緣計算,成功推出Trion™ T20 FPGA樣品, 同時將產品擴展到二十萬邏輯單元的T200 FPGA
- ...· 英飛凌亮相進博會,引領智慧新生活
- ...· 三電產品開發及測試研討會北汽新能源專場成功舉行
- ...· Manz亞智科技跨入半導體領域 為面板級扇出型封裝提供化學濕制程、涂布及激光應用等生產設備解決方案
- ...· 中電瑞華BITRODE動力電池測試系統順利交付北汽新能源
- ...· 中電瑞華FTF系列電池測試系統中標北京新能源汽車股份有限公司
- ...· 中電瑞華大功率高壓能源反饋式負載系統成功交付中電熊貓
- ...· 中電瑞華國際在電動汽車及關鍵部件測評研討會上演繹先進測評技術