Altera Mentor Verification IP Altera Edition AMBA AXI3/4TM User Manual
Mentor, Verification ip altera, Edition amba axi3/4

Mentor
®
Verification IP Altera
®
Edition
AMBA AXI3/4
TM
User Guide
Software Version 10.2b
September 2013
© 2012-2013 Mentor Graphics Corporation
All rights reserved.
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.
Table of contents
Document Outline
- Table of Contents
- List of Examples
- List of Figures
- List of Tables
- Preface
- Chapter 1 Mentor VIP Altera Edition
- Chapter 2 SystemVerilog API Overview
- Configuration
- Creating Transactions
- Transaction Record
- 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...
- AXI3 Transaction Definition
- AXI4 Transaction Definition
- create*_transaction()
- Transaction Record
- Executing Transactions
- Waiting Events
- Access Transaction Record
- Operational Transaction Fields
- Chapter 3 SystemVerilog AXI3 and AXI4 Master BFMs
- Master BFM Protocol Support
- Master Timing and Events
- Master BFM Configuration
- Master Assertions
- SystemVerilog Master API
- set_config()
- get_config()
- create_write_transaction()
- create_read_transaction()
- execute_transaction()
- execute_write_addr_phase()
- execute_read_addr_phase()
- execute_write_data_burst()
- execute_write_data_phase()
- get_read_data_burst()
- get_read_data_phase()
- get_write_response_phase()
- get_read_addr_ready()
- get_read_data_cycle()
- get_write_addr_ready()
- get_write_data_ready()
- get_write_response_cycle()
- execute_read_data_ready()
- execute_write_resp_ready()
- wait_on()
- Chapter 4 SystemVerilog AXI3 and AXI4 Slave BFMs
- Slave BFM Protocol Support
- Slave Timing and Events
- Slave BFM Configuration
- Slave Assertions
- SystemVerilog Slave API
- set_config()
- get_config()
- create_slave_transaction()
- execute_read_data_burst()
- execute_read_data_phase()
- execute_write_response_phase()
- get_write_addr_phase()
- get_read_addr_phase()
- get_write_data_phase()
- get_write_data_burst()
- get_read_addr_cycle()
- execute_read_addr_ready()
- get_read_data_ready()
- get_write_addr_cycle()
- execute_write_addr_ready()
- get_write_data_cycle()
- execute_write_data_ready()
- get_write_resp_ready()
- wait_on()
- Helper Functions
- Chapter 5 SystemVerilog AXI3 and AXI4 Monitor BFMs
- Inline Monitor Connection
- Monitor BFM Protocol Support
- Monitor Timing and Events
- Monitor BFM Configuration
- Monitor Assertions
- SystemVerilog Monitor API
- set_config()
- get_config()
- create_monitor_transaction()
- get_rw_transaction()
- get_write_addr_phase()
- get_read_addr_phase()
- get_read_data_phase()
- get_read_data_burst()
- get_write_data_phase()
- get_write_data_burst()
- get_write_response_phase
- get_read_addr_ready()
- get_read_data_ready()
- get_write_addr_ready()
- get_write_data_ready()
- get_write_resp_ready()
- wait_on()
- Helper Functions
- Chapter 6 SystemVerilog Tutorials
- Verifying a Slave DUT
- AXI3 BFM Master Test Program
- AXI4 BFM Master Test Program
- master_ready_delay_mode
- m_wr_resp_phase_ready_delay
- m_rd_data_phase_ready_delay
- Configuration and Initialization
- Write Transaction Creation and Execution
- Read Transaction Creation and Execution
- Write Burst Transaction Creation and Execution
- Read Burst Transaction Creation and Execution
- Outstanding Write BurstTransaction Creation and Execution
- Verifying a Master DUT
- Verifying a Slave DUT
- Chapter 7 VHDL API Overview
- Chapter 8 VHDL AXI3 and AXI4 Master BFMs
- Overloaded Procedure Common Arguments
- Master BFM Protocol Support
- Master Timing and Events
- Master BFM Configuration
- Master Assertions
- VHDL Master API
- set_config()
- get_config()
- create_write_transaction()
- create_read_transaction()
- set_addr()
- get_addr()
- set_size()
- get_size()
- set_burst()
- get_burst()
- set_lock()
- get_lock()
- set_cache()
- get_cache()
- set_prot()
- get_prot()
- set_id()
- get_id()
- set_burst_length()
- get_burst_length()
- set_data_words()
- get_data_words()
- set_write_strobes()
- get_write_strobes()
- set_resp()
- get_resp()
- set_addr_user()
- get_addr_user()
- set_read_or_write()
- get_read_or_write()
- set_gen_write_strobes()
- get_gen_write_strobes()
- set_operation_mode()
- get_operation_mode()
- set_delay_mode()
- get_delay_mode()
- set_write_data_mode()
- get_write_data_mode()
- set_address_valid_delay()
- get_address_valid_delay()
- set_address_ready_delay()
- get_address_ready_delay()
- set_data_valid_delay()
- get_data_valid_delay()
- get_data_ready_delay()
- set_write_response_valid_delay()
- get_write_response_valid_delay()
- set_write_response_ready_delay()
- get_write_response_ready_delay()
- set_data_beat_done()
- get_data_beat_done()
- set_transaction_done()
- get_transaction_done()
- execute_transaction()
- execute_write_addr_phase()
- execute_read_addr_phase()
- execute_write_data_burst()
- execute_write_data_phase()
- get_read_data_burst()
- get_read_data_phase()
- get_write_response_phase()
- get_read_addr_ready()
- get_read_data_cycle()
- execute_read_data_ready()
- get_write_addr_ready()
- get_write_data_ready()
- get_write_response_cycle()
- execute_write_resp_ready()
- push_transaction_id()
- pop_transaction_id()
- print()
- destruct_transaction()
- wait_on()
- Chapter 9 VHDL AXI3 and AXI4 Slave BFMs
- Slave BFM Protocol Support
- Slave Timing and Events
- Slave BFM Configuration
- Slave Assertions
- VHDL Slave API
- set_config()
- get_config()
- create_slave_transaction()
- set_addr()
- get_addr()
- set_size()
- get_size()
- set_burst()
- get_burst()
- set_lock()
- get_lock()
- set_cache()
- get_cache()
- set_prot()
- get_prot()
- set_id()
- get_id()
- set_burst_length()
- get_burst_length()
- set_data_words()
- get_data_words()
- set_write_strobes()
- get_write_strobes()
- set_resp()
- get_resp()
- set_addr_user()
- get_addr_user()
- set_read_or_write()
- get_read_or_write()
- set_gen_write_strobes()
- get_gen_write_strobes()
- set_operation_mode()
- get_operation_mode()
- set_delay_mode()
- get_delay_mode()
- set_write_data_mode()
- get_write_data_mode()
- set_address_valid_delay()
- get_address_valid_delay()
- set_address_ready_delay()
- get_address_ready_delay()
- set_data_valid_delay()
- get_data_valid_delay()
- set_data_ready_delay()
- get_data_ready_delay()
- set_write_response_valid_delay()
- get_write_response_valid_delay()
- set_write_response_ready_delay()
- get_write_response_ready_delay()
- set_data_beat_done()
- get_data_beat_done()
- set_transaction_done()
- get_transaction_done()
- execute_read_data_burst()
- execute_read_data_phase()
- execute_write_response_phase()
- get_write_addr_phase()
- get_read_addr_phase()
- get_write_data_phase()
- get_write_data_burst()
- get_read_addr_cycle()
- execute_read_addr_ready()
- get_read_data_ready()
- get_write_addr_cycle()
- execute_write_addr_ready()
- get_write_data_cycle()
- execute_write_data_ready()
- get_write_resp_ready()
- push_transaction_id()
- pop_transaction_id()
- print()
- destruct_transaction()
- wait_on()
- Helper Functions
- Chapter 10 VHDL AXI3 and AXI4 Monitor BFMs
- Inline Monitor Connection
- Monitor BFM Protocol Support
- Monitor Timing and Events
- Monitor BFM Configuration
- Monitor Assertions
- VHDL Monitor API
- set_config()
- get_config()
- create_monitor_transaction()
- set_addr()
- get_addr()
- set_size()
- get_size()
- set_burst()
- get_burst()
- set_lock()
- get_lock()
- set_cache()
- get_cache()
- set_prot()
- get_prot()
- set_id()
- get_id()
- set_burst_length()
- get_burst_length()
- set_data_words()
- get_data_words()
- set_write_strobes()
- get_write_strobes()
- set_resp()
- get_resp()
- set_addr_user()
- get_addr_user()
- set_read_or_write()
- get_read_or_write()
- set_gen_write_strobes()
- get_gen_write_strobes()
- set_operation_mode()
- get_operation_mode()
- set_delay_mode()
- get_delay_mode()
- set_write_data_mode()
- get_write_data_mode()
- set_address_valid_delay()
- get_address_valid_delay()
- set_address_ready_delay()
- get_address_ready_delay()
- set_data_valid_delay()
- get_data_valid_delay()
- set_data_ready_delay()
- get_data_ready_delay()
- set_write_response_valid_delay()
- get_write_response_valid_delay()
- set_write_response_ready_delay()
- get_write_response_ready_delay()
- set_data_beat_done()
- get_data_beat_done()
- set_transaction_done()
- get_transaction_done()
- get_read_data_burst()
- get_read_data_phase()
- get_write_response_phase()
- get_write_addr_phase()
- get_read_addr_phase()
- get_write_data_phase()
- get_write_data_burst()
- get_rw_transaction()
- get_read_addr_ready()
- get_read_data_ready()
- get_write_addr_ready()
- get_write_data_ready()
- get_write_resp_ready()
- push_transaction_id()
- pop_transaction_id()
- print()
- destruct_transaction()
- wait_on()
- Chapter 11 VHDL Tutorials
- Verifying a Slave DUT
- AXI3 BFM Master Test Program
- AXI4 BFM Master Test Program
- m_wr_resp_phase_ready_delay
- m_rd_data_phase_ready_delay
- Configuration and Initialization
- Write Transaction Creation and Execution
- Read Transaction Creation and Execution
- Write Burst Transaction Creation and Execution
- Read Burst Transaction Creation and Execution
- Outstanding Write Burst Transaction Creation and Execution
- Verifying a Master DUT
- AXI3 BFM Slave Test Program
- AXI3 Basic Slave API Definition
- AXI3 Advanced Slave API Definition
- AXI4 BFM Slave Test Program
- AXI4 Basic Slave API Definition
- Configuration variables m_max_outstanding_read_trans and m_max_outstanding_write_trans back-pressure a master from transmitting additional read and write transactions when the configured value has been reached.
- Internal Memory
- do_byte_read()
- do_byte_write()
- m_wr_addr_phase_ready_delay
- m_rd_addr_phase_ready_delay
- m_wr_data_phase_ready_delay
- set_wr_resp_valid_delay()
- set_read_data_valid_delay()
- slave_mode
- Using the AXI4 Basic Slave Test Program API
- AXI4 Advanced Slave API Definition
- AXI4 Basic Slave API Definition
- Verifying a Slave DUT
- Chapter 12 Getting Started with Qsys and the BFMs
- Appendix A Assertions
- Appendix B SystemVerilog AXI3 and AXI4 Test Programs
- Appendix C VHDL AXI3 and AXI4 Test Programs
- Third-party Software for Mentor Verification IP Altera Edition
- End-User License Agreement