个人情况:本科211 硕士985 本硕机械工程 研究方向电机控制 自学数字IC验证;
项目情况:路桑外门弟子,两个项目;
前提:有模电、数电、单片机,C语言基础
从2021年7月20开始学习
学习历程:
数电-verilog(推荐B站小梅哥和夏语闻老师的verilog数字系统设计教程,重在实践,跟着小梅哥敲敲简单的项目,对后续学习验证比较有益)
-学习SV和UVM,期间完成两个项目(白皮书、红皮书、绿皮书和SVA书籍)
-学习并整理IC设计常见知识点(推荐硬件架构的技术和MOOC上西南交大邸志雄老师的硬件加速设计方法)
-最后学习python和linux相关操作、以及补充一些计算机体系结构和C语言常问知识点;
1、字节跳动
一面:
1.自我介绍;
2.介绍一下mcdf的验证环境
3.功能覆盖组的定义;具体收集了哪些测试点?千万不要说FIFO掉进坑里面了;
4.UVM相对于SV的优势?
5.sequence机制的优点?
6.virt_seq和virt_sqr的意义;
7.virt_seq的底层seq如何挂载对应的底层sqr上面;
8.模块级和系统级验证的区别?
2、arm china
一面:
1.自我介绍
2.IIC项目介绍,apb_agt和IIC_agt;
3.IIC中断功能的验证,举个例子
4.UVM的factory机制?
5.UVM的phase机制?
6.用过哪些仿真工具?
7.python和shell学过没有?
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.ref和inout的区别?ref的优点和缺点?
7.UVM如何启动?
8.SV搭建的环境如何实现自顶向下?
9.run_test(string name):传进去的是字符串,他是如何进行创建的呢?
10.TB为什么使用virtual interface?
11.讲一讲IIC?
12.讲一讲APB?
13.讲讲SVA?assert和cover的区别在哪里?断言的结果在仿真中有什么状态?
14.OOP的多态?
15.SV的mailbox、event和semophore的区别?
16.压缩数组和非压缩数组的区别?
二面-HR面
1.自我介绍
2.学习方法
3.朋友和老师的评价
4.自律的体现
5.爱好
6.保研时的选择?
7.投递了哪些公司?如何选择?
8.为什么选择来上海?
9.一面的感觉?又遇到什么问题吗?有过复盘吗?
三面-技术主管面
0.对前面面试的感受;
0.怎么学习验证;
1.config 机制层次的优先级?优先级能够满足的条件?
2.factory机制的优缺点?
3.1-100素数、1-10000找6、100MHZ时钟发生器、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.sequence和sequencer的区别?
6.sequence发送的激励除了通过driver发送出去以外,还有什么方法?
7.C语言的vilotate关键词的特点?
8.IC设计流程?
9.后仿真使用的不同SDF文件是什么意思?
10.数字系统和模拟系统的区别?数字如何存储0/1?与什么因素相关?
11.virtual method和virtual class?UVM哪些类是虚类,哪些不是虚类?
12.面向对象的特点,多态?
13.task和function的区别?
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的作用;APB和IIC agent中driver和monitor的作用;scoreboard如何进行数据比对(期望值和实际值),在仿真完成后是否有做检测(面试官说是否测试数据队列里面是否还有数据,如果有错误的数据该如何处理);covergroup和coverpoint和bins的区别;sample是以covergroup还是coverpoint为对象;覆盖组的coverpoint如何定义;
2.mcdf验证了哪些功能;仲裁器如何验证;将dut内部信号拉出来做验证的时候,需要考虑什么(仲裁器验证为例);
3.测试点的理解;测试点和测试用例的区别和联系;
4.手撕代码,枕头检测;当帧头frame_head出现时,检测din是否等于8’h23,如果连续三次出现,则输出一个脉冲信号;
5.建立时间和保持时间的定义以及违法时解决办法;
6.阻塞赋值和非阻塞赋值;
7.跨时钟域同步方法;
8.IC功耗和哪些参数相关;
二面:
1.为什么选择验证?
2.为什么不在武汉工作,而选择回成都?
3.有遇到什么困难挫折吗?
4.如果要步入一个新领域,你一般会怎么做;
5.学过相关电子类课程吗;
全部评论
(4) 回帖