天天看點

測試覆寫率的優化和掃描壓縮技術的研究與設計

作者:肖茲探秘說

優化掃描設計要想設計出更符合測試目标覆寫率的架構,首先從可測性和可觀察性兩個重要考察因素對電路進行優化,對邏輯深度較深的組合邏輯内插入觀測點。對掃描壓縮技術中應用的編解碼器展開分析,針對降低測試時間和測試成本,使用DFTMAXUltra壓縮方法低功耗設計。使用流水線寄存器解決了掃描壓縮設計引入的編解碼器到端口路徑延遲問題。

測試覆寫率的優化和掃描壓縮技術的研究與設計

優化組合邏輯電路

現如今随着半導體工藝的不斷提升,電路規模不斷擴大,晶片内部電路結構也變得尤為複雜,給晶片測試也增添了許多麻煩。

對于給定電路,在同一時鐘域下,兩級觸發器之間的組合邏輯深度随着工藝制程的提升也越來越大,進而使得更大一部分邏輯電路處于不可控和不可觀察的狀态。測試工程師僅僅能觀測到這一堆組合邏輯的輸入和輸出結果,若輸出結果與預期響應結果不符,則很難确定組合邏輯内部的故障點。

為了提升測試覆寫率,在使用TetraMAX時會生成大量的測試激勵去彌補,而測試覆寫率到了一定的門檻值後,測試激勵數量的增加對測試覆寫率的提升比較小,是以會浪費許多時間。是以通過在組合邏輯設計内部插入測試點的方式來增強電路的可測性和可觀察性。可用的測試點類型有三種:強制型測試點(ForceTestPoints),控制型測試點(ControlTestPoints),觀察型測試點(ObserveTestPoints)。

測試覆寫率的優化和掃描壓縮技術的研究與設計

強制型測試點通過在不可控信号點處加一個簡單的邏輯:二選一選擇器、或門或與門,輸入的一端接原始電路,另一端接強制信号,即可實作對電路中某一點的強制指派。強制型測試點雖然占用的面積較小,但是隻能對單一強制信号進行測試。

可變型測試點通過在強制信号端插入可掃描觸發器,通過scan_in端輸入進而控制測試點,相比于強制型測試點變得更加靈活,但是可掃描觸發器面積較大,當加入太多可變型強制性測試點時,會消耗巨大面積資源。

控制型測試點要求每個控制點有兩個掃描單元,一個用于控制掃描輸入信号,另一個是控制信号寄存器。該測試點使用test_mode信号進行低功耗保護,隻在測試模式下測試點工作。

相比于前兩種測試點,觀察型測試點比較簡單,觀察型測試點類型就是在設計中難以觀察的信号處插入可掃描觸發器,進而使得該處信号值可被存入到寄存器中。将待測的信号連接配接到可掃描觸發器的掃描輸入資料端,通過可掃描觸發器将較難觀察到的信号采樣,然後通過掃描移位移出進行觀察。

測試覆寫率的優化和掃描壓縮技術的研究與設計

對之前提到的插入的基礎掃描鍊進行單點故障覆寫率測試,所生成的測試覆寫率較低,僅為93.01%,未能滿足測試目标98%的測試覆寫率。是以要對測試電路進行優化。報告中顯示未檢測到的故障有四種類型,下面主要針對notdetected故障類型進行測試電路優化。該類型包括不可控(NotControl,NC)和不可觀察(NotObserve,NO)兩種故障類型。

測試覆寫率的優化和掃描壓縮技術的研究與設計

使用指令{analyze_faults–class故障名}可生成相應的未檢測到的故障報告,如上圖所示為不可控點故障報告,第一清單示高低電平,第二清單示故障類型,第三清單示故障具體所在哪個單元端點。通過追溯不可控點的故障路徑來确定其具體位置,在不可控的電路位置加入控制型測試點來增加對電路的可控性,使得TetraMAX對其生成特定激勵,進而提高測試覆寫率。

測試覆寫率的優化和掃描壓縮技術的研究與設計

如上圖所示為插入控制型測試點後邏輯電路圖,圖中邏輯電路中有三個點A、B和C處于不可控狀态,如果對三個點分别插入控制型測試點,則會增加6個多路選擇觸發器、3個二選一選擇器和3個兩輸入與門,若為了減少插入的控制型測試點的面積開銷,可以對三個故障點共享一套控制型測試點,即使用統一的控制信号寄存器和掃描輸入信号寄存器,二選一選擇器獨立使用,共用控制型測試點會增加2個多路選擇觸發器、3個二選一選擇器和1個兩輸入與門。

單獨的測試點可以靈活的控制各自故障電路信号,互相之間不會産生限制,而共享測試點隻能對三個故障點同時進行0或1的測試,互相制約,但是這樣的方式同樣起到了測試故障的作用,并提升了測試覆寫率,是以不需要對每一個不受控制的故障點單獨配置控制型測試點,且控制信号寄存器和掃描輸入信号寄存器隻能在同類型故障點下共享。

測試覆寫率的優化和掃描壓縮技術的研究與設計

如上圖所示為不可觀察點故障報告,在報告中顯示的故障路徑下插入觀察型測試點來改善測試結構,提高對此類故障點的可觀察性,進而提高故障覆寫率。

測試覆寫率的優化和掃描壓縮技術的研究與設計

如上圖所示為插入控制型測試點後邏輯電路圖,圖中邏輯電路中有六個點處于不可觀察狀态,如果在每個故障點處加入觀察型測試點,則會增加6個多路選擇觸發器,這樣的故障點在邏輯電路中較多,若對其進行單獨觀察控制會造成的面積浪費。是以同樣在對不可觀察故障點進行測試點插入時共享一組觀察邏輯電路,對多個觀察點建構了一個可觀察性異或樹,使用5個異或門将6個觀測信号壓縮成一個信号連接配接到共享多路選擇觸發器的掃描輸入端,再掃描移出對資料進行觀察。

觀測點的控制邏輯是為了改善測試環境,是以在功能模式下時,該部分電路不需要工作。為了降低功耗,在異或門前增加6個與門,用測試模式使能信号做門控信号。增加門控的同時增加了多個與門,是以需要去權衡面積與功耗的優先級再對測試電路進行優化。

掃描壓縮技術的研究與設計

在使用自動測試裝置對晶片進行測試時,有兩個關鍵的名額來衡量測試,測試覆寫率和測試時間,測試覆寫率會直接展現工程師對電路的可控性和可觀測性,測試時間将直接影響測試成本,測試時間越長成本越高。影響測試時間的直接因素是掃描鍊長度。8條基礎掃描鍊中最長的掃描鍊有27038個寄存器,而測試機台隻能提高幾十兆的測試時鐘,這樣的測試環境下時間消耗是難以接受的。是以,需要引入一種掃描壓縮技術來縮短測試時間,降低測試成本。

測試覆寫率的優化和掃描壓縮技術的研究與設計

掃描壓縮技術

掃描壓縮技術是将較長的基礎掃描鍊打斷成多段較短的掃描鍊,使得有更多的短掃描鍊同時進行測試,進而達到縮短測試時間的目的。

由于測試端口的局限性,測試激勵并不能直接掃描移入到壓縮掃描鍊中,需要在輸入端增加解壓縮器,使用特定的邏輯電路将輸入端移入的測試激勵解壓成更多地測試激勵,同樣在輸出端使用壓縮邏輯電路将壓縮掃描資料壓縮後掃描移出。通過較小的面積開銷換取更短的測試時間來降低測試成本。

測試覆寫率的優化和掃描壓縮技術的研究與設計

掃描壓縮技術發展的驅動力如下:(1)工藝複雜度導緻錯誤類型的增加;(2)晶片複雜度導緻掃描單元數的增加;(3)測試向量的增加;(4)測試管腳的有限性;(5)測試機台記憶體容量的有限性;(6)測試時間的增加。

如上圖所示為壓縮掃描鍊結構圖,解壓縮器控制掃描資料進入壓縮掃描鍊。壓縮器從大量壓縮掃描鍊中捕獲輸出資料,并将捕獲到的資料壓縮,以便可以通過掃描輸出端口對其進行觀察。環繞掃描鍊的解壓縮器和壓縮器合并稱為編解碼器。編解碼器的使用可以顯著減少了全面測試晶片所需的測試資料量。而且這也降低了自動測試裝置的記憶體需求。

解壓縮電路結構

解壓縮器的作用是利用一定的邏輯電路将較少的測試激勵解壓成更多的測試向量進而滿足内部的壓縮掃描鍊。

測試覆寫率的優化和掃描壓縮技術的研究與設計

解壓縮器架構如上圖所示解壓縮電路結構圖,掃描鍊和掃描輸入管腳之間加入了若幹個選擇器,選擇器的輸入資料和控制信号都來自于掃描輸入端,控制信号可以在每一個測試的時鐘周期裡面翻轉,這樣就可以動态的調整整個掃描鍊的輸入。

以上邏輯單元選用的是選擇器,同樣也可以選用與門、或門、異或門等邏輯單元對掃描輸入信号進行解壓縮,進而産生更複雜的激勵信号來檢測故障提升覆寫率。并不是每個掃描單元在每個模式下都必須是唯一可控的。通常隻需要在一個模式中控制一組掃描單元。在每個時鐘周期中,ATPG可以選擇負載模式和掃描資料值,進而将這些所需的值導入到壓縮掃描鍊中。

随着解壓器輸入寬度的增加,負載模式和掃描導入資料引腳的數量增加,進而在解壓器輸出處提供額外的可控性。解壓縮器輸出寬度等于壓縮掃描鍊的數量。

測試覆寫率的優化和掃描壓縮技術的研究與設計

随着壓縮鍊數的增加,需要更多的資料轉進入解壓縮子產品邏輯實作邏輯配置。如果壓縮掃描鍊數增加太多,資料傳輸配置必須重複利用,這會降低ATPG将資料導入壓縮鍊的能力。這種結構的優點在于MUX都是組合邏輯,相對于時序電路可以占用比較小的實體資源。

壓縮電路結構

壓縮器的作用是利用一定的電路邏輯将較多的壓縮掃描鍊輸出資料壓縮成較少的輸出資料以滿足掃描輸出端口資源緊缺的不足,以下是壓縮器結構:

測試覆寫率的優化和掃描壓縮技術的研究與設計

異或掃描鍊壓縮是在掃描鍊的尾部插入N級異或樹狀結構,将掃描鍊壓縮為1/2n。如上圖所示為異或掃描鍊壓縮結構,每兩個壓縮掃描鍊的輸出端接到一個異或門的輸入端,再将第一級異或門的輸出端接到第二級異或門的輸入端,以此類推,直到達到想要的壓縮率,所剩餘的信号滿足現有的輸出引腳,将最後一級的異或輸出接到掃描輸出管腳。由此可以得出隻需要加入少量的異或門就可以實作較高的掃描壓縮率。

但是這種結構也存在一定的弊端,如果掃描鍊1上的某些位存在未知态,那個這個未知态就會污染掃描鍊2上的資料導緻測試覆寫率的損失。另一方面,如果在兩條相鄰掃描鍊的同一個比特位都出現了故障,那麼在掃描輸出端仍然可能會觀測到一個看似正确的資料,但其實是錯誤的,這同樣會導緻測試覆寫率的下降,為了彌補這些情況,需要額外增加很多測試向量來覆寫。

測試覆寫率的優化和掃描壓縮技術的研究與設計

為什麼選用異或門來用作掃描壓縮邏輯單元,而不選擇與門或是或門,背後隐藏着一定的數學邏輯,與二進制的布爾運算相關,異或邏輯是最基本的布爾運算操作,輸出不僅僅依賴于某一個輸入,而是與兩個輸入都是相關的。

是以,壓縮後的資料可以通過一定的推導反推回原資料,倘若用與門來替代異或門作為邏輯單元,如果第一級出現了一個0,那麼這個0會一直向後傳播,傳播到與門樹狀結構中,最終到達掃描輸出端,中間所有其它的測試結果都會被0所掩蓋掉。

壓縮器的輸入寬度等于壓縮掃描鍊的數量。随着壓縮鍊數的增加,就需要更多的異或門進行配置。如果壓縮鍊數增加得過高,則需要配置多級異或邏輯,這可能會影響設計的可觀察性。

測試覆寫率的優化和掃描壓縮技術的研究與設計

如上圖所示對異或掃描鍊壓縮進行優化,前提是掃描輸出端口有富餘。相比于上圖結構增加了3個異或門,将掃描鍊2(5)和掃描鍊4(7)的掃描輸出做異或邏輯,掃描鍊2上的輸出同時傳入到兩個異或門,可以被掃描輸出1和掃描輸出3來觀測到,如果掃描鍊1上有未知态,從掃描輸出1觀察結果,掃描鍊2上的輸出會受到污染,但是現在可以從另一個掃描輸出3同樣可以觀測到掃描鍊2上的結果,從某種程度而言減少了未知态對覆寫率影響,是以增加的邏輯提升的電路的可觀測性,反過來說,如果掃描鍊2上有未知态,則改進的電路會使未知态向更多鍊路傳播。

如果掃描鍊上的未知态的百分比很高的話,那麼這種優化的異或掃描壓縮邏輯的測試覆寫率甚至不如未優化之前,是以這種優化的方案适用于未知态占比小的電路,在做具體的優化時,要去更加全面的考慮問題,避免增加的邏輯對電路産生負面影響。

測試覆寫率的優化和掃描壓縮技術的研究與設計

壓縮器的輸入寬度等于壓縮掃描鍊的數量。随着壓縮鍊數的增加,就需要更多的異或門進行配置。如果壓縮鍊數增加得過高,則需要配置多級異或邏輯,這可能會影響設計的可觀察性。随着壓縮器輸出寬度的增加,在每個輸出端口觀察到的故障特征的數量增加。這樣的方式可以提高設計的可診斷性,特别是同時診斷多個故障時。

參考文獻:

  1. 範學仕, 劉雲晶. 一種MCU可測性優化設計[J]. 電子與封裝, 2018, 18(08): 28-32.
  2. P C, Thin Wei. Increased Fault Isolation Efficiency by Using Scan Cell Visualizer for Scan ChainFailures[C]. 2019 IEEE 26th International Symposium on Physical and Failure Analysis of Integrated Circuits, 2019: 1-9.
  3. 冶小剛. 一款多核SoC的可測性設計研究[D]. 陝西: 西安電子科技大學, 2018.
  4. 張鵬. 多核處理器可測性設計及其ATE實作[D]. 陝西: 西安電子科技大學, 2017.
  5. 黃祿惠. 內建電路低功耗可測性設計技術的分析與實作[D]. 四川: 電子科技大學, 2013.

繼續閱讀