data/full_repos/permissive/201275379/src/cpu/core/stage/id/OpGen.v
None: at end of input
1: b'%Error: data/full_repos/permissive/201275379/src/cpu/core/stage/id/OpGen.v:3: Cannot find include file: bus.v\n`include "bus.v" \n         ^~~~~~~\n        ... Looked in:\n             data/full_repos/permissive/201275379/src/cpu/core/stage/id,data/full_repos/permissive/201275379/bus.v\n             data/full_repos/permissive/201275379/src/cpu/core/stage/id,data/full_repos/permissive/201275379/bus.v.v\n             data/full_repos/permissive/201275379/src/cpu/core/stage/id,data/full_repos/permissive/201275379/bus.v.sv\n             bus.v\n             bus.v.v\n             bus.v.sv\n             obj_dir/bus.v\n             obj_dir/bus.v.v\n             obj_dir/bus.v.sv\n%Error: data/full_repos/permissive/201275379/src/cpu/core/stage/id/OpGen.v:4: Cannot find include file: opcode.v\n`include "opcode.v" \n         ^~~~~~~~~~\n%Error: data/full_repos/permissive/201275379/src/cpu/core/stage/id/OpGen.v:5: Cannot find include file: opgen.v\n`include "opgen.v" \n         ^~~~~~~~~\n%Error: data/full_repos/permissive/201275379/src/cpu/core/stage/id/OpGen.v:6: Cannot find include file: funct.v\n`include "funct.v" \n         ^~~~~~~~~\n%Error: data/full_repos/permissive/201275379/src/cpu/core/stage/id/OpGen.v:7: Cannot find include file: regimm.v\n`include "regimm.v" \n         ^~~~~~~~~~\n%Error: data/full_repos/permissive/201275379/src/cpu/core/stage/id/OpGen.v:11: Define or directive not defined: \'`INST_OP_BUS\'\n  input   [`INST_OP_BUS]  op,\n           ^~~~~~~~~~~~\n%Error: data/full_repos/permissive/201275379/src/cpu/core/stage/id/OpGen.v:11: syntax error, unexpected \']\', expecting TYPE-IDENTIFIER\n  input   [`INST_OP_BUS]  op,\n                       ^\n%Error: data/full_repos/permissive/201275379/src/cpu/core/stage/id/OpGen.v:12: Define or directive not defined: \'`FUNCT_BUS\'\n  input   [`FUNCT_BUS]    funct_in,\n           ^~~~~~~~~~\n%Error: data/full_repos/permissive/201275379/src/cpu/core/stage/id/OpGen.v:13: Define or directive not defined: \'`REG_ADDR_BUS\'\n  input   [`REG_ADDR_BUS] rs,\n           ^~~~~~~~~~~~~\n%Error: data/full_repos/permissive/201275379/src/cpu/core/stage/id/OpGen.v:14: Define or directive not defined: \'`REG_ADDR_BUS\'\n  input   [`REG_ADDR_BUS] rt,\n           ^~~~~~~~~~~~~\n%Error: data/full_repos/permissive/201275379/src/cpu/core/stage/id/OpGen.v:15: Define or directive not defined: \'`OPGEN_BUS\'\n  output  [`OPGEN_BUS]    opgen\n           ^~~~~~~~~~\n%Error: data/full_repos/permissive/201275379/src/cpu/core/stage/id/OpGen.v:18: Define or directive not defined: \'`OPGEN_BUS\'\n  reg[`OPGEN_BUS] opgen_out;\n      ^~~~~~~~~~\n%Error: data/full_repos/permissive/201275379/src/cpu/core/stage/id/OpGen.v:18: syntax error, unexpected \']\', expecting TYPE-IDENTIFIER\n  reg[`OPGEN_BUS] opgen_out;\n                ^\n%Error: data/full_repos/permissive/201275379/src/cpu/core/stage/id/OpGen.v:19: Define or directive not defined: \'`OPGEN_NOP\'\n  assign opgen = rst ? opgen_out : `OPGEN_NOP;\n                                   ^~~~~~~~~~\n%Error: data/full_repos/permissive/201275379/src/cpu/core/stage/id/OpGen.v:25: Define or directive not defined: \'`OP_SPECIAL\'\n      `OP_SPECIAL: begin\n      ^~~~~~~~~~~\n%Error: data/full_repos/permissive/201275379/src/cpu/core/stage/id/OpGen.v:27: Define or directive not defined: \'`FUNCT_ADD\'\n          `FUNCT_ADD, `FUNCT_ADDU: opgen_out <= `OPGEN_ADD;\n          ^~~~~~~~~~\n%Error: data/full_repos/permissive/201275379/src/cpu/core/stage/id/OpGen.v:27: Define or directive not defined: \'`FUNCT_ADDU\'\n          `FUNCT_ADD, `FUNCT_ADDU: opgen_out <= `OPGEN_ADD;\n                      ^~~~~~~~~~~\n%Error: data/full_repos/permissive/201275379/src/cpu/core/stage/id/OpGen.v:27: Define or directive not defined: \'`OPGEN_ADD\'\n          `FUNCT_ADD, `FUNCT_ADDU: opgen_out <= `OPGEN_ADD;\n                                                ^~~~~~~~~~\n%Error: data/full_repos/permissive/201275379/src/cpu/core/stage/id/OpGen.v:28: Define or directive not defined: \'`FUNCT_SUB\'\n          `FUNCT_SUB, `FUNCT_SUBU: opgen_out <= `OPGEN_SUB;\n          ^~~~~~~~~~\n%Error: data/full_repos/permissive/201275379/src/cpu/core/stage/id/OpGen.v:28: Define or directive not defined: \'`FUNCT_SUBU\'\n          `FUNCT_SUB, `FUNCT_SUBU: opgen_out <= `OPGEN_SUB;\n                      ^~~~~~~~~~~\n%Error: data/full_repos/permissive/201275379/src/cpu/core/stage/id/OpGen.v:28: Define or directive not defined: \'`OPGEN_SUB\'\n          `FUNCT_SUB, `FUNCT_SUBU: opgen_out <= `OPGEN_SUB;\n                                                ^~~~~~~~~~\n%Error: data/full_repos/permissive/201275379/src/cpu/core/stage/id/OpGen.v:29: Define or directive not defined: \'`FUNCT_SLT\'\n          `FUNCT_SLT: opgen_out <= `OPGEN_SLT;\n          ^~~~~~~~~~\n%Error: data/full_repos/permissive/201275379/src/cpu/core/stage/id/OpGen.v:29: Define or directive not defined: \'`OPGEN_SLT\'\n          `FUNCT_SLT: opgen_out <= `OPGEN_SLT;\n                                   ^~~~~~~~~~\n%Error: data/full_repos/permissive/201275379/src/cpu/core/stage/id/OpGen.v:30: Define or directive not defined: \'`FUNCT_SLTU\'\n          `FUNCT_SLTU: opgen_out <= `OPGEN_SLTU;\n          ^~~~~~~~~~~\n%Error: data/full_repos/permissive/201275379/src/cpu/core/stage/id/OpGen.v:30: Define or directive not defined: \'`OPGEN_SLTU\'\n          `FUNCT_SLTU: opgen_out <= `OPGEN_SLTU;\n                                    ^~~~~~~~~~~\n%Error: data/full_repos/permissive/201275379/src/cpu/core/stage/id/OpGen.v:31: Define or directive not defined: \'`FUNCT_DIV\'\n          `FUNCT_DIV: opgen_out <= `OPGEN_DIV;\n          ^~~~~~~~~~\n%Error: data/full_repos/permissive/201275379/src/cpu/core/stage/id/OpGen.v:31: Define or directive not defined: \'`OPGEN_DIV\'\n          `FUNCT_DIV: opgen_out <= `OPGEN_DIV;\n                                   ^~~~~~~~~~\n%Error: data/full_repos/permissive/201275379/src/cpu/core/stage/id/OpGen.v:32: Define or directive not defined: \'`FUNCT_DIVU\'\n          `FUNCT_DIVU: opgen_out <= `OPGEN_DIVU;\n          ^~~~~~~~~~~\n%Error: data/full_repos/permissive/201275379/src/cpu/core/stage/id/OpGen.v:32: Define or directive not defined: \'`OPGEN_DIVU\'\n          `FUNCT_DIVU: opgen_out <= `OPGEN_DIVU;\n                                    ^~~~~~~~~~~\n%Error: data/full_repos/permissive/201275379/src/cpu/core/stage/id/OpGen.v:33: Define or directive not defined: \'`FUNCT_MULT\'\n          `FUNCT_MULT: opgen_out <= `OPGEN_MULT;\n          ^~~~~~~~~~~\n%Error: data/full_repos/permissive/201275379/src/cpu/core/stage/id/OpGen.v:33: Define or directive not defined: \'`OPGEN_MULT\'\n          `FUNCT_MULT: opgen_out <= `OPGEN_MULT;\n                                    ^~~~~~~~~~~\n%Error: data/full_repos/permissive/201275379/src/cpu/core/stage/id/OpGen.v:34: Define or directive not defined: \'`FUNCT_MULTU\'\n          `FUNCT_MULTU: opgen_out <= `OPGEN_MULTU;\n          ^~~~~~~~~~~~\n%Error: data/full_repos/permissive/201275379/src/cpu/core/stage/id/OpGen.v:34: Define or directive not defined: \'`OPGEN_MULTU\'\n          `FUNCT_MULTU: opgen_out <= `OPGEN_MULTU;\n                                     ^~~~~~~~~~~~\n%Error: data/full_repos/permissive/201275379/src/cpu/core/stage/id/OpGen.v:35: Define or directive not defined: \'`FUNCT_AND\'\n          `FUNCT_AND: opgen_out <= `OPGEN_AND;\n          ^~~~~~~~~~\n%Error: data/full_repos/permissive/201275379/src/cpu/core/stage/id/OpGen.v:35: Define or directive not defined: \'`OPGEN_AND\'\n          `FUNCT_AND: opgen_out <= `OPGEN_AND;\n                                   ^~~~~~~~~~\n%Error: data/full_repos/permissive/201275379/src/cpu/core/stage/id/OpGen.v:36: Define or directive not defined: \'`FUNCT_NOR\'\n          `FUNCT_NOR: opgen_out <= `OPGEN_NOR;\n          ^~~~~~~~~~\n%Error: data/full_repos/permissive/201275379/src/cpu/core/stage/id/OpGen.v:36: Define or directive not defined: \'`OPGEN_NOR\'\n          `FUNCT_NOR: opgen_out <= `OPGEN_NOR;\n                                   ^~~~~~~~~~\n%Error: data/full_repos/permissive/201275379/src/cpu/core/stage/id/OpGen.v:37: Define or directive not defined: \'`FUNCT_OR\'\n          `FUNCT_OR: opgen_out <= `OPGEN_OR;\n          ^~~~~~~~~\n%Error: data/full_repos/permissive/201275379/src/cpu/core/stage/id/OpGen.v:37: Define or directive not defined: \'`OPGEN_OR\'\n          `FUNCT_OR: opgen_out <= `OPGEN_OR;\n                                  ^~~~~~~~~\n%Error: data/full_repos/permissive/201275379/src/cpu/core/stage/id/OpGen.v:38: Define or directive not defined: \'`FUNCT_XOR\'\n          `FUNCT_XOR: opgen_out <= `OPGEN_XOR;\n          ^~~~~~~~~~\n%Error: data/full_repos/permissive/201275379/src/cpu/core/stage/id/OpGen.v:38: Define or directive not defined: \'`OPGEN_XOR\'\n          `FUNCT_XOR: opgen_out <= `OPGEN_XOR;\n                                   ^~~~~~~~~~\n%Error: data/full_repos/permissive/201275379/src/cpu/core/stage/id/OpGen.v:39: Define or directive not defined: \'`FUNCT_SLLV\'\n          `FUNCT_SLLV: opgen_out <= `OPGEN_SLLV;\n          ^~~~~~~~~~~\n%Error: data/full_repos/permissive/201275379/src/cpu/core/stage/id/OpGen.v:39: Define or directive not defined: \'`OPGEN_SLLV\'\n          `FUNCT_SLLV: opgen_out <= `OPGEN_SLLV;\n                                    ^~~~~~~~~~~\n%Error: data/full_repos/permissive/201275379/src/cpu/core/stage/id/OpGen.v:40: Define or directive not defined: \'`FUNCT_SLL\'\n          `FUNCT_SLL: opgen_out <= `OPGEN_SLL;\n          ^~~~~~~~~~\n%Error: data/full_repos/permissive/201275379/src/cpu/core/stage/id/OpGen.v:40: Define or directive not defined: \'`OPGEN_SLL\'\n          `FUNCT_SLL: opgen_out <= `OPGEN_SLL;\n                                   ^~~~~~~~~~\n%Error: data/full_repos/permissive/201275379/src/cpu/core/stage/id/OpGen.v:41: Define or directive not defined: \'`FUNCT_SRAV\'\n          `FUNCT_SRAV: opgen_out <= `OPGEN_SRAV;\n          ^~~~~~~~~~~\n%Error: data/full_repos/permissive/201275379/src/cpu/core/stage/id/OpGen.v:41: Define or directive not defined: \'`OPGEN_SRAV\'\n          `FUNCT_SRAV: opgen_out <= `OPGEN_SRAV;\n                                    ^~~~~~~~~~~\n%Error: data/full_repos/permissive/201275379/src/cpu/core/stage/id/OpGen.v:42: Define or directive not defined: \'`FUNCT_SRA\'\n          `FUNCT_SRA: opgen_out <= `OPGEN_SRA;\n          ^~~~~~~~~~\n%Error: data/full_repos/permissive/201275379/src/cpu/core/stage/id/OpGen.v:42: Define or directive not defined: \'`OPGEN_SRA\'\n          `FUNCT_SRA: opgen_out <= `OPGEN_SRA;\n                                   ^~~~~~~~~~\n%Error: data/full_repos/permissive/201275379/src/cpu/core/stage/id/OpGen.v:43: Define or directive not defined: \'`FUNCT_SRLV\'\n          `FUNCT_SRLV: opgen_out <= `OPGEN_SRLV;\n          ^~~~~~~~~~~\n%Error: Exiting due to too many errors encountered; --error-limit=50\n'
module OpGen(
  input                   rst,
  input   [`INST_OP_BUS]  op,
  input   [`FUNCT_BUS]    funct_in,
  input   [`REG_ADDR_BUS] rs,
  input   [`REG_ADDR_BUS] rt,
  output  [`OPGEN_BUS]    opgen
);

  reg[`OPGEN_BUS] opgen_out;
  assign opgen = rst ? opgen_out : `OPGEN_NOP;


  always @(*) begin
    case (op)

      `OP_SPECIAL: begin
        case (funct_in)
          `FUNCT_ADD, `FUNCT_ADDU: opgen_out <= `OPGEN_ADD;
          `FUNCT_SUB, `FUNCT_SUBU: opgen_out <= `OPGEN_SUB;
          `FUNCT_SLT: opgen_out <= `OPGEN_SLT;
          `FUNCT_SLTU: opgen_out <= `OPGEN_SLTU;
          `FUNCT_DIV: opgen_out <= `OPGEN_DIV;
          `FUNCT_DIVU: opgen_out <= `OPGEN_DIVU;
          `FUNCT_MULT: opgen_out <= `OPGEN_MULT;
          `FUNCT_MULTU: opgen_out <= `OPGEN_MULTU;
          `FUNCT_AND: opgen_out <= `OPGEN_AND;
          `FUNCT_NOR: opgen_out <= `OPGEN_NOR;
          `FUNCT_OR: opgen_out <= `OPGEN_OR;
          `FUNCT_XOR: opgen_out <= `OPGEN_XOR;
          `FUNCT_SLLV: opgen_out <= `OPGEN_SLLV;
          `FUNCT_SLL: opgen_out <= `OPGEN_SLL;
          `FUNCT_SRAV: opgen_out <= `OPGEN_SRAV;
          `FUNCT_SRA: opgen_out <= `OPGEN_SRA;
          `FUNCT_SRLV: opgen_out <= `OPGEN_SRLV;
          `FUNCT_SRL: opgen_out <= `OPGEN_SRL;
          `FUNCT_JR, `FUNCT_JALR: opgen_out <= `OPGEN_JR;
          `FUNCT_MFHI: opgen_out <= `OPGEN_MFHI;
          `FUNCT_MFLO: opgen_out <= `OPGEN_MFLO;
          `FUNCT_MTHI: opgen_out <= `OPGEN_MTHI;
          `FUNCT_MTLO: opgen_out <= `OPGEN_MTLO;
          `FUNCT_MOVZ: opgen_out <= `OPGEN_MOVZ;
          `FUNCT_MOVN: opgen_out <= `OPGEN_MOVN;

          default: opgen_out <= `OPGEN_NOP;
        endcase
      end

      `OP_SPECIAL2: begin
        case (funct_in)
          `FUNCT_MADD: opgen_out <= `OPGEN_MADD;
          `FUNCT_MADDU: opgen_out <= `OPGEN_MADDU;
          `FUNCT_MSUB: opgen_out <= `OPGEN_MSUB;
          `FUNCT_MSUBU: opgen_out <= `OPGEN_MSUBU;
          `FUNCT_MUL: opgen_out <= `OPGEN_MUL;
          `FUNCT_CLZ: opgen_out <= `OPGEN_CLZ;
          `FUNCT_CLO: opgen_out <= `OPGEN_CLO;
          default: opgen_out <= `OPGEN_NOP;
        endcase
      end

      `OP_REGIMM: begin
        case (rt)
          `REGIMM_BLTZ, `REGIMM_BLTZAL: opgen_out <= `OPGEN_BLTZ;
          `REGIMM_BGEZ, `REGIMM_BGEZAL: opgen_out <= `OPGEN_BGEZ;
          default: opgen_out <= `OPGEN_NOP;
        endcase
      end

      `OP_CP0: begin
        case (rs)
          `CP0_MFC0, `CP0_MTC0: opgen_out <= `OPGEN_CP0;

          default: opgen_out <= `OPGEN_NOP;
        endcase
      end

      `OP_ADDI, `OP_ADDIU: opgen_out <= `OPGEN_ADD;
      `OP_SLTI: opgen_out <= `OPGEN_SLT;
      `OP_SLTIU: opgen_out <= `OPGEN_SLTU;
      `OP_ANDI: opgen_out <= `OPGEN_AND;
      `OP_LUI, `OP_ORI: opgen_out <= `OPGEN_OR;
      `OP_XORI: opgen_out <= `OPGEN_XOR;

      `OP_BEQ: opgen_out <= `OPGEN_BEQ;
      `OP_BNE: opgen_out <= `OPGEN_BNE;
      `OP_BGTZ: opgen_out <= `OPGEN_BGTZ;
      `OP_BLEZ: opgen_out <= `OPGEN_BLEZ;

      `OP_J, `OP_JAL: opgen_out <= `OPGEN_J;

      `OP_LB, `OP_LBU, `OP_LH, `OP_LHU, `OP_LW,
      `OP_SB, `OP_SH, `OP_SW: opgen_out <= `OPGEN_MEM;
      default: opgen_out <= `OPGEN_NOP;
    endcase
  end

endmodule
module OpGen(
  input                   rst,
  input   [`INST_OP_BUS]  op,
  input   [`FUNCT_BUS]    funct_in,
  input   [`REG_ADDR_BUS] rs,
  input   [`REG_ADDR_BUS] rt,
  output  [`OPGEN_BUS]    opgen
);


  reg[`OPGEN_BUS] opgen_out;
  assign opgen = rst ? opgen_out : `OPGEN_NOP;


  always @(*) begin
    case (op)

      `OP_SPECIAL: begin
        case (funct_in)
          `FUNCT_ADD, `FUNCT_ADDU: opgen_out <= `OPGEN_ADD;
          `FUNCT_SUB, `FUNCT_SUBU: opgen_out <= `OPGEN_SUB;
          `FUNCT_SLT: opgen_out <= `OPGEN_SLT;
          `FUNCT_SLTU: opgen_out <= `OPGEN_SLTU;
          `FUNCT_DIV: opgen_out <= `OPGEN_DIV;
          `FUNCT_DIVU: opgen_out <= `OPGEN_DIVU;
          `FUNCT_MULT: opgen_out <= `OPGEN_MULT;
          `FUNCT_MULTU: opgen_out <= `OPGEN_MULTU;
          `FUNCT_AND: opgen_out <= `OPGEN_AND;
          `FUNCT_NOR: opgen_out <= `OPGEN_NOR;
          `FUNCT_OR: opgen_out <= `OPGEN_OR;
          `FUNCT_XOR: opgen_out <= `OPGEN_XOR;
          `FUNCT_SLLV: opgen_out <= `OPGEN_SLLV;
          `FUNCT_SLL: opgen_out <= `OPGEN_SLL;
          `FUNCT_SRAV: opgen_out <= `OPGEN_SRAV;
          `FUNCT_SRA: opgen_out <= `OPGEN_SRA;
          `FUNCT_SRLV: opgen_out <= `OPGEN_SRLV;
          `FUNCT_SRL: opgen_out <= `OPGEN_SRL;
          `FUNCT_JR, `FUNCT_JALR: opgen_out <= `OPGEN_JR;
          `FUNCT_MFHI: opgen_out <= `OPGEN_MFHI;
          `FUNCT_MFLO: opgen_out <= `OPGEN_MFLO;
          `FUNCT_MTHI: opgen_out <= `OPGEN_MTHI;
          `FUNCT_MTLO: opgen_out <= `OPGEN_MTLO;
          `FUNCT_MOVZ: opgen_out <= `OPGEN_MOVZ;
          `FUNCT_MOVN: opgen_out <= `OPGEN_MOVN;

          default: opgen_out <= `OPGEN_NOP;
        endcase
      end

      `OP_SPECIAL2: begin
        case (funct_in)
          `FUNCT_MADD: opgen_out <= `OPGEN_MADD;
          `FUNCT_MADDU: opgen_out <= `OPGEN_MADDU;
          `FUNCT_MSUB: opgen_out <= `OPGEN_MSUB;
          `FUNCT_MSUBU: opgen_out <= `OPGEN_MSUBU;
          `FUNCT_MUL: opgen_out <= `OPGEN_MUL;
          `FUNCT_CLZ: opgen_out <= `OPGEN_CLZ;
          `FUNCT_CLO: opgen_out <= `OPGEN_CLO;
          default: opgen_out <= `OPGEN_NOP;
        endcase
      end

      `OP_REGIMM: begin
        case (rt)
          `REGIMM_BLTZ, `REGIMM_BLTZAL: opgen_out <= `OPGEN_BLTZ;
          `REGIMM_BGEZ, `REGIMM_BGEZAL: opgen_out <= `OPGEN_BGEZ;
          default: opgen_out <= `OPGEN_NOP;
        endcase
      end

      `OP_CP0: begin
        case (rs)
          `CP0_MFC0, `CP0_MTC0: opgen_out <= `OPGEN_CP0;

          default: opgen_out <= `OPGEN_NOP;
        endcase
      end

      `OP_ADDI, `OP_ADDIU: opgen_out <= `OPGEN_ADD;
      `OP_SLTI: opgen_out <= `OPGEN_SLT;
      `OP_SLTIU: opgen_out <= `OPGEN_SLTU;
      `OP_ANDI: opgen_out <= `OPGEN_AND;
      `OP_LUI, `OP_ORI: opgen_out <= `OPGEN_OR;
      `OP_XORI: opgen_out <= `OPGEN_XOR;

      `OP_BEQ: opgen_out <= `OPGEN_BEQ;
      `OP_BNE: opgen_out <= `OPGEN_BNE;
      `OP_BGTZ: opgen_out <= `OPGEN_BGTZ;
      `OP_BLEZ: opgen_out <= `OPGEN_BLEZ;

      `OP_J, `OP_JAL: opgen_out <= `OPGEN_J;

      `OP_LB, `OP_LBU, `OP_LH, `OP_LHU, `OP_LW,
      `OP_SB, `OP_SH, `OP_SW: opgen_out <= `OPGEN_MEM;
      default: opgen_out <= `OPGEN_NOP;
    endcase
  end

endmodule