我正在尝试使用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.
有没有人用这个命令取得任何成功?如果是这样,我做错了什么?
答案 0 :(得分:0)
在Jonathan的帮助下,我深究了这一点。
对于Spartan 3AN FPGA,您只能使用iMPACT的批处理命令从空白部分中读取尚未对其执行任何其他操作的DNA。最初我在擦除部件并成功进行空白检查后立即读取DNA。这两个步骤阻止了iMPACT能够在Spartan 3AN上正确读取DNA,即使它是空白的。空白检查后FPGA的电源循环会导致有效的DNA读取。
我想这与DONE引脚的行为有关。在此器件上,空白检查命令会使DONE引脚置为有效,并且无论是否为空,FPGA都会进入非活动状态。
再次感谢Jonathan让我走上正确的道路。