JTAG to AXI Master 简介
JTAG to AXI Master IP作为AXI Master驱动AXI transactions。JTAG to AXI Master加入AXI Interconnect,如下图所示,可以与Slave0,Slave1和Slave2通信。支持AXI4和AXI4-Lite协议,下面以JTAG to AXI Master 调试AXI BRAM Controller为例说明JTAG to AXI Master的使用方法。
搭建调试环境
将JTAG to AXI Master 加入硬件平台,JTAG to AXI Master使用与AXI Interconnect相同的时钟与复位。AXI Interconnect的Master接口连接AXI BRAM Controller。
AXI BRAM Controller设置如下:
设置AXI BRAM Controller输出端口:
AXI BRAM Controller在内存中地址:
AXI BRAM Controller 读写时序
写时序
读时序
根据读写时序,在PL端加入读写逻辑。
AXI4-Lite 读写
在TCL控制台发送指令,通过ila查看读写是否正常。
创建 AXI transaction,写入32bit数据
create_hw_axi_txn abc [get_hw_axis hw_axi_1] -address 80001000 -data 12345678 -type write
run_hw_axi abc
创建 AXI transaction,读32bit数据
create_hw_axi_txn def [get_hw_axis hw_axi_1] -address 80001000 -type read
run_hw_axi abc
AXI4读写
本次设计中采用AXI4-Lite协议,当选择AXI4协议时,读写指令如下:
写操作
往64bit地址,写入128bit数据。
create_hw_axi_txn wr_txn64 [get_hw_axis hw_axi_1] -address 0000000000000000 -data
{11111111_22222222_33333333_44444444_55555555_66666666_77777777_88888888} -len
8-size 32 -type write
读操作
从64bit地址,读出128bit数据。
create_hw_axi_txn rd_txn64 [get_hw_axis hw_axi_1] -address 0000000000000000 -len 8
-size 32-type read