FPGA萌新上路
同学你好,我是在职的数字后端工程师,负责过多次应届生招聘。直接给你点干货。
面试问题通常分几个层次。基础概念:比如解释一下Floorplan是什么,包含哪些步骤?时钟树为什么要做综合,目标参数有哪些?什么是全局布线(Global Routing)和详细布线(Detail Routing)?时序收敛(Timing Closure)的基本流程是什么?
深入一点的问题会结合场景:给你一个模块,周围有接口和内存,你怎么开始Floorplan?如果时钟路径上的Skew很大,你怀疑是什么原因,怎么去调试?Routing之后发现某个路径有严重的Hold违规,除了插Buffer,还有什么方法?(提示:可以考虑调整时钟路径)。Timing Sign-off的条件是什么?(需要提到不同PVT角Corner下的时序、噪声、功耗等)。
关于工具经验,我们非常看重是否有动手经验,但理解“为什么做”比“做过”更重要。如果你用Innovus或ICC2跑过完整流程,哪怕是一个很小的设计,一定要重点突出。详细描述你从读入网表、布局规划、电源规划、放置、时钟树综合、布线、时序优化到最终输出GDS的整个过程,并强调你在每个阶段做出的关键决策和遇到的挑战。如果只有课程实验,就把实验当成一个完整项目来阐述,说清楚每个步骤的目的和结果。
如果没有完整流片项目,可以展示你对业界流程的了解,比如通过MOOC课程、开源项目(如OpenROAD)或详细阅读工具手册和项目文档。在面试中,表现出强烈的学习意愿和扎实的基础知识,同样能打动面试官。记住,后端是一个实践性很强的领域,多动手,哪怕是用小工具做小设计,也能积累宝贵的直觉。
