Intel® High Level Synthesis Compiler Pro Edition: Best Practices Guide

ID 683152
Date 6/02/2023

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

Document Table of Contents External Memory

If the component accesses memory outside of the component, the compiler creates a hardware interface through which the datapath accesses this external memory. The interface is described using a pointer or Avalon® memory-mapped host interface as a function argument to the component. One interface is created for every pointer or memory-mapped host interface component argument.

The code snippet in Component Memory shows an external memory described with an Avalon® memory-mapped host interface and its accesses within the component.

Unlike component memory, the compiler does not define the structure of the external memory. The compiler instantiates a specialized LSU for each access site based on the type of interface and the memory access patterns.

The compiler also tries various strategies to maximize the efficient use of the available memory interface bandwidth such as eliminating unnecessary accesses and statically coalescing contiguous accesses.