一、Boundary Scan Register
-
scan path 沿着IC邊界,在內部邏輯之外,
-
Boundary Scan technique to ctrl and to observe each IO siganl anround IC boundary using testing principles
-
between core logic and pad cell of IC
BS緊貼內部IO,緊貼IO和內部邏輯之間(具體非門,門等實現邏輯)
測試原則類似Scan測試。
-
PAD有三種:
2-state pin(0,1) input output (PI,PO functional 接口)SI,SO(scan接口)
從內部邏輯到pad之間斷開,然後插入Boundary scan 單元,分別連接到PI,PO3-state pin(帶buffer的enable的pin的。input output)
需要兩個路徑,(pad有三個端口)兩個輸入信號,和一個輸出,在兩個路徑斷開,插入兩個單元Cell,分別連接到PI,PObidi pin (常見的inout pin ,帶enable 的output ,可輸入,輸出)
-
核心:放在PAD和內部邏輯之間,兩個中間沒有邏輯(只有一根線,pad在內部的連接關係,在線上斷開,放入BS cell,Boundary cell和邏輯之間不能有其他邏輯組成)
-
BOundary Scan flow
二、 Boundary Scan Cell(通用CELL)
-
the mode input should be ctrlled according to the type of pin connected to the cell (input, output,etc) and the specific instruction selected.
Support SAMPLE,PRELOAD,EXTEST,and INTEST,
結構和Scan很類似,但是多了一個MUX。 -
SAMPLE:通過capture動作來完成
PRELOAD:shift動作,先shift,在upload
EXTEST:針對外面的測試完成的動作,所有的PI不能work,針對PO,對output 的hold register 控制
INTEST:input 由hold register 控制,不是由pad,hold register來替代pad
-
Shift DR MUX
SI 和PI(data input)
Clock DR:Shift DR capture DR兩個狀態
在shift DR狀態下(ShiftDR = 1)的時候,通過SI 和SO端口和其他的boundary scan cell裏的其他 shift register 串聯起來,完成數據的輸入。
在非shiift DR狀態(ShiftDR = 0)下,Clock DR 可以在capture的狀態下,把PI的值capture 到系統中 -
Update DR:把shift DR的狀態轉到R2 寄存器內。
PI從PAD過來,PO輸出到functional邏輯中。
三、 Boundary Scan Cell Placement
- 一個或多個 boundary scan 單元可以在每一個SOC系統邏輯輸入或者輸出。
- 模擬電路中:在系統邏輯和模擬邏輯之間可以放置boundary scan
- 不能放的位置:
TAP pin
compliance pin (自定義的方式完成JTAP的,類似的,對JTAG邏輯操作)
非數字信號pin (power pin,模擬信號等)
有針對IEEE 1149.6 針對ac信號的pin(差分信號)
IEEE 1149.1 針對數字信號
- 基本要求:
保證在正常模式下,functional 路勁是正常工作。
boundary scan register和 pin 之間無邏輯
pin腳沒有的情況下,
四、 Boundary Scan Cell Type
-
Boundary Scan Register 要求:
替換芯片的輸出和輸入狀態;
控制系統邏輯輸入或者觀測系統邏輯輸出 -
通用類型:
可以在此基礎上加一些MUX和mode衍生出很多類型(這個是JTAG組織的員工沒事幹,開發這麼多不同功能的單元,其實可以根據自己的要求來選擇) -
對於不同的輸入和輸出要求,有很多種不同的Boundary Scan Cell 類型:| BC_1 | BC_2 | BC_2_A | BC_2_A_EXT | BC_2_B | BC_3 | BC_4 | BC_5 |BC_7 | BC_7_LOW | BC_8 | BC_9 | BC_10|
五、常用的Cell就三個單元。BC_1、 BC_2、 BC_7
-
BC_1 Cell for OUTPUT/INPUT:
parallel input : function input
parallel output :
serial input: SI
serial output: SO
parallel input 到 parallel output 是function路徑,將function 路徑斷開接入cell單元,通過MUX mode信號來選擇路徑,進入模式mode轉換中,mode通常連接在指令譯碼選擇器出來控制信號。
update DR 是標準的clockmode: mode信號通過指令code,decode出來的譯碼信號接入mode。如果寄存器有很多指令,都需要bypass function 路徑,就可以在mode端或起來。
注意:
BC_1可以作爲我們的Input 也可以作爲Output。
INPUT:
從system pin 進來,從 system logic 出去,bypass。OUTPUT:
三態output組合:
system logic 系統輸出 —> IO的enable端(bypass路徑)
Shift DR, Clock DR, Update DR, Mode可以共享 -
BC_2 for INPUT and Control
An input cell with parallel output register
parallel input 從pad中進來,經過mode選擇。
BC_1不同的是:Update的輸出端,Parellel input 和output調換順序。 -
BC_7 for INOUT **
好處:只有兩個寄存器,但缺少output enable** 控制,把input 和output merge起來
所以,一般會和BC_1或者BC_2配合使用,BC_1專門用來output enable 的控制 加上BC_7 cell的控制。好處:SHift Register數減少,減少了面積,增加MUX來減少FF數量。
六、 Boundary Scan Register Timing
所有狀態都由TCK上升沿來完成。
七、BSDL(Boundary Scan Description Language)
不具有通用性,不可用於仿真,基於VHDL。