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 PCMDecoder(
    input [7:0] in,
    output reg [12:0] out
);

always @*
begin
    out[12] <= in[7];
    casez(in[6:4])
        3'b00?: out[11:0] <= {6'b00_0000, in[4:0], 1'b1};
        3'b010: out[11:0] <= {6'b00_0001, in[3:0], 2'b10};
        3'b011: out[11:0] <= {5'b0_0001, in[3:0], 3'b100};
        3'b100: out[11:0] <= {4'b0001, in[3:0], 4'b1000};
        3'b101: out[11:0] <= {3'b001, in[3:0], 5'b1_0000};
        3'b110: out[11:0] <= {2'b01, in[3:0], 6'b10_0000};
        3'b111: out[11:0] <= {1'b1, in[3:0], 7'b100_0000};
        default: out[11:0] <= 12'b0000_0000_0000;
    endcase
end

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


always @*
begin
    out[12] <= in[7];
    casez(in[6:4])
        3'b00?: out[11:0] <= {6'b00_0000, in[4:0], 1'b1};
        3'b010: out[11:0] <= {6'b00_0001, in[3:0], 2'b10};
        3'b011: out[11:0] <= {5'b0_0001, in[3:0], 3'b100};
        3'b100: out[11:0] <= {4'b0001, in[3:0], 4'b1000};
        3'b101: out[11:0] <= {3'b001, in[3:0], 5'b1_0000};
        3'b110: out[11:0] <= {2'b01, in[3:0], 6'b10_0000};
        3'b111: out[11:0] <= {1'b1, in[3:0], 7'b100_0000};
        default: out[11:0] <= 12'b0000_0000_0000;
    endcase
end

endmodule