Intel® High Level Synthesis Compiler Pro Edition: Reference Manual

ID 683349
Date 3/28/2022
Public

A newer version of this document is available. Customers should click here to go to the newest version.

Document Table of Contents

4.4. Avalon® Memory-Mapped Host Interfaces

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

Each mm_host 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 Host interface is created for each address space. Host interfaces that share the same address space are arbitrated on the same interface.

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

Table 13.   Intel® HLS Compiler Pro Edition Memory-Mapped Interfaces Summary
Template Object or Parameter Description
ihc::mm_host 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 host.
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 agent when it is unable to respond to a read or write request.

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