静态时序分析 第二章 基础知识

这篇具有很好参考价值的文章主要介绍了静态时序分析 第二章 基础知识。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

1. 逻辑门单元

2. 门单元的时序计算参数

        2.1 信号转换延时(transition delay)

         2.2 逻辑门延时(logic gate delay)

3.  时序单元相关约束

        3.1 建立时间(setup time)

        3.2 保持时间(hold time)

        3.3 恢复时间

        3.4 移除时间

         3.5 最小脉冲宽度

4. 时序路径

5. 时钟特性

        5.1 时钟周期(ckock period)

        5.2 时钟占空比(clock duty cycle)

        5.3 时钟转换时间(clock transition time)

        5.4 时钟延迟(clock delay)

        5.5 时钟偏斜(clock skew)

6. 时序弧

        6.1 组合时序弧

        6.2 边沿时序弧

        6.3 复位清零时序弧

        6.4 三态使能时序弧

        6.5 建立时序弧

        6.6 保持时序弧

        6.7 恢复时序弧

        6.8 移除时序弧

        6.9 脉宽时序弧

7. PVT环境

         7.1 TYP(Typical)

         7.2 BCF(Best-Case Fast)

        7.3 WCS(Worst-Case Slow)

        7.4 ML(maximal leakage)

        7.5 TL(typical leakage)

8. 时序计算单位


1. 逻辑门单元

        逻辑门单元分为组合逻辑门单元和时序逻辑门单元两种。

        反相器逻辑门单元的输出结果有两个状态:高电平与低电平,分别对应数字逻辑的0和1。

        时序分析中逻辑门延时信号线延时组成的阶段延时(stage delay)是时序分析中计算延时的主要组成部分。

静态时序分析 第二章 基础知识

        逻辑门延时:逻辑单元自身逻辑求值的时间

        信号线延时:逻辑信号从逻辑门单元的输出端口开始在互联线上传播到下一级逻辑输入端口的延时。

2. 门单元的时序计算参数

        2.1 信号转换延时(transition delay)

        定义:输出/输入端口的信号电平在高/低之间转换所需要的时间

静态时序分析 第二章 基础知识

         当信号电压值大于逻辑1阈值电压Vth2时,视为高电平有效;当信号电压值大于逻辑0阈值电压Vth1时,视为低电平有效。

        静态时序分析中,时序信息文件中通过以下4个设置定义信号转换延时的计算参数属性:

静态时序分析 第二章 基础知识

         pct_fall为从高到低转换时,阈值计算电压与标准供电电压的百分比参数;pct_rise为从低到高转换时,阈值计算电压与标准供电电压的百分比参数。阈值计算电压即为判定高/低转换的电压界限。

静态时序分析 第二章 基础知识

         2.2 逻辑门延时(logic gate delay)

        定义:输入信号改变到对应的正确输入信号的时间间隔即为逻辑门延时。

静态时序分析 第二章 基础知识

        上述定义逻辑门从低电平输入到低电平输出的延时为:从输入信号低于标准供电电压的60%开始到输出信号变化到低于标准供电电压50%时的时间间隔。

静态时序分析 第二章 基础知识

3.  时序单元相关约束

        时序单元的时序约束是为了保证时序单元能够实现正确的逻辑功能所规定的输入或者输出信号数据需要保持稳定的最小时间间隔值。时序单元相关约束信息包括:建立时间、保持时间、恢复时间、移除时间以及最小脉冲宽度。

        3.1 建立时间(setup time)

        时序单元正常工作时,输入信号数据应该在时钟信号有效到达并保持的最小时间。

静态时序分析 第二章 基础知识

        3.2 保持时间(hold time)

         对于时序单元,数据信号在时钟沿有效必须保持的最小时间长度。

静态时序分析 第二章 基础知识

        3.3 恢复时间

        为了保证单元正确的逻辑功能,要求低电平复位信号或者高电平清零信号在时钟有效沿之保持有效的最小时间长度。

静态时序分析 第二章 基础知识

        3.4 移除时间

           低电平复位信号或者高电平清零信号在时钟有效沿之保持有效的最小时间长度。

静态时序分析 第二章 基础知识

         3.5 最小脉冲宽度

          最小脉冲宽度是指脉冲波形的开始到结束之间的最小时间间隔。

 静态时序分析 第二章 基础知识

         时序单元的时序分析必须满足输入信号脉宽大于最小脉冲宽度的要求,否则无法保证时序单元正常逻辑功能的实现。

4. 时序路径

        设计中数据信号传播过程中所经过的逻辑路径。每条时序路径都有对应的始发点与终止点。

静态时序分析 第二章 基础知识

        始发点:组合逻辑单元的数据输入端口和时序逻辑单元的时钟输入端口

        终止点:组合逻辑单元的数据输出端口和时序逻辑单元的数据输入端口

        2x2 四种时序路径:①.触发器到触发器(register to register) ②.触发器到输出端(register to output) ③.输入端到触发器(input to register) ④.输入端到输出端(inout to output)

静态时序分析 第二章 基础知识

其中,触发器到输出端与输入端到触发器这两个时序路径也称为外部时序路径。这是因为组合逻辑单元的输出/输入端口可以以外部设计的输入/输出端口相连。

5. 时钟特性

        在同步电路设计中,各功能逻辑单元之间的数据传输都由一个同步信号控制,这个信号就是时钟信号。

        时钟的时序特性:时钟周期(clock period)、时钟占空比(clock duty cycle)、时钟转换时间(clock transition time)、时钟延迟(clock latency)、时钟偏斜(clock skew)、时钟抖动(clock jitter)。

        5.1 时钟周期(ckock period)

        定义为时钟频率的倒数,又称为振荡周期。

静态时序分析 第二章 基础知识

        5.2 时钟占空比(clock duty cycle)

        时钟高电平信号在一个周期内所占的时间比率,大部分时钟占空比为50%,即高/低电平各占0.5个周期。

        5.3 时钟转换时间(clock transition time)

        定义为时钟信号的电压从标准供电电源电压的10%变化到标准供电电源电压的90%的时间间隔。时钟转换时间越短,不同切换形式(上升转换和下降转换)下越对称,时钟信号越好。

        理想状态下不存在转换时间,但由于供电电压、工艺变化、扇出负载大小和互连负载大小等因素,存在转换时间。

静态时序分析 第二章 基础知识

        5.4 时钟延迟(clock delay)

        时钟信号从时钟源输出端口到达时序单元时钟输入端口所需要的传播时间。

        OCV(片上工艺偏差)和PVT(process、voltage、temperature)等因素会不同幅度影响时钟输入的延时不确定性,总而导致整个设计时序的不确定。

        5.5 时钟偏斜(clock skew)

        非理想状态下,时钟信号到达同一时序路径下的相邻两个时序单元时钟输入端口的时间并不相同,导致相同时钟信号下的时钟偏斜。

静态时序分析 第二章 基础知识

        实际中,时钟偏斜必定存在。静态时序分析主要分为布局布线前和布局布线后两个阶段,后者有具体的布局物理信息,能更加准确的估计互连线延迟,以及时钟树网络的延迟。

        5.6 时钟抖动(clock jitter)

        最理想的工作状态下,时钟输入信号在下一个时钟的有效电平或者信号边缘到来之前切换,并在其正确的逻辑电平上保持稳定。但实际中,不同实现单元的速度在不同时刻可能有着大小不一 的差别,时钟信号可能并不能准确的在理想的信号边缘到来前的瞬间保持在正确的信号值上其保持稳定,所需的时间比理想情况有一定的偏移,这种偏移是在同一个时序单元的时钟输入端口上的时钟偏移,主要表现为时钟抖动。

        时间抖动永远存在,其带来的影响在静态时序分析中可以通过设置时序裕度值来解决。

静态时序分析 第二章 基础知识

6. 时序弧

        时序弧:两个节点延时信息的数据。一般分为连线延时和单元延时。连线延时是单元输出端口和扇出网络负载之间的延时信息;单元延时是单元输入端口到输出端口的延时信息。

        连线延时无功能属性,故在分类上没有区别。单元延时中的时序分为基本时序弧和约束时序弧。

        6.1 组合时序弧

        时序弧类型信息:timing_type : combinational;

        用于表示组合逻辑单元的延时信息,通过时序弧类型信息combinational声明。其为默认的时序类型,没有特别声明的时序弧都被认为是组合时序弧。

        分为基于三种不同逻辑状态下的延时弧:同向时序弧、反向时序弧、不定态时序弧。

        同向时序弧:输入端信号变化方向与输出端信号变化方向一致的时序弧。

        反向时序弧:输入端信号变化方向与输出端信号变化方向相反的时序弧。

        不定态时序弧:输入端信号变化方向与输出端信号变化方向无固定确定关系的时序弧。

静态时序分析 第二章 基础知识

         三种时序弧需要在时序信息文件中通过定义相关PIN和逻辑状态信息进行声明:

related_pin:"A";
timing_sense:positive_unate #同向时序弧
timing_sense:negative_unate #反向时序弧
timing_sense:non_unate      #不定态时序弧

        6.2 边沿时序弧

        表示时序单元从时钟信号有效沿到输出信号有效的延时信息。

        边沿时序弧根据时钟信号有效沿不同,分为上升沿有效和下降沿有效两种,通过时序弧类型信息falling_edge和rising_edge进行声明。

timing_sense:falling_edge #下降沿有效
timing_sense:rising_edge #上升沿有效

静态时序分析 第二章 基础知识

        6.3 复位清零时序弧

        表示具有复位清零端口的时序单元从复位清零信号有效沿到输出信号有效沿的延时信息。分为上升沿有效和下降沿有效两种,通过时序弧类型信息preset和clear进行声明。

timing_sense:preset #下降沿有效(复位)
timing_sense:clear #上升沿有效(清零)

静态时序分析 第二章 基础知识

        6.4 三态使能时序弧

        表示三态逻辑单元从使能信号有效到输出的延时信息。根据使能信号位有效与无效的不同,通过状态信息three_state_enable和three_state_disable进行声明。

timing_sense:three_state_enable #使能端有效
timing_sense:three_state_disable #使能端无效

        6.5 建立时序弧

        时钟沿有效数据输入信号保持有效的时间信息。根据时钟信号有效沿不同,分为上升沿有效和下降沿有效两种,通过时序弧类型信息setup_falling和setup_rising进行声明。

timing_sense:setup_falling #下降沿有效
timing_sense:setup_rising #上升沿有效

静态时序分析 第二章 基础知识

        6.6 保持时序弧

        时钟沿有效数据输入信号维持有效的时间信息。根据时钟信号有效沿不同,分为上升沿有效和下降沿有效两种,通过时序弧类型信息hold_falling和hold_rising进行声明。

timing_sense:hold_falling #下降沿有效
timing_sense:hold_rising #上升沿有效

        6.7 恢复时序弧

        在时钟沿有效使能信号保持有效的时间信息。根据时钟信号有效沿不同,分为上升沿有效和下降沿有效两种,通过时序弧类型信息recovery_rising和recovery_falling进行声明。

timing_sense:recovery_falling #下降沿有效
timing_sense:recovery_rising #上升沿有效

       

        6.8 移除时序弧

        在时钟沿有效使能信号保持有效的时间信息。根据时钟信号有效沿不同,分为上升沿有效和下降沿有效两种,通过时序弧类型信息removal_rising和removal_falling进行声明。

timing_sense:removal_falling #下降沿有效
timing_sense:removal_rising #上升沿有效

 

        6.9 脉宽时序弧

        时钟信号同一状态下维持有效的最小总时间信息。根据信号有效状态的不同,分为高电平有效和低电平有效两种,通过时序弧类型信息min_pulse_width进行声明。

timing_sense:min_pulse_width

 

静态时序分析 第二章 基础知识

 

7. PVT环境

        在静态时序模拟时,为了更接近芯片实际工作的情况,需要对工艺、工作电压、工作温度等参数进行设置,参数组合简称PVT。分为typical、best、worst三种工艺情况。

        不同工艺情况,单元延时不同,best最快,worst最慢,typical居中。时序分析需要不同,PVT组合条件不同,有三种常规的STA分析条件。

静态时序分析 第二章 基础知识

         7.1 TYP(Typical)

        典型的工艺(typical process)/典型的工艺温度(nominal temperature 25℃)/典型的有效电源电压(nominal voltage 工艺定义的标准供电电压)

静态时序分析 第二章 基础知识

         7.2 BCF(Best-Case Fast)

        最快的工艺(fast process)/最低的工艺温度(lowest temperature -40℃)/最高的有效电源电压(highest voltage 有效电源电压的1.1倍)。在先进工艺下(比如28nm工艺),单元延时大小在温度参数上产生反转,此时BCF工艺条件为最高的工艺温度(highest temperature)。

静态时序分析 第二章 基础知识

        7.3 WCS(Worst-Case Slow)

        最慢的工艺(slow process)/最高的工艺温度(highest temperature 125℃)/最低的有效电源电压(lowest voltage 有效电源电压的0.9倍)。与BCF相同,在先进工艺下(比如28nm工艺),单元延时大小在温度参数上产生反转,此时WCS工艺条件为最低的工艺温度(lowest temperature)。        

静态时序分析 第二章 基础知识

         若还需同时考虑功耗的分析,则加入如下两种工艺情况。

        7.4 ML(maximal leakage)

        最快的工艺(fast process)/最高的工艺温度(highest temperature 125℃)/最高的有效电源电压(highest voltage 有效电源电压的1.1倍)。工艺条件相当于先进工艺下的BCF。

静态时序分析 第二章 基础知识

        7.5 TL(typical leakage)

        典型的工艺(typical process)/最高的工艺温度(highest temperature 125℃)/典型的有效电源电压(nominal voltage 工艺定义的标准供电电压)

 

静态时序分析 第二章 基础知识

         上述工艺的时序信息文件中,参数nom_process为工艺缩放因子,视流片情况而定,其值越小则时序分析延时结果越小,反之延时结果越大;参数tree_type用于定义互连线延时计算模型,其分为三类:best_case_tree、worst_case_tree、balanced_tree。

        互连线延时计算模型best_case_tree只考虑驱动电阻负载、互连线负载总电容值和对应驱动负载电容值;互连线延时计算模型worst_case_tree相比best_case_tree还多考虑互连线总电阻负载:互连线延时计算模型balanced_tree相比worst_case_tree把互连线总电阻、申容负载根据负载节点的个数多少进行了平均分配。

        在时序分析中,通过命令定义所需的工艺环境:

set_operating_conditions typ -library TYP

         上述命令定义使用典型工艺条件。

8. 时序计算单位

        在时序信息文件中还需对温度、电压、电流、电阻、电容负载、时间等变量因子进行单位定义。

静态时序分析 第二章 基础知识

 

        文章来源地址https://www.toymoban.com/news/detail-412061.html

        

        

到了这里,关于静态时序分析 第二章 基础知识的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Spark大数据分析与实战笔记(第二章 Spark基础-05)

    成长是一条必走的路路上我们伤痛在所难免。 在大数据处理和分析领域,Spark被广泛应用于解决海量数据处理和实时计算的挑战。作为一个快速、可扩展且易于使用的分布式计算框架,Spark为开发人员提供了丰富的API和工具来处理和分析大规模数据集。 其中,Spark-Shell是Spar

    2024年02月03日
    浏览(88)
  • Spark大数据分析与实战笔记(第二章 Spark基础-04)

    “春风十里,不如你。” 这句来自现代作家安妮宝贝的经典句子,它表达了对他人的赞美与崇拜。每个人都有着不同的闪光点和特长,在这个世界上,不必去羡慕别人的光芒,自己所拥有的价值是独一无二的。每个人都有无限的潜力和能力,只要勇敢展现自己,就能在人生舞

    2024年02月03日
    浏览(51)
  • Spark大数据分析与实战笔记(第二章 Spark基础-02)

    人生就像赛跑,不在乎你是否第一个到达尽头,而在乎你有没有跑完全程。 Spark于2009年诞生于美国加州大学伯克利分校的AMP实验室,它是一个可应用于大规模数据处理的统一分析引擎。Spark不仅计算速度快,而且内置了丰富的API,使得我们能够更加容易编写程序。 请参考《

    2024年02月03日
    浏览(42)
  • Spark大数据分析与实战笔记(第二章 Spark基础-01)

    宁愿跑起来被拌倒无数次,也不愿规规矩矩走一辈子,就算跌倒也要豪迈的笑。 Spark于2009年诞生于美国加州大学伯克利分校的AMP实验室,它是一个可应用于大规模数据处理的统一分析引擎。Spark不仅计算速度快,而且内置了丰富的API,使得我们能够更加容易编写程序。 Spark下

    2024年02月03日
    浏览(47)
  • 【博弈论笔记】第二章 完全信息静态博弈

    此部分博弈论笔记参考自经济博弈论(第四版)/谢识予和老师的PPT,是在平时学习中以及期末备考中整理的,主要注重对本章节知识点的梳理以及重点知识的理解,细节和逻辑部分还不是很完善,可能不太适合初学者阅读(看书应该会理解的更明白O(∩_∩)O哈哈~)。现更新到

    2024年02月10日
    浏览(37)
  • [静态时序分析简明教程(二)] 基础知识:建立时间、保持时间、违例修复及时序分析路径

    一个 数字芯片工程师 的 核心竞争力 是什么?不同的工程师可能给出不同的答复,有些人可能提到 硬件描述语言 ,有些人可能会提到对于 特定算法和协议的理解 ,有些人或许会提到 对于软硬件的结合划分 ,作者想说,这些说法, 其实对也不对 ,硬件描述语言,翻来覆去

    2023年04月22日
    浏览(41)
  • 新一代硬件安全:第二章-静态伪装的可重配性

    Chapter 2 Reconfigurability for Static Camouflaging 2.1 Chapter Introduction Intellectual property (IP) piracy in the modern integrated circuit (IC) supply chain has necessitated countermeasures like layout camouflaging to safeguard proprietary design IP. Although effective initially, the conventional CMOS-centric layout camouflaging primitives hardly challe

    2023年04月26日
    浏览(28)
  • 算法设计与分析第二章作业

    题目 思路 判断最大子段和,可以用分治的思想,每次将序列一分为二,选择两个序列的最大子段和。 但是这里还有一种可能,就是子段可以横跨两个子序列,所以我们的最大子段和就是: MAX(左边序列最大字段和,横跨两序列的最大子段和,右边序列的最大子段和)。 对

    2024年02月05日
    浏览(37)
  • 第二章 编程基础

    内容框图 单行注释: 快速注释: 多行注释: 使用+号拼接 使用拼接函数 列表 列表是一个有序的序列结构,可以存放不同数据类型的数据。 列表每一个元素有一个索引。 列表可以进行一系列操作,添加,删除,修改元素。 元组是一个有序的序列结构,基本结构和列表类似。

    2024年02月06日
    浏览(43)
  • 第二章 webpack基础用法

     Entry用来指定webpack打包的入口,下图中webpack找到入口文件后,会将该文件所有的代码和非代码依赖都梳理出来,最终遍历完依赖树后生成打包后的静态资源。  单入口:entry是一个字符串 module.exports={         entry:\\\'./path/to/my/entry/file.js\\\' }  多入口:entry是一个对象 module.exp

    2023年04月15日
    浏览(32)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包