Question about Snoop Response for SnpCleanShared using CHIE.b?

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!

Parents
  • 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

Reply
  • 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

Children
No data