-
什么是边界扫描
(boundary
scan)?
Boundary
Scan
测试原理及实现
JTAG
标准的
IC
芯
片结构
IEEE 1149.1
标准背景
JTAG
什么是边界扫描
(boundary scan)?
边界扫描
(Boundary scan )
< br>是一项测试技术,是在传统的在线测试不在适应大规模,高集成电路测试的情
况下
而提出的,就是在
IC
设计的过程中在
IC
的内部逻辑和每个器件引脚间放置移位寄存器
(shift
register).
每个移位寄存器叫做一个
CELL
。这些
CELL
准许
你去控制和观察每个输入
/
输出引脚的状态。当
这
些
CELL
连
在
一
起
就
< br>形
成
了
一
个
数
据
寄
存
器
链
(data
register
chain),
我
门
叫
它
边
p>
界
寄
存
器
(boundaryregister)
。除了上面的移位寄存器外,在
IC
上还集成测试访问端口控制器
(TAP
controller),
指令寄存器
(Instruction register)
对边界扫描的指令进行解码
以便执行各种测试功能。旁路寄存器
(bypass
regi
ster)
提供一个最短的测试通路。另外可能还会有
IDCO
DE
register
和其它符合标准的用户特
殊寄存器。
边界扫描器件典型特征及边界扫描测试信号的构成。
如果一个器件是边界扫描器件它一定有下面
< br>5
个信号中的前四个:
1
.
TDI
(
测试数据输入
)
2
.
TDO
(
侧试数据输出
)
3
.
TMS
(
测试模式选择输入
)
4
.
TCK
(
测试时钟输入
)
5
.
TRST
(
测试复位输入,这个信号是可选的
)
TMS,TCK,TRST
构成了边
界扫描测试端口控制器
(TAP controller)
,它
负责测试信号指令的输入,输出,指
令解码等,
TAP
controller
是一个
16
位的状态机,边界扫描测试的每个环节都由它来控制,所以要对
TAP <
/p>
controller
有一个比较清楚的了解。
< br>
在后续的文章中还会向大家介绍边界扫描的其它方面。
边界扫描为开发人员缩短开发周期,并且提供良好的覆盖率和诊断信息。在不了解
IC
内部逻辑的情况下快速的开发出优秀的
测试程序。在未来的测试领域,边界扫描将会得到广泛的应用。
Boundary
Scan
测试原理及实现
Boundary scan
的目的:
Boundary scan
是一种用于测试数字集成电路的技
术,它能找出,开路,短路,和功能不良的数字器件,另
外它还能完成一些功能测试。相
对于传统的数字器件的向量测试,它还有以下几个优点:
具有较短的测试开发时间;
能用于探针接触有困难的那些器件的测试;
< br>能减少维修时间和维修成本,故障诊断范围可以到
PIN
脚。
一般理论:
Boundary-Scan
测试的时候发送一组信号流到被
测的数字器件的转换寄存器单元里面。
而这个单元可以在每
一个
输入,
输出,
和双向引脚以及器件的逻辑中心那里找到。那些信
号在寄存器周围转换并且从器件输出,
然后用输出的信号和输入的信号之间的差异来比较
并判断出错。例如有两个引脚之间短路或者电源与地脚
短路之类的,它都会报错。
几个
boundary scan
器
件可以被连接到一个链上,
从而一些相同的基础测试可以同时执行。
当然,
boundary
scan
还有许多的附加的测试能力,
但是这种使用转换寄存器来检查输出的信号流是整个
p>
boundary
scan
测试
理论的基础。
两种软件包:
在
Agilent
3070
上有两个不同类型的
boundary
scan
测试软件:他们是:
in-
circuit boundary scan
和
HP
interconnectplus.
其中
in-
circuit boundary
scan
是
Agilent 3070
标准软件包中自
带的,它可以生成标准的单独的数字器件的在线
boundary
scan
测试。而
HP
interconnectplu
是一个可选软
件,
它可以生成链式的
boundary scan
测试程序,同时
,它也能自动生成单独器件的
boundary
scan
测试程
序。
boundary
scan
器件的设计
boundary
scan
测试软件遵从
IEEE
p>
1149.1
的标准,遵从此类标准的
IC
在每个引脚和逻辑中心之间都有一个
独立单元。
这些相互独立的单元们连接到一个转换寄存器也叫
boundary scan
寄存器中,
他负责控制和观察
每个输入
,输出,和双向引脚的值。每一个
boundary scan
的器件都有一个特殊的输入引脚(
TDI
)
,一个特
殊的输出引脚(
TDO
)
,
TDI
作为
boundary scan
寄存器的输入端,而
TDO
则连接到
boundary scan
寄存器
的
输出端。
在
TCK
< br>(时钟控制)
的基础上,
由
TA
P
(
test access port
)
来控制整个工作流程,
工作模式选择
(
TMS
)
和复位信号(
TRST*
)
有两种
boundary-
scan
测试依赖于
boundary-scan
器件本身,假如一个元件设计者在设计的时候把
IDCODE
放到寄存器中,
boundary-scan
就可以去
确认此器件的制造商,
PN
,和版本号之类的信息,假如此器件
还有
内嵌的自测(
BIST
)时,
p>
boundary-
scan
还可以运行这种自测并且报错。
指令寄存器:
指令寄存器包含了指令的解码。也包含了一些数据寄存所使用的特殊指令。
ByPass
寄存器:
你可以使用
ByPass
寄存器通过那些没有被使用
的
Boundary
–
Scan
p>
寄存器链来进行数据传输的工作。
假想你
有
一个很复杂的
IC
被用其它的技术象
T
ESTJET
之类的去测试而不用
boundary-Scan
,
你也许会决定省略掉这
个
Boundary-Scan
寄存器的长度并用单个单元的
ByPass
寄存器来代替。在下图中,使用
ByPa
ss
寄存器可以
包含
12
个
boundary-
Scan
寄存器,事实上
boundary-Scan
寄存器的个数一般都很大,所以采用
ByPass
寄存
器,会节约一些测试时间。
身份辨别寄存器:
身份辨别寄存器是
一个
32
位的寄存器,
它包含了元器件
的一些制造信息。
身份辨别寄存器有时也称
IDCODE
寄存器,
因为
IDCODE
< br>指令显示了身份辨别寄存器中的内容,
并不是所有的
bo
undary-scan
器件都有
IDCODE
寄存器,
IEEE 1149.1
明确指出
IDCODE
只是一个选项。
Boundary-scan
单元的功能:
下图显示了一个典型数
据寄存器单元它能灵活的扮演输入或输出单元。
灰色的
Internal logic
和
Outout
Pin
阐明了输出的配置。而紫色的
Input
pin
和
Internal log
ic
阐明了输入的配置,对于双向
PIN
来说,你可以只选用一个单独的单元就行了。转换,更新和
测试模式用其它的颜色来标
明:
TAP
控制器:
TAP
控制器是一种
16
位态的设
备,它控制
boundary-scan
测试的操作。由于
p>
TAP
控制器管理着大多数的数
据和指令寄
存器,
理解
TAP
控制器在另一种意义
上说等于理解了
boundary-Scan, TAP
控制器
通过
TCK
,
TMS
< br>,
TRST*
来实现控制。
控制线:
三个输入控制线:
TCK
,
TMS
,
p>
TRST*
,
TCK
是一个方波时钟信号,
Agilent3070
用一个
50%
的
DUTY CYCLE
来
实现它,
TMS
信号通过
状态图控制着
TAP
控制器的动作,一般在
TCK
的上升沿触发
TMS
,有时
也会在
TCK
的下降沿触发。而
TRS
TR*
用于复位动作。例如下图所示,
TRST
信号一般是在接近序列的中间出现。
测试
-
逻辑
-
复位:
在测试
-
逻辑
-
复位状态时,
测试逻辑被禁用从而使此器件
可以正常工作,
当器件第一次被打开的时候,
只要
有
ID
寄存器存在,
那个指
令寄存器就会引入
IDCODE
指令,
假如没有的话,
会引入
ByPass
寄
存器。
一般的,
测试
-
逻辑
-
复位在
TAPcont
roller
上电的时候才工作的,测试程序员能够通过使
T
RST*
为低电平或使
TMS
为
高电平并持续至少
5
个
TCK
周期来迫使
TAP
控制器进入
上电的状态。
Run-Test/Idle:
Run-Test/Idle
允许在指令寄存器的指令的基础下
激活被选种的测试逻辑电平,
TAP controller
在
TMS
保持低
电平的状态下,会保持
Run-
Test/Idle
的状态,而当
TMS
转换为高电平的时候,它转移到
Select-DR-
Scan
上
去。
Select-DR-Scan
:
<
/p>
这个
TAP
控制器扮演一个开关的角色,
在下一个
TCK
的上升沿
TAP
控制器会开始数据寄存器的扫描或者转
到
Se
lect-IR-Scan
的状态上面。
Capture
–
DR:
在
Capture
–
DR
的状态时,
夹具上连接到输入
PIN
的测试针的值,
会替换一部分当前被指令选中的部分
数据
寄存器。
并不是所有的指令都在这个状态做任何事,
一些指令可以在数据寄存器现存的数据的基础上工作,
TAP
控制器会在一个时钟周期内保持这种状态,然后再转移到
Exit1-I
R
或
Shift-
IR
。
Shift-DR:
在
Shift-DR
的状态,数据寄存
器就好象一个转换寄存器在
TDI
和
T
DO
数据之间并从
TDI
转移到数据寄
存器
然后再通过
TDO
在每一个
TCK
的上升沿从数据寄存器中出去。
数据寄
存器会保持这种状态直到
TMS
变为高
电平,然后设备会转移到
Exit1-DR
的状态。
Exit1-DR
在到达
Exit1-DR
状态后,
TAP
controller
转移到
Pause-DR
或者
Update-DR
在
TCK
下一个上升沿,
转到
Update-DR
时,
扫描的过程就结束了,
当移动到
Pause-
DR
时可以暂停
TAP controller
的状态进程,
此时可以允许测试机
调用内存。
Pause-DR
当
Pause-DR
状态时,
它允许一个暂停来通过指令寄存器来转换数据,
一种情况是
TAP controller
执行其他的
任务时可
以使用此种状态,
TAP controller
会保持这种状
态知道
TMS
变为高电平,
然后
TAP controller
会转移
到
p>
Exit2-DR
状态。
Exit2-DR
在到达
Exit2
-DR
状态之后,在下一个
TCK
的上
升沿时
TAP
controller
会转移到
Shift-
DR
或
Update-
DR
。转移
到
Shift-
DR
时会从新开始扫描,转移到
Update-
DR
时中止扫描的进程。
Update-DR
在
TCK
的下降沿时,
Update-DR
状态从
p>
boundaryscan
寄存器锁住数据到
boundaryscan
寄存器的并联输出。
在到达这个状
态之后,状态设备转移到
Run-
Test/Idle
或
Select-DR-
scan
,当一个测试转移到
Select-DR-
scan
时比转移到
RUN-
Test/Idle
要快一个时钟周期,转到
RUN-
Test/Idle
去压制
ground
bounce
的影响是一个好办
法。
Select-IR-Scan
TAPcontroller
充当一个开关的角色。在
TCK
下一个上升沿时,
TAPcontro
ller
开始
IR
扫描进程或者重置<
/p>
TAPcontroller
到
TEST
-Logic-Reset
状态。
IR
—
SCAN
进程放在
TDI
和
TDO
之间的指令寄存器中,并在下一个
TAPcontroller
指令中转换。
Capture-IR
Capture-IR
状态在
TCK
的上升沿时从集成电路板上纳入一个逻辑
电平到指令寄存器。一般都是
01
之类的信
号,用于测试
boudary-Scan
电路的完整性。
其他的信号被设计员另外再特指标明或把值赋给变量,在
Capture-
IR
状态待满一个时钟周期后,
TAP
controller
转移到
EXIT-
IR
或
Shift-
IR
。
Shift
–
IR
在
Shift
–
IR
的状态,指令寄存器在
TDI
和
TDO
之间扮演一个转换寄存器的角色,在
< br>Capture-IR
抓到的数据
在
TCK
的上升沿时转换到
TDO
并
且一个新的指令从
TDI
转换进来。
T
AP controller
直到
TMS
变为高电平才会
改变状态到
Exit1-IR.
Exit1-IR.
到达
Exit1-IR
状态之后,<
/p>
在下一个
TCK
的上升沿时转换到
Pause-IR
或者
Update-IR.
转移到
Update-IR
时中止
p>
扫描的进程。当移动到
Pause-
IR
时可以暂停
TAP controller
的状态进程,此时可以允许测试机调用内存。
Pause-IR
当
Pause-I
R
状态时,它允许一个暂停来通过指令寄存器来转换数据,一种情况是
< br>TAP controller
执行其他的
任务时可以使
用此种状态,
TAP controller
会保持这种状态知
道
TMS
变为高电平,
然后
TAP controller
会转移
到
Exit2-IR
状态。
Exit2-IR
在到达
Exit2
-IR
状态之后,在下一个
TCK
的上
升沿时
TAP
controller
会转移到
Shift-
DR
或
Update-
IR
。转移到
Shift-
IR
时会从新开始扫描,转移到
Update-
IR
时中止扫描的进程。
Update-IR
在
TCK
的下降沿时,
Update-
IR
状态
latches
the
instruction
register
from
the
flip-
flops
into
latches
where
the
instruction decodeed
,
一旦一个新的指令被锁住它立刻转变为当前的指令。
在到达这个状态之后,
p>
状态设备
转移到
Run-
Test/Idle
或
Select-IR-
scan
,当一个测试转移到
Select-IR-
scan
时比转移到
RUN-Test/Idle
要快一个
时钟周期,转到
RUN-
Test/Idle
去压制
ground
bounce
的影响是一个好办法。
ByPass
Bypass
指令放在
一个单独的单元,
ByPass
寄存器在
TDI
和
TDO
之间,它并不象其他
的测试一样去确认元件
的放置和方向,在
Bypass
指令执行时,元件仍然保持正常的操作。根据
IEEE1149.1
p>
的标准,指令代码为
1
的必须解码为
Bypass.
EXTEST
EXTES
T
指令是最有用的
boundaryscan
< br>的指令,
因为它允许你在对元件的逻辑核心一无所知的情况下去测试
所有的输入输出和双向引脚。
EXTEST
指令隔离
了元件的逻辑核心测试,在元件的逻辑核心之外进行测试,
他测试
Boundaryscan
单元,引脚到板上的连接等等。
E
XTEST
指令有三种模式:
标准<
/p>
-
单独模式用于测试
boudary
寄存器,和器件到板子上的连接情况。
内部连接模式用于测试
boudary
寄存器,和连接到
boundaryscan
器件的电路。<
/p>
簇模式用于用于测试
boudary
寄存器和在
boundaryscan
器件和其它器件之间的电路。
根据
IEEE1149.1
的标
准,指令代码为
0
的必须解码为
EXTEST
。
Sample /preload
Sample /prel
oad
指令允许在元件正常工作的时候有有采样的输入和输出。然后
Boundaryscan
测试可以对那
些采样数据进行分
析比并从
TDO
输出。当
Bounda
ryscan
测试在转换采样数据并输出时,它可以通过
TDI
将
采样数据预载到
Boundarys
can
寄存器中,那些信号解码到
Sample /prelo
ad
指令并不属于
IEEE1149.1
标准,
他们被元件设计师所制定。
Sample /preload
指令的预载功能是用来准备那
些例如
EXTEST
的指令的,
例如,
假想一个芯片选择器件如下
图它连接了两个
ROMS
并共享了一个输出
BUS
,
在这个事例中你可以使用
preload
来确保芯片选择器件的输
出不会同时出现高电平而导致
BU
S
竟争。
IDCODE
IDCODE
指令被放在
TDI
< br>和
TDO
之间的寄存器中间,
由
于在这里面放了元件的制造信息,
所以可以通过此指
令来辨别<
/p>
WRONG PART
。
USERCODE
USERCODE
指令允许测试开发人员登入一个
32
位的代码从而可以被转换并
输出用于校验。这个指令是根据
有设计人员的定义来定的,并且它依赖于身份辨别寄存器
的存在而存在。
Intest:
I
ntest
对元件的内部逻辑进行静态的测试,
在进行静态的测
试的时候,
这些测试并不是在元件固有的测试速
度下进行的,而
是在
TCK
的单步测试模式下进行的。这种测试不会受元件的拓
扑结构的影响。它的测试结
果从
TDO
输出。
RunBIST:
RUNB
IST
是使元件进行自测的指令,当元件执行
BIST
时,
TAP
控制器处于
RUN_TEST/IDLE
状态。它测试的
结果从
TDO
输出。同样这个测试不会受元件的拓扑结构的影响。
CLamp:
CLAMP
是一个设计人员定义的代码,它能设置所有的系统逻辑输出和双向引脚从
Boundar
y-scan
寄存器中
锁住一个常量值。在此指令执行的时候,
处于TDI和TDO之间的
ByPass
寄存器在SHIFT-
DR控
制的状态。
HIGHZ
:
HIGHZ是一个设计
人员定义的代码,它能设置所有的系统逻辑输出和双向引脚到一个高阻状态。这就
能允许
测试机在不损坏元件的前提下去驱动信号到元件的输出和双向引脚上。在此指令执行的时候,处于
TDI和TDO之间的
ByPass
寄存器在SHIF
T-DR控制的状态。
BOUNDARY-SCAN
的软件
In-circuit
Boundary-Scan
一种使用
Boundary-
Scan
技术的方式是使用
BSDL
INFORMATION
去创建一个传统的在线库测试。
In-circuit
Boundary-Scan
,扫描端口驱动界面(
SPDIF
)是
HP3070
测试机所具有的标准的功能。它
为单个的
Boundary-Scan
器件创建测试,
< br>不能创建链式的
Boundary-Scan
测试。
p>
和许多的数字测试一样,
你在做
n-cir
cuit
Boundary-
Scan
测试时要首先确认你的测试点数是否够。
HP interconnectPlus software:
一种使用链式的
Boundary-
Scan
测试软件包,可生成测试类型如下:
BSDL
源文件:
< br>BSDL
是一种使用
IEEE1149.1
标准的语言,同时它也是
VLSI
语言的一个分支。
在开发
boundary
scan
测
试时
要先用
BSDL
compiler
来验证一下语法有无错误。
Boundary scan
测试技术
In-circuit boundary
scan
测试
SPDIF
界面:
Reset
Tap:
生成十个向量来保持
TMS
为高电平并持续五个时钟周期。这样就把
TAP
控制器放在
TEST-LOGIC-
RESET
状态并与其它的状态隔离开来。
Bypass Test
:
执行
Bypass
指令,能用于快速
发现
TAP
控制器在运行时的问题。
ID code Test
:执行
ID
CODE
指令,假如器件没有
ID
信息
,则执行
BYPASS
指令。
User Code
Test
:执行
User Code
Test
指令,假如器件没有
User Code
Test
信息,则什么也不执行。
Parallel
toggle
:产
生锁住所有输入输出脚状态的向量,但是它受限于那些相互之间两两短路和连接到电源
脚
的
PINS
。
Running
Toggle
:类似于
Parallel toggle
,但是它能对输入
PIN
实现持续的锁住,虽
然测试速度会慢一店,但
是这样会减小板子拓朴结构对测试的影响。
Toggle
Pins
:同
Running Toggle
< br>,只是精确到
PIN
脚。
p>
EXTEST
:你可以定义输入,输出,双向脚的值,对于调试来说
,是非常有用的。
Simple
setup
:生成
set-up-only
测试,它会允许你指定你元件的逻辑家族,自动生成一个
set-up-
only
测试。
Setup &
Disable
:同
Simple setup
一样,另外它还会生成元件的
DISABLE
信息,很
有用的。
Verify BSDL
:
验证你的
BSDL
有无错误。
HP interconnectPlus
测试
:
Integrity
Test:
通过指令寄存器来测试从
TDI
到
TDO
路径的数据的完整性。
它用来在
Capture-IR
指令后,比
较指令寄存器中的内容和从
TDO
中出来的内容。由于在指
令寄存器捕获的最小有效信号为
0,1
所以从
< br>TDO
中出来的信号必定是
1,0
,如下图显示:
假如有身份验证寄存器存在的话,
Integrity Tes
t
会执行
IDCODE
指令,假如没有
身份验证寄存器存在的话,
Integrity Test
会执
行
BYPASS
指令,来验证
BYPA
SS
寄存器的好坏。
Power-
short
测试
:
< br>用来检查
UNNAILED
的
B
oundary scan
Nodes
与其他类型的
nailed Nodes
之间的短路。
它
会参考
b
oard_xy
文件的信息并自动生成测试。
Connect
测试
:用来查找元件的
open
的故障,一次只能找一个元
件,当一个元件在测试的过程中,其它的
元件会处于BYPASS的状态,如下图U3处
于
connect
测试的状态中:它只会测试那些在输
入和输出的引脚上有固定的探针的元件,并且它会自动生成分离的两段
测试为那些双向引脚,那就是第一
次把他们当成DRIVER然后再把他们当成RECE
IVER。
inter
Connect
测试:用来测试元件在
boundary scan
链上的连接。
bus
wire
测试:用来验证双向PIN的测试,会生成不同的向
量,先把他们当DRIVERS来测再把他
们当RECEIVERS来测。
bus wire
测试会一次打开一个驱动去检查
开路,随后它会测试所有的DR
IVERS的运行情况。它会自动生成测试只要在链上有
BUS
DRIVERS
。
Silicon-Nails
测试
:
用于测试那些与
Boundaryscan
元件相连的传统数字器件。
Boundaryscan
软件使用
Boundarysca
n
寄存器去向那些非
Boundaryscan
元件传送和接受信号,这对那些不能下探针的元件是一种很
好的测试方法。
p>
Boundaryscan
Disabling:
防止其他的
B
oundaryscan
元件在测试的时候有输出信号干扰,
此
功能选项可在
IPG
中打开。当一个元件被
Disable
掉的时候,
TAP
控制器处于
Run-
Test/Idle
的状态,为此,利用
GPRELAY
把
< br>TMS
短接到地是一个好方法。
当今,微电子技术已经进入超大规模集成电路
(VLSI)
时
代。随着芯片电路的小型化及表面封装技术
(SMT)
和电路板
组装技术的发展,使得传统
测试
技术面临着巨大的挑战。在这种
情况下,为了提高电路和系统的
可
测试
性,
联合
测试
行动小组
(JTAG)
于
1987
年提
出了一种新的电路板
测试
方法
--
p>
边界扫描测试
,
并于
1990
年被
IEEE
接纳,形成了
IEEE1149
.
1
标准,也称为
JTAG
标准
[
1]
。这种技术以全新的
虚拟探针
p>
代替传统
的
物理探针
来提高电路和系统的可测性。由于<
/p>
JTAG
标准的通用性很好,现在许多
I
C
公司都提供了支持
边界扫描
机制的<
/p>
IC
芯片,甚至部分
FPGA
和
CPLD
芯片也采用了这一技术。
本文介绍支持
JTAG
标准的
IC
芯片结构,
并以
Xilinx
公司的两块
xc9572_pc84
芯片为例,
探讨并利用
边界
扫描
技术控制
IC
芯片处于某种特定功能模式的方法,并且针对
IC
芯片某种特定的功能模式设计该芯片的
JTAG
控制器。<
/p>
1
支持
JTA
G
标准的
IC
芯片结构
边界扫描
技术的核心就是
在
IC
芯片的输入输出引脚与内核电路之间设置
边界扫描
结构。
JTAG
标准
定义了
一个
4-wire
串行总线
p>
[2]
,通过这四条
测试
< br>线访问
边界扫描
单元,可以达到
测试
芯片内核与外围电路的目
的。
图<
/p>
1
示出了支持
JTAG
< br>标准的
IC
芯片结构。
图中,<
/p>
扫描结构由
测试
存取通道
(TAP)
、
边界扫描
寄存器
(BSR)
、
TAP
< br>控制器、指令寄存器
(IR)
和辅助寄存器等组成。
p>
1
.
1
TAP
TAP
是由
4-wire
串行
测试
线组成的
测试
存取通道,
JTAG
标准定义的所有操作都由这四条
测试
线来控制。
这
四条
测试
p>
线分别是:
测试
时钟输入线
(TCK)
,
测试
方式选择输
入线
(TMS)
,
测试
数据输入线
(TDI)
,
测试
数据
输出线
(TDO)
。
1
.
2
TAP
控制器
TAP
控制器是
边界扫描测试
的核
心控制器,具有一个
16
状态的有限状态机。它与
TCK
信号同步工作,并响
应
TMS
信号。在
TCK
信号和
TMS
信号的控制下,
TAP
控制器可以选择使用指令寄存器扫描还是数据寄存器
扫描,以及选择用于控制<
/p>
边界扫描测试
的各个状态。图
2
描述了
TAP
控制器的状态转换全过程
[3]
。
无论当前状
态如何,只要
TMS
保持
5
个
TCK
时钟为高电平,
TAP
控制器都会回到
Test_Logic_Reset
p>
状态,
使
测试
电路
不影响
IC
芯片本身的正常逻辑。需要
测试
时,
TAP
控制器跳出该状态,选
择数据寄存器扫描
(Select_DR_Scan)
或选择指
令寄存器扫描
(Select_IR_Scan)
进入图
2
的各个状态。一个标准的
测试
过程如
下:
TAP
控制器在
Capture_IR
状态捕获指令信息,
经过
Shift_IR
状态移入新指令,
< br>新指令经过
Update_IR
状态成为当前指令;
p>
紧接着,
当前指令在
Select_DR_
Scan
状态选择相应的
测试
数据寄存
器,
在
Capture_DR
状态捕获
前一
测试
向量的响应向量,在
Shif
t_DR
状态移出该响应向量,同时移入下一
测试
向量,在
Update_DR
状态将新的
测试
量并行加载到相应的串行数据通道,直到移入最后一个
测试
向量为止。其中,
Pause_DR
状态和
Pause_IR
状态暂停数据移位状态;而
四个
Exit
状态是不稳定状态,它们为状态转换提供
灵活性。
1
.
3
BSR
BSR
是
边界扫描
技术的核心,它构成
边
界扫描
链,其中的每一个
边界扫描
单元
(BSC)
都是由触发器
Q
、多路
选择开关
mux
组
成。图
3
示出了
JTAP
标准中
BC_1
类型的
BS
C
的结构
[3]
。
在图
3
中,
SI
为
BSC
< br>的串行输入端,
连接上一个器件
(BSC)
的串行输出端
SO
,依次相连便构成
边界扫描
链。
该扫描链的首端接
TDI
引脚,末端接
TDO
引脚。当
MODE
为
0
时,芯片工作在正常模式下。当芯片工作在
测
试
模式时,
测试
数据在移位信号
(SHIFT=1)
的控制下,通过
SI
端进入到多路选择器
1(MUX1)
中,通过
SO
端
进入下一个
BSC
p>
的
SI
端;
当芯片
工作在捕获方式时
(SHIFT=0)
,
触发器
Q1
将捕获
BSR
并行输入端
(DI)
的数
据,送入
SO
端,在扫描链中传递捕获的数据,并在
TDO
回收数据,以此来检测故障的存在并且定位故障所
< br>在的位置。当
MODE
为
1
p>
时,芯片工作在更新方式下,
Q1
中的数据
在更新信号
(UPDATE)
的作用下,进入到
多路选择器
2(MUX2)
中,通过
< br>BSR
的并行输出端
(D0)
进
入芯片的内核中。
1
.
4 IR
IR
是向各个数据寄存器发出各种操
作码并确定其工作方式的指令寄存器,图
4
示出了一种
IR
单元的结构
[4]
。由图
4
可以看出,
IR
单元是由一个触发器
Q1
和一个锁存器
Q2
构成的。
CAPTURE
DATE
信号控制
IR
装
载指令,
SHIRFT
IR
< br>信号控制指令在
IR
中的移位;
CLK
IR
信号是从
TCK
获得的时钟信号,用于为
BSR
的捕
获操作、移位操作提供时钟信号。
UPDATE IR
信号用于将当前指令装入锁存器
Q2
,以决定将要执行的操
作
模式和将要用到的
测试
数据寄存器的
类别。
1
.
5
辅助寄存器
辅助寄存器包括器件标志寄存器和旁路寄存器,器件标志寄存器用于存储器件制造商、器件序列号和器件 p>
版本号等信息,借助它可以辨别板上器件的制造商,还可以通过它检测是否已将正确的器件安
装在电路板
的正确位置上。旁路寄存器用于将
边界扫描
单元直接旁路,把扫描数据直接传递给下一个扫描器件。
2
基于
边界扫描
技术的
p>
数字系统测试
基于
边界扫描
技术的
数字系统测试
p>
包括两个方面,
一是对
IC
芯片电路功能
测试
及系统互连
测试
;
二是利用
边界扫描
技术控制
IC
芯片处于某种特定的功能模式,以方便
电路系统的设计和调试。本文主要论述后者。
2
.
1
测试
系统组成
测试
系统由主机<
/p>
(PC
机
)
、<
/p>
测试
仪和
PCB
实验板组成,
测试
仪通过标准口
(RS
232)
与
PC
机连接,通过串行标<
/p>
准信号电缆与
PCB
板上的
测试
存取通道相连,如图
5
所示。
PCB
板由
< br>Xilinx
公司的两块
xc9572 pc84
芯片互连组成,芯片符合
IEEE1149
.
1
的
JTAG
接口标准,具有
84
个外部引脚、
4<
/p>
个
JTAG
引脚、
5
个
Vcc
引脚、
< br>6
个
Vss
引脚、
69
个双向数据输入/输出引脚,
xc9572
p>
系
列芯片未实现异步复位信号引脚
TRST
,电缆不需要提供这一信号线。该器件的
边界扫描
寄存器由
216
个
边
界扫描
单元组成,其中
9
个单元是内部属性的单元,其余
207
个单元组成
69
组
边界扫描
单元组
[5]
。
2
.
2
设计分析与实现
< br>
-
-
-
-
-
-
-
-
-
上一篇:褒义词和贬义词是什么意思
下一篇:某某行互联网上网及网络安全解决方案