Read first: Read the mechanism and worked trace first
Replay the Concepts race with C0 chosen first. Keep one record for the line, both requester identities, arbitration order and every outstanding response/data obligation. The timeline is causal; timestamps must also identify their observation clock.
Make a line history that distinguishes a race from data loss — decision record
Apply the stated local assumptions; record actual platform values before using this as an implementation checklist.
Decision / observation | Required evidence | Consequence |
|---|---|---|
C0 wins, C1 waits | Home arbitration and pending-request state | Two simultaneous requests are not two completed permissions |
C0 writes X=7 | Permission grant plus accepted local write evidence | Newest data moves beyond the initial 0 |
C1 receives 0 instead of 7 | Data source and permission-transfer history | A value-preservation failure is established under the stated no-later-write assumptions |
Show overlapping completed write permissions, not just overlapping request offers. Request concurrency is legal; conflicting granted permissions are the safety issue.
Select directed litmus tests from the named architecture/memory model and product risks, with explicit initial values and operation semantics. Add concurrent coherent stress and formal properties where their assumptions and bounds are tractable. No finite suite covers every execution of every ordering promise.
Verification components must observe/model the snoop, response and data behaviours needed by each checked requirement; one VIP configuration may not cover all boundaries.
Retain cache-line state and uniquely correlate concurrent transactions using the selected protocol's node/transaction context; repeated accesses must not overwrite each other.
Trace each implemented shareability/domain behaviour to risk-based scenarios, checkers and reviewed evidence.