This kernel is used to compute the final result. It accumulates the results of each transducer.
- Template params:
- T: type of the operation;
- NUM_LINE_t: number of scanlines;
- NUM_ELEMENT_t: number of transducer’s elements;
- NUM_SAMPLE_t: number of time samples;
- NUM_SEG_t: number of segments in one scanline;
- NUM_DEP_SEG_t: number of data in one segment;
- VECDIM_mult_t: dimension of the SIMD to be performed. Addressed in the Xilinx UG1076, it depends on the type chosen;
- LEN_IN_mult_t: number of inputdata per invoking;
- LEN_OUT_mult_t: number of outputdata per invoking;
- LEN32b_PARA_mult_t: number of inputdata per invoking;
- MULT_ID_t: default ID of mult kernel;
- kernel Inputs:
- para_const: kernel_mult’s kernel kfun_mult_0 self-used structural parameter include iter_line, iter_element to record the number of lines processed;
- local_data_0: kernel_mult’s kernel kfun_mult_0 self-used local array, used to store accumulated temporary results;
- local_data_1: kernel_mult’s kernel kfun_mult_0 self-used local array, used to store accumulated temporary results. To avoid bank conflict, this data memory is applied;
- p_in_cascade: Results of kfun_mult_pre.
- kernel Outputs:
- p_out_cascade: Output to next mult kernel;
- p_out_mult: Output one segment of final result;