Both Verification and Validation checks for the correctness of the design. These design steps try to detect and localize functional bugs in the system. While pre-silicon verification runs the test cases on the software prototypes of the design on the simulator, post-silicon validation is executed on a few initial hardware prototypes of the design on the silicon chip in a real environment.
The state-of-the art designs are so complex that coming up with a bug-free design in the first attempt is nearly impossible. So, several verification stages are instrumented to capture the bugs in the design, localize them and rectify them before mass production. While the semiconductor industries try to develop efficient and error-free designs, they also have to carefully follow the stringent time-to-market demands. Unfortunately, the verification phase takes more than 50% time of the product design cycle. This also encourages for hierarchical as well as the high-speed verification process.
Pre-Silicon Verification
Before fabrication, the designs are generally described in HDL language and simulated on the high-end simulators. Such design modules are synthesized and are transformed to the gate-level netlists. Several test cases are run on such netlists to check whether the design behaves functionally correct or not. Test cases are run at different corner cases with random but constrained inputs to achieve maximum test coverage. These tests are run on the simulator at MHz speed (simulator clock frequency). So, this takes a lot of time to cover all the test cases through pre-silicon verification. Thus, most of the time several bugs in the design escapes from pre-silicon verification phase as all the corner cases are not verified due to tight time-to-market. The best part of pre-silicon verification is that it has complete system internal observability as the design is in soft IP form and any internal signal value during normal execution can be latched and verified. There are multiple steps involved in pre-silicon verification as well, which we would cover in another article.
Post-Silicon Validation
Post-silicon validation is deployed to capture the escaped bugs from the pre-silicon verification phase. This phase also tries to check the functional correctness of the design but on the real hardware in the actual working environment. When a design passes from pre-silicon verification, few initial prototypes of the chips are fabricated and are used as test objects. The prototypes are mounted on the test boards and post-silicon tests are performed. The beauty of post-silicon validation is, it runs at real system speed (in the range of GHz), as the tests are performed on the real chips. So, this is very fast in comparison to the pre-silicon verification phase. But the big issue involved with post-silicon validation is very low observability of the system as we have only access to the input and output pins on the hardware. We do not have any access to the internal signals of the design. So, it is very difficult to debug where exactly the bug is inside the design. In another article, we would understand how exactly the post-silicon validation is performed and how the observability is achieved during this phase.