The ap_axis<W, U, I, D> template in HLS defines an AXI4-Stream word with the following parts: W: Data width in bits U: User signal width in bits I: ID signal width in bits D: DEST signal width in bits #include "ap_axi_sdata.h" #include "hls_stream.h" void my_kernel(hls::stream<ap_axis<32, 0, 0, 0>> &in, hls::stream<ap_axis<32, 0, 0, 0>> &out) { #pragma HLS INTERFACE mode=axis port=in #pragma HLS INTERFACE mode=axis port=out for (int i = 0; i < 8; i++) { #pragma HLS PIPELINE II=1 auto word = in.read(); word.data = word.data * 2; out.write(word); } }