本帖最后由 Timme 于 2013-3-22 19:44 编辑
回复 Timme
这篇paper的主题就是hold的worst case可能出现在任意corner,换句话就是没人知道worst case在哪。
如果这个论点成立的话,STA工具恐怕就不能成为sign off的工具了。毕竟foundry给出的cell的corner也就那几个组合。
即便不用全局资源,也不会和ASIC的时钟树一样。ASIC的时钟树会用哪个metal实现,fpga的local routing又会用metal几实现呢。不同的metal,时序差异大着呢。如果不用全局资源,就能和ASIC的时钟树一样的话,FPGA就不用费尽心机的放那么多全局资源上去了,metal也是成本啊。
不用全局资源布时钟的话,register不能用多了,否则skew完全不能保证。在clock skew不能保证的情况下,讨论setup/hold就没有意义。
当然,fpga用于ASIC功能验证的话,确实可以怎么方便怎么来,毕竟只是功能验证。如果用fpga做产品的话,设计和实现的鲁棒性就是很重要的指标了,否则会隐含和客户打官司甚至赔钱的风险。 ...
jeffyking 发表于 2013-3-22 10:04
首先,物理事实是不以我们是否sign-off而转移的。
其次,sign-off并不代表该版图是100%没问题;sign-off只代表该版图成功的概率(或者说良率)大到我们可以接受。这方面最突出的代表就是SSTA(Statistical STA)。
最后,这个观点也不是我原创的。如果你找不到这段话我可以贴出来。
- As discussed previously, hold violations can occur at any point in the PVT continuum and we test it at several – but not all – of the extremes. Essentially, we sample a few PVTs from the continuum and add margin to cover the analysis of the whole. Hold failure in silicon can occur when the balance between two paths is disrupted by variations from the PVTs at which the bal-ance was tested: it can occur at any point in the process spread.
- A typical sign-off strategy might be to analyze hold at (say) four corners from combinations of hot/cold, fast_tran/slow_tran, and worst/best parasitics which leaves out four corners. It also ig-nores two of the four parasitic files which describe some processes. It also ignores mixing condi-tion such as best Metal5 and worst Metal 7, or fast p with slow n. It ignores multiple non-random, systematic, variations between the PVT of the timing analysis and the real condition on wafers which are at risk from fatal hold problems. Thus, techniques to minimize margin based upon the characteristics of random variation are inappropriate for hold analysis because they ignore the systematic variation.
复制代码
metal除了顶层和底层(特别是顶层),其余中间层的电阻电容都差不多(很多时候是完全一样的)。我负责CTS的一片ASIC刚投出去,我真的不知道走M2M3或者走M4M5有什么时序差异,请明示。
FPGA不走Clock Mesh,skew也可以手工调整保证(当然Clock Tree的Skew不可能像Clock Mesh那么小),步骤同ASIC Manual CTS。手工加点Useful Skew,可以提升最高频率,反而比呆板的Clock Mesh灵活。
就算完全不作手动调整,skew比较差,那也只是冲击到最高频率而已,FPGA的STA引擎会跟踪到每条时钟路径,照样会帮我们修setup/hold,何来无意义一说?
ASIC原型验证并不是不注重稳定性,我们跑ASIC原型验证都是好几块板7x24在跑的。ASIC原型验证主要是时钟路径有很多逻辑(Mux,Gate,DFF分频),而且通常不能接受大的Latency。时钟如果从FPGA逻辑单元拉到全局时钟再拉回来,Latency会很大。 |