|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
本帖最后由 woody0921 于 2014-12-9 02:19 编辑
一个scan chain有两个时钟域的DFF,一个时钟域的DFF有1000个,另一个时钟域的DFF只有两个。这个chain里有hold violation,应该如何解决。回答:
1. 加lockup latch. 对,如果加了还没有解决,应该怎么办
2. scan chain reorder
第一个回答是对的,
第二个回答自己也没有把握,面试的人也没说对错 (估计错了???)
我的理解是:
这里一个时钟域里的DFF有比较大的clock tree latency,另一个的比较小。这样造成了比较大的clock skew 和 hold violation。
如果lockup latch 都不能解决问题的话,就是很大的 violation, 不可能用加delay buffer 或 set_fix_hold 这样的方法解决问题了。用scan chain reorder。 重新调整可能更有效
请大家讨论一下,看看最佳的解决方案应该是什么。
希望以后大家面试的时候遇到类似的问题也可以有一个比较清晰的思路 |
|