平头哥 数字IC验证工程师 二面面经
平头哥二面(技术面)
1、大学学过哪些课程,有什么样的经历。
2、使用PMOS和NMOS实现一个NAND,写出真值表,再用NAND实现一个XOR,只能用NAND。
3、Verilog阻塞和非阻塞赋值。以下两段代码综合出来的电路有什么不同。
4、用verilog实现:一个1bit输入a,一个1bit输出b,当a为x态时,b为1,否则为0。如果a为2bit,a[0]和a[1]只要有一位是x态,b为1,再写一遍verilog。
5、给一个DUT,怎么搭环境,环境里有哪些元素。覆盖率模型里面应该包括哪些?Scoreboard怎么比较数据?如果数据乱序应该怎么比较?
6、黑盒验证有什么缺点?如果采用黑盒验证,测试全部通过,但是设计里的状态机出错(卡在某一状态、没有正确退回初始态等),应该怎么解决。
7、给一个实际案例,有一个DUT按一种编码规则输入32bit数据,输出1bit判断输入是否符合编码规则,符合输出1,不符合输出0。请搭建一个验证环境,详细描述环境的构成、逻辑、激励、覆盖率等。在回归测试阶段,如何保证该设计100%正确?
总的来说,这个面试有难度。