Avalon Verification IP Suite: User Guide

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

18.2. About the Test

The test flow includes the following steps:
  1. The test program initializes the BFMs.
  2. The test program runs the following three parallel processes:
    1. Process 1 creates and sends four test transactions to the source BFM. The transactions consist of the following six Avalon-ST signals: data, channel, error, empty, startofpacket, endofpacket, and idle. The Avalon-ST Source BFM drives the transactions to the Avalon-ST Single-Clock FIFO buffer. In addition, the Avalon-ST Source BFM keeps a local copy of the transactions for future reference. The Avalon-ST Source BFM prints the transaction values in the ModelSim transcript console.
    2. Process 2 controls the Avalon-ST Sink BFM. When the Avalon-ST Sink BFM receives a transaction, it completes the following steps:
      • It reads the transaction values.
      • It prints the transaction values on the ModelSim transcript console.
      • It compares the values it receives to the values from the Avalon-ST Source BFM.
      • It reports any mismatch in values as failures.
      • During this process, the Avalon-ST Sink BFM backpressures the Avalon-ST Single-Clock FIFO buffer.
    3. Process 3 measures the response latency when the Avalon-ST Single-Clock FIFO buffer backpressures the Avalon-ST Source BFM. The Avalon-ST Source BFM prints the transaction values on the ModelSim transcript console.
  3. The parallel processes terminate when the Avalon-ST Source and Sink BFM transaction queues are empty and all four transactions are complete.
  4. The test program prints a pass or fail message in the ModelSim transcript console. The test passes if the following condition is met: All transactions the Source BFM sends to the Single-Clock FIFO buffer match the transactions received by the Sink BFM.