资料介绍
本文转载自:Xilinx技术社区微信公众号
BSCANE2 模块是 FPGA 中的一个特殊硬核模块,是联通外部 JTAG 管脚和 FPGA 内部用户逻辑的一个接口。BSCANE2 的定义和端口描述,可以在对应器件的 Libraries Guide中找到。
比如7系列的定义可以参考 UG768,第4章。
其基本功能介绍,请参考 UG470, 第10章。
在 FPGA 中,JTAG 管脚除了负责原始的芯片测试功能 (IEEE1149.1),还主要用于下载和调试,比如ILA就是通过 JTAG 接口捕捉内部逻辑信号,送回 ISE 或 Vivado,并在界面上直接显示和控制。BSCANE2 其实就是实现这一内外沟通的关键核心模块,这部分实现对于用户来说是透明的。
那么如何利用BSCANE2 模块,构建用户自己的专用内部扫描链/功能链呢?
本文提供一个基于7系列的 ISE 版本的参考设计。通过 FPGA 的 JTAG 管脚,用户可以直接控制内部的逻辑实现自定义的功能。
UltraScale/UltraScale+ 的 BSCANE2 模块用法和7系列基本相同。
设计说明:
这是一个关于如何使用 BSCANE2 模块的简单实例。基于Xilinx的开发板 KC705,该设计例化了一个 BSCANE2 模块,由 USER1 命令控制。通过 JTAG 接口发送标准和自定义的指令,可以实现:
1. 从运行的设计中读取32位的用户ID;
2. 从 JTAG 接口输入控制 LED灯显示的字符串;
3. 从 JTAG 口向 BRAM 写入32位数据;
4. 从 BRAM 读出32位数据;
5. 向 BRAM 中一次写入1024 bits(可用于 EDK 设计中 bootloader 的修改,升级等)。
指令定义:
该设计的 shift register 定位为33位。其中第32位(从0开始计数)用于区分JTAG发送的是指令还是数据。Bit[32] 为1,则送入的为指令;Bit[32]为0,则送入的为指令对应的数据。其他的 JTAG 寄存器均为 32 位。
33'h100000241 用户ID读取;
33'h100000242 LED 灯显示控制;
33'h100000243 向 BRAM 写入32位数据;
33'h100000244 从 BRAM 读取32位数据;
33'h100000245 向 BRAM 写入1024位数据。
设计运行实现:
SVF文件可以以可读形式清楚的描述、记录 JTAG 链的动作,并可以在 ISE/iMPACT或Vivado/HW Manager 中直接执行。本设计使用 SVF 来实现以下功能:
1. 发送 USER1指令‘02’,来选择和使能用户自定义的 JTAG 链;
2. 发送指令‘100000241’ 读取用户定义ID;
3. 发送指令‘100000242’获取一个二进制码,并送入7位 LED 灯显示;
4. 使用指令‘100000243’向BRAM中每次写入一个32位数据;然后使用指令‘100000244’将写入的数据逐个读出来。
5. 使用指令‘100000245’向 BRAM 写入1024位数据;如果需要写入的数据大于1024,则多次执行该指令即可。
设计源文件及 SVF 文件的下载地址:
- 助力软件开发者—扩展FPGA应用开发
- 供开发鸿蒙开发者使用的自定义滚轮类控件 0次下载
- 供鸿蒙应用开发者使用的计数动画文本视图 0次下载
- 供开发鸿蒙开发者使用的日期选择器 1次下载
- Windows开发者人员模式功能综述 9次下载
- Verilog快速掌握之模块例化资源下载 25次下载
- 开源软件关键开发者类型及协作网络鲁棒性综述 4次下载
- 单片机开发者常常容易疏忽的这几个问题资料下载
- 如何在Verilog设计中使用库模块 4次下载
- AI开发平台如何帮助嵌入式开发者加速应用产品化落地 0次下载
- C2000 ACDC 开发者套件应用程序 14次下载
- 如何在DBGrid里放置图标 6次下载
- AUTOSCOPE开发者工具包 37次下载
- 系统开发者指南--在测试与量测环境中使用USB应用手册
- LabVIEW开发者论坛技术资源包
- 15-PyTorch-Edge-在边缘设备上部署AI模型的开发者之旅 572次阅读
- 开发者如何使用讯飞星火认知大模型API? 5200次阅读
- 一文详解HPM6000系列PWM定时器模块 940次阅读
- ES-BRIDGE2——MCU应用开发者的好帮手 1345次阅读
- 如何在设计中例化和使用多个BSCANE2模块 1658次阅读
- 如何在Windows系统中使用VSCode来进行开发和编译 2222次阅读
- 基于OpenHarmony开发样例的步骤 1200次阅读
- 如何在IP的kernel module里设置并使用IP interrupt 572次阅读
- 实测没有广告的百度开发者搜索 2721次阅读
- 开发者如何选择合适的开放平台?开放平台如何吸引开发者来平台开发应用? 4127次阅读
- 2018年受到众多开发者关注的7个Python类库 4650次阅读
- Python自动化测试框架有哪些? 4575次阅读
- 苹果发布iOS 12开发者预览版 beta3:bug修复 4394次阅读
- 如何成为一名合格的嵌入式开发者?现在了解还不晚! 3560次阅读
- 快来试试这个AI开发者实战营-广州站 668次阅读
下载排行
本周
- 1电子电路原理第七版PDF电子教材免费下载
- 0.00 MB | 1491次下载 | 免费
- 2单片机典型实例介绍
- 18.19 MB | 95次下载 | 1 积分
- 3S7-200PLC编程实例详细资料
- 1.17 MB | 27次下载 | 1 积分
- 4笔记本电脑主板的元件识别和讲解说明
- 4.28 MB | 18次下载 | 4 积分
- 5开关电源原理及各功能电路详解
- 0.38 MB | 11次下载 | 免费
- 6100W短波放大电路图
- 0.05 MB | 4次下载 | 3 积分
- 7基于单片机和 SG3525的程控开关电源设计
- 0.23 MB | 4次下载 | 免费
- 8基于AT89C2051/4051单片机编程器的实验
- 0.11 MB | 4次下载 | 免费
本月
- 1OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234313次下载 | 免费
- 2PADS 9.0 2009最新版 -下载
- 0.00 MB | 66304次下载 | 免费
- 3protel99下载protel99软件下载(中文版)
- 0.00 MB | 51209次下载 | 免费
- 4LabView 8.0 专业版下载 (3CD完整版)
- 0.00 MB | 51043次下载 | 免费
- 5555集成电路应用800例(新编版)
- 0.00 MB | 33562次下载 | 免费
- 6接口电路图大全
- 未知 | 30320次下载 | 免费
- 7Multisim 10下载Multisim 10 中文版
- 0.00 MB | 28588次下载 | 免费
- 8开关电源设计实例指南
- 未知 | 21539次下载 | 免费
总榜
- 1matlab软件下载入口
- 未知 | 935053次下载 | 免费
- 2protel99se软件下载(可英文版转中文版)
- 78.1 MB | 537793次下载 | 免费
- 3MATLAB 7.1 下载 (含软件介绍)
- 未知 | 420026次下载 | 免费
- 4OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234313次下载 | 免费
- 5Altium DXP2002下载入口
- 未知 | 233046次下载 | 免费
- 6电路仿真软件multisim 10.0免费下载
- 340992 | 191183次下载 | 免费
- 7十天学会AVR单片机与C语言视频教程 下载
- 158M | 183277次下载 | 免费
- 8proe5.0野火版下载(中文版免费下载)
- 未知 | 138039次下载 | 免费
评论
查看更多