Visible to Intel only — GUID: nik1412471853614
Ixiasoft
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
Visible to Intel only — GUID: nik1412471853614
Ixiasoft
15.1. Using the External Memory BFM
At the beginning of the simulation, the external memory BFM loads the memory initialization file (INIT_FILE) to initialize its memory content. For example, if the memory file has a memory size of 50, the BFM fills its memory content with addresses 0–49. However, if you do not provide the memory initialization file, the memory content of the BFM remains blank.
Reading to the Memory Content
You can read or write to the memory content through the APIs or the interface signals.
The BFM uses cdt_data_io as a bidirectional data port. During read transfers, this port acts as an output port. It drives the corresponding address memory content when the BFM asserts or deasserts the following signals:
- Asserts cdt_output_enable signal
- Asserts cdt_read signal
- Deasserts cdt_write signal
- Asserts cdt_chip_select signal
Otherwise, the cdt_data_io port acts as an inactive input port and is held in high impedance state.
Writing to the Memory
The BFM overwrites its memory content when the BFM asserts the following signals:
- cdt_write signal
- cdt_chip_select signal