数字IC后端设计工程师面试真题(含参考答案)
发布时间:2023-06-02来源:知乎雨人
1. 芯片为什么需要采用纵横交错的走线方式?
有效利用布线资源。
2. CTS的目的是什么?怎么样是一个合格的clock tree?
综合考虑,timing, latency, skew, clock面积,clock功耗,这些参数,得到一个合理的时钟树。
3. 为什么时钟树需要平衡?不平衡的时钟树有什么缺点?
不用回答得太复杂,应届生能回答出”balance的clock tree 对hold比较容 易满足已经可以” 面试官会继续问你,为什么hold比较容易满足?答不出的话就前功尽弃了。
4. 为什么我们需要优先修复transition和cap?
Transition和cap决定了标准单元的延迟,如果这两值有违例,timing值不精确。
5. timing path根据路径,一般可以划分为哪几种?
Timing Path根据起点和终点可以分为以下四种: 由Flip-Flop时钟输入端到Flip-Flop数据输入端,即reg2reg path 由主要输入到Flip-Flop数据输入,即in2reg path 由Flip-Flop时钟输入端到主要输出,即reg2out path 由主要输入到主要输出,即in2out pat
6. 我们一般采用哪些驱动能力的cell去生长时钟树?为什么?
取中等驱动能力,X8, X10,X12左右,驱动太弱的cell容易造成slew violation,级数会比较多,clock tree会做太长;驱动能力太强的cell,会 造成较多fanout,容易出现EM问题,而且功耗比较大。
7. 时钟树走线和普通信号线有什么区别?
时钟树通常采用中高层走线,采用NDR走线,双倍宽度,双倍spacing,使 用shielding 普通信号线低层走线较多,一般不采用NDR。
8. 为什么采用double width, double spacing的时钟树走线方式?
Double width: 避免EM效应 Double spacing: 避免串扰。
9. 碰到routing congestion该怎么办?
route阶段的话我们不应该再看congestion了,因为已 经有真实的route结果,我们应该直接关注DRC结果。 Congestion只是初期衡量最后绕线情况的一个指标。如果初期congestion 很严重,可以查看一下congestion出现的区域。 Memory附近: memory的间距留的太窄,或者缝里面放了太多组合逻辑, 试着加一下blockage Standard cell附近: 查看该区域是否density很高,或者有一些pin很多的 cell,比如AOI, OAI这种,可以尝试加cell padding或者partial blockage.
10. setup和hold violation该优先修复哪种,为什么?
Timing ECO过程中,先修复setup,再修复hold。 如果最后setup实在修不掉,在项目允许的情况下,把hold先修复以后, setup可以通过降频修复。
11. 综合主要做了什么事情?说一下具体综合的流程!
综合主要是将前端RTL代码,映射到具体的单元库上,然后转换成后端设计 使用的门级网表 大致流程: 读库 => 读RTL => 读约束 => 综合。
12. DFF哪些pin需要做timing检查?
D, SI pin: setup, hold检查 clock pin: min pulse width检查 Reset pin: recovery/removal检查。
13. clock latency的概念,什么情况下需要设置?
时钟树的传播延迟。一般情况下不需要设置,只有在某些clock上不想平衡它们,但是要满足他 们之间的时序要求时,才会设置。
【免责声明】:本站部分文章为转载或网友发布,目的在于传递和分享信息,并不代表本网赞同其观点和对其真实性负责;文章版权归原作者及原出处所有,如涉及作品内容、版权和其它问题,我们将根据著作权人的要求,第一时间更正或删除。