This document contains information that is proprietary to Mentor Graphics Corporation. The original recipient of this
document may duplicate this document in whole or in part for internal business purposes only, provided that this entire
notice appears in all copies. In duplicating any part of this document, the recipient agrees to make every reasonable
effort to prevent the unauthorized use and distribution of the proprietary information.
This document is for information and instruction purposes. Mentor Graphics reserves the right to make
changes in specifications and other information contained in this publication without prior notice, and the
reader should, in all cases, consult Mentor Graphics to determine whether any changes have been
made.
The terms and conditions governing the sale and licensing of Mentor Graphics products are set forth in
written agreements between Mentor Graphics and its customers. No representation or other affirmation
of fact contained in this publication shall be deemed to be a warranty or give rise to any liability of Mentor
Graphics whatsoever.
MENTOR GRAPHICS MAKES NO WARRANTY OF ANY KIND WITH REGARD TO THIS MATERIAL
INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
FITNESS FOR A PARTICULAR PURPOSE.
MENTOR GRAPHICS SHALL NOT BE LIABLE FOR ANY INCIDENTAL, INDIRECT, SPECIAL, OR
CONSEQUENTIAL DAMAGES WHATSOEVER (INCLUDING BUT NOT LIMITED TO LOST PROFITS)
ARISING OUT OF OR RELATED TO THIS PUBLICATION OR THE INFORMATION CONTAINED IN IT,
EVEN IF MENTOR GRAPHICS HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
U.S. GOVERNMENT LICENSE RIGHTS: The software and documentation were developed entirely at
private expense and are commercial computer software and commercial computer software
documentation within the meaning of the applicable acquisition regulations. Accordingly, pursuant to
FAR 48 CFR 12.212 and DFARS 48 CFR 227.7202, use, duplication and disclosure by or for the U.S.
Government or a U.S. Government subcontractor is subject solely to the terms and conditions set forth in
the license agreement provided with the software, except for provisions which are contrary to applicable
mandatory federal laws.
TRADEMARKS: The trademarks, logos and service marks ("Marks") used herein are the property of
Mentor Graphics Corporation or other parties. No one is permitted to use these Marks without the prior
written consent of Mentor Graphics or the owner of the Mark, as applicable. The use herein of a thirdparty Mark is not an attempt to indicate Mentor Graphics as a source of a product, but is intended to
indicate a product from, or associated with, a particular third party. A current list of Mentor Graphics’
trademarks may be viewed at: www.mentor.com/trademarks.
The registered trademark Linux
®
is used pursuant to a sublicense from LMI, the exclusive licensee of
Linus Torvalds, owner of the mark on a world-wide basis.
Mentor Verification IP AE AMBA AXI4-Stream User Guide, V10.3
April 2014
Preface
Note
About This User Guide
This user guide describes the application interface (API) of the Mentor® Verification IP (VIP)
®
Altera
Specification, Version 1.0, Issue A (ARM IHI 0051A).
AMBA AXI4-Stream Protocol Specification
The Mentor VIP AE conforms to the AMBA 4 AXI4-Stream Protocol Specification, Version 1.0,
Issue A (ARM IHI 0051A). This user guide refers to this specification as the “AMBA
AXI4-Stream Protocol Specification.”
Mentor VIP AE License Requirements
Edition (AE) and how it conforms to the AMBA® 4 AXI4-Stream Protocol
A license is required to access the Mentor Graphics VIP AE bus functional models and
inline monitor.
•To access the Mentor Graphics VIP AE and upgrade to the Quartus II Subscription
Edition software, Version 14.0, from a previous version, you must regenerate your
license file.
•To access the Mentor VIP AE with the Quartus II Web Edition software, you must
upgrade to Version 14.0 and purchase a Mentor VIP AE seat license by contacting your
Altera sales representative.
You can generate and manage license files for Altera software and IP products by visiting the
Self-Service Licensing Center of the Altera website.
Supported Simulators
Mentor VIP AE supports the following simulators:
•Mentor Graphics Modelsim 10.1e (including Altera Editions) and Questa Sim 10.2c
•Synopsys
®
VCS® and VCS-MX 2013.06
•Cadence
Mentor Verification IP AE AMBA AXI4-Stream User Guide, V10.3
April 2014
®
Incisive® Enterprise Simulator (IES) 13.10.001
13
Preface
Simulator GCC Requirements
Simulator GCC Requirements
Mentor VIP requires that the installation directory of the simulator includes the GCC libraries
shown in Table 1. If the installation of the GCC libraries was an optional part of the simulator’s
installation and the Mentor VIP does not find these libraries, an error message similar to the
following appears:
ModelSim / Questa SIM
# ** Error: (vsim-8388) Could not find the MVC shared library : GCC not
found in installation directory (/home/user/altera2/14.0/modelsim_ase) for
platform "linux". Please install GCC version "gcc-4.5.0-linux"
14
Mentor Verification IP AE AMBA AXI4-Stream User Guide, V10.3
Note: Use the cds_tools.sh executable to find the Incisive installation. Ensure $PATH includes the
installation path and <install dir>/tools/cdsgcc/gcc/4.4/install/bin. Also, ensure the
LD_LIBRARY_PATH includes <install dir>/tools/cdsgcc/gcc/4.4/install/lib.
Mentor Verification IP AE AMBA AXI4-Stream User Guide, V10.3
April 2014
15
Preface
Simulator GCC Requirements
16
Mentor Verification IP AE AMBA AXI4-Stream User Guide, V10.3
April 2014
Chapter 1
Mentor VIP Altera Edition
The Mentor VIP AE provides bus functional models (BFMs) to simulate the behavior and to
facilitate the verification of the IP. The Mentor VIP AE includes the following interfaces:
•AXI3 with master, slave, and inline monitor BFMs
•AXI4 with master, slave, and inline monitor BFMs
•AXI4-Lite with master, slave, and inline monitor BFMs
•AXI4-Stream with master, slave, and inline monitor BFMs
This user guide covers the AXI4-Stream BFMs only. Refer to the Mentor Verification IP Altera
Edition AXI3/AXI4 User Guide for details of the AXI3 and AXI4 BFMs, and the Mentor
Verification IP Altera Edition AXI4-Lite User Guide for details of the AXI4-Lite BFMs.
Advantages of Using BFMs and Monitors
Using the Mentor VIP AE has the following advantages:
•Accelerates the verification process by providing key verification test bench
components
•Provides BFM components that implement the AMBA 4 AXI4-Stream Protocol
Specification, which serves as a reference for the protocol
•Provides a full suite of configurable assertion checking within each BFM
Implementation of BFMs
The Mentor VIP AE BFMs, master, slave, and inline monitor components are implemented in
SystemVerilog. Also included are wrapper components so that you can use the BFMs in VHDL
verification environments with simulators that support mixed-language simulation.
The Mentor VIP AE provides a set of APIs for each BFM that you can use to construct,
instantiate, control, and query signals in all BFM components. Your test programs must use
only these public access methods and events to communicate with each BFM. To ensure
support in current and future releases, your test programs must use the standard set of APIs to
interface with the BFMs. Nonstandard APIs and user-generated interfaces may not be supported
in future releases.
Mentor Verification IP AE AMBA AXI4-Stream User Guide, V10.3
April 2014
17
Mentor VIP Altera Edition
What Is a Transaction?
The test program drives the stimulus to the DUT and determines whether the behavior of the
DUT is correct by analyzing the responses. The BFMs translate the test program stimuli
(transactions), creating the signaling for the AMBA 4 AXI4-Stream Protocol Specification. The
BFMs also check for protocol compliance by firing an assertion when a protocol error is
observed.
What Is a Transaction?
A transaction for Mentor VIP AE represents an instance of information that is transferred
between a master and a slave peripheral, and that it adheres to the protocol used to transfer the
information. For example, a master transaction can communicate a data stream packet
consisting of a number of transfers to a slave DUT. A subsequent data stream packet requires a
new and unique transaction.
Each transaction has a dynamic Transaction Record that exists for the life of the transaction.
The life of a transaction record starts when it is created, and ends when the transaction
completes. The transaction record is automatically discarded when the transaction ends.
When created, a transaction contains transaction fields that you set to define two transaction
aspects:
•Protocol fields are transferred over the protocol signals
•Operation fields determine how the information is transferred, and when the transaction
is complete
For example, a master transaction record holds a byte definition in the byte_type protocol field,
the value of this field is transferred over the TKEEP and TSTRB protocol signals. A master
transaction also has a transaction_done operation field that indicates when the transaction is
complete; this operation field is not transferred over the protocol signals. These two types of
transaction fields, protocol and operation, establish a dynamic record during the life of the
transaction.
In addition to transaction fields, you specify arguments to tasks, functions, and procedures that
permit you to create, set, and get the dynamic transaction record during the lifetime of a
transaction. Each BFM has an API that controls how you access the transaction record. How
you access the record also depends on the source code language, whether it is VHDL or
SystemVerilog. Methods for accessing transactions based on the language you use are
explained in detail in the relevant chapters of this user guide.
18
Mentor Verification IP AE AMBA AXI4-Stream User Guide, V10.3
April 2014
Mentor VIP Altera Edition
Note
execute_transaction(t) – Master
execute_transfer() – Master
Master BFM
+
Test program
Slave DUT
Transfer TransferTransferTransfer
AXI4-Stream Transactions
AXI4-Stream Transactions
A complete transaction communicates information between a master and a slave. Transaction
fields, described in the previous section, What Is a Transaction?, determine what is transferred
and how information is transferred. During the lifetime of a transaction, the roles of the master
and slave ensure that a transaction completes successfully, and that transferred information
adheres to the protocol specification. Information flows from the master to the slave during a
transaction, with the master initiating the transaction.
The AXI4-Stream protocol has a single channel to transfer protocol information. It has a pair of
handshake signals, TVALID and TREADY, that indicate valid information on the channel, and
the acceptance of the information from the channel.
Master BFM and Slave BFM Roles
The following description of a master transaction references SystemVerilog BFM API
tasks. There are equivalent VHDL BFM API procedures that perform the same
functionality.
For a master transaction, the master calls the create_master_transaction() task to define the
information to be transferred, and then calls the execute_transaction() task to initiate the
communication of information, as shown in Figure 1-1.
The execute_transaction() task results in the master calling the execute_transfer() task a
multiple number of times, equal to the number of transfers in the transaction.
Figure 1-1. Master BFM Test Program Role
The slave also creates a transaction by calling the create_slave_transaction() task to accept the
transfer of information from the master. The transfer is received by the slave calling the
get_transfer() task, as shown in Figure 1-2.
Mentor Verification IP AE AMBA AXI4-Stream User Guide, V10.3
April 2014
19
Mentor VIP Altera Edition
execute_stream_ready() – Slave
Master
DUT
Slave BFM
+
Test
Program
Transfer TransferTransferTransfer
get_transfer() – Slave
AXI4-Stream Transactions
Figure 1-2. Slave BFM Test Program Role
The slave can cause back-pressure to the master using the execute_stream_ready() task to set
the TREADY protocol signal to “0” to inhibit subsequent “transfers” from the master.
20
Mentor Verification IP AE AMBA AXI4-Stream User Guide, V10.3
April 2014
Chapter 2
Test Program SystemVerilog
Notes: 1. Refer to create_*_transaction()
2. Refer to execute_transaction()
3. Refer to set*()
SystemVerilog BFM API
Configuration
Creating
Transaction
Waiting Events
Executing
Transaction
Access
Transaction
create_*_transaction
1
set_config/get_config
get_packet/get_transfer
wait_on
3
Rx_Transaction
queue
queue
Tx_Transaction
Configuration
Wire level
get*/set*
execute_transaction/execute_transfer
2
SystemVerilog interface
SystemVerilog API Overview
This section provides the functional description of the SystemVerilog (SV) API for all the BFM
(master, slave, and monitor) components. For each BFM, you can configure the protocol
transaction fields that are executed on the protocol signals, as well as control the operational
transaction fields that set delay and timeout values.
In addition, each BFM API has tasks that wait for certain events to occur on the system clock
and reset signals, and tasks to get and set information about a particular transaction.
Figure 2-1. SystemVerilog BFM Internal Structure
Mentor Verification IP AE AMBA AXI4-Stream User Guide, V10.3
April 2014
21
SystemVerilog API Overview
Configuration
Configuration
Configuration sets timeout delays, error reporting, and other attributes of the BFM.
Each BFM has a set_config() function that sets the configuration of the BFM. Refer to the
individual BFM APIs for details.
Each BFM also has a get_config() function that returns the configuration of the BFM. Refer to
the individual BFM APIs for details.
set_config()
Example 2-1 shows how to set the burst timeout factor to 1000 for a transaction in the master
BFM test program.
Example 2-1. BFM Test Program Set Configuration
// Setting the burst timeout factor to 1000
master_bfm.set_config(AXI4STREAM_CONFIG_BURST_TIMEOUT_FACTOR, 1000);
get_config()
Example 2-2 shows how to get the signal hold time in the master BFM test program.
To transfer information between a master BFM and slave DUT over the protocol signals, you
must create a transaction in the master test program. Similarly, to transfer information between
a master DUT and a slave BFM, you must create a transaction in the slave test program. To
monitor the transfer of information using a monitor BFM, you must create a transaction in the
monitor test program.
When you create a transaction, a Transaction Record is created and exists for the life of the
transaction. This transaction record can be accessed by the BFM test programs during the life of
the transaction as it transfers information between the master and slave.
22
Mentor Verification IP AE AMBA AXI4-Stream User Guide, V10.3
April 2014
SystemVerilog API Overview
Note
Creating Transactions
Transaction Record
The transaction record contains two types of transaction fields, protocol and operational, that
either transfer information over the protocol signals, or define how and when a transfer occurs,
respectively.
Protocol fields contain transaction information that is transferred over the protocol signals. For
example, the id field is transferred over the TID protocol signals during a transaction to identify
a data stream.
Operational fields define how and when the transaction is transferred. Their content is not
transferred over protocol signals. For example, the operation_mode field controls the
blocking/nonblocking operation of a transaction, but this information is not transferred over the
protocol signals.
Transaction Definition
The transaction record exists as a SystemVerilog class definition in each BFM. Example 2-3
shows the definition of the axi4stream_transaction class members that form the transaction
record.
Example 2-3. Transaction Record Definition
// Global Transaction Class
class axi4stream_transaction;
// Protocol
byte unsigned data[];
axi4stream_byte_type_e byte_type[];
bit [((`MAX_AXI4_ID_WIDTH) - 1):0] id;
bit [((`MAX_AXI4_DEST_WIDTH) - 1):0] dest;
bit [((`MAX_AXI4_USER_WIDTH) - 1):0] user_data [];
int valid_delay[];
int ready_delay[];
// Housekeeping
axi4stream_operation_mode_e
operation_mode = AXI4STREAM_TRANSACTION_BLOCKING;
bit transfer_done[];
bit transaction_done;
...
endclass
The axi4stream_transaction class code above is shown for information only. Access to
each transaction record during its life is performed by various set*() and get*() tasks
described later in this chapter.
Mentor Verification IP AE AMBA AXI4-Stream User Guide, V10.3
April 2014
23
SystemVerilog API Overview
Creating Transactions
The contents of the transaction record is detailed in Table 2-1.
Table 2-1. Transaction Record Fields
Transaction FieldDescription
Protocol Transaction Fields
dataAn unsized array of bytes to hold the data of an AXI4-Stream
packet. The field content is transferred over the TDATA protocol
signals during a transaction.
byte_typeAn unsized array to hold the enumerated type of each data byte
within an AXI4-Stream packet. The field content is transferred
over the TSTRB and TKEEP protocol signals during a
transaction. The following are types of byte:
idA bit vector (of length equal to the TID protocol signal bus
width) to hold the data stream identifier of the data packet. The
field content is transferred over the TID protocol signals during a
transaction.
destA bit vector (of length equal to the TDEST protocol signal bus
width) to hold the routing information for the data stream packet.
The field content is transferred over the TDEST protocol signals
during a transaction.
user_dataAn unsized bit vector (of length equal to the TUSER protocol
signal bus width) to hold the user-defined sideband information.
The field content is transferred over the TUSER protocol signals
during a transaction.
Operational Transaction Fields
valid_delayAn unsized array of integers to hold the delay value of the
TVALID protocol signal (measured in ACLK cycles) for each
transfer within a packet. The field content is not transferred over
the protocol signals during a transaction.
ready_delayAn unsized array of integers to hold the delay value of the
TREADY protocol signal (measured in ACLK cycles) for each
transfer within a packet. The field content is not transferred over
the protocol signals during a transaction.
24
Mentor Verification IP AE AMBA AXI4-Stream User Guide, V10.3
April 2014
SystemVerilog API Overview
Note
Creating Transactions
Table 2-1. Transaction Record Fields (cont.)
Transaction FieldDescription
operation_modeAn enumeration to hold the operation mode of the transaction.
The field content is not transferred over the AXI4-Stream
protocol signals during a transaction.
transfer_doneAn unsized bit array to hold the done flag for each transfer within
a packet. The field content is not transferred over the protocol
signals during a transaction.
transaction_doneA bit to hold the done flag for a complete transaction. The field
content is not transferred over the protocol signals during a
transaction.
The SystemVerilog Master BFM API allows you to create a master transaction by providing
only an optional burst_length argument to indicate the number of transfers within a packet. All
other protocol transaction fields automatically default to legal protocol values to create a master
transaction record. Refer to create_master_transaction() for default protocol transaction field
values.
The SystemVerilog Slave BFM API allows you to create a slave transaction with no arguments.
All protocol transaction fields automatically default to legal protocol values to create a slave
transaction record. Refer to create_slave_transaction() for default protocol transaction field
values.
The SystemVerilog Monitor BFM API allows you to create a monitor transaction with no
arguments. All protocol transaction fields automatically default to legal protocol values to
create a complete monitor transaction record. Refer to create_monitor_transaction() for default
protocol transaction field values.
If you change the default value of a protocol transaction field, it is valid for all future
transactions until you set a new value.
create_*_transaction()
The create_master_transaction(), create_slave_transaction() and create_monitor_transaction()
BFM API functions create a master, a slave, and a monitor transaction, respectively.
Example 2-4 shows a master BFM test program creating a master transaction with a packet
length of 10 transfers.
Mentor Verification IP AE AMBA AXI4-Stream User Guide, V10.3
April 2014
25
SystemVerilog API Overview
Executing Transactions
Example 2-4. Master BFM Test Program Transaction Creation
// Define a variable trans of type axi4stream_transaction to hold
// master transaction record
axi4stream_transaction trans;
...
// Create master transaction with 10 transfers
trans = bfm.create_master_transaction(10);
Example 2-5 shows a slave BFM test program creating a slave transaction.
Example 2-5. Slave BFM Test Program Transaction Creation
// Define a variable trans of type axi4stream_transaction to hold
// slave transaction record
axi4stream_transaction trans;
...
// Create a slave transaction
trans = bfm.create_slave_transaction();
Executing Transactions
Executing a transaction in a master/slave BFM test program initiates the transaction onto the
protocol signals. Each master/slave BFM API has execution tasks that push transactions into the
BFM internal transaction queues. Figure 2-1 on page 21 illustrates the internal BFM structure.
execute_transaction()
If the DUT is a slave, then the execute_transaction() task is called in the master BFM test
program. Example 2-6 shows a master test program executing a master transaction.
Example 2-6. Master Test Program Transaction Execution
// Define a variable trans of type axi4stream_transaction to hold the
// master transaction record.
axi4stream_transaction trans;
...
// Create a master transaction with 10 transfers.
trans = bfm.create_master_transaction(10);
...
// By default the execution of a transaction will block.
bfm.execute_transaction(trans);
26
Mentor Verification IP AE AMBA AXI4-Stream User Guide, V10.3
April 2014
SystemVerilog API Overview
Note
Waiting Events
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.
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.
Mentor Verification IP AE AMBA AXI4-Stream User Guide, V10.3
April 2014
27
SystemVerilog API Overview
Operational Transaction Fields
set*()
Example 2-9 shows the master test program calling the set_byte_type() task to set the first data
byte_type in the transaction.
Example 2-9. Master Test Program set_byte_type() Task
trans.set_byte_type(AXI4STREAM_DATA_BYTE, 0);
get*()
Example 2-10 shows the slave test program calling the get_byte_type() task to get the first data
byte_type in the transaction.
Example 2-10. Slave Test Program get_byte_type() Task
// Define a variable of type axi4stream_byte_type_e to hold the byte
// type of the data stream byte.
axi4stream_byte_type_e slave_byte_type;
...
// Create a slave transaction.
trans = bfm.create_slave_transaction();
...
// Wait for a data stream transfer to occur.
bfm.get_transfer(trans, 0, last);
...
// Get the byte_type for the first data byte of the data stream transfer
slave_byte_type = trans.get_byte_type(0);
Operational Transaction Fields
Operational transaction fields control the way in which a transaction is executed onto the
protocol signals. These fields also indicate when an individual data transfer or transaction is
complete.
Operation Mode
By default, each transaction performs a blocking operation, which prevents a following
transaction from starting until the current active transaction completes.
You can configure this behavior to be nonblocking by setting the operation_mode transaction
field to the enumerate type value AXI4STREAM_TRANSACTION_NON_BLOCKING
instead of the default AXI4STREAM_TRANSACTION_BLOCKING.
28
Mentor Verification IP AE AMBA AXI4-Stream User Guide, V10.3
April 2014
SystemVerilog API Overview
Operational Transaction Fields
Example 2-11 shows a master BFM test program creating a transaction by calling the create_master_transaction() task. Before executing the transaction, the operation_mode task is
changed to nonblocking.
Example 2-11. Master Test Program operation_mode() Task
// Define a variable trans of type axi4stream_transaction to hold the
// master transaction record.
axi4stream_transaction trans;
// Create a master transaction to create a transaction record
trans = bfm.create_master_transaction(1);
// Change the operation_mode to be nonblocking in the transaction record
trans.operation_mode(AXI4STREAM_TRANSACTION_NON_BLOCKING);
Handshake Delay
You can configure the TVALID and TREADY handshake signals to insert a delay before their
assertion.
TVALID Signal Delay Transaction Field
The Transaction Record contains a valid_delay transaction field to configure the delay of the
TVALID signal. The setting of the valid_delay transaction field is performed in the master
BFM test program by calling the set_valid_delay() task.
TREADY Signal Delay Transaction Field
The Transaction Record contains a ready_delay transaction field to configure the delay of the
TREADY signal. The setting of the ready_delay transaction field is performed in the slave
BFM test program by calling the local ready_delay() task.
Example 2-12 shows the slave BFM test program implementing a ready_delay() task that
inserts a specified delay before the assertion of the TREADY signal.
Example 2-12. Slave Test Program ready_delay() Task
// Task : ready_delay
// This is used to set ready delay to extend the transfer
task ready_delay();
// Making TREADY '0'. This will consume one cycle.
bfm.execute_stream_ready(0);
// Two clock cycle wait. In total 3 clock wait.
repeat(2) bfm.wait_on(AXI4STREAM_CLOCK_POSEDGE);
// Making TREADY '1'.
bfm.execute_stream_ready(1);
endtask
Mentor Verification IP AE AMBA AXI4-Stream User Guide, V10.3
April 2014
29
SystemVerilog API Overview
Operational Transaction Fields
Transfer Done
A transfer_done transaction field is set to 1 to indicate when each protocol “transfer”
completes.
Transaction Done
A transaction_done transaction field is set to 1 to indicate when each protocol “transaction”
completes.
In a slave BFM test program, you call the get_transfer() task to investigate whether a
transaction is complete. If complete, the task returns the last argument of the task set to 1, and
the transaction record will have the transaction_done field set to 1.
30
Mentor Verification IP AE AMBA AXI4-Stream User Guide, V10.3
April 2014
Loading...
+ 201 hidden pages
You need points to download manuals.
1 point = 1 manual.
You can buy points or you can get point for every manual you upload.