19.2. Avalon-MM VHDL Testbench Description
At the top-level, the VHDL HDL version of the Avalon-MM testbench includes two modules:
- The System Under Test: This module includes the Avalon-MM Master and Slaves components and the Avalon-MM Master and Slave BFMs.
- The Test Program: The module includes Master Command and Slave Threads.
The Master Command Thread performs the following functions:
- Generates random commands
- Passes the commands to Avalon-MM Master BFM
- Saves the commands in a FIFO for command and response verification
- For read commands, the master waits for a valid response and verifies it against the expected read data.
The Slave Thread performs the following functions:
- Randomly sets backpressure cycles to Avalon-MM Slave BFM
- Waits for valid commands
- Retrieves valid commands from the Avalon-MM Slave BFM
- Verifies commands against the expected command
- Sends read data for read commands.
- Saves read data in a FIFO for verification
The test program sends the following transaction types:
- Non-bursting writes
- Non-bursting reads
- Bursting writes
- Bursting reads
Did you find the information on this page useful?