There are different methods of configuring the transaction after it is created. In the example design, sim_all_config , three methods are shown for write and read transactions. Method 1 is to fully randomize the transaction after it is being created. Method 2 is similar to AXI BFM WRITE_BURST and READ_BURST for migration purpose. Method 3 shows how to use the APIs to set the transaction.