• 正文
    • DAP和JTAG
    • 邊界掃描
  • 相關(guān)推薦
申請入駐 產(chǎn)業(yè)圖譜

DAP、JTAG和邊界掃描

06/11 11:19
502
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論

DAP和JTAG

有多種不同的方式連接到Debug Access Port (DAP)上,它們在成本、侵入性和安全性等方面有所差別。通過DAP可以選擇訪問芯片中的Core,這個Core通常是第一個啟動的或者是用于管理芯片啟動、調(diào)試、初始化DVFS和DRAM配置的專用微處理器。由于調(diào)試通道提供了訪問芯片的后門,因此需要做一些安全保護,對逆向工程和惡意程序隱藏起來,防止芯片知識產(chǎn)權(quán)和數(shù)據(jù)被盜竊。常見的做法是:

物理上把芯片上專用管腳直接連到電路板上沒有使用的插口;

通過加密和安全啟動機制;

DAP中使用最廣泛和最古老的是JTAG(Joint Test Action Group)。JTAG是一個串行總線,用于測試芯片中的寄存器,原始目的是用于板級產(chǎn)品測試的邊界掃描,有4個管腳:

表1 JTAG管腳

通常一個電路板上會有許多帶DAP口的芯片,這些芯片會使用JTAG連接成一個菊花鏈,如圖1所示。在菊花鏈中,可以有任何數(shù)量的芯片以及任何長度的寄存器。這些測試寄存器中會提供一個用于對鏈中下一個芯片訪問的旁路寄存器。

在JTAG測試過程中,通過TMS管腳上的值可以尋址到菊花鏈中任何芯片中的任何一個測試寄存器的值。類似于移位寄存器的功能,測試寄存器的老值被移出,并移入新值。當然,對于RO寄存器來說,新值會被忽略。某些預定義的寄存器會用于保存生產(chǎn)商和設(shè)備編號,這樣debugger軟件可以動態(tài)調(diào)整板級上不同芯片的物理順序和存在。

圖1 板級上的JTAG菊花鏈

JTAG的訪問速度通常限制在幾Mbps,因此在其它要求更快的DAP口中會使用USB等其它高性能并行接口。

DAP口還用于其它芯片級別測試和制造,比如:

將部分有缺陷的產(chǎn)品隱藏(降級)為低規(guī)格的產(chǎn)品或比其它冗余組件替代;

校準環(huán)形振蕩器和DVFS;

安裝MAC地址、PKI密鑰或其它需要在不同的SoC中生成的數(shù)據(jù);

BIOS和文件系統(tǒng)刷新;

訪問內(nèi)建自測試(BIST)機制;

邊界掃描

芯片制造后,通常會對芯片進行邊界和一般路徑掃描,圖2為邊界掃描路徑的一個片段。為了支持邊界掃描,在輸入和輸出焊點(Pad)上新增了一些基本邏輯電路。串行數(shù)據(jù)在測試時鐘(Test clock)的控制下,從一個Pad移位到另一個Pad。隨著測試向量的移入,之前測試向量的結(jié)果就會被移出。兩根Strobe信號用于將測試向量灌入到輸入Pad和采樣輸出Pad上的數(shù)據(jù)。

圖2 邊界掃描路徑

當掃描模式選擇(Scan Mode Select)為低時,掃描邏輯不影響芯片正常工作。反之,也就是啟動掃描模式,邊界掃描邏輯會把輸入Pad接管過來,使用移位和存儲方式來進行測試。為了支持掃描,在每個Pad上新增的兩個寄存器分別是鏈寄存器(Chain Register)數(shù)據(jù)寄存器(Data Register)。

鏈寄存器用于掃描鏈的數(shù)據(jù)傳輸,來自DAP控制器移位所需的測量向量長度等于測試Pad的數(shù)目。Strobe信號可以用于捕獲輸出Pad的數(shù)據(jù),并且將新數(shù)據(jù)灌入到輸入Pad上。隨著下一個測試向量數(shù)據(jù)的移入,捕獲的數(shù)據(jù)將會逐位移出。數(shù)據(jù)寄存器主要是確保在掃描鏈移位過程中,保持已經(jīng)使用的測試向量穩(wěn)定。

邊界掃描可以應(yīng)用于芯片中IP塊和硬宏單元,比如定制處理器核。不過隨著片上總線的標準化,比如AXI標準總線,IP模塊的邊界掃描已經(jīng)比較少使用了。現(xiàn)在用的BIST掃描類似于邊界掃描,但它掃描路徑是穿過所有IP內(nèi)部的觸發(fā)器,這就允許觀察組件每個周期的數(shù)據(jù),但會導致該組件在被掃描時無法全速運行,并且也會增加很多的連線負擔。通常情況下,通用掃描路徑邏輯是可以由邏輯綜合工具在特殊模式下插入的。

相關(guān)推薦

登錄即可解鎖
  • 海量技術(shù)文章
  • 設(shè)計資源下載
  • 產(chǎn)業(yè)鏈客戶資源
  • 寫文章/發(fā)需求
立即登錄