多链 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) ;