Skip to content

Commit d07a4f5

Browse files
mszalkowski-antrobertszczepanski
authored andcommitted
i3c_target_fsm waivers
1 parent 6a4c290 commit d07a4f5

1 file changed

Lines changed: 67 additions & 0 deletions

File tree

verification/waivers/exclusion.yaml

Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4669,6 +4669,73 @@ exclusions:
46694669
- state_d: [5-7]
46704670
- state_q: [5-7]
46714671

4672+
A bit TX request is never issued by the FSM:
4673+
toggle:
4674+
- bus_tx_req_bit
4675+
cond:
4676+
- 41: [3 "11"] # assign bus_tx_req_bit = bus_tx_req_o.req_valid && (bus_tx_req_o.req_type == RawBit);
4677+
4678+
Redundant logic. ibi_retry_num_i == 7 implies ibi_retry_cnt_q not increasing:
4679+
cond: [56: [3 "10"]] # assign ibi_can_retry = (ibi_retry_num_i == 3'd7) || (ibi_retry_cnt_q <= ibi_retry_num_i);
4680+
4681+
Redundant logic. ibi_status_o is always set together with ibi_status_we_o = 1:
4682+
cond:
4683+
- 9: [2 "101"] # end else if ((ibi_retry_num_i != 3'd7) && ibi_status_we_o && (ibi_status_o inside {IbiFailureAddressArb, IbiFailureNack})) begin
4684+
- 11: [1 "01"] # if (ibi_status_we_o && (ibi_status_o == IbiFailureAddressArb))
4685+
- 13: [1 "01"] # end else if (ibi_status_we_o && (ibi_status_o == IbiFailureRetry))
4686+
4687+
Redundant logic. A reserved byte with RnW=1 is only encountered during the DAA procedure:
4688+
cond: [25: [2 "10"]] # (bus_rnw_q && !is_rsvd_byte_match)
4689+
4690+
Redundant logic. We will never set InHDRMode from DoneCCC because it's overriden later:
4691+
line:
4692+
- 813 # state_d = InHDRMode;
4693+
branch:
4694+
- 11: [73] # if (in_hdr_mode_i) begin
4695+
4696+
Redundant logic. RxFByteArb can be only entered from Idle with ibi_inhibit_q == InhibitNone. But ibi_can_retry == 0 implies that ibi_inhibit_q went through the InhibitRetry state and latched on it:
4697+
line:
4698+
- 636 # ibi_status_we_o = 1'b1;
4699+
- 637 # ibi_status_o = IbiFailureRetry;
4700+
- 638 # state_d = RxFByte;
4701+
branch:
4702+
- 11: [29] # end else begin
4703+
4704+
Redundant logic. is_rsvd_byte_match && virtual_device_sel_o can't be true since the latter is reset on transaction boundaries:
4705+
cond: [36: [1 "01"], 38: [1 "01"]] # (!is_rsvd_byte_match && virtual_device_sel_o != is_virtual_addr_match)
4706+
4707+
Unreachable. SDA is controlled in PP-high by us:
4708+
line:
4709+
- 786 # tx_pr_abort_o = 1'b1;
4710+
- 787 # state_d = WaitRestart;
4711+
branch:
4712+
- 11: [65] # end else if (bus_stop_det_i) begin
4713+
4714+
Unreachable. TxAckFByte state is only entered when is reserved byte or is any addr match:
4715+
line: [668] # state_d = WaitRestart;
4716+
branch: [11: [38]] # end else begin
4717+
4718+
Reset pattern ends with a stop condition, which overrides the FSM state transition to Idle, so DoRstAction is never reached:
4719+
line:
4720+
- 504 # state_d = DoRstAction;
4721+
- 822 # state_d = Idle;
4722+
branch:
4723+
- 11:
4724+
- 4 # if (target_reset_detect_i) begin
4725+
- 75 # DoRstAction: begin
4726+
4727+
HotJoin not supported:
4728+
line:
4729+
- 832 # if (is_hotjoin_done_i) begin
4730+
- 833 # state_d = Idle;
4731+
branch:
4732+
- 11:
4733+
- 77 # if (is_hotjoin_done_i) begin
4734+
- 78 # MISSING_ELSE
4735+
4736+
valid is asserted only if ready is asserted:
4737+
cond: [5: [2 "10"]] # rx_fifo_wvalid_o & rx_fifo_wready_i
4738+
46724739

46734740
i3c_axi_sub_arb:
46744741
source_path: src/libs/axi_sub/i3c_axi_sub_arb.sv

0 commit comments

Comments
 (0)