Skip to content

Commit 5a5453a

Browse files
Add cover properties for address matching
1 parent a0e8adf commit 5a5453a

File tree

1 file changed

+23
-0
lines changed

1 file changed

+23
-0
lines changed

src/ctrl/i3c_target_fsm.sv

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -660,4 +660,27 @@ module i3c_target_fsm #(
660660
// Record each transaction that gets NACK'd.
661661
assign event_target_nack_o = !nack_transaction_q && nack_transaction_d;
662662

663+
property cover_known_addr_ack;
664+
realtime t;
665+
@(posedge clk_i)
666+
(
667+
$rose(bus_addr_valid) |=>
668+
##2 ((is_rsvd_byte_match || is_our_addr_match || is_virtual_addr_match) && ~bus_tx_req_value_o[0])
669+
##[10:48] (scl_negedge_i & ack_done)
670+
);
671+
endproperty
672+
covprop_known_our_addr_ack: cover property (cover_known_addr_ack);
673+
674+
property cover_unknown_addr_nack;
675+
@(posedge clk_i)
676+
(
677+
$rose(bus_addr_valid) |=>
678+
##2 (~(is_rsvd_byte_match || is_our_addr_match || is_virtual_addr_match) && bus_tx_req_value_o[0])
679+
##[10:48] (scl_negedge_i & ~ack_done)
680+
);
681+
endproperty
682+
covprop_unknown_our_addr_nack: cover property (cover_unknown_addr_nack);
683+
684+
covprop_valid_addr: cover property (@(posedge clk_i) ($rose(bus_addr_valid)));
685+
663686
endmodule : i3c_target_fsm

0 commit comments

Comments
 (0)