A newer version of this document is available. Customers should click here to go to the newest version.
1. Introduction to Avalon Verification IP Suite
2. Clock Source BFM
3. Reset Source BFM
4. Avalon Interrupt Source and Interrupt Sink BFMs
5. Avalon-MM Master BFM
6. Avalon-MM Slave BFM
7. Avalon-MM Monitor
8. Avalon-ST Source BFM
9. Avalon-ST Sink BFM
10. Avalon-ST Monitor
11. Avalon Streaming Credit Source BFM
12. Avalon Streaming Credit Sink BFM
13. Conduit BFM
14. Tri-State Conduit BFM
15. External Memory BFM
16. Nios II Custom Instruction Master BFM
17. Nios II Custom Instruction Slave BFM
18. Avalon-ST Verilog HDL Testbench
19. Avalon-MM Verilog HDL and VHDL Testbenches
20. Document Revision History
5.4.1. event_all_transactions_complete()
5.4.2. event_command_issued()
5.4.3. event_max_command_queue_size()
5.4.4. event_min_command_queue_size()
5.4.5. event_read_response_complete()
5.4.6. event_response_complete()
5.4.7. event_write_response_complete()
5.4.8. get_command_issued_queue_size()
5.4.9. get_command_pending_queue_size()
5.4.10. get_read_response_queue_size()
5.4.11. get_response_address()
5.4.12. get_response_byte_enable()
5.4.13. get_response_burst_size()
5.4.14. get_response_data()
5.4.15. get_response_latency()
5.4.16. get_response_queue_size()
5.4.17. get_response_read_id()
5.4.18. get_response_read_response()
5.4.19. get_response_request()
5.4.20. get_response_wait_time()
5.4.21. get_response_write_id()
5.4.22. get_write_response_status()
5.4.23. get_write_response_queue_size()
5.4.24. get_version()
5.4.25. init()
5.4.26. pop_response()
5.4.27. push_command()
5.4.28. set_clken()
5.4.29. set_command_address()
5.4.30. set_command_arbiterlock()
5.4.31. set_command_byte_enable()
5.4.32. set_command_burst_count()
5.4.33. set_command_burst_size()
5.4.34. set_command_data()
5.4.35. set_command_debugaccess()
5.4.36. set_command_idle()
5.4.37. set_command_init_latency()
5.4.38. set_command_lock()
5.4.39. set_command_request()
5.4.40. set_command_timeout()
5.4.41. set_command_transaction_id()
5.4.42. set_command_write_response_request()
5.4.43. set_max_command_queue_size()
5.4.44. set_min_command_queue_size()
5.4.45. set_response_timeout()
5.4.46. signal_all_transactions_complete
5.4.47. signal_command_issued
5.4.48. signal_fatal_error
5.4.49. signal_max_command_queue_size
5.4.50. signal_min_command_queue_size
5.4.51. signal_read_response_complete
5.4.52. signal_response_complete
5.4.53. signal_write_response_complete
6.4.1. event_command_received()
6.4.2. event_response_issued()
6.4.3. event_max_response_queue_size()
6.4.4. event_min_response_queue_size()
6.4.5. get_clken()
6.4.6. get_command_address()
6.4.7. get_command_arbiterlock()
6.4.8. get_command_burst_count()
6.4.9. get_command_burst_cycle()
6.4.10. get_command_byte_enable()
6.4.11. get_command_data()
6.4.12. get_command_debugaccess()
6.4.13. get_command_queue_size()
6.4.14. get_command_lock()
6.4.15. get_command_request()
6.4.16. get_command_transaction_id()
6.4.17. get_command_write_response_request()
6.4.18. get_pending_read_latency_cycle()
6.4.19. get_pending_write_latency_cycle()
6.4.20. get_response_queue_size()
6.4.21. vget_slave_bfm_status
6.4.22. get_version()
6.4.23. init()
6.4.24. pop_command()
6.4.25. push_response()
6.4.26. set_command_transaction_mode()
6.4.27. set_interface_wait_time()
6.4.28. vset_max_response_queue_size()
6.4.29. set_min_response_queue_size()
6.4.30. set_read_response_id()
6.4.31. set_read_response_status()
6.4.32. set_response_burst_size()
6.4.33. set_response_data()
6.4.34. set_response_latency()
6.4.35. set_response_request()
6.4.36. set_response_timeout()
6.4.37. set_write_response_id()
6.4.38. set_write_response_status()
6.4.39. signal_command_received()
6.4.40. signal_error_exceed_max_pending_reads
6.4.41. signal_max_response_queue_size
6.4.42. signal_min_command_queue_size
6.4.43. signal_fatal_error
6.4.44. signal_response_issued
7.2.1. set_enable_a_address_align_with_data_width()
7.2.2. set_enable_a_beginbursttransfer_exist()
7.2.3. set_enable_a_beginbursttransfer_legal()
7.2.4. set_enable_a_beginbursttransfer_single_cycle()
7.2.5. set_enable_a_begintransfer_exist()
7.2.6. set_enable_a_begintransfer_legal()
7.2.7. set_enable_a_begintransfer_single_cycle()
7.2.8. set_enable_a_burst_legal()
7.2.9. set_enable_a_byteenable_legal()
7.2.10. set_enable_a_constant_during_burst()
7.2.11. set_enable_a_constant_during_clk_disabled()
7.2.12. set_enable_a_constant_during_waitrequest()
7.2.13. set_enable_a_exclusive_read_write()
7.2.14. set_enable_a_half_cycle_reset_legal()
7.2.15. set_enable_a_less_than_burstcount_max_size()
7.2.16. set_enable_a_less_than_maximumpendingreadtransactions()
7.2.17. set_enable_a_no_readdatavalid_during_reset()
7.2.18. set_enable_a_no_read_during_reset()
7.2.19. set_enable_a_no_write_during_reset()
7.2.20. set_enable_a_readid_sequence()
7.2.21. set_enable_a_read_response_sequence()
7.2.22. set_enable_a_read_response_timeout()
7.2.23. set_enable_a_register_incoming_signals()
7.2.24. set_enable_a_waitrequest_during_reset()
7.2.25. set_enable_a_waitrequest_timeout()
7.2.26. set_enable_a_write_burst_timeout()
7.2.27. set_enable_a_writeid_sequence()
7.2.28. Coverage Group
7.2.29. Transaction Monitoring
7.2.28.1. set_enable_c_b2b_read_read()
7.2.28.2. set_enable_c_b2b_read_write()
7.2.28.3. set_enable_c_b2b_write_read()
7.2.28.4. set_enable_c_b2b_write_write()
7.2.28.5. set_enable_c_continuous_read()
7.2.28.6. set_enable_c_continuous_readdatavalid()
7.2.28.7. set_enable_c_continuous_waitrequest()
7.2.28.8. set_enable_c_continuous_waitrequest_from_idle_to_read()
7.2.28.9. set_enable_c_continuous_waitrequest_from_idle_to_write()
7.2.28.10. set_enable_c_continuous_write()
7.2.28.11. set_enable_c_idle_before_transaction()
7.2.28.12. set_enable_c_idle_in_read_response()
7.2.28.13. set_enable_c_idle_in_write_burst()
7.2.28.14. set_enable_c_pending_read()
7.2.28.15. set_enable_c_read()
7.2.28.16. set_enable_c_read_after_reset()
7.2.28.17. set_enable_c_read_burstcount()
7.2.28.18. set_enable_c_read_byteenable()
7.2.28.19. set_enable_c_read_latency()
7.2.28.20. set_enable_c_read_response()
7.2.28.21. set_enable_c_waitrequest_in_write_burst()
7.2.28.22. set_enable_c_waitrequested_read()
7.2.28.23. set_enable_c_waitrequest_without_command()
7.2.28.24. set_enable_c_waitrequested_write()
7.2.28.25. set_enable_c_write()
7.2.28.26. set_enable_c_write_with_and_without_writeresponserequest()
7.2.28.27. set_enable_c_write_after_reset()
7.2.28.28. set_enable_c_write_burstcount()
7.2.28.29. set_enable_c_write_byteenable()
7.2.28.30. set_enable_c_write_response()
7.2.29.1. event_transaction_fifo_threshold()
7.2.29.2. event_transaction_fifo_overflow()
7.2.29.3. event_command_received()
7.2.29.4. event_read_response_complete()
7.2.29.5. event_write_response_complete()
7.2.29.6. event_response_complete()
7.2.29.7. get_clken()
7.2.29.8. get_version()
7.2.29.9. get_command_address()
7.2.29.10. get_command_arbiterlock()
7.2.29.11. get_command_burst_count()
7.2.29.12. get_command_burst_cycle()
7.2.29.13. get_command_byte_enable()
7.2.29.14. get_command_data()
7.2.29.15. get_command_debugaccess()
7.2.29.16. get_command_issued_queue_size()
7.2.29.17. get_command_queue_size()
7.2.29.18. get_command_lock()
7.2.29.19. get_command_request()
7.2.29.20. get_command_transaction_id()
7.2.29.21. get_command_write_response_request()
7.2.29.22. get_read_response_queue_size()
7.2.29.23. get_response_address()
7.2.29.24. get_response_byte_enable()
7.2.29.25. get_response_burst_size()
7.2.29.26. get_response_data()
7.2.29.27. get_response_latency()
7.2.29.28. get_response_queue_size()
7.2.29.29. get_response_read_id()
7.2.29.30. get_response_read_response()
7.2.29.31. get_response_request()
7.2.29.32. get_response_wait_time()
7.2.29.33. get_response_write_id()
7.2.29.34. get_response_write_response()
7.2.29.35. get_transaction_fifo_max()
7.2.29.36. get_transaction_fifo_threshold()
7.2.29.37. get_write_response_queue_size()
7.2.29.38. init()
7.2.29.39. pop_command()
7.2.29.40. pop_response()
7.2.29.41. set_command_transaction_mode()
7.2.29.42. set_transaction_fifo_max()
7.2.29.43. set_transaction_fifo_threshold()
7.2.29.44. signal_command_received
7.2.29.45. signal_fatal_error
7.2.29.46. signal_read_response_complete
7.2.29.47. signal_response_complete
7.2.29.48. signal_transaction_fifo_overflow
7.2.29.49. signal_transaction_fifo_threshold
7.2.29.50. signal_write_response_complete
8.4.1. event_min_transaction_queue_size()
8.4.2. event_response_done()
8.4.3. event_src_driving_transaction()
8.4.4. event_src_not_ready()
8.4.5. event_src_ready()
8.4.6. event_src_transaction_complete()
8.4.7. get_response_latency()
8.4.8. get_response_queue_size()
8.4.9. get_src_ready()
8.4.10. get_src_transaction_complete()
8.4.11. get_transaction_queue_size()
8.4.12. get_version()
8.4.13. init()
8.4.14. pop_response()
8.4.15. push_transaction()
8.4.16. set_max_transaction_queue_size()
8.4.17. set_min_transaction_queue_size()
8.4.18. set_response_timeout()
8.4.19. set_transaction_channel()
8.4.20. set_transaction_data()
8.4.21. set_transaction_idles()
8.4.22. set_transaction_eop()
8.4.23. set_transaction_empty()
8.4.24. set_transaction_error()
8.4.25. set_transaction_sop()
8.4.26. signal_fatal_error
8.4.27. signal_max_transaction_queue_size
8.4.28. signal_min_transaction_queue_size
8.4.29. signal_response_done
8.4.30. signal_src_driving_transaction
8.4.31. signal_src_not_ready
8.4.32. signal_src_ready
8.4.33. signal_src_transaction_complete
9.4.1. event_sink_ready_assert()
9.4.2. event_sink_ready_deassert()
9.4.3. get_transaction_channel()
9.4.4. get_transaction_data()
9.4.5. get_transaction_idles()
9.4.6. get_transaction_eop()
9.4.7. get_transaction_empty()
9.4.8. get_transaction_error()
9.4.9. get_transaction_queue_size()
9.4.10. get_transaction_sop()
9.4.11. get_version()
9.4.12. init()
9.4.13. pop_transaction()
9.4.14. set_ready()
9.4.15. signal_fatal_error
9.4.16. signal_sink_ready_assert
9.4.17. signal_sink_ready_deassert
9.4.18. signal_transaction_received
10.2.1. set_enable_a_empty_legal()
10.2.2. set_enable_a_less_than_max_channel()
10.2.3. set_enable_a_no_data_outside_packet()
10.2.4. set_enable_a_non_missing_endofpacket()
10.2.5. set_enable_a_non_missing_startofpacket()
10.2.6. set_enable_a_valid_legal()
10.2.7. Coverage Group
10.2.8. Transaction Monitoring
10.2.7.1. set_enable_c_all_idle_beats()
10.2.7.2. set_enable_c_all_valid_beats()
10.2.7.3. set_enable_c_b2b_data_different_channel()
10.2.7.4. set_enable_c_b2b_data_same_channel()
10.2.7.5. set_enable_c_b2b_packet_different_channel()
10.2.7.6. set_enable_c_b2b_packet_in_different_transaction()
10.2.7.7. set_enable_c_b2b_packet_same_channel()
10.2.7.8. set_enable_c_b2b_packet_within_single_cycle()
10.2.7.9. set_enable_c_channel_change_in_packet()
10.2.7.10. set_enable_c_empty()
10.2.7.11. set_enable_c_error()
10.2.7.12. set_enable_c_error_in_middle_of_packet()
10.2.7.13. set_enable_c_idle_beat_between_packet()
10.2.7.14. set_enable_c_multiple_packet_per_cycle()
10.2.7.15. set_enable_c_non_valid_ready()
10.2.7.16. set_enable_c_non_valid_non_ready()
10.2.7.17. set_enable_c_packet()
10.2.7.18. set_enable_c_packet_no_idles_no_back_pressure()
10.2.7.19. set_enable_c_packet_size()
10.2.7.20. set_enable_c_packet_with_back_pressure()
10.2.7.21. set_enable_c_packet_with_idles()
10.2.7.22. set_enable_c_partial_valid_beats()
10.2.7.23. set_enable_c_single_packet_per_cycle()
10.2.7.24. set_enable_c_transfer()
10.2.7.25. set_enable_c_transaction_after_reset()
10.2.7.26. set_enable_c_valid_non_ready()
10.2.8.1. event_transaction_fifo_threshold()
10.2.8.2. event_transaction_fifo_overflow()
10.2.8.3. get_transaction_channel()
10.2.8.4. get_transaction_data()
10.2.8.5. get_transaction_empty()
10.2.8.6. get_transaction_eop()
10.2.8.7. get_transaction_error()
10.2.8.8. get_transaction_fifo_max()
10.2.8.9. get_transaction_fifo_threshold()
10.2.8.10. get_transaction_idles()
10.2.8.11. get_transaction_queue_size()
10.2.8.12. get_transaction_sop()
10.2.8.13. get_version()
10.2.8.14. pop_transaction()
10.2.8.15. set_transaction_fifo_max()
10.2.8.16. set_transaction_fifo_threshold()
10.2.8.17. signal_fatal_error
10.2.8.18. signal_transaction_fifo_overflow
10.2.8.19. signal_transaction_fifo_threshold
10.2.8.20. signal_transaction_received
11.3.1. initialize()
11.3.2. rst()
11.3.3. get_src_transaction_complete()
11.3.4. get_outstanding_credit()
11.3.5. push_transaction()
11.3.6. set_max_transaction_queue_size()
11.3.7. set_min_transaction_queue_size()
11.3.8. set_transaction_data()
11.3.9. set_transaction_channel()
11.3.10. set_transaction_error()
11.3.11. set_transaction_idles()
11.3.12. set_transaction_sop()
11.3.13. set_transaction_eop()
11.3.14. set_transaction_empty()
11.3.15. return_credit()
11.3.16. set_user_signal_per_symbol_data()
11.3.17. push_user_signal_per_symbol_transaction()
11.3.18. set_user_signal_per_packet_data()
11.3.19. push_user_signal_per_packet_transaction()
11.3.20. signal_credit_arrived
11.3.21. signal_fatal_error
11.3.22. signal_src_transaction_complete
11.3.23. signal_src_driving_transaction
11.3.24. signal_max_transaction_queue_size
11.3.25. signal_min_transaction_queue_size
12.3.1. initialize()
12.3.2. rst()
12.3.3. get_outstanding_credit()
12.3.4. get_transaction_idles()
12.3.5. get_transaction_data()
12.3.6. get_transaction_channel()
12.3.7. get_transaction_error()
12.3.8. get_transaction_sop()
12.3.9. get_transaction_eop()
12.3.10. get_transaction_empty()
12.3.11. pop_transaction()
12.3.12. send_credit()
12.3.13. get_user_signal_per_symbol_data()
12.3.14. pop_user_signal_per_symbol_transaction()
12.3.15. get_user_signal_per_packet_data()
12.3.16. pop_user_signal_per_packet_transaction()
12.3.17. signal_fatal_error
12.3.18. signal_has_max_credits
12.3.19. signal_transaction_received
14.2.1. event_interface_granted()
14.2.2. event_grant_deasserted_while_request_remain_asserted
14.2.3. event_max_transaction_queue_size()
14.2.4. event_min_transaction_queue_size()
14.2.5. get_input_transaction_queue_size()
14.2.6. get_output_transaction_queue_size()
14.2.7. get_transaction_<role name>_in()
14.2.8. get_transaction_latency()
14.2.9. get_version()
14.2.10. pop_transaction()
14.2.11. push_transaction()
14.2.12. set_max_transaction_queue_size()
14.2.13. set_min_transaction_queue_size()
14.2.14. set_num_of_transactions()
14.2.15. set_transaction_<role name>_out()
14.2.16. set_transaction_<role name>_outen()
14.2.17. set_transaction_idles()
14.2.18. set_valid_transaction_<role name>_out()
14.2.19. signal_all_transactions_complete
14.2.20. signal_fatal_error
14.2.21. signal_grant_deasserted_while_request_remain_asserted
14.2.22. signal_interface_granted
14.2.23. signal_max_transaction_queue_size
14.2.24. signal_min_transaction_queue_size
16.2.1.1. event_unexpected_result_received()
16.2.1.2. event_instructions_completed()
16.2.1.3. event_max_instruction_queue_size()
16.2.1.4. event_min_instruction_queue_size()
16.2.1.5. event_max_result_queue_size()
16.2.1.6. event_min_result_queue_size()
16.2.1.7. get_instruction_queue_size()
16.2.1.8. get_result_delay()
16.2.1.9. get_result_queue_size()
16.2.1.10. get_result_value()
16.2.1.11. get_version()
16.2.1.12. insert_instruction()
16.2.1.13. pop_result()
16.2.1.14. push_instruction()
16.2.1.15. retrieve_result()
16.2.1.16. set_ci_clk_en()
16.2.1.17. set_clock_enable_timeout()
16.2.1.18. set_instruction_a()
16.2.1.19. set_instruction_b()
16.2.1.20. set_instruction_c()
16.2.1.21. set_instruction_dataa()
16.2.1.22. set_instruction_datab()
16.2.1.23. set_instruction_err_inject()
16.2.1.24. set_instruction_idle()
16.2.1.25. set_instruction_n()
16.2.1.26. set_instruction_readra()
16.2.1.27. set_instruction_readrb()
16.2.1.28. set_instruction_timeout()
16.2.1.29. set_instruction_writerc()
16.2.1.30. set_max_instruction_queue_size()
16.2.1.31. set_max_result_queue_size()
16.2.1.32. set_min_instruction_queue_size()
16.2.1.33. set_min_result_queue_size()
16.2.1.34. set_result_timeout()
16.2.1.35. signal_unexpected_result_received
16.2.1.36. signal_fatal_error
16.2.1.37. signal_instructions_completed
16.2.1.38. signal_instruction_start
16.2.1.39. signal_max_instruction_queue_size
16.2.1.40. signal_max_result_queue_size
16.2.1.41. signal_min_instruction_queue_size
16.2.1.42. signal_min_result_queue_size
16.2.1.43. signal_result_received
17.2.1. event_instruction_inconsistent()
17.2.2. event_instruction_unchanged()
17.2.3. event_result_driven()
17.2.4. event_result_done()
17.2.5. event_unknown_instruction_received()
17.2.6. get_ci_clk_en()
17.2.7. get_instruction_a()
17.2.8. get_instruction_b()
17.2.9. get_instruction_c()
17.2.10. get_instruction_dataa()
17.2.11. get_instruction_datab()
17.2.12. get_instruction_idle()
17.2.13. get_instruction_n()
17.2.14. get_instruction_readra()
17.2.15. get_instruction_readrb()
17.2.16. get_instruction_writerc()
17.2.17. get_version()
17.2.18. insert_result()
17.2.19. retrieve_instruction()
17.2.20. set_clock_enable_timeout()
17.2.21. set_instruction_a()
17.2.22. set_instruction_b()
17.2.23. set_instruction_c()
17.2.24. set_instruction_timeout()
17.2.25. set_result_delay()
17.2.26. set_result_err_inject()
17.2.27. set_result_value()
17.2.28. signal_fatal_error
17.2.29. signal_instructions_inconsistent
17.2.30. signal_known_instruction_received
17.2.31. signal_result_done
17.2.32. signal_result_driven
17.2.33. signal_unknown_instruction_received
10.1. Parameters
The Avalon-ST monitor supports the full range of signals defined for the Avalon-ST source and sink interfaces. You can customize the Avalon-ST source and sink interfaces using the parameters described in the following table.
Parameter | Default Value | Legal Values | Description |
---|---|---|---|
Port Widths | |||
Symbol width | 8 | N/A | Data symbol width in bits. The symbol width should be 8 for byte-oriented interfaces. |
Number of symbols | 4 | N/A | Numbers of symbols per word. |
Width of the channel signal | 1 | N/A | Specifies the width of the channel signal in bits. |
Width of the error port | 1 | N/A | Specifies the width of the error signal in bits. |
Width of the empty port | 1 | N/A | Specifies the width of the empty signal in bits. |
Port Enables | |||
Include the signals to support packets | On | On/Off | When On, the interface includes a the startofpacket, endofpacket, and empty signals. |
Use the channel port | On | On/Off | When On, the interface includes a channel pin. |
Use the error port | On | On/Off | When On, the interface includes error pins. |
Use the ready port | On | On/Off | When On, the interface includes ready pins. |
Use the valid port | On | On/Off | When On, the interface includes valid pins. |
Use the empty port | On | On/Off | When On, the interface includes a empty pin. |
Timing Attributes | |||
Ready latency | 0 | N/A | Specifies the readyLatency parameter for data interfaces that support backpressure. For more information, refer to the Avalon Interface Specifications. |
Number of beats per cycle | 1 | 1–1024 | Specifies the number of beats per cycle. |
Channel Attributes | |||
Max Channel Number | 1 | N/A | Specifies when a timeout will occur if a burst write transfer has not completed. |
Miscellaneous Properties | |||
Max Packet Size Covered | 1 | N/A | Specifies the maximum packet size. |
VHDL BFM ID | 0 | 0–1023 | For VHDL BFMs only. Use this option to assign a unique number to each BFM in the testbench design. |