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

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

审核编辑:郭婷

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

    关注

    5446

    文章

    12477

    浏览量

    372761
  • 触发器
    +关注

    关注

    14

    文章

    2051

    浏览量

    63059

原文标题:静态时序分析

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

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    Chroma 80611 电源时序/安规综合分析仪:电器安全与性能的自动化验证专家

    在电器、电源适配器、信息技术设备等产品的生产线末端测试或研发验证中,对其上电时序、关机时序以及安规性能进行快速、全面的自动化测试,是确保产品安全与功能符合
    的头像 发表于 11-04 10:25 216次阅读
    Chroma 80611 电源<b class='flag-5'>时序</b>/安规综合<b class='flag-5'>分析</b>仪:电器安全与性能的自动化<b class='flag-5'>验证</b>专家

    vivado时序分析相关经验

    改为寄存输出。 时序分析有两个主要路径 Intra-clock:同时钟之间的路径分析,需实打实解决。(改善设计,改变综合策略等) Inter-clock:表示跨时钟路径,在静态
    发表于 10-30 06:58

    在Linux ubuntu上使用riscv-formal工具验证蜂鸟E203 SoC的正确性

    内容:在Linux ubuntu上使用riscv-formal工具验证蜂鸟E203 SoC的正确性 步骤: 1、下载和安装riscv-formal工具: bash复制代码 git clone
    发表于 10-24 07:52

    如何验证电能质量在线监测装置数据校验系统的准确

    验证电能质量在线监测装置 数据校验系统的准确 ,核心是通过 “标准基准对比、模拟真实工况、量化指标评估”,确保校验系统能精准识别监测装置数据的 “正确性 / 偏差
    的头像 发表于 09-25 17:42 527次阅读

    如何验证硬件冗余设计的有效

    硬件冗余设计的核心目标是应对单点故障、保障系统连续运行,其有效验证需围绕 “故障发生时的切换能力、数据完整、业务连续” 三大核心指标展开,通过
    的头像 发表于 09-18 16:36 788次阅读
    如何<b class='flag-5'>验证</b>硬件冗余设计的有效<b class='flag-5'>性</b>?

    如何使用运行数据趋势分析验证装置准确

    利用运行数据趋势分析验证电能质量在线监测装置准确,核心逻辑是 通过长期采集的电网运行数据,判断其趋势是否符合电网实际规律、是否具备稳定性与一致
    的头像 发表于 09-18 10:33 343次阅读
    如何使用运行数据趋势<b class='flag-5'>分析</b><b class='flag-5'>验证</b>装置准确<b class='flag-5'>性</b>?

    看不见的安全防线:信而泰仪表如何验证零信任有效

    ——从静态防御转向动态信任评估,从粗放权限分配转向最小化权限原则。本文将深入解析零信任安全架构的核心机理,并基于零信任实现方案,全面介绍如何通过信而泰测试仪表进行专业验证,确保零信任的安全可靠。 零信任
    发表于 09-09 15:33

    如何验证硬件加速是否真正提升了通信协议的安全

    验证硬件加速是否真正提升通信协议的安全,需从 安全功能正确性、抗攻击能力增强、安全性能适配、合规一致 等核心维度展开,结合实验室测试与真实场景
    的头像 发表于 08-27 10:16 839次阅读
    如何<b class='flag-5'>验证</b>硬件加速是否真正提升了通信协议的安全<b class='flag-5'>性</b>?

    EDA是什么,有哪些方面

    仿真、时序分析等工具验证设计正确性,避免实际制造中的错误]。 逻辑综合与优化:将高层次设计转换为门级网表,进行逻辑优化、功耗分析
    发表于 06-23 07:59

    西门子再收购EDA公司 西门子宣布收购Excellicon公司 时序约束工具开发商

    精彩看点 此次收购将帮助系统级芯片 (SoC) 设计人员通过经市场检验的时序约束管理能力来加速设计,并提高功能约束和结构约束的正确性   西门子宣布 收购 Excellicon 公司 ,将该公司用于
    的头像 发表于 05-20 19:04 1286次阅读
    西门子再收购EDA公司  西门子宣布收购Excellicon公司  <b class='flag-5'>时序</b>约束工具开发商

    变压器分布电容对反激变换器的影响分析

    ,对该模型进行了等效处理,继而详细分析了分布电容对电路工作产生的影响,归纳出有意义的结论,并基于以上研究,提出控制寄生参数的工程方法,并通过实验验证了文中分析
    的头像 发表于 05-14 13:58 2.2w次阅读
    变压器分布电容对反激变换器的影响<b class='flag-5'>分析</b>

    集成电路设计中静态时序分析介绍

    Analysis,STA)是集成电路设计中的一项关键技术,它通过分析电路中的时序关系来验证电路是否满足设计的时序要求。与动态仿真不同,STA不需要模拟电路的实际运行过程,而是
    的头像 发表于 02-19 09:46 1319次阅读

    DAC0832的典型接法几点正确性的疑问求解

    DAC0832的典型接法几点正确性的怀疑: 1.Iout2直接接地。电路输出端子直接接地违背常理,那样会烧坏片子。 2.LM336就这样简单的接下可以产生2.5v参考,不现实。需要接电源和限流
    发表于 02-05 09:21

    英诺达发布全新静态验证产品,提升芯片设计效率

    了重要一步,将为中国芯片产业的发展注入新的活力。 静态验证作为一种业界普遍使用的验证方法,通过对设计的源代码进行深入分析,能够发现设计中的潜
    的头像 发表于 12-24 16:53 1169次阅读

    根据ADS1292R Data sheet组了一个前端电路,请问要如何测试电路的正确性?

    我根据ADS1292R Data sheet 自己组了一个前端电路,请问要如何测试电路的正确性?
    发表于 12-16 06:27