前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >收藏 | 数字IC笔试面试常考问题

收藏 | 数字IC笔试面试常考问题

作者头像
数字芯片社区
发布2022-04-06 19:47:33
9250
发布2022-04-06 19:47:33
举报
文章被收录于专栏:数字芯片数字芯片

基础知识

概念原理理解

  • 阻塞赋值和非阻塞赋值
  • 时序逻辑和组合逻辑;
  • 锁存器的结构及DFF的结构;
  • 建立保持时间及建立保持时间的计算;
  • 流片前和流片后的时序违例解决方法;
  • 跨时钟及其解决方法(单bit、多bit、打拍、握手等在什么场合需要);
  • 异步fifo,空满判断;
  • 亚稳态的成因,危害,解决方法;
  • 低功耗常见设计方法,动态/静态功耗计算和分析,门控时钟、电源门控等;
  • 竞争和冒险的区别、成因、危害、处理方法;
  • 毛刺的成因、危害、处理方法;
  • 时序约束的意义和做法;(时钟约束,IO约束,例外约束等);
  • 时序路径
  • ASIC设计和FPGA设计的flow;
  • 高阻态的意义和用法;
  • Verilog 延时模型;
  • AHB、APB、AXI等总线;
  • SPI、UART、I2C、USB等外设;
  • 同步复位、异步复位及优缺点,有复位和无复位的综合实现区别;
  • 格雷码
  • 断言SVA
  • 同步复位、异步释放
  • 如何考虑PPA
  • 计算机体系结构常识:Cache、MMU,TLB,中断,DMA,大小端,流水线,超标量,超流水,超长指令字,数据冒险,控制冒险,分支预测,乱序执行,LRU等。(进程/线程调度,CPU调度,内存调度,总线分配);

手撕代码

懂原理,会手撕,并且根据题目要求写出不同变种的代码,比如怎么写资源占用最少等;

  • 异步fifo;
  • 同步fifo;
  • 格雷码及格雷码和二进制的互相转换;
  • 除法器;
  • 超前进位加法器;
  • 边沿检测,输入消抖,毛刺消除;
  • 异步复位同步释放;
  • 三种计数器。二进制,移位,移位+反向;
  • 无毛刺时钟切换;
  • 串并转换;
  • 线性反馈移位寄存器;
  • 握手实现CDC;
  • 脚本编写(perl、python等);
  • 奇偶校验
  • 其他简单功能的HDL实现及状态转换图:序列检测,回文序列检测,奇、偶、分频,自动售货机等;

题目部分

  • 最大项,最小项,组合逻辑变换为与非/或非形式,卡诺图化简;
  • 常用元件的门电路实现。(非,与非,或非,锁存器(两种),DFF);
  • MOS管实现门电路;
  • MUX或者MUX+Inverter实现异或,或者其他简单逻辑功能;
  • 门电路实现逻辑表达式;
  • 门电路真值表;
  • 门电路实现同步时序逻辑; 1.状态转换图或者状态转换表。 2.状态化简。 3.状态分配。 4.卡诺图化简求出状态方程,驱动方程,和输出方程,自启动修改。 5.画出逻辑图。例如售货机的门电路D触发器实现。
  • 门电路实现波形:常见的计数器,线性反馈移位等等;
  • 门电路实现Verilog代码;
  • Verilog常用语法:例如两操作数运算符和一操作数运算符;task和function区别;时钟激励的写法;可综合/不可综合语句;操作数有X和Z时的返回值;
  • FIFO深度计算,一般是背靠背;

其他问题

偶尔被问到,挺有启发意义。

  • if、case、三目运算符的区别;(其实现在工具综合出来区别不大);
  • 超高速(Gbps)CDC时格雷码的不可靠问题;
  • 串扰;
  • ESD;
  • 闩锁效应;
  • 上拉下拉电阻;
  • 线与,OC,OD门;
  • 施密特触发器;
  • CMOS与TTL电平,相互驱动关系;
  • Cordic算法;
  • FPGA的基本资源与内部构造,对于FDCE,LDCE的实现;
  • FPGA的时钟资源及构造;
  • 同步时钟和异步时钟。时钟相移之后还是同步的吗?倍频或者分频呢?
  • PLL+MMCM。他们的输入输出,使用的注意点等等;
  • 计算机网络常识。NAT,地址映射,TCP/IP 4层网络模型;
  • PMOS管和NMOS管的结构以及区别,增强型和耗尽型;采用不同的MOS管实现电路的速度区别;电子导电比空穴能力强;
  • IC设计常用术语;
  • Verilog二维数组初始化。常用于FIFO设计;
  • 2态数据类型与4态数据类型对仿真速度的影响;
  • 综合中input 、output delay如何设置;
  • 术语的解释,比如MMU(Memory Manage Unit)等;

如果有时间,还可以学一些后端以及测试验证的知识,SV脚本等等。因为很多公司笔试题都会考一些测试的知识点,断言覆盖率SV语法等等。

还有外企一般考察范围都很广,设计,验证,后端,模拟都会涉及。

另外,企业的笔试面试内容和本身企业主业关系也很大,

做存储的就会问Flash或者RAM的知识,

做芯片的就会问CPU体系结构,

做FPGA偏爱用FPGA做项目的,

做GPU的会问计算机图形学的东西,图像处理的会问例如图像噪声一类的。

选择

对于企业选择来说,现在校招行情基本都是要求硕士以上,较多企业会有学历限制(如211/985)。

其中对于岗位选择来说,数字前端设计的竞争最大,因为HDL代码相对门槛最低,而且设计的岗位数量相比验证和后端是最少的。数字验证竞争其次,因为学校一般不会教UVM。然后是FPGA开发,最后是模拟/射频,这个的门槛最高,没项目根本没法自学入行,而FPGA是因为岗位相对少,投的人也不多,再加上大家一股脑往数字设计挤。

另外就是后端DFT,这些竞争也是小于设计和验证的。同样也是学校不教,起步都是一样的,就拼自学能力和学校牌子了,而且薪资和设计验证没什么差别。

最后,即使在今年这个行情之下,我还是认为除了少部分背景很好的同学以外,CS都是更好的选择,特别是专业非微电子、电子、通信方向的。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2022-03-19,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 数字ICer 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 基础知识
  • 手撕代码
  • 题目部分
  • 其他问题
  • 选择
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档