• 数字IC面试笔试经验及最新试题分享


    在结束2022年的秋招之后,相信很多同学都已经感受到IC行业的门槛在不断提升,这一点不仅仅反映在头部企业对学校学历的要求上,还实实在在体现在大大小小的面试之中。

    以往或许问些简单的问题就能通过,而在今年,就一定要把你到底有几斤几两问清楚了才行。

    有些同学一开始自信满满,在经历过几场宣讲会和面试之后,才发现没有好好准备,相较于其他面试者的各种不足。

    原本花几周时间就可以完成的事情,到了面试月之后显得手忙脚乱,让自己错失很多机会。

    而错过了秋招也不用灰心丧气,机会仍然存在,只是这一次你要提前做好准备。

    来年的春招就是你的另一次征程,相信这一次你肯定可以收获成功。

    把自己的能力完全表现在面试之中,才是真正的准备完全,那这次就来分享下数字IC的面试经验。

    01
    笔试准备

    一般而言,数字IC笔试中遇到的问题有两类,一种是专业基础知识,就是接触数字电路设计的同学都应该知道的内容,比如ASIC设计的全流程是怎样的;低功耗方法;跨时钟域信号处理;时序分析等等。

    基本都跟数字IC设计中最常用的方法和思想有关,最常考的有:

    (1)信号的跨时钟域同步。包括单比特和多比特,对于单比特自然用两级寄存器同步最为方便。对于多比特,常考察异步FIFO以及握手方法。要理解亚稳态的概念以及避免亚稳态的方法。

    (2)说到亚稳态,就不得不说setup time 和 hold time。一定要掌握两种时钟约束和分析时钟约束的方法。清楚四种路径(输入到输出,输入到寄存器,寄存器到寄存器,寄存器到输出),并能找到关键路径。会计算最高的工作频率。

    (3)分析和修复setup time validation(降低时钟频率,组合逻辑优化或拆分,提高工作电压) 和 hold time validation(插入buffer,更难修复)

    (4)能用verilog描述常用的电路结构,如:D触发器,计数器,分频(奇数倍分频,偶数倍分频,小数分频(如1.5倍)),同步FIFO,异步FIFO,序列检测器(FSM实现)

    (5)用verilog描述给出的代码或者伪代码

    (6)找出verilog代码中的错误,如信号未进行跨时钟域同步,无else分支会产生不期望的锁存器等等。

    (7)阻塞,非阻塞赋值

    (8)sv基础,包括@signal触发和wait(signal)的区别,事件触发,队列操作,task同步调度(fork …join,fork …join_any,fork …join_none的用法差异)

    (9)掌握一些常用的协议,如I2C(能够根据提示用verilog实现),SRAM协,AMBA(AHB),AXI。

    (10)异步复位在使用时应当注意什么?

    (11)请画出异步复位同步释放的电路结构:

    (12) 在验证环境中,C如何access和dut中寄存器,是如何联系的?

    (13)掌握一些常用的低功耗方法,如clock gating(能画出电路结构图),了解DVFS,多阈值电压技术,多电压技术

    (14)组合逻辑输出需经过寄存器过滤毛刺。。。

    另一种则是专用领域知识,这部分内容有时候来自岗位特性,有时候来自于公司部门的业务方向有时候来自学生的项目/实习/竞赛经历,比如有的人对AMBA总线很熟;有的人做数字信号处理很强;有的人对计算机体系结构很了解等等。

    这就要求你不仅要熟悉面试公司的所在赛道及产品,还要对自己做过的项目烂熟于心,不能在自己做过的事情上卡壳。

    02、面试准备

    大多数技术面的时候最后面试官一般会问你还有什么问题,面试前最好有所准备,准备一些有关职业发展,工作岗位等问题。一般在技术面时不要提及薪资待遇,因为这是HR负责的部分。

    技术面里常遇到的问题:

    1. 先简单谈谈你现在在做的事情。

    2. 请谈谈你在学校的学习和项目。

    3. 请谈谈你对UVM验证方法学的理解。

    4. 请谈谈UVM组件的关系。

    5. 举例谈谈UVM组件中的一些常用方法。

    6. 请谈谈virtual sequencer与sequencer的区别,以及为什么要用virtual sequencer?

    7. 为什么会有sequence,sequencer,以及driver,为什么要分开实现?这样做有什么好处?

    8. 你写过assertion吗?assertion分为哪几种?简单描述下assertion的用法。

    9. 请描述一下你所验过的模块的功能。

    10. 你对fifo熟悉吗?谈谈如何判断fifo的空满状态?

    11. fifo有同步的和异步的,它们有什么区别?

    12. 对于异步fifo,如何处理空满时的同步问题?还可以采用什么方法?

    13. 请谈谈验证的思想,验证人员和设计人员思考问题的差异。

    14. 你们项目中都会考虑哪些coverage?

    15. coverage一般不会直接达到100%,当你发现有condition未cover到的时候你该怎么做?

    16.为什么要尽量避免绝对路径的使用?如何避免?

    1. 如何在driver中使用interface?为什么?

    2. 你了解UVM的callback机制吗?

    19.UVM各component之间是如何组织运行的,是串行的还是并行的?如果串行的,请问是通过什么机制实现各组件之间的运行调度的?

    20.对一个加密模块和解密模块进行验证,如果数据先进行加密紧接着进行解密,如果发现输入数据与输出数据相同,能不能说明这两个加解密模块功能解没有问题?为什么?

    21.在对一个模块仿真的时候发现:如果输入是一个地址addr,发现dut的输出是一个相同的地址addr,但是参考模型的输出是addr1.请分析可能是什么问题导致的?你会怎么去解决?

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

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

    03、结语

    IC行业的竞争日渐激烈的当下,不安和焦虑的想法干扰了大多数人的判断。我们需要认清一点,任凭竞争如何,能力高低始终是唯一的选择标准。

    希望大家放平心态,认真准备,只有在自己具备足够的能力之后,面试的成功自然就是心里有底的结果了。
    可查看更所:数字IC面试笔试经验

  • 相关阅读:
    【华为正式岗】后台开发1面
    RedHat公司及红帽认证介绍丨红帽认证等级介绍
    并发模式之生产者消费者模式
    Vue 设置v-html中元素样式
    Python浏览器自动化
    用lstm进行多输入但单输出的预测,有八组输入特征,其中四组范围是-100到100之间,其他四组是-5到5之间,可以只对-100到100之间的进行归一化到(-1,1)而-5到5之间的不进行归一化吗
    集合_Collection_LinkedList简述及增删机制源码简析
    mysql函数汇总之系统信息函数
    「Redis」01 NoSQL及Redis概述
    CVPR 2019|CFNet:语义分割中的共现特性
  • 原文地址:https://blog.csdn.net/weixin_52955333/article/details/128093786