前言:看了非常多静态时序分析的博客和文章,觉得大部分是云里雾里,很多人在照本宣科,所以我决定完全用自己的理解,用人话来写一篇,静态分析的原理是什么。

定义:

摘录自维基百科

建立时间(setup time):Setup time is defined as the minimum amount of time BEFORE the clock's active edge by which the data must be stable for it to be latched correctly.

保持时间(hold up time):Hold up time indicates the length of time a power supply is able to maintain a consistent output voltage at a regular output level, after it is shut down or in a power shortage.

自己的话翻译一下:

建立时间:在采样时钟沿到来之前,数据需要保持的最短时间;

保持时间:在采样时钟沿到来之后,第二次数据到来之前,数据需要保持的最短时间。

重点:

建立时间指的是1个时钟周期,发射沿发射数据,在1clk之后就是采样沿,在这两个沿之间的故事,这就是为什么建立时间的公式里有Tc的原因。

保持时间指的是在第二次数据到来之前,在采样沿到达之后,需要保持的时间,所以需要注意,并没有发射沿的参与,从始至终都是采样沿,所以公式里也就没有Tc。

下面详细讲解。

名词解释:

  1. 发射沿(launch edge):有效时钟的第一个上升沿;
  2. 采样沿(latch edge):有效时钟的第二个上升沿;
  3. 采样沿和发射沿差值可以粗略认为是1个时钟周期(不考虑时钟抖动jitter)。
  4. Tclk1:时钟源扇出信号到寄存器1(REG1)的时钟端所需时间;
  5. Tclk2:时钟源扇出信号到寄存器2(REG2)的时钟端所需时间;
  6. 所以时钟源的布局布线很重要,这就是为什么FPGA中推荐用PLL输出时钟,而不是自己进行时钟分频。
  7. Tco:寄存器时钟输出延迟,即有效时钟输入到输出之间的延迟。
  8. Tdata:2个寄存器之间组合路径延迟和布局布线延迟。
  9. Tc:时钟周期大小(Tclk)。
  10. Ts:建立时间大小;
  11. Th:保持时间大小;
  12. Thold_slack:保持时间余量(也就是要大于0);
  13. Tsetup_slack:建立时间余量(也就是大于0)。

过程分析:

建立时间:

如上图所示,想计算Ts,也就是在采样沿到达之前,数据需要提前建立的时间。

采样沿到达时间:Tlatch = Tc + Tclk2;

第一次数据到达时间:Tarrive = Tclk1 + Tco + Tdata;

建立时间大小:Ts = Tlatch - Tarrive = Tc + Tclk2 - Tclk1 - Tco - Tdata = Tc + Tdelta - T1.

其中,Tdelta代表Tskew,也就是2个寄存器之间时钟到达差值,T1代表从REG1到REG2数据接收端的整个时间延迟,当然,不化简也是可以的。

保持时间:

如上图所示,想计算Th,也就是在采样沿到达之后,第二次数据到来之前,本次数据需要保持的时间。

第一次采样沿到达时间:Tlatch = Tc + Tclk2;

第二次数据到来时间:Tdata2 = Tclk1 + Tco + Tdata + Tc(Tdata_valid) ;

保持时间大小:Th = Tdata2 - Tlatch = Tclk1 + Tco + Tdata - Tclk2 = T1 - Tdelta。

时间余量

这就很简单了,把时序要求的数值和上述结果做差,就完事了。不做赘述。

----------------------------------------------------END----------------------------------------------------------

静态时序分析(原理最清晰版本)相关推荐

  1. IC验证:静态时序分析

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一.数字IC设计流程(前端+后端) 二.静态时序分析在芯片设计中的地位 三.静态时序分析的作用 四.静态时序分析过程 ...

  2. FPGA之道(77)静态时序分析(三)同步时序逻辑的分析原理

    文章目录 前言 同步时序逻辑的分析原理 逻辑锥的概念 逻辑锥的划分 逻辑锥的求解 建立时间求解原理 保持时间求解原理 一般逻辑锥的求解 一般建立时间求解 一般保持时间求解 前言 本文来自于<FP ...

  3. 【转载】静态时序分析

    1.   背景 静态时序分析的前提就是设计者先提出要求,然后时序分析工具才会根据特定的时序模型进行分析,给出正确是时序报告. 进行静态时序分析,主要目的就是为了提高系统工作主频以及增加系统的稳定性.对 ...

  4. 以下不属于时序逻辑电路的有_静态时序分析圣经翻译计划——附录B:SDF

    本附录将介绍标准延迟标注格式,并说明了如何在仿真中执行反标. 延迟格式描述了设计网表的单元延迟和互连走线延迟,无论设计是用两种主要硬件描述语言(VHDL或Verilog HDL)中的哪一种所描述的. ...

  5. launch edge 和 latch edge 延迟以及静态时序分析相关概念

    launch edge和latch edge分别是指一条路径的起点和终点,只是一个参考时间,本身没有什么意义,latch_edge-launch_edge才有意义. 1. 背景 静态时序分析的前提就是 ...

  6. 《静态时序分析实用方法》翻译

    第1章 引言 解释了什么是静态时序分析以及它如何用于时序验证.还描述了功率和可靠性方面的考虑. 概述了纳米设计的静态时序分析程序.本章解决了诸如什么是静态时序分析.噪声和串扰的影响是什么.如何使用这些 ...

  7. 静态时序分析-时序违例解决方法

    文章目录 时序优化 1.优化建立时间和时序设计规则 1.1 改变单元位置 1.2 改变单元的大小 1.3 插入缓冲单元 1.4删除缓冲单元 1.5 重分配负载 1.6 时钟有用偏斜 2.优化保持时间 ...

  8. PT静态时序分析 第一课 第二课

    绪论 目录: 第一到第四课比较重要 第一课 STA原理 静态时序分析是一种穷尽分析方法,用以衡量电路性能. STA主要有三个步骤: 1.设计被分解为时序路径(timing path) 2.计算所有路径 ...

  9. 静态时序分析(STA)

    静态时序分析 STA-1. 从一个反向器开始说时序 静态时序分析(Static Timing Analysis, 以下统一简称STA)是验证数字集成电路时序是否合格的一种方法,其中需要进行大量的数字计 ...

最新文章

  1. Python组织文件 实践:查找大文件、 用Mb、kb显示文件尺寸 、计算程序运行时间...
  2. 5天玩转PyTorch深度学习,从GAN到词嵌入都有实例丨教程资源
  3. Java移除ssl认证_Java SSL证书吊销检查
  4. 容易答错的java面试题_Java程序员面试中最容易答错的8道面试题,你中招了吗?...
  5. Android O 前期预研之一:Android Treble 计划
  6. 算法训练 字符串编辑 java
  7. 一位全加器的结构描述vhdl_小学数学结构化学习的评价实践探索
  8. BFC(块级化上下文)
  9. python面向对象训练
  10. mybatis---知识点复习
  11. 安装Exchange2007邮件系统
  12. Java铬钼钢车架几何_车架的几何尺寸
  13. CNKI文献pdf批量下载
  14. 如何添加虚拟PDF打印机
  15. MacOS Catalina 10.15安装教程,启动U盘制作及安装方法
  16. UI设计中我们需要了解的知识
  17. BUUCTF MISC刷题笔记(三)
  18. cocos creator Android 接入Google登陆sdk
  19. 微信智慧商圈-java-springBoot实例
  20. 无涯自动化学习20200901

热门文章

  1. VTK顶点 面片颜色 呈现
  2. 2023年【熔化焊接与热切割】考试及熔化焊接与热切割考试技巧
  3. oracle 创建nchar类型,Oracle NChar类型
  4. 关于小程序“errcode“:40029的问题
  5. 解决WIN10连接共享打印机出现0x00000709的错误
  6. Python可视化神器:pyecharts,轻松绘制 30+ 种超实用精美图表!
  7. 2018 年全球金融科技发明专利排行榜 TOP20:中国企业有6家
  8. 第78节:Java中的网络编程(上)
  9. nodejs jade mysql_学习篇:NodeJS中的模板引擎:jade
  10. 网站SEO 优化带来的好处