在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
楼主: easyma

[求助] 想写一本fpga的书,不知道放在哪个论坛,读的人多些

[复制链接]
发表于 2013-3-22 10:04:12 | 显示全部楼层
回复 37# 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做产品的话,设计和实现的鲁棒性就是很重要的指标了,否则会隐含和客户打官司甚至赔钱的风险。
发表于 2013-3-22 19:27:08 | 显示全部楼层
本帖最后由 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)。


最后,这个观点也不是我原创的。如果你找不到这段话我可以贴出来。





  1. 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.
  2. 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会很大。
发表于 2013-3-23 08:26:26 | 显示全部楼层
期待楼主的书
发表于 2013-3-23 11:14:00 | 显示全部楼层


首先,物理事实是不以我们是否sign-off而转移的。

其次,sign-off并不代表该版图是100%没问题;si ...
Timme 发表于 2013-3-22 19:27




    请教Timme:为什么不能有大的Latency?不能进行pipeline处理吗?疑惑ing,还望答疑,多谢
发表于 2013-3-23 11:24:02 | 显示全部楼层
本帖最后由 Timme 于 2013-3-23 11:31 编辑


请教Timme:为什么不能有大的Latency?不能进行pipeline处理吗?疑惑ing,还望答疑,多谢
coyoo 发表于 2013-3-23 11:14




举个在ASIC原型验证中的例子:输入时钟在几级MUX后(由于DFT的存在,这个很多时候不可避免),触发数据寄存器输出。由于这些MUX的存在,时钟不能从一输入就拉到全局,数据寄存器也不能放到IOB里去;这时如果你在MUX末端把时钟拉到全局,再拉回到数据寄存器,Latency就会很大,Output Setup就惨不忍睹。


当然你也可以ASIC用一套RTL,FPGA用另一套RTL。但是要注意,RTL差异越大,FPGA原型验证的价值就越低。

我们的FPGA RTL会尽可能做到和ASIC一模一样,动态的Clock Gating/Mux会全部保留(而且保证Timing,可以随时切换无毛刺)。对于SRAM这种不可能一样的,我们也会注意它们的行为是否100%完全一致。举个例子,对于最简单的单口同步SRAM,对同一地址读写时也有new data和old data之分,RTL写法是不一样的(为了加快FPGA前仿速度,我们不直接例化SRAM IP,而会写成寄存器数组,让FPGA综合器自动认成SRAM)。而且在FPGA例化SRAM IP时,默认值通常是和ASIC相反的。
发表于 2013-3-24 15:51:18 | 显示全部楼层
楼主就放这边吧
发表于 2013-3-25 10:57:09 | 显示全部楼层


举个在ASIC原型验证中的例子:输入时钟在几级MUX后(由于DFT的存在,这个很多时候不可避免),触发数 ...
Timme 发表于 2013-3-23 11:24


没做过ASIC,没有经验哦。

因为我只知道FPGA 的时钟引脚相当于特定资源,一进来就应该走全局的,FPGA中有丰富的时钟布线资源,而且时钟引脚进来的时钟一般先直接到PLL的;也许这和ASIC是不一样的。
发表于 2013-3-25 20:58:51 | 显示全部楼层
就放到EETOP FPGA版块吧,可以和我联系,我给你开一个原创连载的子版块,或者发到讲坛专区里,那里面灌水的人少,可以好好做做连载
 楼主| 发表于 2013-3-26 12:42:12 | 显示全部楼层
回复 47# jackzhang

好的,我最近先和朋友把目录定下来
发表于 2013-4-7 09:37:18 | 显示全部楼层
什么最重要,授人以渔。如果,你还没有了解EDA软件布局布线方法、思路、算法,别人怎么做,似乎都不能统一路线。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /1 下一条

X

小黑屋| 手机版| 关于我们| 联系我们| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2025-6-25 03:55 , Processed in 0.023362 second(s), 7 queries , Gzip On, MemCached On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表