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 项写入传输事务进行排队并发出连续执行指令以便降低传输
事务之间的时延并提升性能。非排队传输事务则直接在提交时运行。
参考资源链接:[Xilinx JTAG2AXI Master IP 使用与设计指南](https://wenku.youkuaiyun.com/doc/4mxzhqturn?utm_source=wenku_answer2doc_content) 为了更好地使用Xilinx JTAG to AXI Master IP,提升系统性能并优化资源利用效率,参考《Xilinx JTAG2AXI Master IP 使用与设计指南》是关键。这份指南详细介绍了如何在Vivado中高效集成和操作JTAG to AXI Master IP。 首先,在Vivado中,你需要通过IP Catalog来搜索并添加JTAG to AXI Master IP到你的设计中。IP Catalog中的LogiCORE IP会展示所有可用的IP,你可以选择适合你设计需求的特定版本和配置。 在自定义和生成IP时,确保根据你的设计要求选择正确的参数。参数配置对于优化性能和资源使用至关重要。例如,你可以调整AXI接口的宽度和速度,以匹配你的系统要求和FPGA的资源限制。 完成IP的配置后,你需要在设计中添加必要的约束,如时钟约束和复位策略,以确保IP与其他系统组件的正确交互。约束文件应详细描述如何将IP的时钟和复位信号与其他设计部分同步。 在设计流程的模拟阶段,使用Vivado提供的仿真工具来验证IP的功能。这一步骤可以帮助你发现设计错误,并在实际硬件实现前进行必要的调试。 在进行合成与实现时,你可能需要调整设计以解决时序问题,优化资源使用,并确保满足时钟频率的目标。在这个阶段,分析生成的报告和资源使用情况,以进一步调整设计,优化性能。 最后,使用Vivado提供的示例设计来理解如何创建和发送AXI事务。示例设计可以作为开发你自己的交易逻辑的起点。 通过遵循这些步骤并充分利用《Xilinx JTAG2AXI Master IP 使用与设计指南》中的知识,你可以有效地集成JTAG to AXI Master IP,提高你的设计性能,同时优化FPGA内部资源的使用。 参考资源链接:[Xilinx JTAG2AXI Master IP 使用与设计指南](https://wenku.youkuaiyun.com/doc/4mxzhqturn?utm_source=wenku_answer2doc_content)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

cckkppll

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

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

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

打赏作者

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

抵扣说明:

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

余额充值