Altera Mentor Verification IP Altera Edition AMBA AXI4-St Uživatelský manuál Strana 27

  • Stažení
  • Přidat do mých příruček
  • Tisk
  • Strana
    / 231
  • Tabulka s obsahem
  • KNIHY
  • Hodnocené. / 5. Na základě hodnocení zákazníků
Zobrazit stránku 26
SystemVerilog API Overview
Waiting Events
Mentor Verification IP AE AMBA AXI4-Stream User Guide, V10.3
27
April 2014
Waiting Events
Each BFM API has tasks that block the test program code execution until an event has occurred.
The wait_on() task blocks the test program execution until an ACLK or ARESETn signal event
has occurred before proceeding.
The get_packet(), get_transfer() tasks block the test program code execution until a complete
stream packet, or transfer, has occurred.
wait_on()
Example 2-7 shows a BFM test program waiting for the positive edge of the ARESETn signal.
Example 2-7. Test Program Wait for Event
// Block test program execution until the positive edge of the
// ARESETn signal.
bfm.wait_on(AXI4STREAM_RESET_POSEDGE);
get_packet(), get_transfer()
Example 2-8 shows a slave BFM test program using the get_transfer() task to block until it has
received a data stream transfer.
Example 2-8. Slave Test Program get_transfer() Task
// Create a slave transaction.
trans = bfm.create_slave_transaction();
...
// Wait for a data stream transfer to occur.
bfm.get_transfer(trans, 0, last);
Access Transaction Record
Each BFM API has tasks that can access a complete or partially complete Transaction Record.
The set*() and get*() tasks are used in a test program to set and get information from the
transaction record.
Note
The set*() and get*() tasks are not explicitly detailed within each BFM API chapter. The
simple rule for the task name is set_ or get_ followed by the name of the transaction field
to be accessed. Refer to “Transaction Record Fields” on page 24 for transaction field
name details.
Zobrazit stránku 26
1 2 ... 22 23 24 25 26 27 28 29 30 31 32 ... 230 231

Komentáře k této Příručce

Žádné komentáře