data/full_repos/permissive/153468805/PCM.v
1: b'%Warning-MULTITOP: data/full_repos/permissive/153468805/PCM.v:25: Multiple top level modules\n                                                                : ... Suggest see manual; fix the duplicates, or use --top-module to select top.\n                   ... Use "/* verilator lint_off MULTITOP */" and lint_on around source to disable this message.\n                                                                : ... Top module \'PCMEncoder\'\nmodule PCMEncoder(\n       ^~~~~~~~~~\n                                                                : ... Top module \'PCMDecoder\'\nmodule PCMDecoder(\n       ^~~~~~~~~~\n%Error: Exiting due to 1 warning(s)\n'
module PCMEncoder(
    input [12:0] in,
    output reg [7:0] out
);

always @*
begin
    out[7] <= in[12];
    casez(in[11:6])
        6'b00_0000: out[6:0] <= {2'b00, in[5:1]};
        6'b00_0001: out[6:0] <= {3'b010, in[5:2]};
        6'b00_001?: out[6:0] <= {3'b011, in[6:3]};
        6'b00_01??: out[6:0] <= {3'b100, in[7:4]};
        6'b00_1???: out[6:0] <= {3'b101, in[8:5]};
        6'b01_????: out[6:0] <= {3'b110, in[9:6]};
        6'b1?_????: out[6:0] <= {3'b111, in[10:7]};
        default: out[6:0] <= 7'b000_0000;
    endcase
end

endmodule
module PCMEncoder(
    input [12:0] in,
    output reg [7:0] out
);


always @*
begin
    out[7] <= in[12];
    casez(in[11:6])
        6'b00_0000: out[6:0] <= {2'b00, in[5:1]};
        6'b00_0001: out[6:0] <= {3'b010, in[5:2]};
        6'b00_001?: out[6:0] <= {3'b011, in[6:3]};
        6'b00_01??: out[6:0] <= {3'b100, in[7:4]};
        6'b00_1???: out[6:0] <= {3'b101, in[8:5]};
        6'b01_????: out[6:0] <= {3'b110, in[9:6]};
        6'b1?_????: out[6:0] <= {3'b111, in[10:7]};
        default: out[6:0] <= 7'b000_0000;
    endcase
end

endmodule