The city of Belgrade is renovating the street where I live. They are also building a new building next to mine so that I can see the construction work from my balcony.
Last week, they blocked the street for some 20 minutes, and people got out of their cars and waited outside for the road to open. The construction workers were not in a hurry, and it seemed like everyone was ok with that, so I took a few minutes to chat with them. One guy said they had started the work in January, and they are 90% done now. Having my own project’s “almost done” status in mind, I asked him when they would finish, and he said, well, we are 90% done, and we started nine months ago. We will finish in a month.
Coverage-driven verification is the best not-perfect idea we have about how to run a verification project.
The idea is simple:
- There is no real ‘100% verification done.’
- But we have to manufacture and sell new chips.
- So we will decide what our 100% should be and then code it into the testbench (functional coverage).
- We will do it early on in the project, following the progress as a metric to our task’s completion.