tag 标签: 静态时序分析

相关博文
  • 热度 23
    2017-7-18 13:28
    1669 次阅读|
    0 个评论
    问 :谈谈对静态时序分析和动态时序仿真以及LEC的理解,及其各自的特点,最后阐述在其flow中所处的位置? 答 : 静态时序分析 也就是我们常说的STA,是根据电路的拓扑结构对所有的path进行setup 和hold 是否有violation进行分析。覆盖范围广,但是不对功能进行仿真。STA特点:快,能够对全path进行分析。 动态时序仿真 就是我们常说的postsim,它是通过pr拿到netlist和提取RC参数反标文件以及特定的激励对电路的时序和功能进行仿真。它的特点就是慢,而且还不一定能保证覆盖到critical path。 LEC (logic equipment check)是指逻辑等效检查,查看网表修改前后逻辑功能是否等价,别插入个scan chain 功能都变掉了还不知道。这个就是LEC的作用。 STA最关注的Timing signoff,查看是否有setup或hold的Violation问题。 postsim因为时间比较久,通常会优先对异步的设计或是对芯片初始化进行动态时序仿真确保无误,时间允许的话还会做大量case的后仿真。 LEC在很多地方都有应用,比如在RTL代码和综合的网表要做LEC,PR之后的网表和综合的网表也要做LEC。
  • 热度 16
    2013-8-21 16:06
    1942 次阅读|
    0 个评论
    1.   背景      静态时序分析的前提就是设计者先提出要求,然后时序分析工具才会根据特定的时序模型进行分析,给出正确是时序报告。   进行静态时序分析,主要目的就是为了提高系统工作主频以及增加系统的稳定性。对很多数字电路设计来说,提高工作频率非常重要,因为高工作频率意味着高处理能力。通过附加约束可以控制逻辑的综合、映射、布局和布线,以减小逻辑和布线延时,从而提高工作频率。 2.   理论分析    2.1   固定参数launch edge、latch edge、Tsu、Th、Tco概念 2.1.1         launch edge     时序分析起点(launch edge):第一级寄存器数据变化的时钟边沿,也是静态时序分析的起点。 2.1.2        latch edge   时序分析终点(latch edge):数据锁存的时钟边沿,也是静态时序分析的终点。 2.1.3         Clock Setup Time (Tsu)   建立时间(Tsu):是指在时钟沿到来之前数据从不稳定到稳定所需的时间,如果建立的时间不满足要求那么数据将不能在这个时钟上升沿被稳定的打入触发器。如图3.2所示:    图3.2  建立时间图解 2.1.4        Clock Hold Time (Th)   保持时间(Th):是指数据稳定后保持的时间,如果保持时间不满足要求那么数据同样也不能被稳定的打入触发器。保持时间示意图如图3.3所示:     图3.3  保持时间图解 2.1.5         Clock-to-Output Delay(tco)   数据输出延时(Tco):这个时间指的是当时钟有效沿变化后,数据从输入端到输出端的最小时间间隔。 2.2    Clock skew   时钟偏斜(clock skew):是指一个时钟源到达两个不同寄存器时钟端的时间偏移,如图3.4所示:     图3.4  时钟偏斜   时钟偏斜计算公式如下:                                            Tskew = Tclk2 - Tclk1           (公式2-1) 2.2    Data Arrival Time   数据到达时间(Data Arrival Time):输入数据在有效时钟沿后到达所需要的时间。主要分为三部分:时钟到达寄存器时间(Tclk1),寄存器输出延时(Tco)和数据传输延时(Tdata),如图3.5所示   图3.5  数据到达时间   数据到达时间计算公式如下:    Data Arrival Time = Launch edge + Tclk1 +Tco + Tdata        (公式2-2) 2.3    Clock Arrival Time   时钟到达时间(Clock Arrival Time):时钟从latch边沿到达锁存寄存器时钟输入端所消耗的时间为时钟到达时间,如图3.6所示 图3.6  时钟到达时间 时钟到达时间计算公式如下:                                           Clock Arrival Time = Lacth edge + Tclk2              (公式2-3) 2.4    Data Required Time(setup/hold)   数据需求时间(Data Required Time):在时钟锁存的建立时间和保持时间之间数据必须稳定,从源时钟起点达到这种稳定状态需要的时间即为数据需求时间。如图3.7所示:     图3.7  数据需求时间   (建立)数据需求时间计算公式如下:          Data Required Time = Clock Arrival Time - Tsu            (公式2-4)   (保持)数据需求时间计算公式如下:                    Data Required Time = Clock Arrival Time + Th               (公式2-5)  2.5    Setup slack   建立时间余量(setup slack):当数据需求时间大于数据到达时间时,就说时间有余量,Slack是表示设计是否满足时序的一个称谓。  图3.8  建立时间余量   如图3.8所示,建立时间余量的计算公式如下:           Setup slack = Data Required Time - Data Arrival Time        (公式2-6)   由公式可知,正的slack表示数据需求时间大于数据到达时间,满足时序(时序的余量),负的slack表示数据需求时间小于数据到达时间,不满足时序(时序的欠缺量)。 3.1.7    时钟最小周期   时钟最小周期:系统时钟能运行的最高频率。   1.  当数据需求时间大于数据到达时间时,时钟具有余量;   2.    当数据需求时间小于数据到达时间时,不满足时序要求,寄存器经历亚稳态或者不能正确获得数据;   3.    当数据需求时间等于数据到达时间时,这是最小时钟运行频率,刚好满足时序。   从以上三点可以得出最小时钟周期为数据到达时间等于数据需求时间,的运算公式如下:                                                                Data Required Time = Data Arrival Time  图解Setup 与 Hold Slack     从上面两个图中可以清晰的看出Setup与Hold Slack的定义与计算方法: Setup slack=latch edge+Tclk2-Tsu-(launch edge+Tclk1+Tco+Tdata)                   =(latch edge-lanuch edge)+(Tclk2-Tclk1)-(Tsu+Tco+Tdata) 对于工具默认的单周期来说,latch edge-lanuch edge=T,如果不考虑时钟的skew,Tclk2-Tclk1=0,上式可以表达成: Setup slack=T-(Tsu+Tco+Tdata),这就是为什么说源寄存器与目的寄存器之间延迟不能太长的原因,延迟越长,slack越小。 Hold slack=data arrival time – data required time                =(launch edge + Tclk1 + Tco + Tdata) – (latch edge + Tclk2 + Th)                =(launch edge – latch edge) – (Tclk2 – Tclk1) + (Tco + Tdata + Th) 注意,上式中的launch edge为next launch edge,即为latch edge,所以launch edge – latch edge=0,如果不考虑时钟的skew,Tclk2-Tclk1=0,上式可以表达成: Hold slack=Tco + Tdata – Th,这就是为什么说源寄存器与目的寄存器之间延迟不能太短的原因,时间太短,slack越小。   setup  slack 计算     hold  slack 计算
  • 热度 21
    2012-7-21 23:22
    1996 次阅读|
    0 个评论
          后仿真能否被形式验证(Formal Verification)和静态时序分析(Static Timing Analysis)所取代       验证的主要目的:就是检查时间模型是否满足时间要求,是否实现了时间所需的功能。对于集成电路来说,具体就是在时间需求规定的激励下,电路是否产生了符合功能要求的输出;以及在设计需求规定的条件下,电路是否完成正常的功能。     以RTL级设计为仿真对象的前仿真,主要是验证电路的逻辑功能,信号的跳变是瞬时完成的,因此只能在功能上证明设计的正确性,而无法证明在实际电路中逻辑功能仍然正确。     门级仿真是对RTL代码综合并布局布线后生成的门级网表进行时序仿真,是引入了逻辑延时时间的仿真。在后仿真阶段,仿真的过程中引入了线上和门级的延时,重点是验证在引入了实际时延之后系统功能是否正确,以避免因时延问题而导致系统时序功能的错误。     我们知道,当RTL级功能仿真或FPGA验证结束之后,传统的IC设计流程需要完成以下几次门级仿真:综合之后的门级仿真、DFT之后的门级仿真、布局布线之后的门级仿真等。如果设计很大或者电路很复杂,往往需要庞大的测试向量来验证设计的功能及时序是否正确,这就使得我们花费在门级仿真的时间会随着电路规模的增大而直线上升。     那么,可不可以用形式验证(Formal Verification)和静态时序分析(Static Timing Analysis)来代替动态后仿真呢?让我们先简单了解一下形式验证和静态时序分析。     形式验证是一种静态的验证手段,它根据电路结构静态地判断两个设计在功能上是否等价,常用来判断一个设计在修改前和修改后其功能是否保持一致。它运行时无须测试向量,但是必须有一个参照设计和一个待验证的设计。参照设计是设计者认为功能上完备无缺的设计,理论上它可以是用高级语言如C,C++实现的,也可以是用集成电路的建模语言SystemC,但就现实而言,多数形式验证过程中的参照设计就是我们的RTL设计,一般是用verilog或VHDL实现的。     静态时序分析简称STA ,它提供了一种针对大规模门级电路进行时序验证的有效方法。它只需要根据电路网表的拓扑,就可以检查电路设计中所有路径的时序特性,测试路径的覆盖率理论上可以达到100%,从而保证时序验证的完备性;同时由于不需要测试向量,所以STA验证所需时间远小于门级仿真的时间。当然,静态时序分析也有自己的弱点,它只能有效地验证同步时序电路的正确性,而无法验证电路功能的正确性,对于大部分设计中可能包含的异步电路的时序验证,则必须通过门级仿真来保证其时序的正确性。     对于上面的问题,我们的答案是模论两可的。     其实不是后仿不需要,只是这可能花的时间太多,所以人们想用形式验证+STA代替。但是这种方法还是有漏洞的,因为STA只检查边沿timing,而形式验证只看register和combination的抽象功能。后仿在下面三种情况是必要的:异步逻辑设计部分、ATPG向量验证和初始化状态验证。另外,后仿产生的VCD文件还可以做功耗分析。     现在通常的策略是:采用形式验证手段来保证门级网表在功能上与RTL设计保持一致,配合静态时序分析工具保证门级网表的时序,对于全同步的设计,甚至可以不做门级仿真;对于存在异步电路的设计,也只需要针对异步电路进行极少的门级仍真工作。这无疑会加快设计进度,加快产品上市时间。
相关资源
  • 所需E币: 1
    时间: 2023-3-14 00:29
    大小: 549.76KB
    上传者: Argent
    静态时序分析与逻辑
  • 所需E币: 0
    时间: 2021-9-15 19:02
    大小: 3.3MB
    上传者: Argent
    FPGA是一个技术密集型的行业,没有坚实的技术功底,很难形成有竞争力的产品。从技术上来看FPGA未来的发展有广阔的空间,嵌入式开发需要了解不同领域的产品工作原理,包括快速读懂数据手册,搜集了部分数据手册,第三方教育机构的指导性文档,希望对您有所帮助。
  • 所需E币: 0
    时间: 2021-3-22 18:39
    大小: 892.49KB
    上传者: Goodluck2020
    静态时序分析(StaticTimingAnalysis)基础与应用.zip
  • 所需E币: 2
    时间: 2021-3-22 18:45
    大小: 706.12KB
    上传者: Goodluck2020
    华为静态时序分析与逻辑设计.zip
  • 所需E币: 0
    时间: 2021-3-18 16:25
    大小: 597.62KB
    上传者: Argent
    FPGA是一个技术密集型的行业,没有坚实的技术功底,很难形成有竞争力的产品。从技术上来看FPGA未来的发展,至少在几年内还是遵循摩尔定律的规则,工艺不断升级,目前xilinx16nm工艺的FPGA已经成熟商用,xilinx下一代产品会升级到7nm,重点应该还是瞄准通信和可能出现的新兴行业如大数据处理等。有这方面需求的网友不妨来共同学习探讨。
  • 所需E币: 5
    时间: 2021-3-10 21:36
    大小: 956.13KB
    上传者: htwdb
    华为静态时序分析与逻辑设计
  • 所需E币: 0
    时间: 2020-9-28 19:23
    大小: 697.15KB
    上传者: LGWU1995
    华为公司_静态时序分析与逻辑设计
  • 所需E币: 0
    时间: 2020-9-28 19:25
    大小: 888.82KB
    上传者: LGWU1995
    静态时序分析(StaticTimingAnalysis)基础与应用
  • 所需E币: 0
    时间: 2020-8-24 18:22
    大小: 975.27KB
    上传者: samewell
    华为静态时序分析与逻辑设计.pdf
  • 所需E币: 0
    时间: 2020-8-24 18:22
    大小: 984.51KB
    上传者: samewell
    静态时序分析(StaticTimingAnalysis)基础与应用.pdf
  • 所需E币: 4
    时间: 2019-12-25 16:50
    大小: 744.87KB
    上传者: 16245458_qq.com
    静态时序分析(StaticTimingAnalysis)基础及应用静态时序分析(StaticTimingAnalysis)基础及应用◎陈麒旭前言在制程进入深次微米世代之后,芯片(IC)设计的高复杂度及系统单芯片(SOC)设计方式兴起。此一趋势使得如何确保IC质量成为今日所有设计从业人员不得不面临之重大课题。静态时序分析(StaticTimingAnalysis简称STA)经由完整的分析方式判断IC是否能够在使用者的时序环境下正常工作,对确保IC质量之课题,提供一个不错的解决方案。然而,对于许多IC设计者而言,STA是个既熟悉却又陌生的名词。本文将力求以简单叙述及图例说明的方式,对STA的基础概念及其在IC设计流程中的应用做详尽的介绍。什么是STA?STA的简单定义如下:套用特定的时序模型(TimingModel),针对特定电路分析其是否违反设计者给定的时序限制(TimingConstraint)。以分析的方式区分,可分为Path-Based及Block-Based两种。先来看看Path-Based这种分析方式。如图一所示,信号从A点及B点输入,经由4个逻辑闸组成的电路到达输出Y点。套用的TimingModel标示在各逻辑闸上,对于所有输入端到输出端都可以找到相对应的延迟时间。而使用者给定的TimingConstraint为:1.信号A到达电路输入端的时间点为2(AT=2,AT为ArrivalTime)。2.信号B到达电路输入端的时间点为5(AT=5)。3.信号必须在时间点10之前到达输出端Y(RT=10,RT为Req……
  • 所需E币: 3
    时间: 2019-12-25 12:37
    大小: 5.44KB
    上传者: quw431979_163.com
    片上系统芯片设计与静态时序分析……
  • 所需E币: 5
    时间: 2019-12-25 10:05
    大小: 326.59KB
    上传者: givh79_163.com
    01_静态时序分析基本原理和时序分析模型……
  • 所需E币: 5
    时间: 2019-12-25 04:09
    大小: 597.62KB
    上传者: wsu_w_hotmail.com
    静态时序分析与逻辑设计Κ()v1"/#")v+-J1"c-)+JJ-+--#$/b++-)$-J/+"J)-.J-$"--$%W+-!"(ǎI&'"J&()J(ǎ*"$*"$μJ8$*"$……
  • 所需E币: 3
    时间: 2020-1-4 23:23
    大小: 120.34KB
    上传者: 二不过三
    静态时序分析在高速FPGA设计中的应用……
  • 所需E币: 3
    时间: 2020-1-4 23:47
    大小: 21.93KB
    上传者: rdg1993
    100Mbits以太网卡芯片设计与静态时序分析……