Altera Mentor Verification IP Altera Edition AMBA AXI3/4TM User Manual

Page 717

Advertising
background image

SystemVerilog AXI3 and AXI4 Test Programs

SystemVerilog AXI3 Master BFM Test Program

Mentor VIP AE AXI3/4 User Guide, V10.2b

697

September 2013

trans = bfm.create_read_transaction(1);
trans.set_size(AXI_BYTES_1);
trans.set_id(1);

bfm.execute_transaction(trans);
if (trans.get_data_words(0) == 32'h0000_0100)
$display ( "@ %t, master_test_program: Read correct data (1) at
address (1)", $time);
else
$display ( "@ %t master_test_program: Error: Expected data (1) at
address 1, but got %d", $time, trans.get_data_words(0));

// Read data from address 2.
trans = bfm.create_read_transaction(2);
trans.set_size(AXI_BYTES_1);
trans.set_id(2);

bfm.execute_transaction(trans);
if (trans.get_data_words(0) == 32'h0002_0000)
$display ( "@ %t, master_test_program: Read correct data (2) at
address (2)", $time);
else
$display ( "@ %t, master_test_program: Error: Expected data (2) at
address 2, but got %d", $time, trans.get_data_words(0));

// Read data from address 3.
trans = bfm.create_read_transaction(3);
trans.set_size(AXI_BYTES_1);
trans.set_id(3);

bfm.execute_transaction(trans);
if (trans.get_data_words(0) == 32'h0300_0000)
$display ( "@ %t, master_test_program: Read correct data (3) at
address (3)", $time);
else
$display ( "@ %t, master_test_program: Error: Expected data (3) at
address 3, but got %d", $time, trans.get_data_words(0));

// Read data from address 4.
trans = bfm.create_read_transaction(4);
trans.set_size(AXI_BYTES_1);
trans.set_id(4);

bfm.execute_transaction(trans);
if (trans.get_data_words(0) == 32'h0000_0004)
$display ( "@ %t, master_test_program: Read correct data (4) at
address (4)", $time);
else
$display ( "@ %t, master_test_program: Error: Expected data (4) at
address 4, but got %d", $time, trans.get_data_words(0));

Advertising