Avalon Verification IP Suite: User Guide

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

15.1. Using the External Memory BFM

At the beginning of the simulation, the external memory BFM loads the memory initialization file (INIT_FILE) to initialize its memory content. For example, if the memory file has a memory size of 50, the BFM fills its memory content with addresses 0–49. However, if you do not provide the memory initialization file, the memory content of the BFM remains blank.

Reading to the Memory Content

You can read or write to the memory content through the APIs or the interface signals.

The BFM uses cdt_data_io as a bidirectional data port. During read transfers, this port acts as an output port. It drives the corresponding address memory content when the BFM asserts or deasserts the following signals:

  • Asserts cdt_output_enable signal
  • Asserts cdt_read signal
  • Deasserts cdt_write signal
  • Asserts cdt_chip_select signal

Otherwise, the cdt_data_io port acts as an inactive input port and is held in high impedance state.

Writing to the Memory

The BFM overwrites its memory content when the BFM asserts the following signals:

  • cdt_write signal
  • cdt_chip_select signal