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

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

审核编辑:郭婷

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

    关注

    5387

    文章

    11530

    浏览量

    361639
  • 触发器
    +关注

    关注

    14

    文章

    2000

    浏览量

    61132

原文标题:静态时序分析

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

收藏 人收藏

    评论

    相关推荐

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

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

    ADS5282如何通过其他方式验证寄存器写入的正确性

    word. 测试结果: (1)差分数据对N端无变化 (2)差分P端输出300多mv电压,差分N端输出100多mv电压 另外,ADS5282是只写芯片,如何通过其他方式验证寄存器写入的正确性
    发表于 11-18 08:33

    电脑如何直接使用rs232串口控制PGA460?如何检测回复的数据的正确性

    电脑直接使用rs232串口控制PGA460,该怎么连接?怎样检测回复的数据的正确性
    发表于 10-11 06:12

    超高速数据采集系统的时序设计与信号完整分析

    电子发烧友网站提供《超高速数据采集系统的时序设计与信号完整分析.pdf》资料免费下载
    发表于 09-20 11:34 0次下载

    浅谈逻辑分析仪的技术原理和应用领域

    故障原因,并进行故障排除。 系统设计验证:在数字系统设计过程中,使用逻辑分析仪可以实时验证设计的正确性通过捕获和
    发表于 09-12 15:04

    Lint静态验证工具如何助力IC设计

    静态验证方法实现了将原本在仿真、综合、布局布线阶段出现的问题移动到RTL阶段进行检测和分析,帮助IC设计者在早期发现和诊断设计缺陷,缩短芯片整体开发周期,降低成本。
    的头像 发表于 09-03 10:15 643次阅读
    Lint<b class='flag-5'>静态</b><b class='flag-5'>验证</b>工具如何助力IC设计

    时序逻辑电路故障分析

    时序逻辑电路的主要故障分析是一个复杂而重要的课题,它涉及电路的稳定性、可靠以及整体性能。以下是对时序逻辑电路主要故障的全面分析,旨在帮助理
    的头像 发表于 08-29 11:13 815次阅读

    如何保障光伏发电装置的安全和适用

    确保光伏发电装置安全和质量高标是重点。安装正确性验证、系统性能检查及持续能源输出确认是基本要求。SEAWARDPV200PV200测试仪提供高效测试及诊断,支持无线NFC连接pvmobileAndroid应用程序进行数据传输和即时分析
    的头像 发表于 08-01 15:15 256次阅读
    如何保障光伏发电装置的安全<b class='flag-5'>性</b>和适用<b class='flag-5'>性</b>

    FPGA 高级设计:时序分析和收敛

    的综合、映射、布局和布线,以减小逻辑和布线延时,从而提高 工作频率。 2、获得正确时序分析报告 几乎所有的 FPGA 设计平台都包含静态时序
    发表于 06-17 17:07

    频谱分析仪的分类

    这类分析仪可以在非常短的时间内捕捉宽带的信号,并以高速率提供精细的频谱分析。它们通常用于验证无线系统的正确性、检测干扰源和跟踪无线信号。实时频谱分析
    的头像 发表于 05-08 15:32 535次阅读

    电路仿真的重要

    设计验证与预测:电路仿真能够模拟电路在不同条件下的运行状况,从而验证设计的正确性和可行。这有助于工程师在设计阶段就发现和解决潜在的问题,避免在实际制造过程中才发现错误。此外,
    的头像 发表于 03-29 14:17 953次阅读

    fpga原型验证流程

    FPGA原型验证流程是确保FPGA(现场可编程门阵列)设计正确性和功能的关键步骤。它涵盖了从设计实现到功能验证的整个过程,是FPGA开发流程中不可或缺的一环。
    的头像 发表于 03-15 15:05 1558次阅读

    fpga仿真是什么

    FPGA仿真是一种验证FPGA设计正确性的过程,主要用来分析设计电路逻辑关系的正确性。在FPGA设计中,仿真测试是把FPGA当作一个功能芯片,给一些输入信号,再观测输出信号,看输出信号
    的头像 发表于 03-15 13:59 1449次阅读

    华为云盘古大模型通过金融大模型标准符合验证

    近日,在中国信通院组织的可信AI大模型标准符合验证中,华为云的盘古大模型表现出色,成功通过了金融大模型标准的符合验证,并荣获优秀级(4+
    的头像 发表于 03-05 10:12 637次阅读

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

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