数字IC验证面试常见的问题汇总,你掌握了几个?

很多人在求职的时候,不知道该如何应对。IC修真院为了帮助大家复习巩固,特意整理了一大波IC面试题,并配上了详细的解题思路,让大家能够轻松应对找工作过程中的各种面试难关!

在这里插入图片描述

面试准备:

面试之前充分准备自我介绍,针对外企可以准备一份英文自我介绍,最好能够用英文介绍自己做过的项目或课题。

然后最重要的是充分准备好你简历所写的内容,写在简历上的东西一定是你完全掌握的,如果有项目的话最好把项目各方面可能会被问到的问题想到。

另外一个容易被忽视的是,好多人对选择工作城市的理由上准备很不充分,要能够给出很合理且具有说服力的理由让面试官相信你确实想要去那座城市工作和生活,表现出自己的诚意,不然就会让面试官会觉得你只是在拿他们当备选offer。

常见的面试题目

1、建立时间和保持时间违例的解决方法
1)建立时间违例
时钟路径插入缓冲器;
更换延迟小的触发器;
增加时钟周期。
2)保持时间违例
优化时钟,让时钟更早到来;
触发器插入缓冲器;
更换延迟大的触发器。

2、谈谈对UVM验证方法学的理解
UVM验证方法学是基于system verilog语言形成的一种高效的验证方法,一方面,提高了代码的复用性,使得验证人员能通过代码移植复用修改快速搭建验证平台,从而将主要精力放在具体测试案例的编写上;
另一方面,UVM封装了很多好用的方法,使得验证人员不必过多关注底层实现,而且减少了验证平台的调试时间。

3、UVM有哪些组件
uvm_driver、uvm_monitor、uvm_sequencer、uvm_agent、uvm_scoreboard、uvm_env、uvm_test。

4、UVM组件的常用方法
typedef,sprint(),topology(),create(),new()。

5、virtual sequencer 和 sequencer的区别,以及为什么用virtual sequencer
在有多个驱动端agent,且多个激励之间存在协调关系,有必要使用virtual sequencer;virtual sequencer的三个属性:
virtual sequencer 控制其他的sequencer;
virtual sequencer并不和任何driver相连;
virtual sequencer 本身并不处理item。

6、为什么要有sequence,sequencer以及driver,为什么分开以及这样做的好处
1)sequence机制将事务的产生包括事务的定义以及事务产生的步骤从driver中剥离出来,driver只负责将事务信息驱动给DUT。
2)验证的case_list是用sequence机制实现的,保证了UVM树形结构的单一性、统一性,使得可维护的能力大大增加。

7、assertion分为哪几种,简单描述assertion的用法
1)断言是验证方法的一种,对设计属性进行描述,如果一个设计属性与期望不同,就会断言失败;
2)断言分为立即断言与并发断言;
立即断言是基于事件的变化,与时序无关,必须放在过程块中;
并发断言是基于时钟周期的,在时钟边沿计算表达式,可以放在module、interface、program的定义中,以关键词“property”定义。

8、fifo的空满判断
写在前,读在后
1)一种是严格的:地址最高位和低位都相等为空;最高位不相等,低位相等为满;
2)另一种不严格:设定一个空满阈值百分比,进行条件判断。

9、fifo的异步与同步
异步fifo:读写时钟不同;
同步fifo:读写时钟相同。

10、验证的思想
验证就是在设计规范的要求下,对已知功能目标下的DUT进行检查,然而实际的使用场景是设计规范无法全面覆盖的,验证工程师只能在有限的资源与时间下对设计代码进行最大限度的检查以尽可能多地消除流片之后的bug。

11、debug 的主要手段
查看波形,查看log。

12、为什么要避免使用绝对路径,如何避免
绝对路径的使用降低了验证平台的可移植性,避免的方法是使用宏和interface。

13、如何在driver中使用interface
使用virtual interface,configure机制的set和get进行传递。

14、与逻辑和同或逻辑的运算
或:有1为1,全0为0;
同或:相同为1,不同为0。

15、亚稳态是什么,怎么消除
产生原因:
数据传输不满足触发器的建立时间和保持时间。
发生场合:
主要发生在异步信号检测,跨时钟域信号传输以及复位电路中。
消除办法:
1)对异步信号进行同步处理;
2)采用fifo对跨时钟域通信进行数据缓冲设计;
3)对复位电路采用异步复位,同步释放。

16、竞争与冒险
不同信号到达汇合点的时间不同,产生竞争,由于竞争使电路发生错误叫做冒险。
解决方法:
加滤波电容和选通信号。

芯片验证为什么那么重要?

IC行业是智力密集、技术密集型的行业,更是高投入、高风险的行业,做一款芯片仅仅是开模的费用就是百万起。

为了保证芯片功能的正确性和完整性,就需要验证工程师给设计或者实现过程提供迭代的关键意见。验证在芯片设计环节乃至全产业链中的位置都是举足轻重的。验证岗位兼备硬件和软件技能点,对于学历专业相对比较友好,入行之后的进步空间和学习上限仍然很充足。

面试

对于面试,我觉得面试比笔试重要,因为面试是你和面试官面对面交流,你的目的就是用你的专业知识和一些“技巧”去让面试官“喜欢”你,就够了。对于面试说下面三个比较重要的技巧:

当你拿着简历走到面试官前面时,开口第一句话不是“面试官好”,而是“老师好”。而且你要笑着说,这样就能拉近一下距离。

坐下后,立刻拿出纸和笔,桌子上有笔可以不拿。因为拿出纸和笔代表你做了准备,而且在面试的过程中你觉得面试官说的哪点有道理,可以随时记下来,面试结束把自己的纸带走,回去再总结。我就靠这点在面试中学到了很多东西。

诚实。尤其是技术面的时候,一定要诚实。不作不会死。大部门技术面的老师还是有较高的水平的,如果你没做过的东西讲出来,面试官一下就能问到点上,那样会更难堪。

自我介绍时把你最独特的地方说出来。独特就是别人不知道或者没做到的。这里说一个我觉得很有用的:写文档。

面试完也要及时总结,因为他们找出的是你项目中你不熟悉的几个点或者几个很有意义但你又不会的知识,又或者是他给你讲解了更深层次的问题。

IC行业相比于其他行业竞争并不是那么激烈,薪资待遇也比较高,希望大家能放好心态,
面试的成功只取决于你自己的心态和临场表现。想要获取更多大厂的面试题,可以私信IC修真院哦!

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注