data/full_repos/permissive/197252258/src/bitmap_ops/ff_wnd/ff_wnd.v
1: b'%Warning-LITENDIAN: data/full_repos/permissive/197252258/src/bitmap_ops/ff_wnd/ff_wnd.v:8: Little bit endian vector: MSB < LSB of bit range: -2:0\n    input   [VECT_WIDTH-1:0]        vect_in,\n            ^\n                    ... Use "/* verilator lint_off LITENDIAN */" and lint_on around source to disable this message.\n%Warning-LITENDIAN: data/full_repos/permissive/197252258/src/bitmap_ops/ff_wnd/ff_wnd.v:10: Little bit endian vector: MSB < LSB of bit range: -2:0\n    input   [VECT_IND_WIDTH-1:0]    head_in,\n            ^\n%Warning-LITENDIAN: data/full_repos/permissive/197252258/src/bitmap_ops/ff_wnd/ff_wnd.v:13: Little bit endian vector: MSB < LSB of bit range: -2:0\n    output  [VECT_IND_WIDTH-1:0]    ind_out\n            ^\n%Warning-LITENDIAN: data/full_repos/permissive/197252258/src/bitmap_ops/ff_wnd/ff_wnd.v:16: Little bit endian vector: MSB < LSB of bit range: -2:0\nwire    [VECT_WIDTH-1:0]        vect_wnd_set_bits_1;\n        ^\n%Warning-LITENDIAN: data/full_repos/permissive/197252258/src/bitmap_ops/ff_wnd/ff_wnd.v:18: Little bit endian vector: MSB < LSB of bit range: -2:0\nwire    [VECT_IND_WIDTH-1:0]    ind_out_1;\n        ^\n%Warning-LITENDIAN: data/full_repos/permissive/197252258/src/bitmap_ops/ff_wnd/ff_wnd.v:20: Little bit endian vector: MSB < LSB of bit range: -2:0\nwire    [VECT_WIDTH-1:0]        vect_wnd_set_bits_2;\n        ^\n%Warning-LITENDIAN: data/full_repos/permissive/197252258/src/bitmap_ops/ff_wnd/ff_wnd.v:22: Little bit endian vector: MSB < LSB of bit range: -2:0\nwire    [VECT_IND_WIDTH-1:0]    ind_out_2;\n        ^\n%Error: data/full_repos/permissive/197252258/src/bitmap_ops/ff_wnd/ff_wnd.v:37: Cannot find file containing module: \'ff_set\'\nff_set #(\n^~~~~~\n        ... Looked in:\n             data/full_repos/permissive/197252258/src/bitmap_ops/ff_wnd,data/full_repos/permissive/197252258/ff_set\n             data/full_repos/permissive/197252258/src/bitmap_ops/ff_wnd,data/full_repos/permissive/197252258/ff_set.v\n             data/full_repos/permissive/197252258/src/bitmap_ops/ff_wnd,data/full_repos/permissive/197252258/ff_set.sv\n             ff_set\n             ff_set.v\n             ff_set.sv\n             obj_dir/ff_set\n             obj_dir/ff_set.v\n             obj_dir/ff_set.sv\n%Error: data/full_repos/permissive/197252258/src/bitmap_ops/ff_wnd/ff_wnd.v:47: Cannot find file containing module: \'ff_set\'\nff_set #(\n^~~~~~\n%Error: Exiting due to 2 error(s), 7 warning(s)\n'
module ff_wnd # (
    parameter   VECT_WIDTH          = -1,
    parameter   VECT_IND_WIDTH      = -1,
    parameter   BLOCK_WIDTH         = 2
) (
    input   [VECT_WIDTH-1:0]        vect_in,
    input                           select_set_in,
    input   [VECT_IND_WIDTH-1:0]    head_in,

    output                          val_out,
    output  [VECT_IND_WIDTH-1:0]    ind_out
);

wire    [VECT_WIDTH-1:0]        vect_wnd_set_bits_1;
wire                            val_out_1;
wire    [VECT_IND_WIDTH-1:0]    ind_out_1;

wire    [VECT_WIDTH-1:0]        vect_wnd_set_bits_2;
wire                            val_out_2;
wire    [VECT_IND_WIDTH-1:0]    ind_out_2;

genvar ii;

generate
    for (ii = 0; ii < VECT_WIDTH; ii = ii + 1) begin: vect_wnd_set_bits_gen
        assign vect_wnd_set_bits_1[ii] = (vect_in[ii] == select_set_in) &
                                         (ii >= head_in);


        assign vect_wnd_set_bits_2[ii] = (vect_in[ii] == select_set_in);
    end
endgenerate


ff_set #(
    .VECT_WIDTH         (VECT_WIDTH         ),
    .VECT_IND_WIDTH     (VECT_IND_WIDTH     ),
    .BLOCK_WIDTH        (BLOCK_WIDTH        )
) sfs1 (
    .vect_in            (vect_wnd_set_bits_1    ),
    .val_out            (val_out_1              ),
    .ind_out            (ind_out_1              )
);

ff_set #(
    .VECT_WIDTH         (VECT_WIDTH         ),
    .VECT_IND_WIDTH     (VECT_IND_WIDTH     ),
    .BLOCK_WIDTH        (BLOCK_WIDTH        )
) sfs2 (
    .vect_in            (vect_wnd_set_bits_2    ),
    .val_out            (val_out_2              ),
    .ind_out            (ind_out_2              )
);

assign  val_out = val_out_1 | val_out_2;
assign  ind_out = val_out_1 ? ind_out_1 : ind_out_2;

endmodule
module ff_wnd # (
    parameter   VECT_WIDTH          = -1,
    parameter   VECT_IND_WIDTH      = -1,
    parameter   BLOCK_WIDTH         = 2
) (
    input   [VECT_WIDTH-1:0]        vect_in,
    input                           select_set_in,
    input   [VECT_IND_WIDTH-1:0]    head_in,

    output                          val_out,
    output  [VECT_IND_WIDTH-1:0]    ind_out
);


wire    [VECT_WIDTH-1:0]        vect_wnd_set_bits_1;
wire                            val_out_1;
wire    [VECT_IND_WIDTH-1:0]    ind_out_1;

wire    [VECT_WIDTH-1:0]        vect_wnd_set_bits_2;
wire                            val_out_2;
wire    [VECT_IND_WIDTH-1:0]    ind_out_2;

genvar ii;

generate
    for (ii = 0; ii < VECT_WIDTH; ii = ii + 1) begin: vect_wnd_set_bits_gen
        assign vect_wnd_set_bits_1[ii] = (vect_in[ii] == select_set_in) &
                                         (ii >= head_in);


        assign vect_wnd_set_bits_2[ii] = (vect_in[ii] == select_set_in);
    end
endgenerate


ff_set #(
    .VECT_WIDTH         (VECT_WIDTH         ),
    .VECT_IND_WIDTH     (VECT_IND_WIDTH     ),
    .BLOCK_WIDTH        (BLOCK_WIDTH        )
) sfs1 (
    .vect_in            (vect_wnd_set_bits_1    ),
    .val_out            (val_out_1              ),
    .ind_out            (ind_out_1              )
);

ff_set #(
    .VECT_WIDTH         (VECT_WIDTH         ),
    .VECT_IND_WIDTH     (VECT_IND_WIDTH     ),
    .BLOCK_WIDTH        (BLOCK_WIDTH        )
) sfs2 (
    .vect_in            (vect_wnd_set_bits_2    ),
    .val_out            (val_out_2              ),
    .ind_out            (ind_out_2              )
);

assign  val_out = val_out_1 | val_out_2;
assign  ind_out = val_out_1 ? ind_out_1 : ind_out_2;

endmodule