目录
前言
知识点梳理
考点导图
进制相关知识
时钟分频器
状态机
异步逻辑
异步FIFO
异步复位同步撤离
时序计算与时序分析
低功耗设计
手撕代码
验证方面的知识储备
ASIC设计流程与工具
FPGA实操
好像每年都会给一些师弟师妹或者csdn认识的各位朋友写一点数字IC校招面试的东西,恰好这次五一的征稿我正好把之前写过的做过的进行下汇总整理,条理输出。
之前给同系的学弟学妹分享时做的考点导图,目前看来也不太过时:
【IC前端设计校招面试】常见笔试与面试考点思维导图
易考性:☆☆☆
易面性:☆☆
虽然很多面试宝典上都有提到进制相关的题,但相较而言被面到的概率还是很小的,我自己也没总结过很多东西,只有以下两个:
二进制数的补码及运算(1)
二进制数的补码及运算(2)
易考性:☆☆☆
易面性:☆☆
同样在很多面试宝典上都有提,笔试可能用到,面试的概率不高。一般最多问道奇偶分频和0.5分频,任意小数分频很少见到,如果被问到了不如就直说“一般由PLL实现,暂时没有手撕RTL的场景”。这个我写过两个博客,但是客观说里面的实现是有些问题的,代码风格也很稚嫩,不过后来也没下手去改,留给大家用来纠错吧:
verilog时钟分频设计
verilog时钟分频设计(整合模块)
每日工作记录——任意小数分频研究
易考性:☆☆☆☆☆
易面性:☆☆☆☆
摩尔机、米利机、两段式、三段式,准备阶段都要兼顾到,虽然面试之后吧大部分时候就忘了自己写的是啥形式的状态机了。状态机基本是笔试必有题,面试时候可能会简单画一下状态跳转,也有现场手撕状态机的前科O(∩_∩)O
【0.3基础的条件准备两周之后的数字IC前端设计校招面试】0.3进化到0.4——三段式状态机
每日工作记录——状态机的编码选择
易考性:☆☆☆☆
易面性:☆☆☆☆
有关异步的内容几乎是必面的,无论是以异步FIFO的形式还是异步处理考点的形式,不面的话说明面试官看不起你哈哈哈。
【异步电路碎碎念1】 —— 到底什么是异步电路
【异步电路碎碎念2】 —— 跨异步引发的电路危机
【异步电路碎碎念3】 —— 跨异步的处理原则
【异步电路碎碎念4】 —— 跨异步的处理方法
【异步电路碎碎念5】 —— 跨异步处理的几个注意事项
易考性:☆☆☆☆
易面性:☆☆☆☆☆
还是一个几乎一定会在校招中遇到的典型题,对异步FIFO的认识一般都会有一个由一脸懵逼到豁然开朗的过程,没关系,即使工作了能手撕异步FIFO代码也是很优秀的能力,慢慢学反正我还有盲点没学会。这块内容我水了很多博客了,概括在下面两篇中:
【芯片前端】保持代码手感——异步FIFO全解析
【芯片前端】“异步FIFO全解析”的BUG——格雷码连续性
易考性:☆☆
易面性:☆☆☆
这个稍微有些难度,需要一些经验可能才会想到异步复位同步撤离的问题。感觉即使答不出来,能够有自己的思路也是很好的。
在ASIC中异步复位信号的处理——滤毛刺和异步复位/同步撤离
易面性:☆☆☆☆☆
易面性:☆☆☆☆☆
笔试必考,面试看缘分,有时会聊一下时序优化的思路,侧重点在建立时间、保持时间、时序裕量、违规分析等。这方面
setup time的一些思考点
hold time的一些思考点
一些时序题计算
【数字芯片前端】STA时序分析的小练习1
【数字芯片前端】STA时序分析的小练习2
易考性:☆☆
易面性:☆☆☆
低功耗设计的重要重要性越来越凸显,之前面肯能就是聊一聊概念,听说这两年聊的越来越多越来越细节了。
注意,低功耗RTL思路中最常见有效的手段是:clock gating和无复位寄存器结构。
低功耗设计的几个思路
【芯片前端】关于门控电路和逻辑做在D端还是EN端的思考
易考性:☆☆☆☆
易面性:☆☆
机试一般会有写代码的题,很多现场面也会有现场手撕代码的情况,可以在一些练习网站上做一些题,不用太纠结结果正确性,注意下自己的思路组织,网站上也有很多的错误。
【芯片前端】保持代码手感——跨异步DMUX
【芯片前端】保持代码手感——交通灯
易考性:☆☆☆
易面性:☆
笔试中一般会遇到一道,让画个验证的的结构图,或者简单的写下验证流程。一些上机测试里也会搭一下环境(可以看下牛客网上的案例)。如果你和我那时候一样非要在毕业前搞清楚验证环境到低是个啥东西,可以简单看看以systemverilog搭的环境,进一步看看UVM的知识:
【验证小白】只有SV+modelsim学验证(5)—— 完成reference model合入环境
【验证小白】只有SV+modelsim学验证(4)——合理的结束仿真
【验证小白】只有SV+modelsim学验证(3)——加checker到环境中
【验证小白】只有SV+modelsim学验证(2)——加monitor到环境中
【验证小白】只有SV+modelsim学验证(1)——把平台搭起来
易考性:☆☆☆☆
易面性:☆☆
asic flow流程在笔试中很常见,面试遇到的概率会小一些。
asic工具使用,如果有项目经验,那么常用的工具使用应该是没有问题的,如果一直靠自学,那建议在校招开始前还是把一些工具过一遍,临阵磨枪不快也光。实面中被问到的概率不是很高,可能会结合项目聊几句比如sdc配置思路什么的,不必作为重点。这块我在毕业时还是下了功夫的,虽然现在看来是有点稚嫩:
linux下的EDA——VCS使用
linux下的EDA——DC使用
linux下的EDA——PT使用
EDA工具使用笔记——ISE与modelsim联合仿真
linux下的EDA——VCS与Verdi仿真
【芯片前端】第一次看DC综合报告时看些什么内容
易考性:☆☆
易面性:☆
如果不面试FPGA岗的话,一般面到FPGA类问题的概率不高。不过呢因为学生时代FPGA可能是我们主要的代码实现与测试手段,具备一定的相关知识应该是有所加分的。
xilinx小实验——vivado纯逻辑编程第一个demo
nios ii小实验——第一个demo指导书
altera小实验——第一个demo指导书
altera小实验——TimeQuest Timing Analyzer初步使用