Avalon Verification IP Suite: User Guide

ID 683439
Date 2/17/2022
Public
Document Table of Contents

6. Avalon-MM Slave BFM

The Avalon-MM Slave BFM implements the slave side of the Avalon-MM interface protocol. The Avalon-MM protocol is a standard memory-mapped protocol. It includes the following functionality:
  • Reads and writes typical of simple peripherals
  • Reads, writes, burst reads, and burst writes for typical memory devices

This BFM also includes a procedural interface to implement the following functions:

  • Monitoring of incoming commands
  • Passing incoming commands to the test program
  • Accepting response transactions from the test program
  • Driving responses

The following figure shows the top-level modules for a testbench. This testbench uses the Avalon-MM Slave BFM to verify an Avalon-MM Master device. In addition to the The example testbench includes the following components:

  • Avalon-MM Slave BFM
  • A test program
  • The DUT

The test program is written in HDL. It implements the following functions:

  • Programs the Avalon-MM master to issue Avalon-MM transactions
  • Programs the Avalon-MM Slave BFM to respond
  • Analyzes the results
Note: The BFMs allow illegal response transactions so that you can test the error-handling functionality of your DUT. Consequently, the BFMs cannot be relied upon to guarantee protocol compliance. The Avalon Monitor components verify protocol compliance.
Figure 7. Top-Level Module to Verify an Avalon-MM Master