Bind - elab error

Hello,

I am trying to bind a assertions module to a FIFO instance that is instantiated inside the DUT (multiple levels deep).
One of the modules (GEN_SUB_SS_SLICE) in the hierarchy is generated using genvar.

My bind statement looks something like this:

bind tb_top.DUT_int.GEN_SUB_SS_SLICE[2].sub_ss_slice.data_module_inst.fifo_inst assertions assertions_inst (
  .clk(clk),
  .reset(reset),
….
….
  );
generate 
for(genvar i=0; i<4; i=i+1) begin : GEN_SUB_SS_SLICE
   sub_ss
   #(
      .BASE_ADDR (ADDR[i]),
      .ID (ID[i])
   ) 
   sub_ss_slice
   (
    //clk and reset
    .clk      (sys_clk      ),  //input wire  
    .rstn     (sys_rstn     ),  //input wire  
……..
end
endgenerate

However, this does not work. I get an elab error:
Can only bind to modules or module instances.

Any pointers on where I could be wrong? Thanks in advance.

Please mention the complete error message.
Did you make sure the hierarchy that you have mentioned “tb_top.DUT_int.GEN_SUB_SS_SLICE[2].sub_ss_slice.data_module_inst.fifo_inst” exists?