MIPS32 implementation in Verilog, originally written by Grant Ayers and published on openCores