- 首先介紹scan測試的基本原理。
scan測試中兩個最基本概念:
- 可控性(control)
- 可觀測性(observe)
scan設計的兩個基本流程:
- 把普通寄存器替換成可掃描的寄存器
- 把可掃描的寄存器連成掃描鏈
如下圖所示:左邊是普通寄存器,右邊是可掃描寄存器,D端前面加一個二選一的MUX,選擇端是scan_enable,為1時選擇SI端,為0時選擇D端。
如下圖所示:把所有可掃描寄存器首尾連接在一起,就構成了掃描鏈。注意,增加了三個端口,分別是SI(scan out),SO(scan out)和SE(scan enable)。
綜上所述:scan就是把普通寄存器替換成可掃描的寄存器,目的是創建control和observation點,然后把所有的可掃描寄存器連接在一起串成掃描鏈(scan chain),利用掃描鏈,工具自動產生測試patterns,讓寄存器處于一個特定的值(control),然后將期望的值移出來進行對比(observe),來判斷芯片是否有缺陷。
- 接下來介紹scan測試的基本過程。
scan測試可以大概分為如下四個步驟:
- Test setup
- 初始化過程,讓芯片進入scan test模式,可以由端口控制,也可以由內部寄存器控制。
- Shift---load/unload
- 串行shift in確定值到scan chain的寄存器上,然后把測試結果shift out進行對比。
- Capture
- scan_enable拉低,從輸入端口force確定值,從輸出端口measure輸出值,然后puluse capture clock。
- Repeat load/unload---shift/capture until test is done
- 重復shift和capture過程,直到測試結束。
scan測試具體分析包含如下5個events:
- Load scan chain(many cycles)
- Force primary inputs(PI)
- Measure primary outputs(PO)
- Pulse capture clock
- Unload values from scan cells
如下圖所示:步驟2,3,4就是capture過程。
- 最后再介紹scan測試的具體細節。
主要具體介紹如下四個步驟:
- LOAD
- FORCE PI
- MEASURE PO
- PULUSE CAPTURE CLOCK
LOAD過程分為如下4步:
- Force SE to "1"(scan enable)
- Force SI(scan chain input pin)
- Pulse shift clock
- Repeat steps 2 and 3 until all scan cells are loaded
如下圖所示:SE拉高后,經過三次shift過程,三個掃描寄存器分別處于確定值011(從左到右)狀態
然后SE拉低,電路處于function模式,從PI端口A和B force兩個確定值11,同時三個寄存器的輸出端的值011傳遞到組合邏輯輸入端,經過一段時間從PO端口measure確定值1。
最后新的一組patterns(101),串行shift in,同時內部電路的確定值(111),串行shift out進行對比。
以上即為scan測試的基本原理和過程。
-
寄存器
+關注
關注
31文章
5317瀏覽量
120006 -
Mux
+關注
關注
0文章
38瀏覽量
23352 -
Scan
+關注
關注
0文章
12瀏覽量
3527
發布評論請先 登錄
相關推薦
評論