vivado 使用 JTAG-to-AXI Master 调试核进行硬件系统通信

使用 JTAG-to-AXI Master 调试核进行硬件系统通信
JTAG-to-AXI Master 调试核为可自定义核 可在运行时生成 AXI 传输事务并驱动 FPGA 内部的 AXI 信号。该核支持所
有存储器映射型 AXI 接口和 AXI4-Lite 接口 并且可支持位宽为 32 64 的数据接口。
您添加到自己的设计中的 JTAG-to-AXI Master (JTAG-AXI) 核会显示在“硬件 (Hardware) ”窗口中的目标器件下。如果
未显示这些 JTAG-AXI 请右键单击器件并选择“ Refresh Hardware ”。这样将重新扫描 FPGA 器件并刷新
Hardware ”窗口。
注释 如果编程和 / 或刷新 FPGA 器件后仍未显示 ILA 请检查并确保已使用正确的 .bit 文件完成器件编程 并确
认已实现的设计包含 ILA 核。
单击并选中此 JTAG-AXI 下图中名为 hw_axi_1 的核 ), 以在“ AXI 核属性 (AXI Core Properties) ”窗口中查看其属
性。
与硬件中的 JTAG-to-AXI Master 调试核进行交互
只能使用 Tcl 命令来与 JTAG-to-AXI Master 调试核进行通信。您可使用 create_hw_axi_txn 命令和 run_hw_axi
命令来分别创建并运行 AXI 读取和写入传输事务。
复位 JTAG-to-AXI Master 调试核
创建并发出传输事务之前 重要的是使用以下 Tcl 命令来复位 JTAG-to-AXI Master
reset_hw_axi [get_hw_axis hw_axi_1]
创建并运行读取传输事务
用于创建 AXI 传输事务的 Tcl 命令为 create_hw_axi_txn 。如需了解有关如何使用此命令的更多信息 请在 Vivado
IDE Tcl 控制台 (Tcl console) 中输入“ help create_hw_axi_txn ”。以下是有关如何从地址 0 创建 4 AXI
取突发传输事务的示例
create_hw_axi_txn read_txn [get_hw_axis hw_axi_1] -type READ -address
00000000 -len 4
其中
read_txn 是用户定义的传输事务名称
[get_hw_axis hw_axi_1] 会返回 hw_axi_1 对象
-address 00000000 是起始地址
-len 4 会将 AXI 突发长度设置为 4 个字
下一步是运行刚使用 run_hw_axi 命令创建的传输事务。操作方式如下
run_hw_axi [get_hw_axi_txns read_txn]
最后一步是获取通过运行该传输事务所读取的数据。您可使用 report_hw_axi_txn report_property 命令在屏幕
上打印此数据 或者也可以使用 get_property 命令来返回值 以供在别处使用。
report_hw_axi_txn [get_hw_axi_txns read_txn]
0 00000000 00000000
8 00000000 00000000
report_property [get_hw_axi_txns read_txn]
Property Type Read-only Visible Value
CLASS string true true hw_axi_txn
CMD.ADDR string false true 00000000
CMD.BURST enum false true INCR
CMD.CACHE int false true 3
CMD.ID int false true 0
CMD.LEN int false true 4
CMD.SIZE enum false true 32
DATA string false true 00000000000000000000000000000000
HW_AXI string true true hw_axi_1
NAME string true true read_txn
TYPE enum false true READ
创建和运行写入传输事务
以下是有关如何从地址 0 创建 4 AXI 写入突发传输事务的示例
create_hw_axi_txn write_txn [get_hw_axis hw_axi_1] -type WRITE -address
00000000 \
-len 4 -data {11111111_22222222_33333333_44444444}
其中
write_txn 是用户定义的传输事务名称
[get_hw_axis hw_axi_1] 会返回 hw_axi_1 对象
-address 00000000 是起始地址
-len 4 会将 AXI 突发长度设置为 4 个字
-data {11111111_22222222_33333333_44444444} - 数据方向为左侧 LSB 地址 0 和右侧 MSB
地址 3
下一步是运行刚使用 run_hw_axi 命令创建的传输事务。操作方式如下
run_hw_axi [get_hw_axi_txns write_txn]
重要提示 如果您对器件进行重新编程 那么将删除所有现有 jtag_axi 传输事务。您可能需要重新创建这些传输
事务。
提示 run_hw_axi Tcl 命令的可选实参 -queue 允许您以队列模式指定 hw_axi 传输事务。排队操作允许在 JTAG
to AXI Master FIFO 中对最多 16 项读取和 16 项写入传输事务进行排队 并发出连续执行指令 以便降低传输
事务之间的时延并提升性能。非排队传输事务则直接在提交时运行。
  • 30
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

cckkppll

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值