最近,该小组中的许多人都遇到了上述情况,并始终感到难以置信。他们以前没有遇到过这种情况。如果是非常普遍的情况,则必须在官方网站上提供反馈。如果是非常特殊的情况,那么您只能按照BUG处理了。幸运的是,官方网站上的许多人都报告了类似的问题。出现此问题的原因:以下行为是Vivado2016.1硬件管理器的一项新功能(仍然是一项新功能,嘈杂……):当主板断电或电缆断开连接时,Vivado将在主板中关闭。硬件管理器硬件目标。在为主板加电或重新连接电缆后,Vivado现在将自动尝试在HardwareManager中重新打开硬件目标。除了重新打开硬件目标之外,硬件管理器还将尝试刷新所有设备寄存器,包括读取配置状态寄存器。由于这种新行为,如果满足以下所有条件,则可能会看到间歇性配置失败:使用除JTAG以外的任何配置接口(我们使用FLASH)Vivado硬件管理器在连接Digilent或XilinxUSB编程电缆的情况下打开电路板上电或如果使用了任何配置接口(JTAG除外),则正在加电(上面的描述就是我们所要讨论的;连接JTAG下载器时,FPGA不会在闪存中加载程序,基本上相同,这还不错),如果连接了JTAG电缆,则JTAG链自动检测和/或寄存器读取可能会中断配置,并且上电或重启后将无法完成配置。有关更多详细信息,请参阅(UG908)。在以下三种情况下(在上述情况下必须发生),可能会出现此问题:设备已开机或重新启动。脉冲PROGRAM_B不会导致此问题,因为Vivado硬件管理器无法看到电缆断开连接并执行自动电缆检测。用户发布“ refresh_hw_devices”。命令,用户插入JTAG电缆。解决方案:1.使用Vivado_init.tcl脚本来避免这种情况。 1)创建一个新的Vivado_init.tcl脚本并添加以下内容:set_paramlabtools.auto_update_hardware02)将脚本放在:installdir / Vivado / version /scripts/Vivado_init.tcl目录中的installdir是VivadoDesignSuite的安装目录。或添加本地用户目录:对于Windows7:%APPDATA%/ Roaming / Xilinx / Vivado / Vivado_init.tcl对于Linux:$ HOME / .Xilinx / Vivado / Vivado_init.tcl如果两个位置均存在Vivado_init.tcl,则首先获取Vivado安装目录中的文件,然后从您的主目录中获取文件。 2.在上电或重新启动电源之前,请拔下电缆。 3.减慢轮询的发生。例如,要每小时轮询一次,请使用以下选项启动hw_server:hw_server-e“ setjtag-poll-delay3600000000”此命令应在CMDwindow中代替VivadoTclconsole调用。 4.请按照以下步骤在JTAG模式下关闭并重新打开目标,以防止任何轮询,然后返回正常模式:1)在JTAG模式下关闭并重新打开目标:settmp_target [get_hw_targets-filter {IS_OPENED == 1}] close_hw_target $ tmp_targetopen_hw_target-jtag_modeon $ tmp_targetset_propertyLOCKtrue [get_propertyHW_JTAG $ tmp_target] 2)模式:set_propertyLOCKfalse [get_propertyHW_JTAG $ tmp_targetclose_hw_target $ tmp_targetopen_hw_target $ tmp_target初次解决的方法,可以在第一次加载时使用。我还尝试在开机过程中关闭Vivado(不让JTAG工作)。也可以正常启动。您可以尝试其他方法。这种官方处理方法具有一定的可移植性和局限性,并且每种方法都有其自身的优缺点。我不知道每个人的想法。原始标题:[Xilinx]连接JTAG下载器时,FPGA不会在闪存中加载程序。文章来源:[微信公众号:OpenFPGA]欢迎大家关注!请指出转载文章的来源。