How do for loops work in verilog? Why can't I achieve what I want?
Inside an 'always' block remove the assign, just use LEDG[index]  = ... Also, change the output declaration to 'output reg [7:0] LEDG'. The reg data type is the variable data type referenced by the error message.