Altera® AXI4 Bus Functional Model User Guides

ID 838773
Date 5/19/2025
Public
Document Table of Contents

1.5.5. Altera® AXI4 Memory-Mapped Transaction Configuration API

Table 19.  Altera AXI4 Memory-Mapped Transaction Configuration API
Transaction Configuration API Supported Transactions Description

set_tr_type()

get_tr_type()

wr_tx/rd_tx

wr_resp/rd_resp

Set/Get transaction type:

T_WRITE/T_READ

set_id()

get_id()

wr_tx/rd_tx

wr_resp/rd_resp

Set/Get AXI4 transaction ID.

set_size()

get_size()

wr_tx/rd_tx

Set/Get AXI4 transaction size:

  • AXI4_BYTES_1
  • AXI4_BYTES_2
  • AXI4_BYTES_4
  • AXI4_BYTES_8
  • AXI4_BYTES_16
  • AXI4_BYTES_32
  • AXI4_BYTES_64
  • AXI4_BYTES_128

set_burst_length()

get_burst_length()

wr_tx/rd_tx

Set/Get AXI4 transaction length.

Total number of transfers is Length + 1.

set_burst_type()

get_burst_type()

wr_tx/rd_tx

Set/Get AXI4 transaction burst type:

  • BURST_TYPE_FIXED
  • BURST_TYPE_INCR
  • BURST_TYPE_WRAP
  • BURST_TYPE_INVALID

set_awaddr()

get_awaddr()

wr_tx Set/Get AXI4 transaction write address.

set_data_words()

get_data_words()

wr_tx

Set/Get AXI4 transaction write data

(data, index)

set_write_strobes() wr_tx Set AXI4 transaction write_strobes

set_araddr()

get_araddr()

rd_tx Set/Get AXI4 transaction read address.

set_lock()

get_lock()

wr_tx Set/Get AXI4 transaction lock.

set_prot()

get_prot()

wr_tx Set/Get AXI4 transaction prot.

set_region()

get_region()

wr_tx Set/Get AXI4 transaction region.

set_resp()

get_resp()

rd_resp Set/Get AXI4 transaction resp.
set_wrap_boundary() wr_tx

Set AXI4 wrap boundary for a wrapping burst.

(burst_len, burst_size, addr)

set_awready_delay() wr_resp Set awready delay (max 50).
set_awready_delay_en() wr_resp Enable awready delay.
set_wready_delay() wr_resp Set wready delay (max 50).
set_wready_delay_en() wr_resp Enable wready delay.
set_bready_delay() wr_resp Set bready delay (max 50).
set_bready_delay_en() wr_resp Enable bready delay.
set_arready_delay() rd_resp Set aready delay (max 50).
set_arready_delay_en() rd_resp Enable aready delay.
set_rready_delay() rd_resp Set rready delay (max 50).
set_rready_delay_en() rd_resp Enable rready delay.

Every type of transaction contains its corresponding set of AXI4 signals that you can access and manipulate using the get_*() and set_*() methods, as the following example shows:

wr_tx = manager_bfm_test.manager_bfm_wr_tx(9, 3, 32'hfeedbead);
wr_tx.set_burst_length(3);
wr_tx.set_size(AXI4_BYTES_4);
wr_tx.set_burst_type(BURST_TYPE_INCR);

Or

local_awaddr = wr_tx.get_awaddr();