fpga原理和结构 pdf_[Xilinx]在JTAG下载器连接时FPGA不加载flash里的程序

aa5b0253ab6fa434b9fc9ce2d29e1330.png

最近群里有很多人遇到上述的情况,一直觉得不可思议,以前没有遇到这种情况,如果是很常见的情况,那官网一定有人反馈,如果是极特别的情况,那么也就只能按照BUG处理了。

很幸运,官网有很多人反馈类似的问题,先把问题和解决方式放出来:

https://www.xilinx.com/support/answers/66954.html(也可以阅读原文查看)

出现这个问题的原因:

以下行为是Vivado 2016.1硬件管理器的新增功能(还是新功能,滋滋...):当板断电或断开电缆连接时,Vivado将在硬件管理器中关闭硬件目标。

重新打开板电源或重新连接电缆后,Vivado现在将自动尝试在Hardware Manager中重新打开硬件目标。

除了重新打开硬件目标之外,硬件管理器还将尝试刷新所有设备寄存器,包括读取配置状态寄存器。

由于此新行为,如果满足以下所有条件,则可能会看到间歇性配置失败:

  • 使用JTAG以外的任何配置接口(我们使用的是FLASH)
  • Vivado硬件管理器在连接Digilent或Xilinx USB编程电缆的情况下打开
  • 电路板上电或正在上电
(上面描述的就是我们说的;在JTAG下载器连接时FPGA不加载flash里的程序,基本就一样不差)

如果使用了任何配置接口(JTAG除外),并且还连接了JTAG电缆,则JTAG链自动检测和/或寄存器读取可能会中断配置,并且在加电或重启后将无法完成配置

有关更多详细信息,请参阅(UG908)。

在以下三种情况下可能会发生此问题(上面情况时必发生的):

  1. 设备上电或重启。脉冲PROGRAM_B不会导致此问题,因为Vivado硬件管理器看不到电缆断开连接并执行了电缆自动检测。
  2. 用户发出“ refresh_hw_devices”命令
  3. 用户插入JTAG电缆
解决办法: 一、通过Vivado_init.tcl脚本避免情况发生 1)新建一个Vivado_init.tcl脚本,添加一下内容:
set_param labtools.auto_update_hardware 0
2)将脚本放到: installdir  /Vivado/ version /scripts/Vivado_init.tcl 目录下 installdir 是Vivado Design Suite的安装目录。 或者 添加本地用户目录:
  1. 对于Windows 7:%APPDATA%/ Roaming / Xilinx / Vivado / Vivado_init.tcl
  2. 对于Linux:$ HOME / .Xilinx / Vivado / Vivado_init.tcl

如果这两个位置都存在Vivado_init.tcl,则Vivado首先从安装目录中获取文件,然后从您的主目录中获取文件。

有关更多信息,请参见《(UG894)Vivado Design Suite用户指南中的使用Tcl脚本》中的“加载和运行Tcl脚本”一章。

http://www.xilinx.com/cgi-bin/docs/rdoc?v=latest;d=ug894-vivado-tcl-scripting.pdf 二、在加电或重新启动电源之前,请拔下电缆。 三、减慢轮询的发生。 例如,每小时轮询一次,请使用以下选项启动hw_server:
hw_server -e "set jtag-poll-delay 3600000000"
This command should be called in the CMD window instead of Vivado Tcl console.
四、按以下步骤在JTAG模式下关闭并重新打开目标,以防止发生任何轮询,然后恢复到正常模式:1)在JTAG模式下关闭并重新打开目标:
set tmp_target [ get_hw_targets -filter { IS_OPENED == 1 }]
close_hw_target $tmp_target
open_hw_target -jtag_mode on $tmp_target
set_property LOCK true [get_property  HW_JTAG $tmp_target]
2)软件启动后,恢复到正常模式:
set_property LOCK false [get_property  HW_JTAG $tmp_target
close_hw_target $tmp_target
open_hw_target $tmp_target

我试过第一种方式,同时用两种方式加载了Vivado_init.tcl,问题可以解决。

也试过在重新上电的过程中关闭Vivado(不让JTAG工作),也是可以正常启动的,其他方式大家可以多去尝试。

官方这种处理方式有一定便携性和局限性,各有优缺点,不知道大家怎么看。

a7794426b5498a8b607c7679fceee3b1.gif

NOW

55b05c06dd5b0a2e201a4d549be10b93.png

推荐阅读

AXI总线详解

AXI总线详解-总线、接口以及协议

AXI接口协议详解-AXI总线、接口、协议

AXI协议中的通道结构

AXI总线详解-AXI4读写操作时序及AXI4猝发地址及选择

高级FPGA设计技巧!多时钟域和异步信号处理解决方案

AXI总线详解-AXI4交换机制

计算机基础知识总结与操作系统.PDF

IC技术圈期刊 2020年第09期

ZYNQ中DMA与AXI4总线-DMA简介
AXI总线详解-不同类型的DMA

不了解FPGA工作原理?看看世界第一颗FPGA芯片级拆解

几种应用DMA的典型应用

AXI_lite代码简解-查看源码

AXI_lite代码简解-AXI-Lite 源码分析

AXI-Lite 自定义IP

点击上方字体即可跳转阅读哟

0cddefb6347a1142d012fecd6bf02a9c.gif 0cddefb6347a1142d012fecd6bf02a9c.gif 0cddefb6347a1142d012fecd6bf02a9c.gif

28dd27177e64c718161b40d571827392.png

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值