昨天用公司的板子,想用JTAG访问下其中的FPGA。因为公司做的板子,是ARM与FPGA形成的菊花链,结果到了ISE中就读成这样:
虽然这样是意料之中的,但想要program FPGA,总会报错:
ERROR:iMPACT:477 - The bsdl for device 'UNKNOWN' is out of date. Please check your installation.
ERROR:iMPACT:583 - '2': The idcode read from the device does not match the idcode in the bsdl File.
INFO:iMPACT:1578 - '2': Device IDCODE : 00000001011100100101001101000001
INFO:iMPACT:1579 - '2': Expected IDCODE: 00000001010001000000000010010011
ERROR:iMPACT:477 - The bsdl for device 'UNKNOWN' is out of date. Please check your installation.
以前也碰到过IDCODE的错误,但那好象是因为JTAG下载线出问题了。这次,下载线应该没问题。所以,自然就想到,会不会是因为中间串了一个ARM,ISE不认识导致错误呢。在网上搜了下,没有啥相关的文章,于是干脆就email给了Xilinx的技术支持。
今天早上接到了Xilinx的电话。Engineer说,是因为ISE不识别ARM,无法确定UNKNOWN芯片的JTAG寄存器是几位的,因此无法正确的BYPASS。解决方法很简单,就是从相关网站上download那个芯片的bsdl,然后assign new configure file进去就可以了。这样ISE就可以跳过UNKNOWN芯片的JTAG,访问FPGA了。
尝试一下,果然如此。成功解决。呵呵。
BTW,要表扬下Xilinx的技术支持,几次找他们,反应都很迅速,态度也不错。呵呵,赞一个。