背景
一些应用中会将多个可编程器件以JTAG菊花链的形式级联在一起,需要对JTAG链中的一个或几个器件编程。典型应用示意图
JTAG链中的器件必须符合JTAG协议,可以是FPAG, PLD, PROM, and MCU等等。
西尔特解决方案
1. XPlayer
一般每个CPLD/FPGA厂家提供的开发工具支持生成一种复合烧写映像文件,这个文件中包含了烧写数据文件、烧写时序算法以及目标器件在JTAG链中的位置信息等。同时这些工具软件一般都提供了一种解释和运行这些复合烧写映像文件的工具软件完成JTAG链上器件的烧写。例如Xilinx的器件使用iMPACT生成SVF文件或XSVF文件,运行工具为Bit Blaster;ALTERA生成JAM文件,运行工具为JAM Player;Actel使用FlashPro生成STP文件。
西尔特SP系列ISP编程器中内嵌有一个称之为XPlayer的编程工具软件,可以支持SVF、XSVF、JAM、STP等文件,实现对FPGA、CPLD、PROM等器件的编程。
若想一键完成整个JTAG链上所有目标器件的烧写,可以借助于软件中的“工程组”功能。这是一个类似于批处理的功能,每个器件的映像文件创建一个工程文件,添加到工程组列表中。运行工程组时,列表中文件依次顺序执行。
2. 通用JTAG链解决方案
XPlayer不支持MCU等JTAG器件,有时用户没有或者不希望能够采用SVF、XSVF、JAM、STAPLE等文件,这种情况下就需要借助SP编程器本身的算法来实现。具体方法为:
1) SUPERPRO软件支持几乎所有JTAG器件,软件中已经包含的这些器件的标准算法。但由于标准算法不包含目标器件的JTAG链路信息,需要针对特定JTAG链硬件定制算法;
2)为链路中的每个器件创建工程文件;
3)编辑“工程组”,在列表中添加需要的工程;
4)运行工程组;
工程组中的工程类型不限,可以是基于SP定制算法创建的,也可以是基于上面XPlayer章节中提到的IC厂家提供的开发工具软件创建的。