Yeah it is sign extending it. The 18{sum_out_sat[7]} replicates the MSB of sum_out_sat 18 times. It is then concatenated with the other 8 bits for a total of 26 bits. This is consistent with the length of sum_out_shit. The <= is the non blocking assignment and the = is the blocking assignment.