Intel® High Level Synthesis Accelerator Functional Unit Design Example User Guide

ID 683025
Date 7/19/2019
Public

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

Document Table of Contents

4.1.1.1. HLS AFU Avalon-MM I/O Slave Interface

The HLS hls_avalon_slave_component attribute in the hls_afu/hw/rtl/src/hls_afu.h header file moves the start, busy, stall, and done control signals into the component control and status register (CSR). You can also apply the hls_avalon_slave_register_argument attribute to each of the component parameters to move them into the component CSR.

A generic component function signature is as follows:
hls_avalon_slave_component 
component 
float fpVectorReduce_basic( 
    hls_avalon_slave_register_argument float *masterRead,
    hls_avalon_slave_register_argument float *masterWrite,
    hls_avalon_slave_register_argument uint64 size) 

When you access the CSR of your HLS component, use 64-bit reads and writes.