diff --git a/src/finn/backend/fpgadataflow/code_gen_for_single_node_execution.py b/src/finn/backend/fpgadataflow/code_gen_for_single_node_execution.py index 37f387c5c21712ca5e9cbc665d34d2320fdb2b9c..04b736201d43e3e0dc2f6d66e9f8b6b46485b0f1 100644 --- a/src/finn/backend/fpgadataflow/code_gen_for_single_node_execution.py +++ b/src/finn/backend/fpgadataflow/code_gen_for_single_node_execution.py @@ -28,7 +28,11 @@ def read_npy_data(node, code_gen_dict): for input_file in input_file_names: code_gen_dict["$READNPDATA$"].append('cnpy::NpyArray arr = cnpy::npy_load("{}");\n float* loaded_data{} = arr.data<float>();'.format(input_file, input_ind)) code_gen_dict["$READNPDATA$"].append('int num_values = 1; \n for(int i = 0; i < arr.shape.size(); i++){\n num_values *= arr.shape[i]; \n }') - + code_gen_dict["$READNPDATA$"].append('ap_uint<{}> dat;'.format(NumChannels)) + code_gen_dict["$READNPDATA$"].append('for(int i=0; i < num_values; i+=2){') + for channel in range(NumChannels): + code_gen_dict["$READNPDATA$"].append('dat.range({},{}) = loaded_data{}[i+{}];'.format(channel, channel, input_ind, channel)) + code_gen_dict["$READNPDATA$"].append('in{} << loaded_data[dat];\n }'.format(input_ind)) input_ind+=1 def strm_decl(node, code_gen_dict): diff --git a/tests/layer_streaming_maxpool.cpp b/tests/layer_streaming_maxpool.cpp index 4b2455ef61cf81a05dacb010aa56327202bc9aae..c3964d500382aa1f344c4ae7d5e718ddf73e89d8 100755 --- a/tests/layer_streaming_maxpool.cpp +++ b/tests/layer_streaming_maxpool.cpp @@ -22,7 +22,6 @@ int main(){ hls::stream<ap_uint<2>> in ("in"); hls::stream<ap_uint<2>> out ("out"); - ap_uint<2> in_data; #pragma HLS DATAFLOW #pragma HLS stream depth=1024 variable=in #pragma HLS stream depth=1024 variable=out