if (CHANNELS>32) begin clear_error[CHANNELS-1:32]<=hwdata[CHANNELS-32:0]; ce_pulse<=1'b1; end
тоесть когда CHANNELS=33 то имеем clear_error[33-1:32]<=hwdata[33-32:0]; или clear_error[32:32]<=hwdata[1:0]; - может это не нравится хотя и страно конечно :-(((