Spartan-3A / AN  – 如何通过JTAG,Slave Serial或SelectMAP将SABA-3A / AN器件用于MultiBoot?-Altera-Intel社区-FPGA CPLD-ChipDebug

Spartan-3A / AN – 如何通过JTAG,Slave Serial或SelectMAP将SABA-3A / AN器件用于MultiBoot?

问题描述

如何通过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

请登录后发表评论

    没有回复内容