Part 16 answers: How do real protocols answer the fifteen questions?
Each page in this part takes one real protocol and runs it through the same checklist: its constraints first, then its answer to each of the fifteen questions, each answer linked to the lesson that explains it. These pages are not spec tutorials; they show the principles paying off.
Explain why each protocol made its main choices.
Compare two protocols question by question.
Apply the checklist to a protocol not covered here.
Answer each in your head before opening it. If two or more feel shaky, revisit Part 15: Specifying and Verifying first.
Safety says nothing bad ever happens (checkable on a finite trace); liveness says something good eventually happens (needs a bound or a formal tool).
With a queue per ID: responses with the same ID return in order, so each matches the oldest outstanding request with that ID.
Any two of: back-to-back transfers, long stalls, ready before valid, maximum outstanding, boundary cases such as the last beat, and error responses.
# | Lesson | Level | Status |
|---|---|---|---|
16.1 | W · Working | Ready | |
16.2 | F · Foundation | Ready | |
16.3 | F · Foundation | Ready | |
16.4 | F · Foundation | Ready | |
16.5 | F · Foundation | Ready | |
16.6 | W · Working | Ready | |
16.7 | W · Working | Ready | |
16.8 | W · Working | Ready | |
16.9 | S · Senior | Ready | |
16.10 | S · Senior | Ready | |
16.11 | P · Principal | Ready | |
16.12 | S · Senior | Ready | |
16.13 | W · Working | Ready | |
16.14 | P · Principal | Ready | |
16.15 | P · Principal | Ready | |
— | all levels | Ready | |
— | all levels | Ready |
Every lesson in this part is ready. Work through them in order: each one sets up the problem the next one solves.
This course teaches why protocols are designed the way they are. These lessons show how to build or sign off the same ideas, so this part links to them instead of repeating them.