Video and Image Processing Suite User Guide

ID 683416
Date 4/04/2022
Document Table of Contents

A.3.11. av_mm_master_bfm_`MASTER_NAME

The declaration for the av_mm_master_bfm_`MASTER_NAME class:
`define IF_NAME(name)`"name`"
`define create_classname(__prefix, __suffix) __prefix``__suffix
`define AV_MM_MASTER_CLASSNAME `create_classname(av_mm_master_bfm_, `MASTER_NAME)
class `AV_MM_MASTER_CLASSNAME  #(int ADDR_WIDTH = 32, int BYTE_WIDTH = 4, bit USE_BYTE_ENABLE = 1'b0 );  
Table 108.  Method Calls for av_mm_master_bfm_`MASTER_NAME Class
Method Call Description
function new(mailbox #(av_mm_transaction #(ADDR_WIDTH, BYTE_WIDTH, USE_BYTE_ENABLE)) mbox_transaction_in, mailbox #(av_mm_transaction #(ADDR_WIDTH, BYTE_WIDTH, USE_BYTE_ENABLE)) mbox_read_reply_out); Constructor.
function mailbox #(av_mm_transaction #(ADDR_WIDTH, BYTE_WIDTH, USE_BYTE_ENABLE)) get_transaction_mbox_handle(); Returns the transaction_in_mailbox handle, to allow transactions to be sent to the master.
function mailbox #(av_mm_transaction #(ADDR_WIDTH, BYTE_WIDTH, USE_BYTE_ENABLE)) get_read_reply_mbox_handle(); Returns the read_reply_out_mailbox handle, to allow transaction read replies to be returned from the master.
function void set_response_timeout(input int new_response_timeout);
function void set_command_timeout(input int new_command_timeout);
task start(); Starts polling the transaction_in_mailbox for commands (which are then transferred to the BFM), and then starts polling the BFM response queue for pending responses, which are then posted in the read_reply_out_mailbox.
Table 109.  Members of av_mm_master_bfm_`MASTER_NAME Class
Member Description
mailbox #(av_mm_transaction #(ADDR_WIDTH, BYTE_WIDTH, USE_BYTE_ENABLE)) transaction_in_mailbox;
mailbox #(av_mm_transaction #(ADDR_WIDTH, BYTE_WIDTH, USE_BYTE_ENABLE)) read_reply_out_mailbox;
mailbox #(av_mm_transaction #(ADDR_WIDTH, BYTE_WIDTH, USE_BYTE_ENABLE)) internal_mailbox;