功能安全之BIST的基本原理

BIST(Built-In Self-Test,內建自測試)是一種將測試功能直接集成到集成電路(IC)或系統內部的設計方法。其基本原理的核心在于:讓被測試電路自身(或借助少量專用硬件)來生成測試激勵、施加測試、捕獲響應并分析結果,從而顯著減少對外部自動化測試設備(ATE)的依賴。

以下是BIST的基本原理和關鍵組成部分:

  1. 核心思想:自主測試

    • 傳統測試:需要昂貴的ATE設備從外部向芯片輸入管腳施加精心設計的測試向量,再從輸出管腳捕獲響應并進行分析。
    • BIST: 在芯片內部嵌入專門的、相對簡單的硬件模塊(稱為BIST控制器),讓它來自動執行測試向量生成、響應捕獲和分析的任務。ATE的角色被簡化,可能只需要啟動測試和讀取最終的“通過/失敗”標志。
  2. 關鍵功能模塊:
    BIST的實現通常包含以下三個核心硬件模塊:

    • a. 測試向量生成器:

      • 功能: 自動產生用于測試被測電路的輸入激勵序列。
      • 目的: 激活電路中的潛在缺陷(如固定型故障、橋接故障等)。
    • b. 響應分析器:

      • 功能: 捕獲被測電路對測試向量生成的輸出響應,并將其壓縮成一個簽名
      • 原理: 將電路在測試期間的所有輸出看作一個很長的位流。MISR像一種特殊的校驗和計算器,將這個長位流壓縮成一個短簽名。如果電路工作正常,其輸出的簽名會與預期值(稱為“黃金簽名”)匹配;如果電路有故障,其輸出序列會改變,導致計算出的簽名與預期值不匹配的概率極高。
    • c. BIST控制器:

      • 功能: 整個BIST操作的“大腦”。
      • 職責:
        • 初始化測試向量生成器和響應分析器(如復位LFSR/MISR)。
        • 控制測試過程的時序(啟動、運行、停止)。
        • 協調測試向量施加和響應捕獲的同步。
        • 在測試結束時,讀取響應分析器(MISR)計算出的簽名。
        • 將計算出的簽名與存儲在芯片內部(通常是在只讀存儲器或通過設計固定連線)的預期簽名進行比較。
        • 產生一個最終的測試結果輸出(通常是一個簡單的“Pass/Fail”信號)。
        • 可能包含狀態機來管理復雜的測試序列。
  3. BIST工作流程:

    1. 啟動: 外部信號(或上電自檢邏輯)激活BIST控制器。
    2. 初始化: BIST控制器復位測試向量生成器(如LFSR)和響應分析器(如MISR)。
    3. 測試執行:
      • 測試向量生成器在每個時鐘周期產生一個測試向量。
      • 該測試向量被施加到被測電路的輸入端。
      • 被測電路產生響應輸出。
      • 響應分析器(MISR)捕獲這些輸出,并將其壓縮到正在計算的簽名中。
    4. 重復: 步驟3重復執行預定的次數(例如,直到LFSR循環一個完整周期或達到預設的測試長度)。
    5. 簽名比較: 測試結束后,BIST控制器從響應分析器(MISR)中讀取最終的簽名。
    6. 結果判定: BIST控制器將讀取的簽名與內部存儲的預期簽名進行比較。
    7. 輸出結果: 控制器根據比較結果產生一個“Pass”或“Fail”信號,輸出到芯片的特定管腳或內部狀態寄存器。
  4. BIST的主要優點:

    • 降低測試成本: 大幅減少對昂貴、高速ATE的依賴和占用時間。
    • 提高測試訪問性: 解決深亞微米設計和高密度封裝帶來的物理探測難題,直接訪問內部節點。
    • 支持并行測試: 可同時對芯片上多個模塊進行BIST,提高整體測試效率。
    • 支持在線測試: 可在系統運行時(例如啟動時或空閑時)進行周期性自檢,提高系統可靠性。
    • 簡化測試接口: 外部只需要簡單的啟動和讀取Pass/Fail信號的接口。
    • 更好的故障診斷: 簽名分析有助于定位故障區域(雖然不如掃描鏈精確)。
  5. BIST的主要挑戰/代價:

    • 面積開銷: 增加了額外的硬件(TPG, ORA, BIST控制器),占用芯片面積。
    • 性能影響: BIST邏輯可能位于關鍵路徑上,增加延遲。
    • 功耗增加: 測試期間電路切換活動率高,可能導致功耗高于正常工作模式。
    • 設計復雜性: 需要額外的設計和驗證工作。
    • 測試覆蓋率: 偽隨機測試可能無法覆蓋所有故障,需要精心設計向量生成策略或結合其他測試方法(如掃描)。
    • 故障屏蔽: MISR壓縮存在極小的概率(混疊概率)導致故障響應被壓縮成正確的簽名(誤判為Pass)。

總結:

BIST的基本原理就是將測試功能內建到芯片中,通過專用的硬件模塊(測試向量生成器、響應分析器、控制器)自動完成測試激勵生成、響應捕獲和結果分析(通過與預期簽名比較),最終輸出一個簡單的通過/失敗指示。其核心價值在于實現了測試的自主化,從而降低對外部測試設備的依賴和成本,提高測試的可訪問性和效率,并支持系統級的在線測試。這是一種通過增加少量芯片面積開銷來換取巨大測試便利性和成本效益的設計技術。常見的應用包括處理器、DSP、ASIC的核測試以及嵌入式存儲器的測試(MBIST - Memory BIST)。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/89634.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/89634.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/89634.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Linux 程序地址空間

目錄 Ⅰ、什么是程序地址空間? Ⅱ、虛擬地址空間是什么樣的? 一、虛擬地址空間和頁表 1、什么是頁表? 2、什么是虛擬地址空間? 3、什么是vm_area_struct? Ⅲ、為什么要用虛擬地址空間? 一、進程的獨立性 二、…

【iOS】消息傳遞和消息轉發

文章目錄前言一、消息傳遞:objc_msgSend 的“查字典遞歸找家長”流程1. 第一步:查“最近調用記錄”(方法緩存)—— 最快即快速查找!2. 第二步:翻“自己的字典”(類方法列表查找)——…

MySQL查詢優化與事務實戰指南

本節用到的員工信息管理表結構放到資源中,需要的同學自取。本節內容以此表為示例: 面試題:innodb與myisam的區別。 外鍵,事務 特性InnoDBMyISAM事務支持支持不支持外鍵支持不支持鎖粒度行級鎖表級鎖索引結構聚簇索引非聚簇索引崩…

Windows 10/11 磁盤清理操作指南:徹底解決系統盤空間不足問題

🧑 博主簡介:CSDN博客專家、CSDN平臺優質創作者,高級開發工程師,數學專業,10年以上C/C, C#,Java等多種編程語言開發經驗,擁有高級工程師證書;擅長C/C、C#等開發語言,熟悉Java常用開發…

b-up:Enzo_Mi:深度學習基礎知識

1.最近鄰差值(Neareast Neighbor Interpolation) 插值算法 | 最近鄰插值法_嗶哩嗶哩_bilibili 上圖中最后一行,第一個圖像,因為目標像素(放大后,位于第1行第0列的像素)距離它最近的…

微信小程序商品結算功能

整體結算流程概述微信小程序的商品結算涉及前端交互、API調用和數據管理。典型流程包括:用戶交互:用戶選擇商品、填寫地址和時間。數據獲取:從小程序緩存或后端服務器獲取訂單信息。邏輯處理:驗證參數、應用紅包折扣。提交訂單&am…

2025年7月份最新一區算法——向光生長算法

注:該算法已按照智能優化算法APP標準格式進行整改,可直接集成到APP中,方便大家與自己的算法進行對比。(近期智能優化算法APP將會迎來超級大更新!請時刻保持關注哦!)向光生長算法(Pho…

腳手架新建Vue2/Vue3項目時,項目文件內容的區別

一. package.json vue版本號不同vue2中會多一個依賴:vue-template-compiler,作用是預編譯Vue2模板為渲染函數,減少運行時開銷。vue-template-compiler與vue版本要保持一致,否則會報錯。eslintConfig中的extends不同 eslintConfig…

微信小程序入門實例_____從零開始 開發一個每天記賬的微信小程序

在前面的微信小程序實例中我們開發了體重記錄等實用小程序,今天來嘗試一個和生活消費緊密相關的 ——“每日記賬小程序”。它能幫你隨時記錄收支情況,讓每一筆花費都清晰可查。下面就跟著步驟,一步步構建這個小程序。?體驗一個開發者的快樂。…

2026python實戰——如何利用海外代理ip爬取海外數據

家人們!隨著跨境電商的發展,是不是越來越多的小伙伴們也開始搞海外的數據分析了?不過雖然我們已經整天爬蟲、數據采集打交道了,但一到海外數據,還是有不少人掉進坑里。你們是不是也遇到過以下情況:花了一堆…

Spring Boot啟動原理:從main方法到內嵌Tomcat的全過程

Spring Boot的啟動過程是一個精心設計的自動化流程,下面我將詳細闡述從main方法開始到內嵌Tomcat啟動的全過程。 1. 入口:main方法 一切始于一個簡單的main方法: SpringBootApplication public class MyApplication {public static void m…

小白學Python,網絡爬蟲篇(1)——requests庫

目錄 一、網絡爬蟲的介紹 1.網絡爬蟲庫 2.robots.txt 規則 二、requests 庫和網頁源代碼 1.requests 庫的安裝 2.網頁源代碼 三、獲取網頁資源 1.get () 函數 (1)get() 搜索信息 (2)get() 添加信息 2.返回 Response 對象…

平板可以用來辦公嗎?從文檔處理到創意創作的全面測評

在快節奏的現代職場,一個核心疑問始終縈繞在追求效率的職場人心中:平板電腦,這個輕薄便攜的設備,真的能替代筆記本電腦,成為值得信賴的辦公伙伴嗎? 答案并非簡單的“是”或“否”,而是一個充滿潛…

docker gitlab 備份 恢復 版本升級(16.1.1到18.2.0)

docker 啟動 # 在線 docker pull gitlab/gitlab-ce:latest # 離線 docker save -o gitlab-ce-latest.tar gitlab/gitlab-ce:latest docker load -i gitlab-ce-latest.tardocker run --detach \--publish 8021:80 --publish 8023:22 \ --name gitlab_test \--restart always \-…

web3 區塊鏈技術與用

#53 敲點算法題 瑞吉外賣day4 調整心態 睡眠 及精神 web3 以下是應北京大學肖臻老師《區塊鏈技術與用》公開課的完整教學大綱,綜合課程內容、技術模塊及前沿擴展,分為核心章節與專題拓展兩部分,引用自公開課資料及學員筆記。 &#x1f4…

Redis1:高并發與微服務中的鍵值存儲利器

redis中存儲的數據格式為鍵值對(Key,Value)在高并發的項目和微服務的項目會頻繁的用到redisNoSQL型數據庫1.初始Redis1.1認識NoSQLSQL:structure query language關系型數據庫結構化:有固定格式要求(表關系,…

/字符串/

字符串 個人模板 5. 最長回文子串 93. 復原 IP 地址 43. 字符串相乘 227. 基本計算器 II

我的開發日志:隨機數小程序

文章目錄前言UI設計代碼前言 為什么我要設計這個程序呢?因為我要用,懶得在網上下載了,于是干脆寫了一個。 UI設計 UI是我凹出來的,你們要使用,直接新建一個UI.ui文件,然后把下面的東西輸進去就可以了。 …

《Oracle SQL:使用 RTRIM 和 TO_CHAR 函數格式化數字并移除多余小數點》

select RTRIM(to_char(1222.11123344,fm9999990.9999),.) from dual 這條 SQL 語句主要用于對數字進行格式化處理,并移除格式化結果右側多余的小數點。下面將詳細拆解該語句的執行過程和各部分作用。語句詳細拆解1. to_char(1222.11123344,fm9999990.9999)函數功能&…

「Java案例」方法重裝求不同類型數的立方

利用方法重裝實現不同類型數值的立方計算 立方計算方法的重載實現 編寫一個程序,要求編寫重載方法xxx cube(xxx value)實現對不同類型數值計算立方。 # 源文件保存為“CubeCalculator.java” public class CubeCalculator {public static void main(String[] args) {// 測試…