几道后端设计面试题目分享一下
1、ICG cell的构造?ICG Timing为什么会发生?怎么解决?
2、65nm与0.13um 0.18um design在PR、PV、signoff上分别有哪些区别?
3、ICC place_opt(CTS之前)后出现setup违例和transition违例,优先修复哪个?为什么?
4、PV相关,LVS RULE中如何设定可以将GDS中“< >”认成“[ ]” ?
还有很多涛哥每日一题里面都有,欢迎大家讨论,答案稍后揭晓。
0.13nm ?
已修正,谢谢提醒。0.13nm改为0.13um
等第四题答案……
4、个人见解:
一般我们遇到这种问题的解决办法是在GDS或者在cdl中修改
通过tool自带option或script都能做到。
LVS RULE中能用option控制我也是第一次被问到,查阅calibre
manual得知,LVS RULE中可这样控制:
LAYOUT RENAME TEXT "/>/\]/g" "/</\[/g"
不知道还有没有其他方法,敬请补充指正.
受教了,我也是第一次看到,挺感兴趣的。以后可以试试。
和你说的差不多,都是对cdl做修正
1/CDL out的时候有option map bus name from <> to [],,测试过
2/v2lvs -a貌似也可以。
3/脚本替换,常用。
3、个人见解
ICC place_opt(CTS之前)后出现setup违例和transition违例,优先修复哪个?为什么?
应该是优先fix setup violation,CTS后加上skew后setup会更差。
此时的transition是global的,cell的位置还没完全定,所以没有setup优先。
欢迎指正补充。
哥们 你这是Qualcomm 的面试问题吧?
个人见解,一般不在place阶段修时序,都是等到cts psyopt route 之后再修。如果按照题目所说一定要修的话,也是修transition。transition是由上级驱动决定的,做不做CTS对transition没影响,place之后可以修。
纠正一点,做时钟树不一定会将setup变差,CTS出来的时钟树不可能100%是平的,也有到前级触发器短,到后级触发器长的情况,这样的话place阶段的violation 到CTS后就没有了,是不用修的。
就题论题吧,先不论不同公司的不同做法。
前提:place完出现setup和transition的违例且需要修复,哪个更优先?为什么?
做完CTS不一定setup会变差,这一点我不否认,但是,请问如果
CTS完出现前级长后级短的情况,那么setup违例岂不是更难修复,
因为在clock理想的情况下都没修复或者可能真的是无法修复,
需要重新FP、修改制约等情况,这种风险为什么不在palce完
就规避呢?
至于transition的话,place完cell的位置还没完全fix,对驱动肯定有
影响,进而影响transition;还有大的fanout net,例如RN/SN等可能
要做clock tree,进而改善transition违例。
以上,欢迎指正补充,谢谢!
不清楚,被朋友问到,就来坛子分享一下。
不会那么巧吧?难道?
学习下~
transition是正确判断delay的前提,如果transition有violation,setup/hold的值就不准确,也就没有修的必要
所以要先修好tran/cap这样的基本参数,然后再去看setup/hold,这样才是比较准确真实的setup/hold
这也是为什么EDA工具自己修timing的第一步是修tran/cap(一般叫做DRC)
这么一说,感觉也有点道理。谢谢您的指点!
可能是我的理解太片面,这个问题还需要好好思考一下,完全正确(或许也没用完全绝对正确)
的结论等大家讨论完我在做个总结吧~欢迎各位继续讨论、指点!
学习了 呵呵
CTS之前修复setup意义何在?
CTS之前,clock都是ideal的,这时候的transition和setup都是由data path引起,如果一定要在这个时候fix,无论从数量还是产生因果上来看,显然应该先fix transition violation。
可以学习
学习了
个人见解,赞同#13说法,在place阶段timing更多的考虑应该是在macro和cell的位置上,transition 没有干净的情况下,修setup的话,且不说在place阶段修不修timing,意义也不太大。
第一题答案呢。