Avalon Verification IP Suite: User Guide

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

6.2. Block Diagram

The following figure provides a block diagram of the Avalon-MM Slave BFM. The BFM includes the following major blocks:
  • Avalon-MM Slave API—Provides methods to get commands and create responses to commands from the Avalon-MM master (DUT).
  • Command Descriptor—Accumulates the fields of a command sent by the Avalon-MM master. Sends completed commands to the Avalon-MM Slave BFM when requested.
  • Avalon-MM Interface Monitor—Monitors activity coming from the Avalon-MM Master (DUT). Stores commands in the Client Command Queue.
  • Response Generator and Data Cache— In memory_mode the Slave BFM models a single port RAM. A write operation stores the data in an associative array and generates no response. A read operation fetches data from the array and drives it on the response side of the Avalon interface. This mode simplifies loopback testing.
  • Avalon-MM Slave Interface Driver—Drives responses to the system interconnect fabric. For burst transfers, there is a separate transfer for each word of the burst. The client testbench can instruct the Slave BFM to assert waitrequest for each word of the burst to test the functionality of the Avalon-MM master.
  • Public Events—Provides status response that arrives together with the data. The public event signals indicate the status of the Master’s request such as successful completion, timeout, or error.
    Figure 10. Avalon-MM Slave BFM Block Diagram