I've tried to synthesize the m1_cpu with ISE and QuartusII but both tools choke with an syntax error on the same source line.
QuartusII 8.0: Error (10170): Verilog HDL syntax error at m1_alu.v(33) near text "~|"; expecting ";"
ISE 10.1: ERROR:HDLCompilers:26 - "../../hdl/rtl/m1_cpu/m1_alu.v" line 33 unexpected token: 'a_i'
For synthesis only I had to change the NOR operator from
a_in ~| b_in
to
~(a_in | b_in)