Part 0 answers: What does it mean for a chip to work?
A chip works when it does what was intended, in every situation it will meet. Nobody can try every situation, so verification never proves a design correct; it gathers enough evidence, cheaply enough and early enough, that the remaining risk is acceptable.
This part sets up the whole course: the difference between verification, validation and test, why a late bug costs so much more than an early one, why exhaustive simulation is impossible even for small blocks, and the project you will verify throughout, DCRouter and its 24 planted bugs.
Explain the difference between verification, validation and manufacturing test.
Show with numbers why exhaustive simulation is impossible.
Describe verification as evidence against risk, not proof of correctness.
# | Lesson | Level | Status |
|---|---|---|---|
0.1 | F · Foundation | Ready | |
0.2 | F · Foundation | Ready | |
0.3 | W · Working | Ready | |
0.4 | W · Working | Ready | |
0.5 | W · Working | Ready | |
0.6 | W · Working | Ready | |
0.7 | F · Foundation | 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 the decisions behind verification. These lessons teach the tools and syntax that carry them out, so this part links to them instead of repeating them.