集成電路芯片的硬件缺陷通常是指芯片在物理上所表現出來的不完善性。集成電路故障(Fault)是指由集成電路缺陷而導致的電路邏輯功能錯誤或電路異常操作。導致集成電路芯片出現故障的常見因素有元器件參數發(fā)生改變致使性能極速下降、元器件接觸不良、信號線發(fā)生故障、設備工作環(huán)境惡劣導致設備無法工作等等。電路故障可以分為硬故障和軟故障。軟故障是暫時的,并不會對芯片電路造成永久性的損壞。它通常隨機出現,致使芯片時而正常工作時而出現異常。在處理這類故障時,只需要在故障出現時用相同的配置參數對系統進行重新配置,就可以使設備恢復正常。而硬故障給電路帶來的損壞如果不經維修便是永久性且不可自行恢復的。
通常集成電路芯片故障檢測必需的模塊有三個:源激勵模塊,觀測信息采集模塊和檢測模塊。源激勵模塊用于將測試向量輸送給集成電路芯片,以驅使芯片進入各種工作模式。故,通常希望測試向量集能盡量多得包含所有可能的輸入向量。觀測信息采集模塊負責對之后用于分析和處理的信息進行采集。觀測信息的選取對于故障檢測至關重要,它應當盡量多的包含故障特征信息且容易采集。檢測模塊負責分析處理采集到的觀測信息,將隱藏在觀測信息中的故障特征識別出來,以診斷出電路故障的模式。
最早的電路故障診斷方法主要依靠一些簡單工具進行測試診斷,它極大地依賴于專家或技術人員的理論知識和經驗。在這些測試方法中,最常用的主要有四類:虛擬測試、功能測試、結構測試和缺陷故障測試。虛擬測試不需要檢測實際芯片,而只測試仿真的芯片,適用于在芯片制造前進行。它能及時檢測出芯片設計上的故障,但它并未考慮芯片在實際的制造和運行中的噪聲或差異。功能測試依據芯片在測試中能否完成預期的功能來判定芯片是否存在故障。這種方法容易實施但無法檢測出非功能性影響的故障。結構測試是對內建測試的改進,它結合了掃描技術,多用于對生產出來的芯片進行故障檢驗。缺陷故障測試基于實際生產完成的芯片,通過檢驗芯片的生產工藝質量來發(fā)現是否包含故障。缺陷故障測試對專業(yè)技術人員的知識和經驗都要求很高。芯片廠商通常會將這四種測試技術相結合,以保障集成電路芯片從設計到生產再到應用整個流程的可靠性和安全性。然而,對于日趨復雜的電路系統,這些早期方法越發(fā)顯得捉襟見肘。經過不斷的改進和創(chuàng)新,許多新的思想和方法相繼問世。電壓診斷出現較早且運用較廣。電壓測試的觀測信息是被測電路的邏輯輸出值。此方法通過對電路輸入不同的測試向量得到對應電路的邏輯輸出值,然后將采集的電路邏輯輸出值與該輸入向量對應的電路預期邏輯輸出值進行對比,來達到檢測電路在實際運行環(huán)境中能否實現預期邏輯功能的目的。此方法簡單卻并不適用于冗余較多的大規(guī)模的集成電路。若缺陷出現在冗余部分就無法被檢測出來。而且當電路規(guī)模較大時,測試向量集也會成倍增長,這會直接導致測試向量的生成難且診斷效率低下等問題。此外,如果故障只影響電路性能而非電路邏輯功能時,電壓診斷也無法檢測出來。由于集成電路輸出的電壓邏輯值并不一定與電路中的所有節(jié)點相關,電壓測試并不能檢測出集成電路的非功能失效故障。于是,在 80 年代早期,基于集成電路電源電流的診斷技術便被提出。電源電流通常與電路中所有的節(jié)點都是直接或間接相關的,因此基于電流的診斷方法能覆蓋更多的電路故障。然而電流診斷技術的提出并非是為了取代電壓測試,而是對其進行補充,以提高故障診斷的檢測率和覆蓋率。電流診斷技術又分為靜態(tài)電流診斷和動態(tài)電流診斷。靜態(tài)電流診斷技術的核心是將待測電路處于穩(wěn)定運行狀態(tài)下的電源電流與預先設定的閾值進行比較,來判定待測電路是否存在故障??梢?,閾值的選取便是決定此方法檢測率高低的關鍵。早期的靜態(tài)電流診斷技術采用的固定閾值,然而固定的閾值并不能適應集成電路芯片向深亞微米的發(fā)展。于是,后人在靜態(tài)電流檢測方法上進行了不斷的改進,相繼提出了差分靜態(tài)電流檢測技術,電流比率診斷方法,基于聚類技術的靜態(tài)電流檢測技術等。動態(tài)電流診斷技術于 90 年代問世。動態(tài)電流能夠直接反應電路在進行狀態(tài)轉換時,其內部電壓的切換頻繁程度。基于動態(tài)電流的檢測技術可以檢測出之前兩類方法所不能檢測出的故障,進一步擴大故障覆蓋范圍。隨著智能化技術的發(fā)展與逐漸成熟,集成電路芯片故障檢測技術也朝著智能化的趨勢前進