强大的JTAG边界扫描(5):FPGA边界扫描应用

news/2024/11/20 9:31:31/

文章目录

      • 1. 获取芯片的BSDL文件
      • 2. 硬件连接
      • 3. 边界扫描测试
      • 4. 总结

上一篇文章,介绍了基于STM32F103的JTAG边界扫描应用,演示了TopJTAG Probe软件的应用,以及边界扫描的基本功能。本文介绍基于Xilinx FPGA的边界扫描应用,两者几乎是一样。

1. 获取芯片的BSDL文件

FPGA的BSDL文件获取方式,可以参考之前的文章:BSDL文件获取。

以Xilinx Kintex-7系列FPGA XC7K325T为例,可以在BSDL Library网站(www.bsdl.info )获取,或者在ISE、Vivado的安装目录获取,

D:\Program\Xilinx\14.7\ISE_DS\ISE\kintex7\data
D:\Program\Xilinx\Vivado\Vivado\2018.3\ids_lite\ISE\kintex7\data

2. 硬件连接

首先需要准备好以下硬件:

  • JTAG调试器,如JLink V9标准版
  • 一块FPGA板子,如Xilinx XC7K325T

Xilinx的JTAG接口和Jlink的JTAG接口线序不一致,需要使用单独的杜邦线分别连接TCK、TMS、TDI、TDO和VREF、GND信号。

3. 边界扫描测试

打开TopJTAG新建工程,选择JTAG设备为JLink

如果连接正常,会显示当前连接芯片的IDCODE

指定BSDL文件路径,并进行IDCODE校验。

初始状态为stop状态,

初始默认为Sample状态,点击RUN按钮,就可以看到所有管脚的实时状态,黑色的是电源管脚,黑色的是高电平,蓝色的是低电平。闪烁的说明当前为高低电平翻转状态。

在左侧Pins窗口或右侧芯片视图,选择一个芯片管脚,右键,可以选择添加到Watch窗口或Waveform窗口

Watch窗口可以看到管脚实时状态,并且可以统计电平翻转的次数,Waveform窗口可以显示实时的波形。

Waveform支持放大、缩小、暂停等基本操作。

Pins窗口,选择一个管脚右键之后,可以进行命名,输出高、低电平或高阻状态。

支持多选之后,批量控制电平状态

支持多选之后,批量添加到Waveform窗口

4. 总结

和单片机不同,大多数FPGA芯片都是BGA封装的,管脚个数从200至1000不等,这也就意味着需要多层PCB来进行硬件设计,密集的引脚和PCB的内层走线,会导致故障的排查越来越困难,通过边界扫描,可以方便、快捷的判断出故障点,在产品研发、生产、测试阶段可以大大提高效率。


http://www.ppmy.cn/news/1112813.html

相关文章

JavaEE 网络原理——TCP的工作机制(初篇 包含 UDP 协议的再次阐述)

文章目录 一、再次简述 UDP 协议二、再次简述 TCP 协议三、描述部分 TCP 内部的工作机制1. 确认应答2. 超时重传 前提: 在前面的文章中,我向大家分别简单介绍了 TCP 协议和 UDP 包装一个数据形成数据报发送信息。 除此之外,还通过代码编写了 …

车载信息安全

车载信息安全是指保护车辆内部信息系统和数据不受未经授权的访问、使用、泄露、篡改或破坏的措施。随着汽车行业的快速发展,车载信息系统已经成为现代汽车的重要组成部分,为驾驶员提供了导航、娱乐、通信等功能。然而,这些系统也可能成为黑客…

数据结构---链表(java)

目录 1. 链表 2. 创建Node 3. 增加 4. 获取元素 5. 删除 6. 遍历链表 7. 查找元素是否存在 8. 链栈的实现 9. 链队的实现 1. 链表 数据存放在"Node"结点中 优点:不用考虑扩容和缩容的问题,实现了动态存储数据 缺点:没有…

6- 华为云查看容器日志

1 查看位置 二 进入容器查看 ls cat main.py # 退出命令是 exit() 或者 quit() cat main.py 在docker使用该命令进入文件后的退出命令

【Unity 实用工具篇】✨ | 编辑器扩展插件 Odin Inspector,快速上手学习

前言【Unity 实用工具篇】✨ | 编辑器扩展插件 Odin Inspector,快速上手学习一、Odin Inspector插件1.1 介绍1.2 相关网站链接1.3 效果展示二、导入插件三、基础功能介绍四、快速上手4.1 Attributes 相关4.1.1 使用Attribute更好的显示数据。Title、BoxGroup、FoldoutGroup4.1…

Rocky9.2基于http方式搭建局域网yum源

当前负责的项目有几十台Linux服务器,在安装各类软件的时候需要大量依赖包,而项目部署的环境属于内网环境,与Internet网完全隔离,无法采用配置网络yum源的方式安装rpm包,直接在每台linux服务器上配置本地yum源也比较麻烦,而采用直接下载rpm包用rpm命令安装更是费时费力。所…

C语言经典100例题(61)--输出杨辉三角形的前10行

目录 题目 问题分析 代码 运行结果 题目 输出杨辉三角形的前10行 问题分析 1 1  1 1  2  1 1  3  3  1 1  4  6  4  1 1  5  10 10 5  1 杨辉三角形的特点: 1.第一列都为1.第x行第x列都为1 2.第几行就有几个元素 3.从第三行开始,…

什么是交换分区以及如何创建交换分区

介绍 交换分区是Linux中的一项功能,可提供虚拟内存空间和多种好处。它允许操作系统有效地处理内存需求。因此,交换分区提高了系统稳定性、响应能力和繁重工作负载处理。 本指南将探讨交换分区及其优缺点,并概述在 Linux 系统上创建和管理交换分区的步骤。 先决条件 运行 …