高级边界扫描 --6-- Silicon Nail测试调试
高级边界扫描 --6-- Silicon Nail测试调试
文章目录
- 高级边界扫描 --6-- Silicon Nail测试调试
- 调试
- 添加矢量
- 示例设备和调试代码
调试
-
添加矢量
-
示例设备和调试代码
添加矢量
在Silicon Nail测试自动化之前,测试开发人员通常通过编辑测试源文件来调试在线数字测试。
随着Silicon Nail测试的自动化,数字源文件不再存在。系统提供了一个数字库,该库被转换为一个ITL文件。这个ITL文件不能像数字源文件那样修改。
如果以类似于数字源文件的方式修改ITL文件,您将得到一个对测试该设备毫无用处的Silicon Nail测试。
自动化Silicon Nail现在提供了两个中间文件:
-
ITL声明文件 (.itl)
-
VCL源文件 (.vtf)
IPG能够生成这两个文件,以帮助您调试Silicon Nail测试。按如下步骤创建中间源文件:
-
在电路板目录中打开一个Shell窗口。
-
要创建ITL和VCL文件,请输入:
tpg -S -i u5 ! Separate这将生成两个文件在数字目录中。这些文件是u5.itl(ITL文件)和u5.vtf(VCL文件)。原始的u5 ITL文件在文件合并命令执行之前不会被更改。常规的备份方案允许所有文件的多个副本,包括itl和vcl中间文件。
-
根据需要在BT-Basic窗口中编辑中间文件。
如果修改节点信息,需要在两个中间文件中同时进行修改。
-
要合并文件并生成最终的ITL文件,在Shell窗口中输入:
tpg -J -i u5 ! Join
示例设备和调试代码
图6-11显示了一个简单的设备U3,作为一个双输入设备,其输出由输出使能线OE控制。OE通过一个1kΩ电阻接地且无法访问。链U1_U2用于测试设备U3。

示例设备
示例6-5展示了为该设备生成的ITL文件的样子。
如文件所示,节点U3-6是无法访问的。这意味着所有的矢量都被注释,只留有一个默认矢量。
示例6-5
生成的ITL文件 - “U3”
! IPG: rev 04.00u2 Wed Mar 28 16:51:12 2001silicon nail "u3"
!IPG: User may add option statements here if needed.family "TTL"chain "u1_u2"tdi "U1-TDI"tdo "U2-TDO"tms "U1-TMS"tck "U1-TCK"devices"u1", "custom_lib/bs005", "DIP", no"u2", "custom_lib/bs001", "DIP", noend devices
end chain!IPG: User may add VCL pass-through statements here if needed.nodessilicon node "U1-7" test "u3.3", "u1.7" silicon node "U1-8" test "u3.4", "u1.8" silicon node "U3-5" test "u3.5", "u2.7" !IPG: NO PROBE node "U3-6" test "u3.6"inputs "U1-8"inputs "U1-7"outputs "U3-5"set terminators to onpcf order is nodes "U1-7"pcf order is nodes "U1-8"pcf order is nodes "U3-5"unit pcf"ZZX" !vector "Default"end pcfend unitend nodes
end silicon nail
示例6-6和示例6-7展示了文件被分离后(shell命令)文件的样子。
示例6-6
文件 U3.itl
! IPG: rev 04.00u2 Wed Mar 28 16:51:44 2001silicon nail "u3"
!IPG: User may add option statements here if needed.family "TTL"chain "u1_u2"tdi "U1-TDI"tdo "U2-TDO"tms "U1-TMS"tck "U1-TCK"devices"u1", "custom_lib/bs005", "DIP", no"u2", "custom_lib/bs001", "DIP", noend devices
end chain!IPG: User may add VCL pass-through statements here if needed.nodessilicon node "U1-7" test "u3.3", "u1.7" silicon node "U1-8" test "u3.4", "u1.8" silicon node "U3-5" test "u3.5", "u2.7" !IPG: NO PROBE node "U3-6" test "u3.6"inputs "U1-8"inputs "U1-7"outputs "U3-5"
示例6-7
文件 U3.itf
! IPG: rev 04.00u2 Wed Mar 28 16:51:44 2001
! LB005
! Single input, single output, single disable, inverting
! Single condition statecombinatorial default device "u3"
set terminators to on
assign VCC to nodes *
assign GND to nodes * assign Ins to nodes "U1-7", "U1-8"
assign Out to nodes "U3-5"assign Enable to nodes *power VCC, GNDfamily TTL inputs Ins, Enable
outputs Outdisable Out with Enable to "1"vector V1set Ins to "11"set Out to "1"set Enable to "0"
end vectorvector V2set Ins to "01"set Out to "0"set Enable to "0"
end vectorvector V3set Ins to "10"set Out to "0"set Enable to "0"
end vectorvector V4set Ins to "11"set Out to "0"set Enable to "0"
end vectorunit
!IPG: Pin 6 is not accessible.
!*IPG* execute V1
!IPG: Pin 6 is not accessible.
!*IPG* execute V2
!IPG: Pin 6 is not accessible.
!*IPG* execute V3
!IPG: Pin 6 is not accessible.
!*IPG* execute V4execute V1execute V2execute V3execute V4
end unit! End of Test
运行 Join 命令之后,ITL 文件 U3 的最终版本如示例6-8所示。此时已为该测试生成了所有矢量。
示例6-8
文件 U3.itf 的最终版本
! IPG: rev 04.00u2 Wed Mar 28 16:51:44 2001silicon nail "u3"
!IPG: User may add option statements here if needed.family "TTL"chain "u1_u2"tdi "U1-TDI"tdo "U2-TDO"tms "U1-TMS"tck "U1-TCK"devices"u1", "custom_lib/bs005", "DIP", no"u2", "custom_lib/bs001", "DIP", noend devices
end chain!IPG: User may add VCL pass-through statements here if needed.nodessilicon node "U1-7" test "u3.3", "u1.7" silicon node "U1-8" test "u3.4", "u1.8" silicon node "U3-5" test "u3.5", "u2.7" !IPG: NO PROBE node "U3-6" test "u3.6"inputs "U1-8"inputs "U1-7"outputs "U3-5"set terminators to onpcf order is nodes "U1-7"pcf order is nodes "U1-8"pcf order is nodes "U3-5"unit pcf"11H" !vector 1 "V1""01L" !vector 2 "V2""10L" !vector 3 "V3""11L" !vector 4 "V4"end pcfend unitend nodes
end silicon nail
测试开发人员必须生成任何可能需要的附加信息。如果将额外的节点添加到ITL和VCL文件中,应修改夹具文件,以确保不会使用或将来使用添加节点时出现的任何资源冲突。
在整合阶段没有生成源代码。未为这些设备生成额外的覆盖信息。
