data/full_repos/permissive/509468557/generators/cva6/src/main/resources/vsrc/cva6/src/pmp/tb/tb_pkg.sv
1: b"%Error: data/full_repos/permissive/509468557/generators/cva6/src/main/resources/vsrc/cva6/src/pmp/tb/tb_pkg.sv:17: Unsupported: classes\n    class P #(parameter WIDTH=32, parameter PMP_LEN=32);\n    ^~~~~\n%Error: data/full_repos/permissive/509468557/generators/cva6/src/main/resources/vsrc/cva6/src/pmp/tb/tb_pkg.sv:18: Unsupported: 'static' class item\n        static function logic[PMP_LEN-1:0] base_to_conf(logic[WIDTH-1:0] base, int unsigned size_i);\n        ^~~~~~\n%Error: Exiting due to 2 error(s)\n        ... See the manual and https://verilator.org for more assistance.\n"
function logic[PMP_LEN-1:0] base_to_conf(logic[WIDTH-1:0] base, int unsigned size_i);
            logic[PMP_LEN-1:0] pmp_reg;

            pmp_reg = '0;
            for (int i = 0; i < WIDTH-2 && i < PMP_LEN; i++) begin
                if (i+3 > size_i) begin
                    pmp_reg[i] = base[i+2];
                end else if (i+3 == size_i) begin
                    pmp_reg[i] = 1'b0;
                end else begin
                    pmp_reg[i] = 1'b1;
                end
            end

            return pmp_reg;
        endfunction
function logic[PMP_LEN-1:0] base_to_conf(logic[WIDTH-1:0] base, int unsigned size_i);

            logic[PMP_LEN-1:0] pmp_reg;

            pmp_reg = '0;
            for (int i = 0; i < WIDTH-2 && i < PMP_LEN; i++) begin
                if (i+3 > size_i) begin
                    pmp_reg[i] = base[i+2];
                end else if (i+3 == size_i) begin
                    pmp_reg[i] = 1'b0;
                end else begin
                    pmp_reg[i] = 1'b1;
                end
            end

            return pmp_reg;
        endfunction