Fixed-latency shapes cover fixed-latency rules. Variable latency needs locals that ride along a sequence, domain crossings need explicit crossing delays, one-shot waits need expect, reuse needs checkers, and reset needs assertion control.
Tool | Job | Lesson |
|---|---|---|
Sequence locals | Carry a tag or data value along one attempt | Local variables |
Multiclocked sequences | Tie a req edge in one domain to an ack in another | Multiclock assertions |
expect | Block procedural code on one property attempt | expect and procedural |
checker and control tasks | Package checks, silence them around reset | Checkers and control |
Lesson | What it covers | Path |
|---|---|---|
Per-thread capture and the tag and data integrity patterns. | Recommended | |
Crossing delays, single-clock-only operators and CDC checks. | Optional | |
Blocking waits in tasks and assertions inside always blocks. | Optional | |
The checker construct, free variables and control tasks. | Recommended |
Required lessons are the core first pass for writing working assertions. Recommended lessons are worth reading for most learners once the first pass works. Optional lessons are reference, specialist material or revision, and you can come back to them when a project needs them.
A sequence local variable. Each attempt captures its own copy at the request and compares at the response, so overlapping requests check independently.