1.字节跳动AI LAB ---FPGA岗
时间大概一小时10分钟 上来先自我介绍。 简历上的项目经历什么的,一点没问。
直接问基础:
- FPGA的开发流程是什么?
- 会看时序综合报告吗?
- 遇到时序问题怎么解决?
- 讲一下建立时间和保持时间?
- 时序不满足,怎么办?
- 根据经典模型,写一下建立时间的公式?
- 保持时间和路径延时的公式?
- 建立时间和保持时间在器件级怎么理解?
- 什么是jitter?
- 什么是skew?
- 怎么解决上述的两个问题?
- 考虑上述问题,把jitter加入上述的公式?
代码考察:
前级输入6个32bit的数据、一位的valid信号,当前级在valid信号有效时采样数据,求和,输出一个32bit的和s、给上一级的ready信号、给下一级的valid信号。 现场写verilog。 上述的电路可能会出现哪些时序问题? 之所以在valid和ready信号同时有效才采样数据,不是为了跨时钟域通信,而是当前级的数据可能没处理完,所以需要等待当前级数据处理完,才能读入数据。 写一个2bit的全加器。 虽然舍弃了进位,但是32bit的加法器,中间级的进位还是存在的,因此还是有可能产生时序问题,竞争冒险。 解决办法:多级加法器,每一级加法器中间搞成流水线。 有什么想问的吗?
1.什么时候毕业? 2.可以来实习嘛? 3.用的什么FPGA? 4.竞争冒险的解决办法。 5.亚稳态的概念及解决办法。 单bit和多bit的处理办法,除了异步FIFO和握手协议、双口RAM,还了解其他的吗? 6.建立时间和保持时间的概念、由什么决定。 7.Block RAM和分布式RAM。 8.DDR、PCIE、以太网的概念。 9.FPGA布局布线和时序错误遇到过吗?怎么解决? 10.UVM 11.三分频、占空比50%的代码。
2.中兴微电子IC设计
时间大概45分钟。 对面三个面试官。 首先是自我介绍。 其次根据简历上的内容进行提问。 1.介绍这个项目的细节 数字电路部分、 软件部分、 外围的电路。 如果遇到问题,怎么排查和解决。 signaltap找不到信号节点怎么办。 **2.IIC协议电路 ** 起始信号、结束信号;主设备、从设备的通信。 **3.对IC设计流程的理解 ** 前端、后端、DRC、LVS。 4.异步信号的处理。 5.入职5年的计划。 **6.意向的工作地和薪酬。 ** 7.自己的优势和劣势是什么。 **8.为什么想IC设计而不是FPGA。 ** **9.有什么想问的吗? ** **10.想来中兴吗? **
3.兆易创新数字IC设计面试题
自我介绍。 脚本用的什么语言。 Perl打开文件的指令是什么? 项目的介绍。 画个框图。 开始做题: 同一个时钟沿,怎么根据一个电平信号的变化,产生一个脉冲。 数字滤波:输入的信号有噪声,噪声不超过两个周期,怎么滤掉噪声。 写一个串并转换的RTL代码。 AXI和AHB的区别。 对MCU和总线了解吗? 有什么想问的吗?
4.英伟达秋招数字IC设计
秋招参加了英伟达数字IC设计的面试, 最终拿到了offer, 但是由于待遇比较低,就拒了。 以下是面试的记录,分享给大家。
【1】一面,电话面,两个面试官,一个设计,一个验证,时长一小时左右。
英文自我介绍。 介绍一个自己的项目。 根据项目来问异步FIFO、单口RAM、仲裁的问题。 跨时钟域的方法。 握手协议需要几个cycle。 低功耗方法。 工艺制程对功耗的影响。 验证的问题。 fork_join三兄弟的区别。 验证方法学:driver\monitor\score borad\golden test. 英文问题:队列中插入数据的方法、怎么看待英伟达收购ARM。 为什么想来英伟达? 反问。 国庆节之前会出最终的结果。
【2】二面,时长两个半小时,前后来了三拨面试官。
从实习到在校项目,再到各种基础知识,包括: 低功耗方法学。 FIFO、RAM存储的设计和验证。 跨时钟域的问题。 仲裁机制。 AMBA总线协议,APB\AHB\AXI\ACE的区别和联系。 UART、IIC、SPI协议。 常用的Debug方法。 无毛刺的时钟切换电路设计。 setup, hold 时序问题的修复方法。 怎么看待英伟达收购ARM。 为什么想来英伟达。 还有哪些offer。 最后主管谈了一下待遇。