Intel® High Level Synthesis Compiler Pro Edition: Reference Manual

ID 683349
Date 10/02/2023
Public

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

Document Table of Contents

13.18. Intel® HLS Compiler Pro Edition Load-Store Unit Control

For variable-latency Avalon® Memory-Mapped (MM) Host interfaces (ihc::latency<0>), you can control the type of load-store unit (LSU) with the ihc::lsu template object and the corresponding load() and store() functions.

Table 58.   Intel® HLS Compiler Pro Edition Load-Store Unit Control Summary
Template

Object/Parameter/Function

Description
ihc::lsu The underlying LSU class template object
ihc::style Specifies the type of load-store unit.
ihc::static_coalescing Explicitly allows or prevents static coalescing of a load/store operation with other load/store operations.
load Loads data from memory into the LSU.
store Stores data from the LSU into memory.

ihc::lsu Template Object

Syntax
ihc::lsu<template arguments >
Valid Values
N/A.
Default Value
N/A.
Description
The underlying LSU class object.

To learn more, review the following tutorial: <quartus_installdir>/hls/examples/tutorials/best_practices/lsu_control

ihc::style Template Parameter

Syntax
ihc::style<LSU_type >
Valid Values
LSU_type can be one of the following values:
  • BURST_COALESCED
  • PIPELINED
Default Value
BURST_COALESCED
Description
Specifies the type of load-store unit to create.

A burst-coalesced LSU buffers requests until the largest possible burst can be made.

A pipelined LSU submits requests as they are received.

ihc::static_coalescing Template Parameter

Syntax
ihc::static_coalescing<value >
Valid Values
true or false
Default Value
true
Description
Specifies whether to allow or prevent static coalescing of the load/store operation with other load/store operations.

load Function

Syntax
load(<memory_location>)
Parameters
The <memory_location> argument specifies the memory location to load data into the LSU from.
Return Type
Object of same type as the base type of the argument specified for <memory_location>.
Description
The load function loads data from a memory location specified by the <memory_location> argument and returns the data that the argument points to.

store Function

Syntax
store(<memory_location>, <value_to_store>)
Parameters
The <memory_location> argument specifies the memory location to store data coming from the LSU.

The <value_to_store> argument is the value from the LSU to store in memory. The type is the same a the pointer base type.

Return Type
None.
Description
The store function stores data in the LSU to a memory location specified by the <memory_location> argument.