design verification interview questions
I think the interview meant to say the reference model instead of the BFM, which is suppose to predict the expected result out of the DUT.
Two ways we can detect this problem. One is with code review and the other is to check the intent in the test itself and not completely rely on the reference model. For example, if the DUT is suppose to drop all packets with lengths shorter than 64 bytes, but some how both the DUT and reference model only drop packets that are shorter than 60 bytes, than packets with lengths from 61-64 bytes will not be dropped, both in the DUT and the reference model, and your test will say PASS. But if in your test, you check to make sure the DUT's drop counter's value is equal to the number of expected packet drop due to short length (<64B), than if it is not what you expected, than you know the DUT has a bug.
Now, do this in every test can be cumbersome and this kind of double checking the reference model defeats the purpose of having a reference model in the first placet. However, if it's not too difficult, it is recommended you do this. I have 10 years of ASIC/FPGA verification experience and I have seen verification engineer just look at the RTL and basically copy the code and use it in their reference model, and therefore, will have the same bug and they won't be able to detect it until it's too late.
- Hung