1 使用Jtag Master来调试FPGA程序-德赢Vwin官网 网
0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

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

3天内不再提示

使用Jtag Master来调试FPGA程序

C29F_xilinx_inc 来源:赛灵思 作者:赛灵思 2022-02-16 16:21 次阅读

FPGA进行上板调试时,使用最多的是SignalTap,但SignalTap主要用来抓取信号时序,当需要发送信号到FPGA时,Jtag Master可以发挥很好的作用,可以通过Jtag Master对FPGA进行读写测试,使用tcl脚本控制Jtag Master可以完成复杂的测试功能。使用jtag master进行调试时分为如下步骤:

  • 将JTAG to Avalon Master Bridge Intel FPGA IP加入代码
  • 根据Avalon-MM总线时序编写测试代码
  • 编写tcl脚本
  • 在System Console上运行tcl脚本进行调试

Jtag Master
在逻辑代码中加入JTAG to Avalon Master Bridge Intel FPGA IP ,IP路径如下。

poYBAGIMpnqAWGJ1AAB7iHPHINg582.png

Avalon-MM总线时序
jtag_master模块例化到fpga代码中,使用Verilog根据Avalon-MM时序图编写读写代码。master_read有效时将数据发送到master_readdata。master_write有效时,将master_writedata数据写入FPGA。

pYYBAGIMpnyABBZZAAFoe6g9zPk897.png

jtag_master u0 (
.clk_clk (_connected_to_clk_clk_),
.clk_reset_reset (_connected_to_clk_reset_reset_),
.master_reset_reset (_connected_to_master_reset_reset_),
.master_address (_connected_to_master_address_),
.master_readdata (_connected_to_master_readdata_),
.master_read (_connected_to_master_read_),
.master_write (_connected_to_master_write_),
.master_writedata (_connected_to_master_writedata_),
.master_waitrequest (_connected_to_master_waitrequest_),
.master_readdatavalid (_connected_to_master_readdatavalid_),
.master_byteenable (_connected_to_master_byteenable_)
);

编写TCL脚本

global claimed_path_jtag
#启动jtag master服务
proc start_jtag {} {
set service_type "master"
set jtag_path [lindex [get_service_paths $service_type] 0]
puts $jtag_path
set ::claimed_path_jtag [claim_service $service_type $jtag_path mylib]
}
# 下载函数
proc config {sof_file} {
set device_index 0
set device [lindex [get_service_paths device] $device_index]
puts "download..."
device_download_sof $device $sof_file
}
#关闭jtag master服务
proc end_jtag {} {
close_service master $::claimed_path_jtag
}
#写函数
proc jtag_write {addr data} {
master_write_32 $::claimed_path_jtag $addr $data
}
#读函数
proc jtag_read {addr} {
set result [master_read_32 $::claimed_path_jtag $addr 1]
return $result
}
#测试读写
proc test { } {
#地址0中写入1
jtag_write 0x0 0x1
#读取地址0
jtag_read 0x0
}

上电测试
打开System Console

poYBAGIMpn2AdNliAABTA5WKcac796.png

运行如下指令
source jtag.tcl //tcl 脚本
config output_files/test.sof //下载文件
start_jtag //打开jatg master服务
test //测试读写函数
end_jtag //关闭jatg master服务

pYYBAGIMpn6AUiQbAABEsWRSNts054.png
审核编辑:符乾江
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表德赢Vwin官网 网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FPGA
    +关注

    关注

    1629

    文章

    21729

    浏览量

    602961
  • 程序
    +关注

    关注

    117

    文章

    3785

    浏览量

    81000
收藏 人收藏

    评论

    相关推荐

    【AI技术支持】ESP32-S3 JTAG调试问题处理

    启明云端/01你是否曾遇到过?在使用ESP32-S3模块,ESP-IDF版本为idf5.0时,调试JTAG,尝试很久也无法调通,这是为什么呢?启明云端/02这是咋回事呢?这个过程需要安装zadig
    的头像 发表于 10-30 08:01 491次阅读
    【AI技术支持】ESP32-S3 <b class='flag-5'>JTAG</b><b class='flag-5'>调试</b>问题处理

    【AI技术支持】ESP32C3 开发板在Linux环境下,进行JTAG 调试演示

    启明云端/01JTAG调试工具本教程主要演示ESP32C3开发板在linux环境下,通过vscode的ESP-IDF插件使用JTAG调试工具。ESP32C3不但内置了USB-
    的头像 发表于 10-17 08:01 1470次阅读
    【AI技术支持】ESP32C3 开发板在Linux环境下,进行<b class='flag-5'>JTAG</b> <b class='flag-5'>调试</b>演示

    C2000 MCU JTAG 连接调试

    德赢Vwin官网 网站提供《C2000 MCU JTAG 连接调试.pdf》资料免费下载
    发表于 09-09 09:30 0次下载
    C2000 MCU <b class='flag-5'>JTAG</b> 连接<b class='flag-5'>调试</b>

    【GD32 MCU 入门教程】二、GD32 MCU 烧录说明 (2)SWD/JTAG在线下载

    GD32系列MCU支持SWD和JTAG(部分型号不支持)接口进行下载调试,这些功能通过ARM CoreSight组件的标准配置和链状连接的TAP控制器实现的。调试和跟踪功能集成在AR
    的头像 发表于 08-08 17:34 667次阅读
    【GD32 MCU 入门教程】二、GD32 MCU 烧录说明 (2)SWD/<b class='flag-5'>JTAG</b>在线下载

    如何在服务器上调试本地FPGA板卡

    的编程和调试 现在 Vivado 已远程运行,最后一步是对 FPGA 板卡进行编程和调试。Vivado 的硬件服务器应用程序必须按照上述说明在本地PC上运行。
    发表于 07-31 17:36

    如何使用JTAG调试ESP-12模块?

    我想使用 JTAG 调试 ESP-12 模块。我知道这个模块使用Xtensa LX106内核,并且这个内核具有JTAG功能。那么,如果我正确配置了引脚,我可以使用
    发表于 07-19 10:57

    STM32F407调试接口报错SWD/JTAG Communic怎么解决?

    我画了一块电路板,其中的调试接口接线如下: 但是在进行程序下载的时候 Keil5 报错:SWD/JTAG Communication Failure 我的 Keil5 调试配置如下
    发表于 07-03 06:41

    FPGAJTAG口很脆弱?以后要多加小心了

    最近我的FPGA罢工了,而且是部分罢工,FPGAJTAG口不能下载程序,这种事情不是第一次了,在我的项目中也出现过。而且出现的形式也极其相似,很离奇。前一天晚上用的还好好的,第二天就
    发表于 06-10 09:41

    RISCV soft JTAG调试_v1.2

    因为目前软件的限制,RISCV的逻辑不能同时共用JTAG,所以如果想要同时去调试逻辑和RISCV的话,可以通过RISCV的soft Jtag实现。soft
    的头像 发表于 04-23 08:38 1054次阅读

    FPGA与SRIO调试步骤

     FPGA(现场可编程门阵列)和DSP(数字信号处理器)之间通过SRIO接口进行调试通常需要以下步骤。
    的头像 发表于 04-19 11:48 1384次阅读

    fpga软件是什么意思

    FPGA软件通常指的是用于编程、配置和管理FPGA(现场可编程门阵列)芯片的工具和应用程序的集合。FPGA是一种可编程的集成电路,它允许用户通过编程
    的头像 发表于 03-15 14:28 1154次阅读

    RISCV soft JTAG调试_v1.1

    因为目前软件的限制,RISCV的逻辑不能同时共用JTAG,所以如果想要同时去调试逻辑和RISCV的话,可以通过RISCV的soft Jtag实现。soft
    的头像 发表于 02-23 16:16 652次阅读
    RISCV soft <b class='flag-5'>JTAG</b><b class='flag-5'>调试</b>_v1.1

    如何使用linux下gdb调试python程序

    如何使用linux下gdb调试python程序  在Linux下,可以使用GDB(GNU调试器)调试
    的头像 发表于 01-31 10:41 2570次阅读

    关于JTAG口,你了解多少?

    ,有好的灵感以及文章随笔,欢迎投稿,投稿请标明笔名以及相关文章,投稿接收邮箱:1033788863@qq.com。今天带来的是“是谁动了我的JTAG口?”,话不多说,上货。 在FPGA研发及学习
    发表于 01-19 21:19

    串行线调试JTAG有何区别?

    在基于ARM7的ADuC器件上,通过JTAG调试和下载到Flash。在AduCM360上,JTAG被串行线调试取代。 串行线调试
    发表于 01-15 07:35