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

2022-04-06 19:47:33 浏览数 (1)

基础知识

概念原理理解

  • 阻塞赋值和非阻塞赋值
  • 时序逻辑和组合逻辑;
  • 锁存器的结构及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都是更好的选择,特别是专业非微电子、电子、通信方向的。

0 人点赞