微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 微电子和IC设计 > IC后端设计交流 > 后端面试--每日一题(029)

后端面试--每日一题(029)

时间:10-02 整理:3721RD 点击:
There are function SDC, scan shift, scan capture, scan at-speed, mbist at-speed, and jtag SDC. Considering CPU run time, you can't add all of them into MMMC. Then which SDC you will add in to MMMC setup, and hold?
在一个设计中有多个时序约束,象function,scan shift, scan capture, scan at-speed, mbist at-speed, 和 jtag SDC,为了减少运行时间,不能把它们都放入MMMC中,你选择哪些放入MMMC的setup中,哪些放入MMMC的hold中?
提示:选择的SDC要尽量的少,并且尽可能多地覆盖其他没有入选的SDC下的时序
难度:4

这个真不知道,没接触过完全不知道那些mode都是什么东东。希望回答的童鞋尽量详细些,在这先谢过啦

在一个设计中有多个时序约束,象function,scan shift, scan capture, scan at-speed, mbist at-speed, 和 jtag SDC,为了减少运行时间,不能把它们都放入MMMC中,你选择哪些放入MMMC的setup中,哪些放入MMMC的hold中?
setup: function
hold:scan shift
其他完事了再分析

真的没人知道如何分析?
这个要从每个SDC的特点着手,个人经验,与设计有关,不敢保证使用与所有设计。
1) scan shift:速度很慢,不用太担心setup,但是hold很重要,一旦hold有问题,所有与scan有关的测试全泡汤
2) scan capture:也是慢速,但是会有很多hold出来,特别是在不同的function时钟之间
3) scan at-speed:高速,解决了它的setup,其他DFT的setup基本上就连带着解决了
4) mbist at-speed:高速,但是涉及的逻辑不多
5) jtag:慢速,很容易与function SDC合并
所以结论是
MMMC setup:function + scan at-speed
MMMC Hold: function + scan shift + scan capture + jtag

不大习惯MCMM的flow,还是喜欢一个sdc,然后一个flow
不过这样好象会比较麻烦一点,

陈总,难倒一片了。 有没有一览众山小的感觉,呵呵

真正的高手不来玩儿而已

我也比较怕MMMC,还是tool做得不够好
你那个头像是小班禅?

不会吧,我感觉是他儿子,你说是小班禅,说明他儿子有佛相

答案太快了吧。留个2-3天。
一般说来,at-speed 肯定setup 。
scan 很慢肯定是 hold 问题。
上次和几个高手聊了下,65/45 nm 问题最大还是 test 时 IRdrop issue.
scan 下大家都在翻转,ir drop 如何科学地解决?

答案太快了吧。留个2-3天。
一般说来,at-speed 肯定setup 。
scan 很慢肯定是 hold 问题。
上次和几个高手聊了下,65/45 nm 问题最大还是 test 时 IRdrop issue.
scan 下大家都在翻转,ir drop 如何科学地解决?
papertiger 发表于 2011-6-15 15:27
[/quote]
芯片比较大的时候,为了防止ir drop在scan模式下太大。我们需要做一个Hier的dft flow.简单来说,就是分block来进行测试。
在同一时刻只会有一个block来做测试。我说的这个block是很大的那种,好比芯片400w门,你大概分为4个block.
每个block都会有自己的压缩解压缩模块。mentor叫edt。然后顶层再有一个edt模块。 这种方法的优点是对ir drop有好处。
缺点是增加测试成本,而且会损失掉一些覆盖率,就看如何取舍了。

scan mode下IR drop大是个普遍存在的问题,本来想作为一个问题问的,你既然提到,就在这里讨论了。
解决方法之一是使用多个scan clock,而且特意不平衡它们之间的insertion delay

这个要从每个SDC的特点着手,个人经验,与设计有关,不敢保证使用与所有设计。
1) scan shift:速度很慢,不用太担心setup,但是hold很重要,一旦hold有问题,所有与scan有关的测试全泡汤
2) scan capture:也是慢速,但是会有很多hold出来,特别是在不同的function时钟之间
3) scan at-speed:高速,解决了它的setup,其他DFT的setup基本上就连带着解决了
4) mbist at-speed:高速,但是涉及的逻辑不多
5) jtag:慢速,很容易与function SDC合并
所以结论是
MMMC setup:function + scan at-speed
MMMC Hold: function + scan shift + scan capture + jtag与所有设计。
...
陈涛 发表于 2011-6-15 10:28
[/quote]
陈老大说的很对。
还有一点我补充一下,上述分类的基于一旦置起scan-mode,并且在快速时钟下,就能进入as-speed模式了。一旦置起scan-mode
scan-enable,就能进入shift下了。所以为了我们的sdc能够尽量少,我们一定要在design的spec开就就要给前端提出这种需求。各个模式的进出要定义干净。
还有一点,如果遇到有同沿去踩,通过clock latency来保证setup和hold的电路的话,那么我们一定要在camx和cmin都要检查setup和hold,因为会有非线性的问题。

我顶上去吧
很有帮助

恩,MCMM的flow好像是比较难run的,而且好像要注意的东西多一些,没run过,只是听说过。

还有哈,那个头像呢,是我堂妹。哈哈

多年以后如果我有了儿子,你还说这句话的话,我一定非常感谢,但是像我刚本科毕业一年的,连个女朋友都木有,哪来的儿子哈。

这只是一般的做法,但事实上这种方法也是有问题,就单个的block而言,其current也是很惊人的。
新的DFT工具可以在全局范围内取舍,调整pattern,实现较低的/散列的翻转。

能否请兄弟推荐一些相关文档看看,看来我得知有点过时了。
不过我还是有点疑问的,如果q-si的测试,不管你如何选pattern,都是基本上在同一时刻反转的吧,这时候反转率应该是100%啊,dft工具怎么考虑这件事情。

一般来说stack at测的时候都是慢freq的,所以相对来说power 应该不会比func的时候大吧?而在at speed的时候,基本测的都是func的逻辑,但是覆盖率就没那么高,貌似是说其power和func的差不多,所以只要func的过了,在at speed的时候,也基本是能过的。但是mbist就不一样,power值会很大的,现在的design memory都不少,所以在测mem的时候,power会非常的大,解决测mem时的IRdrop好像才算是比较难的吧,像陈老大说的,用多个scan的话,岂不是在fix hold的时候,会麻烦很多?而且在做clock tree的时候,有多少个scan clock就至少得调多少个floating value,那对cts就增加好多工作量了。不过陈老大应该还有更好的解释吧,我没做过DFT,对DFT仅限于旁听,希望老大多多指教!

跑MBIST时,可以分成几个group跑,一起跑在memory上一定会有较大的IR-drop



虽然是slow speed的测试,但如果不控制pattern的翻转,那么可能扫入010101010……序列,这就导致这条chain上所有的ff都会翻转,从而导致每扫一拍,这些ff后面的组合逻辑都会跳变,虽然是slow speed,但其瞬时短路功耗将非常大,也就是说,虽然频率低,平均IR降不大,但dynamic的IR降将非常大,甚至比做mbist的时候还要大很多。

DFT工具控制功耗,其实也就是避免产生0101010101……这样的pattern,如果产生1111100000……这样的序列,瞬态短路功耗就会被降低

学习了,多谢!

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top