开出50w+最受欢迎的IC公司合集及面试经历(下)

其它

全志、复旦微、汇顶、晶晨、紫光同芯、乐鑫、格科微、奕斯伟、联芸、翱捷、奥比中光、大华、星宸科技、沐曦、壁仞、摩尔线程、澜起、vivo、长鑫存储、tplink……IC里边大厂各有各的优劣吧,其它独角兽公司也都挺不错的,今年创业公司挺舍得给钱的,整体提高了行业薪酬,反正平台、薪酬、岗位综合考虑吧。能开出50W左右(ssp)的公司有:平头哥、大疆、zeku、壁仞、比特大陆、算能、嘉楠科技、商汤、禾赛(算上期权也差不多)、地平线、中兴蓝剑、华为天才少年~


晶晨半导体

  1. SV中循环都有哪几种?
  2. OOP是什么?
  3. AHB协议和APB协议,AHB中Hready是怎么回事儿,APB中psel和penable的作用
  4. 一个子类可以有多个父类嘛?一个父类可以有多个子类嘛?在C++中呢?
  5. Struct的作用,union是什么?struct和类的区别,struct和union的区别
  6. 知道DPI嘛
  7. 对UVM的了解,什么是phase机制,你常用的phase机制,都是什么作用?
  8. Sequence是在哪个phase跑的
  9. Sequence中信号的随机,参数的定义写在哪个函数中?
  10. Run_test是启动UVM平台,应该怎么跑testcase,怎么启动
  11. C语言中指针是什么意思,怎么写数据

ARM中国

  1. 介绍自己
  2. APB和AHB的协议
  3. 如何完成APB和AHB之间的握手
  4. AHB怎么完成burst传输
  5. AHB to APB Bridge的测试点
  6. MCDF中的仲裁是怎么仲裁的
  7. 如果优先级一样采用轮询机制的话,你对轮询机制的理解
  8. 同步FIFO的测试点,FIFO的空满是怎么判断的
  9. 收集覆盖率了嘛,都有哪些?代码覆盖率都有哪些
  10. MCDF的测试点有哪些?
  11. 断言覆盖率都检查了哪些
  12. 寄存器和锁存器的区别
  13. 什么是建立时间和保持时间,如果违例怎么办?
  14. 跨时钟域应该怎么处理

汇顶科技

  1. 介绍一下自己,讲讲你在做这些验证项目中对verilog、systemverilog以及UVM的了解
  2. 这两个项目的driver有什么不同,你的数据怎么送进去的
  3. AHB的写过程和读过程,简述一下是怎么读的
  4. AHB的monitor是怎么写的
  5. Interface是怎么传递的,config_db的参数是什么样子的
  6. DUT和interface的连接
  7. Sequence是怎么启动的,你这有几个sequence,比如说3个通道的sequence怎么处理的,是有3个sequence嘛,有几个sequencer呢,怎么发送数据
  8. 说一下你对流水线操作的理解,是怎么流水的
  9. 说一下对burst的理解
  10. 你的AHB to APB的reference model是怎么写的
  11. 对TLM通信的了解,你sequencer和driver之间用的是什么端口
  12. 什么是阻塞和非阻塞端口,那driver用的是阻塞还是非阻塞?
  13. 对寄存器模型的了解

奥比中光

  1. 介绍一下寄存器怎么集成
  2. 寄存器怎么运用到环境中
  3. 还有你这个reg2bus和bus2reg的区别
  4. 只读寄存器怎么验证
  5. Sequence的启动
  6. 如何关闭约束
  7. 队列的使用方法,以及push back和pop front的区别
  8. Rand 和randc的区别
  9. Uvm的phase机制,各个component之间的phase是怎么运行的
  10. 组件之间的通信机制,analysis port和其它的区别
  11. AHB的传输类型,说一下4回环突发的传输应该是怎么样的,这个回环边界怎么确定

禾赛科技

  1. 自我介绍
  2. 你自己的项目是硬件的嘛,用什么语言写的,有没有设计一个模块
  3. 学过数电,模电,半导体之类的嘛
  4. 用过C或者是C++嘛,你以后有什么想法嘛
  5. MCDF和AHB都是网上的课程是嘛
  6. 你AHB是怎么验的,验证环境是怎么搭的
  7. 描述一下AHB协议
  8. 给你一个模块应该怎么验证
  9. 讲一下MCDF项目,你是怎么验证的,怎么打包
  10. 用MOS管如何搭与非门和或门

联芸科技

  1. 介绍自己,还有自己研究生期间的项目,因为他们也是做雷达的,对我这个项目了解的多一些。
  2. Scoreboard是什么时候比较
  3. Reference model是怎么写的
  4. 如果比较的时候rm有数据,而dut没有数据,那么你应该怎么比较
  5. 你的reg用的是什么端口
  6. Rm用的是什么端口
  7. TLM通信有几种方式
  8. 讲一下你的项目,是怎么回事儿
  9. MCDF中scoreboard什么时候比较,如果DUT没有数据,reference model里边有数据,会触发scoreboard嘛
  10. 如果跑了101个case,都报passed,但是其中有一个case虽然报passed了,没有触发scoreboard比较,应该怎么办
  11. event怎么触发?@和wait有什么区别
  12. 为什么转IC验证,为啥不去做算法

商汤科技

  1. 为什么转验证?
  2. 你之前保研的时候怎么不选IC。想来北京还是上海,之前保研的时候怎么没来北京
  3. SV里边find队列和find index队列应该返回什么?这个没敢懵,是不是返回数和索引啊?
  4. 有没有用过zadx(好像是这个东西)?
  5. 怎么验证一个DUT
  6. 用过断言嘛?写一个断言,a为高的时候,b为高,还有a为高的时候,下一个周期b为高
  7. 对商汤的了解,对AI的了解
  8. 项目中遇到什么问题是怎么解决的
  9. 对SV中约束的理解
  10. phase机制的理解
  11. rand和randc的理解
  12. 对进程的理解,我刚开始还以为是mailbox那几个,后来发现是fork join那三个的区别
  13. ref的用法
  14. 寄存器模型的使用,例如前门访问是怎么用的,后门访问呢,adapter是干嘛的
  15. sequencer和driver之间的握手机制

诺瓦

  1. 介绍一些自己
  2. MCDF项目是路科的吧
  3. 你在这个项目里做了什么
  4. 你那个AHB和APB项目是实际项目嘛
  5. 除此之外还有别的IC相关的项目嘛 诺瓦这个公司没咋问我,10分钟结束,对我的培训班项目丝毫不感兴趣

展锐

  1. 介绍一下自己
  2. 把写的项目都问了一下,重点问的是MCDF
  3. 寄存器的复位是怎么测的,寄存器的读写是怎么测的
  4. 代码覆盖率为什么没达到100%,实际中应该是怎么样的
  5. 功能覆盖率测了哪些功能点,是怎么写的,为什么没达到100%
  6. 断言覆盖率写了哪些
  7. 动态数组和关联数组的区别
  8. 三个Fork join的区别
  9. Task和function的区别
  10. Phase机制有哪几个,build phase是自顶向下,对这个自顶向下有什么了解嘛

星宸

  1. 刚开始就是问了一下基本情况
  2. 拿着线下的笔试题,让我用matlab写那个 maxpiol,简单的写出来了,复杂的不大会
  3. 然后就闲聊了一下,都是开放性问题,可以自由发挥
  4. HR面也很细,HR很好,很认真,问的比较全,但基本上都是常见的几点,接下来还有个技术二面
  5. 你对UVM有什么了解
  6. AHB的driver和monitor是怎么写的,你这个数据是从哪里来到哪里去
  7. APB的monitor和AHB的monitor之间的区别
  8. SV和verilog的区别
  9. Sequence和sequencer之间的通信
  10. Sequencer和driver之间的通信
  11. 还有组件之间的通信
  12. 寄存器的前门访问和后门访问
  13. Opp的三个特性

乐鑫

  1. 举例VCS的基本命令
  2. APB的写操作、读操作,什么情况下APB开始写
  3. APB的monitor是怎么写的
  4. AHB是流水的嘛,是几级流水,如果这一拍是地址,且有数据,那么下一拍的地址能改嘛
  5. 写一个100MHz的时钟
  6. Reg和wire的区别,并写代码让判断值应该是啥
  7. Logic和wire的区别,两者可以转换嘛
  8. 用你擅长的原因找出1:100的质数

中科芯58所

  1. 介绍一下自己,介绍一下项目
  2. FIFO的深度是多少?位宽是多少?仲裁的算法是什么?
  3. 参考模型是自己写的还是提供的,仲裁的话怎么在参考模型实现。参考模型怎么获取寄存器的值?
  4. 怎么配置RTL寄存器,通过平台的寄存器模型配置寄存器,寄存器模型里边的方法,写一个寄存器或读一个寄存器怎么实现
  5. 寄存器怎么实现前门访问和后门访问,怎么后门访问的路径怎么配置
  6. 寄存器的总线协议是什么,说一下APB都有哪些信号,怎么实现读操作
  7. 参考模型的monitor是怎么实现的,是人家提供的嘛,你做了哪些部分
  8. 断言覆盖率是怎么写的,断言的分类,断言的实现是在哪一个模块实现的
  9. 代码覆盖率和功能覆盖率,说一下对他们的理解,分析代码覆盖率用什么工具
  10. 分析功能覆盖率是怎么分析的,怎么收集的,怎么调用covergroup
  11. 说一下component和object的区别,item是component还是object
  12. Virtual sequencer 和sequencer区别
  13. 平台往里边输入数据的话怎么输入sequence, sequence,sequencer,driver之间的通信
  14. 做软件为什么想转验证

飞腾

  1. 看你参加了很多比赛,介绍一下你的IEEE全球极限编程
  2. 介绍一下MCDF,你的DUT的功能,搭建的验证平台以及怎么测的
  3. 说一下你的reference model和scoreboard是怎么实现的,reference
  4. UVM从哪里启动,接口怎么传递到环境中
  5. UVM的优势,为什么要用UVM
  6. 说一下ref类型,你用到过嘛
  7. 还有代码覆盖率和功能覆盖率90%多,为什么没有100%,你是怎么实现的
  8. 请说一下APB的读写操作以及AHB的Hburst

合肥宏晶微电子

  1. 你为什么转验证
  2. 三个线程应该怎么办?fork join有哪三种?如果加上wait fork 之后运行情况有啥变化?
  3. 简述UVM的工厂机制
  4. 你的功能覆盖率为啥只有95%,功能点是自己写的嘛,都验了哪些功能?
  5. 状态寄存器,如果状态是2,你采样的是1,怎么判断这个值是否正确?
  6. 你这个soreboard怎么检查数据,如果出来一个包,怎么检查。。。问了一堆,你的scoreboard写了多久,考虑了什么问题没
  7. 优先级的检查,如果三个上行的优先级是123,1为高优先级,2为低优先级,从formater中出来应该是什么样子的,如果连续发送又是什么样子的
  8. 如果你的上行数据比较快,下行数据慢,会怎么样,应该怎么办?我:用FIFO吧,那你的FIFO的空满状态怎么呈现到接口上?
  9. 看你这个断言覆盖率100%,描述一下你写的比较复杂的断言
  10. SV中的interface的clock blocking的功能,如果clock blocking定义在下沿,最后的结果应该是什么样?
  11. 动态数组和联合数组的区别?

深圳中微电

  1. 介绍一下项目,以及项目的验证框架-
  2. 你的Sequence是怎么处理的,和generator和driver 之间的通信
  3. Generator继承于谁?
  4. 寄存器复位值是怎么检查的? reg to bus和bus to reg
  5. 寄存器读写是怎么检查的?前门访问,你怎么知道你验的对不对?
  6. 代码覆盖率为什么没满足100%,没满足的话应该怎么办?
  7. 功能覆盖点是怎么找的,这个具有很大的主观性,你怎么确定自己找的就是自己验证的点?这能够覆盖完全嘛,应该怎么找功能覆盖点?
  8. 断言覆盖率是怎么写的,验了哪些?
  9. 你的数据包是怎么验的?你怎么知道对不对?
  10. 验证的时候为什么用SV而不用UVM?
  11. 讲一下 callback机制
#2022春招##笔试题目##面经##芯片设计工程师##公司评价##实习##春招##秋招#
全部评论
你这复制的酒酒的吧
3 回复 分享
发布于 2022-05-23 11:12

相关推荐

10-29 15:38
门头沟学院 Java
榕城小榕树:难道你简历里写了配送路径优化算法?
点赞 评论 收藏
分享
在评审的大师兄很完美:像这种一般就是部门不匹配 转移至其他部门然后挂掉 我就是这样被挂了
点赞 评论 收藏
分享
46 460 评论
分享
牛客网
牛客企业服务