Forum Discussion

Sushmita's avatar
Sushmita
Icon for Occasional Contributor rankOccasional Contributor
5 years ago

Avalon MM BFM - test program

Hi,

I referred to the Avalon Verification IP suite user guide along with the example design given the document.
In the zip file, for 1x1 master - slave design, there is testbench (tb.sv) which instantiates qsys top dut and an example test program(test_program.sv).

I want to use the BFMs with my custom IP containing 1 master and 1 slave in the top, I am getting few doubts with respect to the test program and the APIs mentioned in the user guide.
I tried to simulate my dut with the test program provided in the example design with little modifications, and below are the issues/ doubts I am facing.

I am expecting the master bfm to send me some particular write data ( avs_writedata ) at address 0 (avs_address ) whenever the <avs_write> is high.
But using the test program for write transction, I am not getting any master bfm signals.
The test bench runs for few cycles displaying info messages, then stops simulation with this message - " FAILURE : verbosity_pkg.abort_simulation: abort the simulation due to fatal error incident ".

1) What is the purpose of test program? I see the APIs being used in test program.
Can I use the test program directly in my test bench to start write transaction?

2) If no, please tell me how and where to use the APIs ( in test bench or test program)?
Should I be using the test program in test bench as given in example design?

3) Do I need to modify the test program according to my custom Ip transaction requirements?

Please suggest the changes/modifications i should do to the existing test program.sv or testbench( attached below), since I am new to system verilog and all this confusing me.

Thanks in Advance.

2 Replies