Creating and Running a Write Transaction - 2024.1 English

Vivado Design Suite User Guide: Programming and Debugging (UG908)

Document ID
UG908
Release Date
2024-05-30
Version
2024.1 English

Here is an example on how to create a 4-word AXI write burst transaction from address 0:

create_hw_axi_txn write_txn [get_hw_axis hw_axi_1] -type WRITE -address 00000000 \
      -len 4 -data {11111111_22222222_33333333_44444444}

where:

  • write_txn is the user-defined name of the transaction
  • [get_hw_axis hw_axi_1] returns the hw_axi_1 object
  • -address 00000000 is the start address
  • -len 4 sets the AXI burst length to 4 words
  • -data {11111111_22222222_33333333_44444444} - The -data direction is LSB to the left (that is, address 0) and MSB to the right (that is, address 3).

The next step is to run the transaction that was created using the run_hw_axi command. Here is an example on how to do this:

run_hw_axi [get_hw_axi_txns write_txn]
Important: If you reprogram the device, all the existing jtag_axi transactions are deleted. You can recreate these transactions again.
Tip: The -queue optional argument to the run_hw_axi Tcl command allows you to specify hw_axi transactions in queue mode. Queued operation allows up to 16 read and 16 write transactions to be queued in the JTAG to AXI Master FIFO and issued back-to-back for low latency and higher performance between the transactions. Non-queued transactions are simply run as submitted.