data/full_repos/permissive/431682734/LabL/yAlu.v
1: b"%Error: data/full_repos/permissive/431682734/LabL/yAlu.v:35: Cannot find file containing module: 'yArith'\n    yArith slt_arith(aSubB, cout, a, b, 1'b1);\n    ^~~~~~\n        ... Looked in:\n             data/full_repos/permissive/431682734/LabL,data/full_repos/permissive/431682734/yArith\n             data/full_repos/permissive/431682734/LabL,data/full_repos/permissive/431682734/yArith.v\n             data/full_repos/permissive/431682734/LabL,data/full_repos/permissive/431682734/yArith.sv\n             yArith\n             yArith.v\n             yArith.sv\n             obj_dir/yArith\n             obj_dir/yArith.v\n             obj_dir/yArith.sv\n%Error: data/full_repos/permissive/431682734/LabL/yAlu.v:36: Cannot find file containing module: 'yMux1'\n    yMux1 my_mux_slt(slt[0], aSubB[31], a[31], condition);  \n    ^~~~~\n%Error: data/full_repos/permissive/431682734/LabL/yAlu.v:38: Cannot find file containing module: 'yArith'\n    yArith ab_arith[31:0](zArith, cout, a, b, op[2]);\n    ^~~~~~\n%Error: data/full_repos/permissive/431682734/LabL/yAlu.v:39: Cannot find file containing module: 'yMux4to1'\n    yMux4to1 #(.SIZE(32)) my_mux(z, zAnd, zOr, zArith, slt, op[1:0]);\n    ^~~~~~~~\n%Error: Exiting due to 4 error(s)\n"
module yAlu(z, ex, a, b, op);

    input [31:0] a, b;
    input [2:0] op;
    output [31:0] z;
    output ex;

    wire [15:0] z16;
    wire [7:0] z8;
    wire [3:0] z4;
    wire [1:0] z2;
    wire z1;

    wire cout;
    wire [31:0] zAnd, zOr, zArith, slt;
    wire condition;
    wire [31:0] aSubB;
    assign slt[31:1] = 0;



    and ab_and[31:0](zAnd, a, b);
    or ab_or[31:0](zOr, a, b);


    or or16[15:0] (z16, z[15:0], z[31:16]);
    or or8[7:0] (z8, z16[7:0], z16[15:8]);
    or or4[3:0] (z4, z8[3:0], z8[7:4]);
    or or2[1:0] (z2, z4[1:0], z4[3:2]);
    or or1 (z1, z2[1], z2[0]);
    not zero_not(ex, z1);


    xor slt_xor(condition, a[31], b[31]);
    yArith slt_arith(aSubB, cout, a, b, 1'b1);
    yMux1 my_mux_slt(slt[0], aSubB[31], a[31], condition);

    yArith ab_arith[31:0](zArith, cout, a, b, op[2]);
    yMux4to1 #(.SIZE(32)) my_mux(z, zAnd, zOr, zArith, slt, op[1:0]);
endmodule
module yAlu(z, ex, a, b, op);


    input [31:0] a, b;
    input [2:0] op;
    output [31:0] z;
    output ex;

    wire [15:0] z16;
    wire [7:0] z8;
    wire [3:0] z4;
    wire [1:0] z2;
    wire z1;

    wire cout;
    wire [31:0] zAnd, zOr, zArith, slt;
    wire condition;
    wire [31:0] aSubB;
    assign slt[31:1] = 0;



    and ab_and[31:0](zAnd, a, b);
    or ab_or[31:0](zOr, a, b);


    or or16[15:0] (z16, z[15:0], z[31:16]);
    or or8[7:0] (z8, z16[7:0], z16[15:8]);
    or or4[3:0] (z4, z8[3:0], z8[7:4]);
    or or2[1:0] (z2, z4[1:0], z4[3:2]);
    or or1 (z1, z2[1], z2[0]);
    not zero_not(ex, z1);


    xor slt_xor(condition, a[31], b[31]);
    yArith slt_arith(aSubB, cout, a, b, 1'b1);
    yMux1 my_mux_slt(slt[0], aSubB[31], a[31], condition);

    yArith ab_arith[31:0](zArith, cout, a, b, op[2]);
    yMux4to1 #(.SIZE(32)) my_mux(z, zAnd, zOr, zArith, slt, op[1:0]);
endmodule