Coverpoint bin definition - !item

Hello,

I have a query for usage of ! operator to the coverpoint in bin definition
In following coverpoint bin definition, !item is being singled out as illegal.

module test;
  bit [3:0] txn_type;
  bit is_present;
  covergroup cg;
  coverpoint txn_type {
    bins T0 = {0};
    bins T1 = {1};
    bins T2 = {2} with (((item || (!item)) && is_present) == 1);
  }
  endgroup
  initial begin
    $display("\n\n__DONE__\n\n");
  end
endmodule

I am getting the following error:
Error-[TCF-IOTE] Illegal operator to expression
test.sv, 8
“txn_type_cp”
Operator ‘!’ cannot be applied to an expression of this type.

Any insight on what might be wrong here?

Thanks,
Pushkar

In reply to pushkar111:

Please use code tags making your code easier to read. I have added them for you.

Covergroup bin expressions need to be formed from constant expressions or using arguments passed in at construction of the covergroup.

covergroup cg(bit ip);
 coverpoint txn_type {
    bins T0 = {0};
    bins T1 = {1};
    bins T2 = {2} with (((item || (!item)) && ip) == 1);
  }
endgroup

In reply to dave_59:

Hi Dave,

Thanks for your response. Is !item allowed here. Does not look anything wrong here w.r.t. LRM, but I am getting error for ! operator.

Thanks,
Pushkar

In reply to pushkar111:

I think you have a tool issue. Works for me on 3 out of 4 tools on EDAPlayground.com