Verilog Generate statements: Syntax error near "<=": unexpected <=
Basically, you can only use &lt;= inside an initial or always process block.

If you want to have logic inside your generate block in addition to module instantiations, you need to wrap it in an always @* ... or use assign ... statements.