Intel® High Level Synthesis Compiler Standard Edition: Reference Manual

ID 683310
Date 12/18/2019
Public
Document Table of Contents

4.3. Avalon® Memory-Mapped Master Interfaces

A component can interface with an external memory over an Avalon® Memory-Mapped (MM) Master interface.
You can specify the Avalon® MM Master interface implicitly using a function pointer argument or reference argument, or explicitly using the mm_master<> class defined in the "HLS/hls.h" header file. Describe a customized Avalon® MM Master interface in your code by including a reference to an mm_master<> object in your component function signature.

Each mm_master argument of a component results in an input conduit for the address. That input conduit is associated with the component start and busy signals. In addition to this input conduit, a unique Avalon® MM Master interface is created for each address space. Master interfaces that share the same address space are arbitrated on the same interface.

For more information about Avalon® MM Master interfaces, refer to "Avalon Memory-Mapped Interfaces" in Avalon Interface Specifications.

Table 11.   Intel® HLS Compiler Standard Edition Memory-Mapped Interfaces Summary
Template Object or Argument Description
ihc::mm_master The underlying pointer type.
ihc::dwidth The width of the memory-mapped data bus in bits
ihc::awidth The width of the memory-mapped address bus in bits.
ihc::aspace The address space of the interface that associates with the master.
ihc::latency The guaranteed latency from when a read command exits the component when the external memory returns valid read data.
ihc::maxburst The maximum number of data transfers that can associate with a read or write transaction.
ihc::align The alignment of the base pointer address in bytes.
ihc::readwrite_mode The port direction of the interface.
ihc::waitrequest

Adds the waitrequest signal that is asserted by the slave when it is unable to respond to a read or write request.

getInterfaceAtIndex This testbench function is used to index into an mm_master object.