0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

静态时序分析是什么 静态时序分析可以检查什么

sanyue7758 来源:数字ICer 2023-07-20 09:46 次阅读

静态时序分析介绍

传统的电路设计分析方法是仅仅采用动态仿真的方法来验证设计的正确性。随着集成电路的发展,这一验证方法就成为了大规模复杂的设计验证时的瓶颈。

相对于动态仿真方法,静态时序分析方法要快很多,而且它能够验证所有的门级电路设计的时序关系。

静态时序分析最大的特点是不需要加入输入测试向量,每一个时序路径都自动被检测到。

静态时序分析工具主要对设计电路中以下路径进行分析

从原始输入端到设计电路中的所有触发器;

从触发器到触发器;

从触发器到设计电路的原始输出端口

从设计电路的原始输入端口到原始输出端口。

时序路径(Timing Path)

路径1:从设计电路的原始输入端口A到触发器的数据端口D。

路径2:从触发器的CLK端到触发器的数据输入端口D。

路径3:从触发器的CLK端到设计电路的原始输出端口Z。

路径4:从设计电路的原始输入端口A到设计电路的原始输出端口Z。

acb97d70-264a-11ee-962d-dac502259ad0.png

触发器的建立时间(Setup Time):

指的是时钟信号变化之前数据保持不变的时间

acd5649a-264a-11ee-962d-dac502259ad0.png

触发器的保持时间(Hold Time)

指的是时钟信号变化之后数据保持不变的时间

ace67e10-264a-11ee-962d-dac502259ad0.png

时间裕量(Slack)

Slack是指信号在时序路径上要求的时间和实际花费的时间之差。

acf62126-264a-11ee-962d-dac502259ad0.png

时钟偏斜(Clock Skew)

时钟偏斜是指从时钟定义点到不同触发器时钟引脚的延时差。在可综合的同步设计电路中,在一个时钟沿第一个触发器放出数据,此数据在另一个时钟沿(通常是接下来的那个时钟沿)被第二个触发器接收到。如果这两个时钟沿(发出数据的时钟沿和接收数据的时钟沿)是同一个时钟源放出的,则在理想状态下,两个时钟沿相差一个时钟周期。但是由于两个触发器的时钟路径的不同,路径上的延时会有一定的差别,接收数据的时钟沿可能早到或晚到,这样的话就会产生时钟偏斜。

实例:用PrimeTime进行时序分析

Primetime,缩写为PT,是一个独立的STA工具。它不仅能够在设计电路所要求的约束条件下检查时序,还能对设计电路进行全面的静态时序分析。

ad0953b8-264a-11ee-962d-dac502259ad0.png

(1)读取设计电路数据

把电路的设计代码文件读入PT中,以便PT进行分析。值得注意的是,PT做静态时序分析的时候只能读映射过的文件。

read_db-netlist_only.db#dbformat
read_verilog.sv#verilogformat
read_vhdl.svhd#vhdlformat
read_edif.edf#EDIFformat

(2)创建设计电路的约束条件

对设计电路设置约束条件,这样才能得到接近实际情况的分析结果。通常需要设置相关的时钟信号和输入/输出延时

create_clock-period40-waveform{020}CLK
set_clock_latency-source0.2CLK
set_clock_uncertainty-setup0.5-hold0.5CLK
set_dont_touch_networkCLK
set_ideal_networkCLK

(3)指定环境分析条件

除了一些语法上轻微的差别,PT的环境的设置命令与DC一致

下面是常用的设置环境的命令:

set_wire_load_model-name
set_wire_load_mode< top | enclosed | segmented>
set_operating_conditions
set_load50[all_outputs]
set_input_delay10.0-clock[all_inputs]
set_output_delay10.0-clock[all_outputs]

(4)进行静态时序分析

report_timing:显示时序路径信息
report_timing -delay max -from a -to z2
report_timing -delay min -from a -to z2

上述第一条命令用于建立时间冲突的检查,第二条命令用于保持时间冲突的检查。

report_constraint:显示设计电路的相关约束信息。
report_constraint -all_violators

检查时序冲突和修正冲突

由于静态时序工具把整个设计电路打散成时序路径,分析不同路径的时序信息,得到建立时间和保持时间的计算结果。而静态时序分析的精髓就在于判断和分析这两个参数的结果。

ad3581ea-264a-11ee-962d-dac502259ad0.png

消除建立、保持时间的冲突方法

消除建立时间的冲突方法如下:

加强约束条件重新综合设计电路或对产生冲突的时序路径进行进一步的优化;

通过做ECO(Engineering Change Order)来消除冲突;

如果以上方法都不能产生效果,那可能只好通过修改RTL代码来实现。

消除保持时间冲突方法如下:

绝大多数的布局布线工具都具有自动消除保持时间冲突的功能,可以通过这些工具来实现;

如果工具不能实现的话,可以在产生冲突的时序路径上通过ECO添加缓冲器逻辑,使得数据到达的时间符合保持时间的检查,以此消除冲突。

统计静态时序分析

静态时序分析很久以来都被看作是百万门级芯片时序分析的基本方法及设计完成的检验。然而,随着深亚微米技术进一步下降到90 nm及其以下的线宽,设计者在进行静态时序分析时面临着太多的不确定性。

用统计表态时序分析(SSTA,Statistical Static Timing Analysis)的方法有可能估计出许多不确定的现象,帮助设计者精调设计,减少不必要的过度设计,使得设计更可靠,进而提高良率。

传统的时序分析的局限

制程变异的来源有很多,主要包括每批晶圆的差异、晶圆与晶圆间的差异、裸片间的差异,以及裸片上的差异等。

将电路置于最好条件(Best Case)、最坏条件(Worst Case)等多种情况下进行分析,但是对于晶片上的制程变异却无能为力。因为在最坏条件分析时,静态时序分析总是假定一个晶圆上的电路同时都处于最坏情况下,而实际上,同一个晶圆上的电路不可能同时都处于最坏的条件下(这可由分析版图或者工艺得来)。

在一个芯片上不同位置上画了两个完全一样的MOS管,制造出来后,两只MOS管的性能很难保证完全一样。当工艺在90 nm以下时,误差会高达20%~30%。传统式的静态时序分析是将芯片上所有器件按同一个工艺及工作条件下的时间路径上的延时加起来,因而传统式的静态时序分析对于延迟的估计过于悲观。

统计静态时序分析的概念

在静态时序分析中,信号的到达时间和门延迟都是确定的数值。

在统计静态时序分析中,当工艺参数的偏差用随机变量建模后,作为工艺参数函数的门延迟、互连线延迟和门输入端信号的到达时间自然也需要用带有概率分布的随机变量来描述。

统计静态时序分析的步骤

首先,要有用于统计静态时序分析的标准单元库。

通过统计静态时序分析,找出合适的时序窗(Timing Window),在此窗中,良率可以达到最高。

总之,统计静态时序分析通过对制程变异进行恰当的建模,更好地解决了延迟的不确定性问题,避免了过度的余量,提高了设计的性能及制造的良品率。






审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 触发器
    +关注

    关注

    14

    文章

    2000

    浏览量

    61148
  • 静态时序分析

    关注

    0

    文章

    28

    浏览量

    9587
  • 时钟信号
    +关注

    关注

    4

    文章

    448

    浏览量

    28568
  • CLK
    CLK
    +关注

    关注

    0

    文章

    127

    浏览量

    17165
  • 时钟偏斜
    +关注

    关注

    0

    文章

    4

    浏览量

    6343

原文标题:来学习下静态时序分析

文章出处:【微信号:处芯积律,微信公众号:处芯积律】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    静态时序分析原理及详细过程

    静态时序分析工具很好地解决了这两个问题。它不需要激励向量,可以报出芯片中所有的时序违例,并且速度很快。 通过
    的头像 发表于 11-25 11:03 9955次阅读
    <b class='flag-5'>静态</b><b class='flag-5'>时序</b>的<b class='flag-5'>分析</b>原理及详细过程

    [求助]静态时序分析时序仿真?

    自己做了一个工程,静态时序分析的结果CLK信号的SLACK是负值(-7.399ns),书上说该值是负值时说明时序不对,但是我感觉时序仿真的结
    发表于 03-03 23:22

    静态时序分析与逻辑(华为内部培训资料)

    静态时序概念,目的 静态时序分析路径,方法 静态时序
    发表于 07-09 18:28 130次下载

    静态时序分析在IC设计中的应用

    讨论了静态时序分析算法及其在IC 设计中的应用。首先,文章讨论了静态时序分析中的伪路径问题以及路
    发表于 12-20 11:03 95次下载
    <b class='flag-5'>静态</b><b class='flag-5'>时序</b><b class='flag-5'>分析</b>在IC设计中的应用

    静态时序分析基础及应用

    _静态时序分析(Static_Timing_Analysis)基础及应用[1]。
    发表于 05-09 10:59 31次下载

    华为静态时序分析与逻辑设计

    华为静态时序分析与逻辑设计,基础的资料,快来下载吧
    发表于 09-01 15:44 56次下载

    静态时序分析基础及应用

    静态时序分析基础及应用
    发表于 01-24 16:54 7次下载

    静态时序分析:如何编写有效地时序约束(一)

    静态时序分析是一种验证方法,其基本前提是同步逻辑设计(异步逻辑设计需要制定时钟相对关系和最大路径延时等,这个后面会说)。静态时序
    的头像 发表于 11-22 07:07 3502次阅读

    正点原子FPGA静态时序分析时序约束教程

    静态时序分析检查芯片时序特性的一种方法,可以用来检查
    发表于 11-11 08:00 63次下载
    正点原子FPGA<b class='flag-5'>静态</b><b class='flag-5'>时序</b><b class='flag-5'>分析</b>与<b class='flag-5'>时序</b>约束教程

    华为FPGA硬件的静态时序分析与逻辑设计

    本文档的主要内容详细介绍的是华为FPGA硬件的静态时序分析与逻辑设计包括了:静态时序分析一概念与
    发表于 12-21 17:10 21次下载
    华为FPGA硬件的<b class='flag-5'>静态</b><b class='flag-5'>时序</b><b class='flag-5'>分析</b>与逻辑设计

    FPGA的静态时序分析详细讲解分析

    任何学FPGA的人都跑不掉的一个问题就是进行静态时序分析静态时序分析的公式,老实说很晦涩,而且
    发表于 01-12 17:48 19次下载
    FPGA的<b class='flag-5'>静态</b><b class='flag-5'>时序</b><b class='flag-5'>分析</b>详细讲解<b class='flag-5'>分析</b>

    时序分析静态分析基础教程

    本文档的主要内容详细介绍的是时序分析静态分析基础教程。
    发表于 01-14 16:04 14次下载
    <b class='flag-5'>时序</b><b class='flag-5'>分析</b>的<b class='flag-5'>静态</b><b class='flag-5'>分析</b>基础教程

    解读FPGA的静态时序分析

    任何学FPGA的人都跑不掉的一个问题就是进行静态时序分析静态时序分析的公式,老实说很晦涩,而且
    的头像 发表于 03-14 19:10 793次阅读

    静态时序分析的基本概念和方法

    引言 在同步电路设计中,时序是一个非常重要的因素,它决定了电路能否以预期的时钟速率运行。为了验证电路的时序性能,我们需要进行 静态时序分析
    的头像 发表于 06-28 09:38 1529次阅读
    <b class='flag-5'>静态</b><b class='flag-5'>时序</b><b class='flag-5'>分析</b>的基本概念和方法

    静态时序分析的相关概念

      本文主要介绍了静态时序分析 STA。
    的头像 发表于 07-04 14:40 1352次阅读
    <b class='flag-5'>静态</b><b class='flag-5'>时序</b><b class='flag-5'>分析</b>的相关概念