• 注册
  • 查看作者
  • STA-0. 静态时序分析概述

    您好,我在芯片后端领域工作有十年时间,负责过多颗SoC芯片顶层的STA的工作。从这一篇文章开始,我会尝试着系统性地去介绍STA,力争让这个领域的新人能有一份“读这一本就够了”的原理性材料,也希望让更多有经验的人了解STA的底层的逻辑。

    静态时序分析(Static Timing Analysis, 以下统一简称STA)是验证数字集成电路时序是否合格的一种方法,其中需要进行大量的数字计算,需要依靠工具进行,但是我们必须了解其中的原理。在综合工具(DC/Genus 等),布局布线工具(ICC2/Innovus 等),时序分析工具(PrimeTime/Tempus 等)中都嵌入了不同的STA引擎,这些引擎往往在时间和精度方面有一些折衷,但是目的就是以尽量小的误差去模拟物理器件和绕线的SPICE模型,从而更接近芯片生产出来后真实的性能。

    为了更好地理解STA,有必要提一下时序仿真,它是另外一种验证数字集成电路时序是否合格的方法。下面用一张表来对比一下这两者之间的区别:

    • 第一点是激励波形,STA是不需要的激励波形的,但是需要SDC(Synopsys Design Constraint,时序约束),后续的文章会具体介绍SDC的内容, 而时序仿真时严重依赖激励波形的;
    • 第二点是完整度,STA能够对数字电路中所有的时序路径进行全面的检查,而时序仿真在覆盖率上有一定限制;
    • 第三点是效率,STA的比较简单,速度更快,而生成仿真需要的激励,建立仿真环境可能费时费力;
    • 第四点是鲁棒性,STA能够考虑到电路中串扰噪声以及OCV(On Chip Violation, 片上偏差)的影响,提高芯片制成后的良率,而时序仿真做不到这一点。
    特性 STA 时序仿真
    激励波形 不需要输入激励波形,但需要SDC 与激励波形有关
    完整度 能够对电路中所有的时序路径进行全面检查 覆盖率有一定限制
    效率 简单,速度快 仿真费时,产生激励费力
    鲁棒性 能够考虑到串扰噪声以及OCV的影响 没有这方面的考量

    既然,STA在数字集成电路中如此不可或缺,那具体是由哪些人负责,又是做什么具体的工作呢?关于这个问题,在不同的公司各有不同,但是负责STA的人一般都会同时负责综合,生成SDC,标准单元工艺库的选择,时序签核(Timing Signoff)及相关标准的制定等等。他们需要对设计有一定了解,更加需要对工艺的时序特性有全面地掌握,在系统性能指标的定义时需要提供参考意见。作为芯片时序性能检查的最后的把关人,需要一定经验的积累,同时也需要敏锐发现并解决潜在新问题的能力。(有没有感觉像是招聘JD:)

    当然,STA也有它的局限性,需要通过仿真进行交叉验证。下面简单列举几个方面:

    • STA针对的是数字电路,和模拟电路相关的路径无法通过STA验证

    • 数字电路中产生的不定态在STA不会验证,这个需要通过仿真进行仔细检查确认

    • 电路中不同状态机之间的同步需求不能通过STA来验证

    • 对时钟生成电路的验证无法通过STA完成

    • 时序约束中会有例外情况,需要人工处理

    下一篇,会从一个反相器开始阐述时序的问题,如果您有任何问题和建议,都可以直接在公众号留言,我每周都会查看回复。

  • 0
  • 0
  • 0
  • 4.67w
  • 请登录之后再进行评论

    登录
  • 单栏布局 侧栏位置: