问题描述
如何通过JTAG,从串口或选择MAP将SABA-3A / AN器件用于MultiBoot?
“Spartan-3配置用户指南”表示可以完成此操作但不提供详细信息。唯一明确的方法是使用ICAP接口。
解决/修复方法
SelectMAP编程
ICAP是SMAP接口的内部镜像。 SMAP接口的命令序列与ICAP接口相同。您必须控制CS和RDWR以便对SMAP接口进行任何写操作;避免中止很重要。当CS被断言时,当切换RDWR时触发中止。
JTAG
最简单的方法是使用SVF文件。命令序列与ICAP接口相同,可以使用CFG_IN指令加载到配置存储器中。以下是如何构造CFG_IN指令的示例:
//多重启动命令序列
// ffff => FFFF虚拟词首先移位
// AA99 => 1010 1010 1001 1001 => 1001 1001 0101 0101 => 9955 SYNC
// 30a1 => 0011 0000 1010 0001 => 1000 0101 0000 1100 => 850A类型1写入CMD
// 000E => 0000 0000 0000 1110 => 0111 0000 0000 0000 => 7000 REBOOT命令
// 2000 => 0010 0000 0000 0000 => 0000 0000 0000 0100 => 0004 NOOP
// 2000 => 0010 0000 0000 0000 => 0000 0000 0000 0100 => 0004 NOOP
//附加命令并将它们放入CFR_IN的SDR中。这将以与ICAP相同的方式将命令序列加载到配置存储器
//对于SDR命令,24个十六进制字符:24 x 4 = 96位移位
//使用`cfg_in`指令加载器件。
SIR 6 TDI(05); //将指令加载到IR
// SDR 96 TDI(0004 0004 7000 850A 9955 ffff)SMASK(ffff ffff ffff ffff ffff ffff ffff);
SDR 96 TDI(000400047000850A9955ffff)SMASK(ffffffffffffffffffffffffffffffff);
奴隶系列
从串行命令序列与ICAP命令序列相同,除了序列以LSB优先开始。
ICAP
请参阅“配置期间预加载的地址中的MultiBoot”部分中的UG332“Spartan-3系列配置用户指南”。您可以访问以下用户指南:
http://www.xilinx.com/xlnx/xweb/xil_publications_index.jsp?category=User+Guides
没有回复内容