IC流程中 DFT 學習筆記(2)

?9468e067a4704e2487ca11fc78c9a250.png



引言

DFT是ASIC芯片設計流程中不可或缺的環節。其主要目的是在芯片前端設計驗證完成后插入一些諸如寄存器鏈等可供測試的邏輯,算是IC后端設計的范疇,屬于結構測試而非功能測試。主要是在ASIC芯片流片完成后,通過這些已插入的邏輯,檢測流片得到的芯片的制造質量。檢測一些固定故障等。

學習參考

  1. 數字系統測試和可測試性設計。【美】賽納拉伯丁 - 納瓦比 著。原本和譯本。
  2. 修真院講解視頻。
  3. E課網 DFT 課程。
  4. 華中科技大學IC設計中心 陳新武 講稿《集成電路測試方法研究》。
  5. Design-for-Test: Scan and ATPG Training?Student Workbook ,Copyright ?Mentor Graphics。


故障建模

對芯片制造過程中可能出現的制造缺陷進行建模,可以幫助分析具體故障以及產生測試向量。

Stuck-at 故障模型

芯片制造過程中由于工藝或者環境控制不佳,導致某些芯片內的布線出現stuck-at問題,即該布線的電平被始終拉高或者拉低。

翻轉(transition)故障模型

電平轉換時間變長,即時鐘或者數據的邊沿跳變時間邊長,速率變慢。

對比一下:

?

路徑延時故障模型

靜態電流測試

不了解的點擊這里:IDDQ簡介?

掃描 (Scan) 技術

基本說明

如下圖所示,首先是觸發器替換,將普通的觸發器,替換為掃描觸發器。然后是將各個掃描觸發器串聯起來。?

Scan Cell Type

采用多路選擇器而增加的延遲表現在功能路徑中,有較少的面積增加。一個帶多路選擇器的D觸發器通常將一個標準D觸發器的面積增加15%到30%;增加的I/O端口最少的可以只有一個Scan_En。在實際設計中,可能并不需要增加一個另外的I/O端口用于Scan_in或者Scan_out,因為可以在設計中將這些引腳和功能引腳復用。?

單鎖存電平敏感掃描單元的邏輯結構如圖所示。上圖為通常意義下的D觸發器,下圖為它相應的可掃描單元。增加了一個數據輸入端、兩個時鐘輸入端:?Test_Scan_Clock_a 和Test_Scan_Clock_b。增加的兩個時鐘是電平觸發的。在測試模式下,Test_Scan_Clock_a和Test_Scan_Clock_b連接到所有的同類掃描單元,分別在不同的時刻將掃描數據逐位移動。Scan_in引腳的數據來自上一個掃描單元。

單鎖存器LSSD的特征是:
a) 對電路性能的影響可以忽略;
b) 較高的面積代價。用一個LSSD單元替換一個簡單的鎖存器將會增加100%或者更多時序邏輯的面積。增加的主測試時鐘和從測試時鐘也增加了布線的面積(與多路選擇器型的觸發器掃描類型相比);
c) 支持帶有異步復位和清零端的鎖存器
d) 因為增加了專用的測試時鐘,所以適合用于部分掃描設計。

專用時鐘控制的掃描方法是使用一個專用的、邊沿觸發的測試時鐘來提供串行移位驅動。在功能模式下,系統時鐘是活動的,系統數據被時鐘打入單元電路。在測試移位過程中,測試時鐘是活動的,掃描數據被打入該電路單元。電路符號如圖4-2所示。圖a為標準的D觸發器,圖b為專用時鐘控制的可掃描單元。在這種結構中,相當于有兩個D輸入端,兩個時鐘輸入端。在這種方式下,需要增加的測試引腳有:掃描輸入、測試時鐘、掃描輸出(可以和輸出功能引腳共用)。?

專用時鐘控制掃描方式的特征是:
對電路性能影響可以忽略;面積的增加可以接受:一個專用時鐘控制的掃描單元一般比普通的D觸發器的面積增加15%--30%;支持這種掃描方式的工藝庫具有觸發器和鎖存器兩種等效單元;很適用于部分掃描設計:專用的測試時鐘提供了一種機制,在掃描移位的過程中,可以很容易地保持非掃描單元的狀態;支持帶有異步置位和復位端的鎖存器;典型的應用是具有邊沿觸發的設計風格。

Scan Chains

正常模式

掃描模式

設計流程

測試流程

工具流程

邊界掃描

移位寄存器單元插入到IC的核心邏輯與I/O管腳之間,以提供通過所有IC的一條串行測試數據通路。因為移位寄存器單元位于IC的邊界處,所以這些單元被稱為邊界掃描單元(BSC,Boundary Scan Cell),由它們構成的移位寄存器稱為邊界掃描寄存器。串行測試數據的輸入端被稱為測試數據輸入端(TDI),相應的輸出端被稱為測試數據輸出端(TDO)。為了完成測試功能,相互連接的邊界掃描單元必須具有數據移位、數據更新、數據捕獲等功能,這些功能是由測試控制邏輯來控制的。測試控制邏輯由兩條信號線驅動:測試方式選擇(TMS)和測試時鐘(TCK)。所以,整個邊界掃描測試要求IC中至少有四個可利用的測試管腳,或將它們附加到其他的功能管腳上。

邊界掃描測試技術的工作原理就是:JTAG測試儀利用一個四線測試接口,將測試數據以串行方式由TDI打入到邊界掃描寄存器中,通過TMS發送測試控制命令,經TAP控制器控制邊界掃描單元完成測試數據的加載和響應數據的捕獲。最后,測試響應數據以串行掃描方式由TDO送出到JTAG測試儀,在那里,將捕獲到的響應數據與期望的響應進行比較。四個管腳TMS、TCK、TDI和TDO被稱為測試訪問端口(TAP, Test Access Port),全部測試控制邏輯被稱為TAP控制器。

內建自測 BIST

BIST主要完成測試序列生成和輸出響應分析兩個任務。通過分析被測電路的響應輸出,判斷被測電路是否存在故障。因此,對數字電路進行BIST測試,需要增加三個硬件部分:測試序列生成器、輸出響應分析器和測試控制部分

確定性測試方法是一種針對特定的電路故障進行測試的方法,雖然可以得到很高的故障覆蓋率,但硬件開銷大,僅在測試碼個數較少的時候采用
偽窮舉測試的方法是把所有可能輸入都加以計算的測試方法。它的最大特點是故障覆蓋率可以達到100%,但其計算量與輸入端子呈冪次方關系,因此計算量很大。如果將電路分為多個原始輸入變量互相獨立的塊,則測試數將大大減少。偽窮舉法就是這樣一種壓縮測試向量的方法。偽窮舉法也具有很高的故障覆蓋率,但偽窮舉法對電路進行劃分比較困難,有相當的局限性。而且由于加入了附加硬件,可能對電路性能產生負面效應。
偽隨機測試是一種廣泛使用的測試方法,該方法可以對被測試電路產生大量的測試代碼,而且硬件電路開銷較小,同時具有較高的故障覆蓋率。LFSR(Linear Feedback Shift Register,線性反饋移位寄存器)就是這樣一種測試代碼生成電路

實現輸出響應分析的方法有ROM比較邏輯法、多輸入特征寄存器法和跳變計數器法等。ROM比較邏輯法是將正確的響應存儲在芯片內的ROM中,在測試的時候,將其與測試響應進行比較,但這種方法會因為占用太多的芯片面積而毫無實用價值。多輸入特征寄存器方法是將被測試電路中各節點的響應序列進行處理,得到與測試響應序列等長的特征字(Signature),然后與無故障電路節點的響應序列特征值進行比較,如果兩者相同,則說明電路正常,否則表明被測試電路有故障存在。跳變計數器法是通過比較輸出響應的跳變總數,來判斷被測試電路是否正常工作,因此需要存儲和比較跳變次數,從而使得所需要的存儲空間與測試時間都得到大幅度的降低。但是后面兩種方法是以犧牲故障覆蓋率為代價的。

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

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

相關文章

手機照片誤刪怎么辦,電腦照片誤刪怎么辦怎么才能找回,EasyRecovery來幫您

手機照片誤刪怎么辦,電腦照片誤刪怎么辦怎么才能找回,EasyRecovery 2023來幫您!!! EasyRecovery 2023是一款操作安全、價格便宜、用戶自主操作的 數據恢復 方案,它支持從各種各樣的 存儲介質 恢復刪除 或者…

Vue3.X 創建簡單項目

一、環境安裝與檢查 首先,我們要確保我們安裝了構建vue框架的環境,不會安裝的請自行百度,有很多安裝教程。檢查環境 node -v # 如果沒有安裝nodejs請安裝,安裝教程自行百度 vue -V# 沒有安裝,請執行npm install -g v…

Cesium for unity 1.5.0使用注意事項

Cesium for Unity Quickstart – Cesium 1.Unity版本僅支持Unity2021.3.2f1以后版 2.僅支持 3D (URP)和3D (HDRP)渲染管線 3.如果Package Manager中不出現My Registries選項,請在 Edit > Project Settings...>Package Manager中重命名或刪除重新添加Packag…

深入淺出PHP封裝根據商品ID獲取淘寶商品詳情數據方法

要通過淘寶的API獲取商品詳情,您可以使用淘寶開放平臺提供的接口來實現。以下是一種使用PHP編程語言實現的示例,展示如何通過淘寶開放平臺API獲取商品詳情: 首先,確保您已注冊成為淘寶開放平臺的開發者,并創建一個應用…

【微服務實戰】01-工程結構概覽

文章目錄 工程結構概覽:定義應用分層及依賴關系1.應用分層2.定義Entity3.倉儲層3.1 工作單元:事務管理3.2 倉儲層 4.領域事件5.APIController最佳實踐 工程結構概覽:定義應用分層及依賴關系 1.應用分層 領域模型層基礎設施層 ? 倉儲應用層 ? Api、后臺任務Job共…

TCP服務器實現—多進程版,多線程版,線程池版

目錄 前言 1.存在的問題 2.多進程版 3.多線程版 4.線程池版 總結 前言 在上一篇文章中使用TCP協議實現了一個簡單的服務器,可以用來服務端和客戶端通信,但是之前的服務器存在一個問題,就是當有多個客戶端連接服務器的時候,服…

002-Spring boot 自動配置相關分析

目錄 自動配置 EnableAutoConfiguration開啟自動配置讀取配置提前過濾自動配置配置包 AutoConfigurationPackage 自動配置 EnableAutoConfiguration 開啟自動配置 在Spring 啟動類上的 SpringBootApplication 中有 EnableAutoConfiguration 讀取配置 Import(AutoConfigurat…

后端返回圖片,前端接收并顯示的解決方案

后端圖片數據返回 后端通過二進制流的形式,寫入response中 controller層 /*** 獲取簽到二維碼*/GetMapping("/sign-up-pict")public void signUpPict(Long id, Long semId, HttpServletResponse response) throws NoSuchAlgorithmException {signUpServ…

musl libc ldso 動態加載研究筆記:01

前言 musl 是一個輕量級的標準C庫,建立在系統調用之上,可以認為是【用戶態】的C 庫,與 glibc 或者 uClibc 屬于同一類。 基于 musl 的 gcc 工具鏈包括交叉編譯工具鏈,可以用于編譯 Linux 或者其他的操作系統,如當前 L…

深入解析 MyBatis 中的 <foreach> 標簽:優雅處理批量操作與動態 SQL

在當今的Java應用程序開發中&#xff0c;數據庫操作是一個不可或缺的部分。MyBatis作為一款頗受歡迎的持久層框架&#xff0c;為我們提供了一種優雅而高效的方式來管理數據庫操作。在MyBatis的眾多特性中&#xff0c;<foreach>標簽無疑是一個強大的工具&#xff0c;它使得…

構建可遠程訪問的企業內部論壇

文章目錄 前言1.cpolar、PHPStudy2.Discuz3.打開PHPStudy&#xff0c;安裝網頁論壇所需軟件4.進行網頁運行環境的構建5.運行Discuz網頁程序6.使用cpolar建立穿透內網的數據隧道&#xff0c;發布到公網7.對云端保留的空白數據隧道進行配置8.Discuz論壇搭建完畢 前言 企業在發展…

Python中import模塊導入的實現原理

歡迎關注博主 Mindtechnist 或加入【Linux C/C/Python社區】一起探討和分享Linux C/C/Python/Shell編程、機器人技術、機器學習、機器視覺、嵌入式AI相關領域的知識和技術。 Python中import模塊導入的實現原理 什么是模塊import搜索路徑import導入模塊的原理圖書推薦 專欄&…

京東門詳一碼多端探索與實踐 | 京東云技術團隊

本文主要講述京東門詳業務在支撐過程中遇到的困境&#xff0c;面對問題我們在效率提升、質量保障等方向的探索和實踐&#xff0c;在此將實踐過程中問題解決的思路和方案與大家一起分享&#xff0c;也希望能給大家帶來一些新的啟發 一、背景 1.1、京東門詳介紹 1.1.1、京東門…

VB+SQL上機考試系統設計與實現

摘 要 隨著計算機技術的迅猛發展,學校教學和管理的信息化發展也有長足的進步,這就要求各個環節都均衡發展,從軟硬件雙方面把學校建設成一流的信息管理、教育教學的平臺。本文設計開發的考試管理系統也是其中重要的一個方面。該系統本著減輕教師工作負擔、提高工作效率、優…

六、分組背包

六、分組背包 題記算法題目代碼 題記 一個旅行者有一個最多能裝V公斤的背包和有N件物品&#xff0c;它們的重量分別是W[1]&#xff0c;W[2]&#xff0c;…,W[n]&#xff0c;它們的價值分別為C[1],C[2],…,C[n]。這些物品被劃分為若干組&#xff0c;每組中的物品互相沖突&#…

【es6】函數參數設置默認值

1、es6之前的函數參數默認值寫法 1.1、使用短路或||的寫法 當y為空時&#xff0c;y判斷為false &#xff0c;走||右邊的&#xff0c;所以y world;當y不為空時&#xff0c;y判斷為true&#xff0c;不需要再運行||右邊的&#xff0c;所以 y y function log(x, y) {y y || W…

數據的深海潛行:數據湖、數據倉庫與數據湖庫之間的微妙關系

導言&#xff1a;數據的重要性與存儲挑戰 在這個信息爆炸的時代&#xff0c;數據已經成為企業的核心資產&#xff0c;而如何高效、安全、便捷地存儲這些數據&#xff0c;更是每個組織面臨的重大挑戰。 數據作為組織的核心資產 數據在過去的幾十年里從一個輔助工具演變成企業的…

Ubuntu 20.04(服務器版)安裝 Anaconda

0、Anaconda介紹 Anaconda是一個開源的Python發行版本&#xff0c;包含了包括Python、Conda、科學計算庫等180多個科學包及其依賴項。因此&#xff0c;安裝了Anaconda就不用再單獨安裝CUDA、Python等。 CUDA&#xff0c;在進行深度學習的時候&#xff0c;需要用到GPU&#xf…

操作符詳解上(非常詳細)

目錄 二進制介紹二進制2進制轉10進制10進制轉2進制數字2進制轉8進制和16進制2進制轉8進制2進制轉16進制 原碼、反碼、補碼移位操作符左移操作符右移操作符 位操作符&#xff1a;&、|、^逗號表達式 二進制介紹 在初學計算機時我們常常會聽到2進制、8進制、10進制、16進制……

C++中String的語法及常用接口用法

在C語言中&#xff0c;string是一個標準庫類&#xff08;class&#xff09;&#xff0c;用于處理字符串&#xff0c;它提供了一種更高級、更便捷的字符串操作方式&#xff0c;string 類提供了一系列成員函數和重載運算符&#xff0c;以便于對字符串進行操作和處理。 一、string…