0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

BSCANE2模块是FPGA中的一个特殊硬核模块

电子设计 来源:电子设计 作者:电子设计 2022-02-08 14:23 次阅读

本文转载自: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,则多次执行该指令即可。

审核编辑:何安

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 模块
    +关注

    关注

    7

    文章

    2740

    浏览量

    47829
收藏 人收藏

    评论

    相关推荐

    KiCad 9 探秘():原理图设计模块复用

    “  KiCad 9 rc 版本已经发布,虽然离正式版发布可能还有一个多月时间,还是忍不住把些好用的功能先分享给大家。第一个分享的是原理图设计
    的头像 发表于 12-28 11:19 844次阅读
    KiCad 9 探秘(<b class='flag-5'>一</b>):原理图设计<b class='flag-5'>模块</b>复用

    基于Agilex 5 FPGA模块系统介绍

    基于Agilex 5 FPGA模块系统(SoM)是种由英特尔的合作伙伴提供的生产就绪型解决方案,专门针对嵌入式应用。采用先进的Agilex 5 FPGA的SoM可以满足边缘应用日益
    的头像 发表于 12-19 17:10 384次阅读
    基于Agilex 5 <b class='flag-5'>FPGA</b>的<b class='flag-5'>模块</b>系统介绍

    SMD模块在智能硬件的应用

    硬件设计的首选。 SMD模块在智能硬件的应用 1. 智能手机 在智能手机,SMD模块被广泛应用于处理器、内存、摄像头模块、显示屏等关键部
    的头像 发表于 12-13 09:33 681次阅读

    FPGA打砖块小游戏设计思路

      交流问题   Q :FPGA打砖块小游戏,如何基于FPGA用verilog语言在Vivado平台上写打砖块小游戏,最好能用到PS2与VGA。 A :以下是
    的头像 发表于 12-09 16:57 378次阅读

    如何从参数和价格2维度来挑选合适的LoRa模块

    “参数”、“价格”这2维度来帮助大家看看如何挑选合适的LoRa模块。 什么是LoRa? LoRa是创建长距离通信连接的物理层无线调制技术,属于线性调制扩频技术(Chirp Spread Spectrum,CSS)的
    的头像 发表于 11-26 11:09 420次阅读
    如何从参数和价格<b class='flag-5'>2</b><b class='flag-5'>个</b>维度来挑选合适的LoRa<b class='flag-5'>模块</b>

    ADC模块在MCU的作用

    在微控制器(MCU)芯片中,通常会有很多外设模块,比如SPI,I2C,ADC,DAC,PWM,CAN,EEPROM,Flash等。其中ADC是非常重要的外设,它在MCU
    的头像 发表于 10-22 14:05 1008次阅读
    ADC<b class='flag-5'>模块</b>在MCU<b class='flag-5'>中</b>的作用

    什么是RTC模块

    什么是“RTC”?“RTC”是实时时钟的缩写,它是种测量时间的电子设备。什么是“RTC模块”?“RTC模块”是集成了RTCIC、振荡器
    的头像 发表于 07-24 14:14 631次阅读
    什么是RTC<b class='flag-5'>模块</b>?

    三菱PLC编程软件FX2N PLC怎么添加模块

    三菱电机的FX2N系列PLC是种小型、高性能的可编程逻辑控制器,广泛应用于工业自动化领域。FX2N PLC支持多种扩展模块,包括输入/输出模块
    的头像 发表于 06-20 10:18 3190次阅读

    蓝牙模块、WiFi模块等无线通信模块使用规范

    并避免可能的安全隐患,我们必须遵循定的使用规范。接下来,我们将详细讨论这些规范。  使用无线通信模块前的硬件准备:  般的无线通信模块都是用UART通讯,UART有两
    的头像 发表于 05-27 14:07 1259次阅读
    蓝牙<b class='flag-5'>模块</b>、WiFi<b class='flag-5'>模块</b>等无线通信<b class='flag-5'>模块</b>使用规范

    蓝牙Mesh模块组网时是信号还是两信号?

    随着科技的不断发展,智能家居、物联网等新兴领域越来越受到人们的关注。在这个领域中,蓝牙Mesh组网模块作为种关键技术,其性能和作用备受瞩目。那么,蓝牙Mesh组网模块究竟是
    的头像 发表于 05-24 15:14 1162次阅读

    mpo-lc模块是什么模块

    。MPO-LC模块通常用于高密度光纤配线架、预端模块和光纤跳线等应用。 具体来说,MPO-LC预端接模块盒是
    的头像 发表于 05-13 10:12 1563次阅读

    基于FPGA的常见的图像算法模块总结

    意在给大家补充下基于FPGA的图像算法基础,于是讲解了下常见的图像算法模块,经过个人的总结,将知识点分布如下所示。
    的头像 发表于 04-28 11:45 676次阅读
    基于<b class='flag-5'>FPGA</b>的常见的图像算法<b class='flag-5'>模块</b>总结

    电池模块是什么东西 电池模组和电池模块一个

    电池模块是指由若干个电池单体通过串联和并联的方式组合而成的整体单元,它是构成电池包的基本组成部分。
    的头像 发表于 04-12 15:22 2070次阅读

    DC电源模块的设计与制造流程

    BOSHIDA  DC电源模块的设计与制造流程 DC电源模块种用于将交流电转换为直流电的设备。它广泛应用于各种电子设备,如电子产品、工业仪器、电视等。下面是DC电源
    的头像 发表于 03-28 13:21 650次阅读
    DC电源<b class='flag-5'>模块</b>的设计与制造流程

    TSMaster 序列发送模块在汽车开发测试的应用

    。本文重点和大家分享下关于TSMaster序列发送模块的使用。本文关键字:序列发送、无代码发送目录Catalog1.序列发送模块的使用方法2
    的头像 发表于 02-19 14:00 773次阅读
    TSMaster 序列发送<b class='flag-5'>模块</b>在汽车开发测试<b class='flag-5'>中</b>的应用