In reply to Emans:
Look into the SystemVerilog section 19.5.2 which describes the definition of transition bins within a coverpoint.
The “read_after_read” transition bin below would increment if two samples of “1” were seen on the “read” variable back-to-back.
cp_read : coverpoint cov_item.read {
bins value0 = {0};
bins value1 = {1};
bins read_after_read = 1 [* 2];
}
Apologies if the syntax isn’t exactly correct (did not test this) but hopefully enough to get you started.