随笔分类 - ASIC
摘要:我们在芯片设计与调试中,一定曾经遇到过一些诡异的问题。比如芯片的某一部分莫名其妙的复位却并没有故障记录、比如有的问题上下电和复位表现不一。甚至在有的FPGA项目后期,每一次重布局布线都是对人品的考验,祈祷在下一个版本中,Voldemort不会出现。根本原因是多方面的,但是不难发现亚稳态和毛刺的影子。幸运的是,这些问题难以定位但容易在设计中避免,只需我们在设计中稍加关注即可避免。任何一个成熟的团队都应该有自己的“checklist”。最近的一次检视中,发现一个设计可能同时受亚稳态和毛刺影响。那个有4年经验的工程师漫不经心的说“如果完全照教科书做,的确应该像你说的那样”。与遵守规则同样重要的是对规
阅读全文
摘要:版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明http://bb2hh.blogbus.com/logs/39654476.html注明:如需转载,请注明作者出处,谢谢~,Author:pythonlong以下根据资料和个人体会整理,如果错误,疑问欢迎请指正,讨论!!用dc综合过程中需要对输入输出端口进行约束。一般的约束出发点有两种,一种是dc,一种是ac。所谓的dc是指已知输入延迟,或者输出延迟。这个要从系统考虑。所谓的ac是指输入输出延迟未知,但是知道器件输入需要的保持,建立时间的关系。下面我们看下对于输入,根据dc,ac如何约束。1.DC如果我们知道Tdelay的max
阅读全文
摘要:版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明http://bb2hh.blogbus.com/logs/48493011.htmlhttp://filer.blogbus.com/4218525/resource_42185251255619337y.gz1快采慢:慢周期15ns,快周期5ns没修正前:修正后:2.慢采快 慢周期15ns,快周期5ns没修正前:修正后:3,零周期.没修正前:修正后:
阅读全文
摘要:版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明http://bb2hh.blogbus.com/logs/38665424.html注明:如需转载,请注明作者出处,谢谢~,Author:pythonlong以下根据资料和个人体会整理,如果错误,疑问欢迎请指正,讨论!!在设置multicycle_path的过程中,一定要注意到底start clock 是多周期,还是end clock 是多周期。这关系到时序分析。默认情况下,set_multicycle_path对建立时间的分析是设置end clock为多周期,对保持时间分析师设置start clock为多周期。即:set_mu
阅读全文
摘要:注明:如需转载,请注明作者出处,谢谢~,Author:pythonlong以下根据资料和个人体会整理,如果错误,疑问欢迎请指正,讨论!!在讲多周期路径之前,先看下单频率路径的建立关系和保持关系『Design Compiler calculates the default setup and hold relations and derives single-cycle timing, based on active edges.』1.对于startpoint,active edge是寄存器的open edge。2.对于endpoint,active edge是寄存器的close edge。3.
阅读全文
摘要:注明:如需转载,请注明作者出处,谢谢~,Author:pythonlong以下根据资料和个人体会整理,如果错误,疑问欢迎请指正,讨论!!有了上篇的知识http://bb2hh.blogbus.com/logs/20756952.html,下面开始正式分析时间余量slack。其实有了上面的知识,只要稍微说明下大家都会很明白。在介绍slack之前,我们要先了解一下要求时间(required time)和达到时间(arrive time)的概念以及计算方法。如果没有特殊说明,黑色clock代表没有影响因素的理想时钟,红色(粉色)clock代表收到latency影响的时钟。蓝色clock代表同时受到l
阅读全文
摘要:注明:如需转载,请注明作者出处,谢谢~,Author:pythonlong以下根据资料和个人体会整理,如果错误,疑问欢迎请指正,讨论!!前面一篇讲了基本的建立时间和保持时间以及时序路径划分。在这篇开始之前,先介绍一下很经典而且会时常用到的用来讲解的一个电路图,如下。这篇文章的讲解也会给予这个电路图,讲解的时候我把电路图分割成需要的部分:)既然我们知道了建立时间和保持时间的含义,这篇主要是根据工厂提供的标准单元库中时序器件的建立时间和保持时间来预估我们的约束对设计的影响,是否满足时序要求,简单点就是说,时序有没有violator。set_input_delay :input_delay是设置外部
阅读全文
摘要:注明:如需转载,请注明作者出处,谢谢~,Author:pythonlong以下根据资料和个人体会整理,如果错误,疑问欢迎请指正,讨论!!ic代码的综合过程可以说就是时序分析过程,dc会将设计打散成一个个路经,这些路经上有cell延迟和net延迟,然后dc会根据你加的约束,来映射库中符合这种延迟以及驱动的器件。从而达到综合的目的。dc的所有时序约束基础差不多就是setup time 和 hold time。 可以用下面的图片说明:所谓setup time即建立时间,也就说数据在时钟到来之前保持稳定所需要的时间,hold time 即保持时间,也就是说在时钟到来之后数据需要保持稳定的时间。在深入建
阅读全文