多链
SVF
操作
以下示例显示了如何在
SVF
链上处理操作。
每个链中连接有
2
个器件
:
xcku11
和
xcku9
。配置存储器连接到链中的第
2
个器件
(xcku9)
。为访问此配置存储器
,
SVF
会使用
HIR
、
HDR
、
TIR
和
TDR
命令来生成命令。为刷写此配置存储器所生成的命令会考量链长度
,
并将此信息
整合到低级别
JTAG
操作中。
生成的
.svf
文件包含以下操作
:
HIR 0 ;
TIR 6 TDI (3f) SMASK (3f) ;
HDR 0 ;
TDR 1 TDI (00) SMASK (01) ;
// config/idcode
SIR 6 TDI (09) ;
SDR 32 TDI (00000000) TDO (0484a093) MASK (0fffffff) ;
// config/jprog
STATE RESET;
STATE IDLE;
SIR 6 TDI (0b) ;
SIR 6 TDI (14) ;
// Modify the below delay for config_init operation (0.100000 sec typical,
0.100000
sec maximum)
RUNTEST 0.100000 SEC;
// config/jprog/poll
RUNTEST 10000 TCK;
SIR 6 TDI (14) TDO (11) MASK (31) ;
// config/slr
SIR 6 TDI (05) ;
配置存储器连接至链中第
1
个器件的多链
SVF
操作
在此示例中
,
为接入
ku9
器件
,
对
TIR
和
TDR
指令所用的
SMASK
值为
0000 0011 1111 (0x3f)
。为接入链中的第
2
个器件
,
首先推送掩码值
,
然后推送
SIR
和
SDR
指令。
SIR
和
SDR
指令会将
HIR
、
HDR
、
TIR
和
TDR
信息相组合。
如果连接到第
1
个器件
(xcku11)
的配置存储器需编程
,
那么
SVF
生成的命令会如下发生改变
:
HIR 6 TDI (3f) SMASK (3f) ;
TIR 0 ;
HDR 1 TDI (00) SMASK (01) ;
TDR 0 ;
// config/idcode
SIR 6 TDI (09) ;
SDR 32 TDI (00000000) TDO (04a4e093) MASK (0fffffff) ;
// config/jprog
STATE RESET;
STATE IDLE;
SIR 6 TDI (0b) ;
SIR 6 TDI (14) ;
// Modify the below delay for config_init operation (0.100000 sec typical,
0.100000
sec maximum)
RUNTEST 0.100000 SEC;
// config/jprog/poll
RUNTEST 10000 TCK;
SIR 6 TDI (14) TDO (11) MASK (31) ;
// config/slr
SIR 6 TDI (05) ;
配置存储器连接至链中第
2
个器件的多链
SVF
操作
在此示例中
,
为接入
ku11
器件
,
对
HIR
和
HDR
指令所用的
SMASK
值为
0011 1111 (0x3f)
。为接入链中的首个器
件
,
首先推送掩码值
,
然后推送
SIR
和
SDR
指令。
SIR
和
SDR
指令会将
HIR
、
HDR
、
TIR
和
TDR
信息相组合。
现在
,
假设链中已连接
4
个器件
:
xcku11
、
xcku9
、
xcku11
和
xcku9
。配置存储器连接至此链中的第
2
个器件
(xcku9)
,
并且我们要接入该器件
,
在此情况下同时使用如下
HIR
和
TIR
指令
:
HIR 12 TDI (0fff) SMASK (0fff) ;
TIR 6 TDI (3f) SMASK (3f) ;
HDR 2 TDI (00) SMASK (03) ;
TDR 1 TDI (00) SMASK (01) ;
// config/idcode
SIR 6 TDI (09) ;
SDR 32 TDI (00000000) TDO (0484a093) MASK (0fffffff) ;
// config/jprog
STATE RESET;
STATE IDLE;
SIR 6 TDI (0b) ;
SIR 6 TDI (14) ;
// Modify the below delay for config_init operation (0.100000 sec typical,
0.100000
sec maximum)
RUNTEST 0.100000 SEC;
// config/jprog/poll
RUNTEST 10000 TCK;
SIR 6 TDI (14) TDO (11) MASK (31) ;
// config/slr
SIR 6 TDI (05) ;
配置存储器连接至链中第
3
个器件的多链
SVF
操作
如果配置存储器连接到链中的第
3
个器件
(xcku9)
,
则执行以下操作。
HIR 6 TDI (3f) SMASK (3f) ;
TIR 12 TDI (0fff) SMASK (0fff) ;
HDR 1 TDI (00) SMASK (01) ;
TDR 2 TDI (00) SMASK (03) ;
// config/idcode
SIR 6 TDI (09) ;
SDR 32 TDI (00000000) TDO (04a4e093) MASK (0fffffff) ;
// config/jprog
STATE RESET;
STATE IDLE;
SIR 6 TDI (0b) ;
SIR 6 TDI (14) ;
// Modify the below delay for config_init operation (0.100000 sec typical,
0.100000
sec maximum)
RUNTEST 0.100000 SEC;
// config/jprog/poll
RUNTEST 10000 TCK;
SIR 6 TDI (14) TDO (11) MASK (31) ;
// config/slr
SIR 6 TDI (05) ;