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

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

3天内不再提示

通过静态时序分析验证设计的正确性

sally100 来源:数字ICer 作者:数字ICer 2022-11-28 15:26 次阅读

静态时序分析介绍

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

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

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

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

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

从触发器到触发器;

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

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

时序路径(Timing Path)

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

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

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

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

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

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

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

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

时间裕量(Slack)

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

时钟偏斜(Clock Skew)

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

更多请查看 :

综合与时序分析

PTPX功耗分析 | Average Power Analysis

PTPX功耗分析 | Peak Power Analysis

实例:用PrimeTime进行时序分析

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

(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

检查时序冲突和修正冲突

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

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

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

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

通过做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),在此窗中,良率可以达到最高。

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

审核编辑:郭婷

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

    关注

    5320

    文章

    10732

    浏览量

    353370
  • 触发器
    +关注

    关注

    14

    文章

    1677

    浏览量

    60402

原文标题:静态时序分析

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

收藏 人收藏

    评论

    相关推荐

    数字电路设计有哪些仿真验证流程

    设计的要求运行。 本文将详细介绍数字电路设计的仿真验证流程,以及每个步骤的重要性和方法。 仿真验证的目标: 在设计阶段,仿真验证的目标是验证电路的功能
    的头像 发表于 01-02 17:00 379次阅读

    电源时序控制的正确方法,你掌握了吗?

    电源时序控制的正确方法,你掌握了吗?
    的头像 发表于 12-15 09:27 778次阅读
    电源<b class='flag-5'>时序</b>控制的<b class='flag-5'>正确</b>方法,你掌握了吗?

    FPGA工程师需要具备哪些技能?

    和技术进行可靠正确性验证。这些技术包括静态时间分析、动态观测、仿真、实验室测试等。 静态
    发表于 11-09 11:03

    为什么异步fifo中读地址同步在写时钟域时序分析通过

    为什么异步fifo中读地址同步在写时钟域时序分析通过? 异步FIFO中读地址同步在写时钟域时序分析
    的头像 发表于 10-18 15:23 356次阅读

    如何使用Verilog语言进行仿真验证

    仿真验证主要作用是搭建一个测试平台,测试和验证程序设计的正确性验证设计是否实现了我们所预期的功能。其结构如下图所示。
    的头像 发表于 10-02 16:29 847次阅读
    如何使用Verilog语言进行仿真<b class='flag-5'>验证</b>

    集成逻辑分析仪(ILA)的使用方法

    在日常FPGA开发过程中,逻辑代码设计完成后,为了验证代码逻辑的正确性,优先使用逻辑仿真(modesim)进行验证。仿真验证通过后进行板级
    的头像 发表于 10-01 17:08 1846次阅读
    集成逻辑<b class='flag-5'>分析</b>仪(ILA)的使用方法

    时序仿真与功能仿真的区别有哪些?

    时序仿真与功能仿真的区别有哪些? 时序仿真和功能仿真都是电子设计自动化(EDA)过程中的常见任务,它们都是为了验证验证电路设计的正确性。然
    的头像 发表于 09-17 14:15 2871次阅读

    时序分析基本概念解析

    正如“聚合”的意思(字典)“两个或多个事物聚集在一起的发生”。所以我们可以假设它也与 2 个时钟路径聚集在一起有关。 (了解时钟路径请参考另一篇博客-静态时序分析基础:第1部分“时序
    的头像 发表于 08-08 10:31 586次阅读
    <b class='flag-5'>时序</b><b class='flag-5'>分析</b>基本概念解析

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

    传统的电路设计分析方法是仅仅采用动态仿真的方法来验证设计的正确性。随着集成电路的发展,这一验证方法就成为了大规模复杂的设计验证时的瓶颈。
    的头像 发表于 07-20 09:46 1538次阅读
    <b class='flag-5'>静态</b><b class='flag-5'>时序</b><b class='flag-5'>分析</b>是什么 <b class='flag-5'>静态</b><b class='flag-5'>时序</b><b class='flag-5'>分析</b>可以检查什么

    静态时序分析的相关概念

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

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

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

    同步电路设计中静态时序分析时序约束和时序路径

    同步电路设计中,时序是一个主要的考虑因素,它影响了电路的性能和功能。为了验证电路是否能在最坏情况下满足时序要求,我们需要进行静态时序
    发表于 06-28 09:35 561次阅读
    同步电路设计中<b class='flag-5'>静态</b><b class='flag-5'>时序</b><b class='flag-5'>分析</b>的<b class='flag-5'>时序</b>约束和<b class='flag-5'>时序</b>路径

    STA-0.静态时序分析概述

    静态时序分析(Static Timing Analysis, 以下统一简称 **STA** )是验证数字集成电路时序是否合格的一种方法,其中
    的头像 发表于 06-27 11:43 574次阅读
    STA-0.<b class='flag-5'>静态</b><b class='flag-5'>时序</b><b class='flag-5'>分析</b>概述

    基于形式验证的高效RISC-V处理器验证方法

    随着RISC-V处理器的快速发展,如何保证其正确性成为了一个重要的问题。传统的测试方法只能覆盖一部分错误情况,而且无法完全保证处理器的正确性。因此,基于形式验证的方法成为了一个非常有前途的方法,可以更加全面地
    的头像 发表于 06-02 10:35 1018次阅读

    FPGA静态时序分析简单解读

    任何学FPGA的人都跑不掉的一个问题就是进行静态时序分析静态时序分析的公式,老实说很晦涩,而且
    的头像 发表于 05-29 10:24 372次阅读
    FPGA<b class='flag-5'>静态</b><b class='flag-5'>时序</b><b class='flag-5'>分析</b>简单解读