Hi, ARM
I am a verification engineer responsible for CHI interface. During verification, when issuing a SnpCleanShared targeting the cacheline in UC state via VIP, DUT returns snoop response on RSP channel with Resp==0x2. VIP flags this as an error, reporting the following messages:
SnpResp Response flit (TxnID:0x788) sent for SnpCleanShared transaction with an unexpected Resp value: UC.
Unexpected RespVal == UC for initial cache state UniqueDirty.
Inital cache state should be: UC.
Could you please clarify whether DUT's behavor complies with the CHI Specification?
thanks!
Hi Tong,
Assuming that the line is in the UC state at the Snoopee when SnpCleanShared is seen, SnpResp_UC on the RSP channel is a legal response as per Table B4.49 (Cache state transitions, RetToSrc value, and valid completion responses) in CHI-H.
However, it sounds like the VIP is tracking this line has having been updated to UD, in which case there must be a SnpRespData_X_PD response on the DAT channel instead, where X can be UC/SC/I.
Hence I would suggest that you dig further into the VIP/DUT overlap at the Snoopee to see if there has in fact been a local update from UC to UD prior to the incoming SnpCleanShared.
Kind regards,
Ben