首页 > 【面经】2023届数字芯片验证实习面经分享
头像
芯片茶话室
发布于 2022-05-20 20:17
+ 关注

【面经】2023届数字芯片验证实习面经分享

个人情况:本科211 硕士985 本硕机械工程 研究方向电机控制 自学数字IC验证;

项目情况:路桑外门弟子,两个项目;

前提:有模电、数电、单片机,C语言基础

从2021年7月20开始学习

学习历程:

数电-verilog(推荐B站小梅哥和夏语闻老师的verilog数字系统设计教程,重在实践,跟着小梅哥敲敲简单的项目,对后续学习验证比较有益)

-学习SV和UVM,期间完成两个项目(白皮书、红皮书、绿皮书和SVA书籍)

-学习并整理IC设计常见知识点(推荐硬件架构的技术和MOOC上西南交大邸志雄老师的硬件加速设计方法)

-最后学习python和linux相关操作、以及补充一些计算机体系结构和C语言常问知识点;

实习共面试了字节,ARM china,乐鑫,地平线,联发科,TI,海思

1、字节跳动

一面:

1.自我介绍;

2.介绍一下mcdf的验证环境

3.功能覆盖组的定义;具体收集了哪些测试点?千万不要说FIFO掉进坑里面了;

4.UVM相对于SV的优势?

5.sequence机制的优点?

6.virt_seqvirt_sqr的意义;

7.virt_seq的底层seq如何挂载对应的底层sqr上面;

8.模块级和系统级验证的区别?

2、arm china

        一面:

1.自我介绍

2.IIC项目介绍,apb_agtIIC_agt

3.IIC中断功能的验证,举个例子

4.UVMfactory机制?

5.UVMphase机制?

6.用过哪些仿真工具?

7.pythonshell学过没有?

8.ASIC设计的流程?

二面:

1.讲讲DUT的功能,验证环境;

2.cgm的收集了哪些信息?有做cross

3.sbd如何比较数据?

4.phase机制的几个核心的phase

5.uvm_do的大概执行过程;

6.fork join三兄弟的区别?

7.#0的作用

8.SV除了那三个同步的方法以外还有其他的吗?

9.进程和线程的区别?

10.linux下将相应的日志信息输出到某些文件;

11.#include#< >的区别?

12.vlitate关键词开辟空间在哪个阶段?


3、乐鑫科技

        一面:技术面

1.自我介绍;

2.项目有存在bug?

3.时钟块的作用;

4.为什么一般不使用latch?

5.阻塞赋值和非阻塞赋值;

6.refinout的区别?ref的优点和缺点?

7.UVM如何启动?

8.SV搭建的环境如何实现自顶向下?

9.run_test(string name):传进去的是字符串,他是如何进行创建的呢?

10.TB为什么使用virtual interface

11.讲一讲IIC?

12.讲一讲APB?

13.讲讲SVA?assertcover的区别在哪里?断言的结果在仿真中有什么状态?

14.OOP的多态?

15.SVmailboxeventsemophore的区别?

16.压缩数组和非压缩数组的区别?

二面-HR

1.自我介绍

2.学习方法

3.朋友和老师的评价

4.自律的体现

5.爱好

6.保研时的选择?

7.投递了哪些公司?如何选择?

8.为什么选择来上海?

9.一面的感觉?又遇到什么问题吗?有过复盘吗?

三面-技术主管面

0.对前面面试的感受;

0.怎么学习验证;

1.config 机制层次的优先级?优先级能够满足的条件?

2.factory机制的优缺点?

3.1-100素数、1-100006100MHZ时钟发生器、100MHZ的时钟抖动发生器,上升沿时刻

4、地平线

一面:

1.自我介绍?

2.对地平线的了解?

3.为什么选择IC验证?

4.实验室项目介绍?

5.数字IC流程介绍?

6.中断的概念?中断的应用场景?中断的向量地址?

7.异步FIFO和同步器的使用场合?

8.脉冲同步器的介绍,展宽电路的时钟是哪个?

9.bit信号为什么不能使用多级DFF

10.前仿真和后仿真的概念? 

11.前仿真可以检查亚稳态的问题吗?

12.综合的输出有SDF文件?

13.时序约束的概念?

14.验证无法检查DUT的哪些方面?

15.$display$monitor的区别?

16.知道timeslot吗?


5、TI

一面:

1.实验室项目遇到的难点;

2.fork join三兄弟;

3.CPU如何实现多个线程并行运行?

4.CPU为什么有主频的限制?如何实现超频?

5.sequencesequencer的区别?

6.sequence发送的激励除了通过driver发送出去以外,还有什么方法?

7.C语言的vilotate关键词的特点?

8.IC设计流程?

9.后仿真使用的不同SDF文件是什么意思?

10.数字系统和模拟系统的区别?数字如何存储0/1?与什么因素相关?

11.virtual methodvirtual class?UVM哪些类是虚类,哪些不是虚类?

12.面向对象的特点,多态?

13.taskfunction的区别?

14.FPGA原型验证的特点?

15.IC流程中为什么需要如此多的验证方法?

16.跨时钟域;

17.亚稳态?

二面:

1.专业机械,为什么选择做IC?

2.你的优势?

3.项目遇到的难点?

4.如何学习IC

6、联发科

        一面技术面

1.自我介绍;

2.写过一些verilog小项目吗;

3.跨时钟域处理办法;

4.介绍项目(验证环境、测试点、覆盖率、遇到的问题、接口协议)

5.断言(a升高,则b连续五个周期保持为高);

二面主管面

1.自我介绍;

2.讲讲中断;

3.为什么选择IC行业;

4.项目怎么学的;

5.遇到的挫折,有什么感想;

6.平常的娱乐活动;

7.和老师,同学之间的交流沟通;

8.实验室的项目压力大吗?

9.实习方式和时间;

10.为什么选择去外地读书;

三面HR

1.自我介绍;

2.前面面试的感受;

2.三个优缺点;

3.遇到的挫折;

4.怎么看待加班;

5.为什么没选择IT行业;

6.实验室的压力大吗;

7.有哪些实习offer

8.海思和联发科如何选择;

9.父母工作,有无女朋友;

10.为什么选择去外地读书;

11.工作意向地的选择;


7、华为海思

一面:

1.介绍IIC项目的验证环境,验证了哪些功能;收集了哪些特性的覆盖率信息。predictor的作用;APBIIC agentdrivermonitor的作用;scoreboard如何进行数据比对(期望值和实际值),在仿真完成后是否有做检测(面试官说是否测试数据队列里面是否还有数据,如果有错误的数据该如何处理)covergroupcoverpointbins的区别;sample是以covergroup还是coverpoint为对象;覆盖组的coverpoint如何定义;

2.mcdf验证了哪些功能;仲裁器如何验证;将dut内部信号拉出来做验证的时候,需要考虑什么(仲裁器验证为例)

3.测试点的理解;测试点和测试用例的区别和联系;

4.手撕代码,枕头检测;当帧头frame_head出现时,检测din是否等于8’h23,如果连续三次出现,则输出一个脉冲信号;

5.建立时间和保持时间的定义以及违法时解决办法;

6.阻塞赋值和非阻塞赋值;

7.跨时钟域同步方法;

8.IC功耗和哪些参数相关;

二面:

1.为什么选择验证?

2.为什么不在武汉工作,而选择回成都?

3.有遇到什么困难挫折吗?

4.如果要步入一个新领域,你一般会怎么做;

5.学过相关电子类课程吗;

6.对华为或者企业文化的了解

觉得有收获,希望帮忙点赞,转发~

本文首发于微信公众号【 数字IC打工人】,点击绿色字体,交个朋友呀~


全部评论

(4) 回帖
加载中...
话题 回帖

近期热帖

热门推荐