如何使用Impact批处理命令从Xilinx FPGA正确读取器件DNA?

时间:2015-03-30 07:41:03

标签: fpga xilinx xilinx-ise spartan

我正在尝试使用Impact的批处理命令shell(ISE v14.6)并使用以下命令行调用来读取Xilinx Spartan 3AN FPGA的57位设备DNA:

impact -batch file.txt

file.txt的内容是:

setMode -bscan
setCable -p auto
addDevice -p 1 -file program.bit
readDna -p 1
quit

我从Impact获得的响应是​​错误的,并且每次调用都会发生变化。我知道这是错的,因为我在我的HDL中实例化了DNA_PORT原语并正在读出正确的DNA。以下是Impact的响应之一的最后几行:

Boundary-scan chain validated successfully.
DNA = '111111111111111100000000000000000000000000000000000000000'
Elapsed time = 0 sec.

有没有人用这个命令取得任何成功?如果是这样,我做错了什么?

1 个答案:

答案 0 :(得分:0)

在Jonathan的帮助下,我深究了这一点。

对于Spartan 3AN FPGA,您只能使用iMPACT的批处理命令从空白部分中读取尚未对其执行任何其他操作的DNA。最初我在擦除部件并成功进行空白检查后立即读取DNA。这两个步骤阻止了iMPACT能够在Spartan 3AN上正确读取DNA,即使它是空白的。空白检查后FPGA的电源循环会导致有效的DNA读取。

我想这与DONE引脚的行为有关。在此器件上,空白检查命令会使DONE引脚置为有效,并且无论是否为空,FPGA都会进入非活动状态。

再次感谢Jonathan让我走上正确的道路。