【FPGA】STA静态时序分析

文章目录

  • 一.定义
  • 二.分类
    • 1. 静态时序分析
    • 2. 静态时序分析
  • 三. 概念
  • 四. 时间余量
    • 1.场景
    • 2.建立时间余量
    • 3.保持时间余量

一.定义

时序分析:检查电路是否满足时序要求;

二.分类

1. 静态时序分析

STA,遍历所有的时序路径,根据时序库(.lib文件)计算时序路径的延时,判定是否满足时序要求,会根据最大延时路径和最小延时路径找出违背时序约束的错误;具有速度快,完备性好的特点;

2. 静态时序分析

STD,给定特定激励,根据对应激励下的输出,检查时序是否满足要求;时序结果更准确,但是不完备。

三. 概念

1.分析场景
两级触发器,第二级触发器采集第一级触发器输出的数据;
在这里插入图片描述
在这里插入图片描述
2.建立时间(Tsu)
触发器时钟触发沿到来之,信号需要稳定不变的最小时间;
3.保持时间(Th)
触发器时钟触发沿到来之,信号需要稳定不变的最小时间;
4.数据输出延迟(Tco)
时钟触发沿到来之,到触发器更新输出的时间;
5.数据传输延迟(Tdata)
数据在触发器之间的传输延时,由于数据传输线和组合逻辑引起的延时;
这部分通常包含两部分:传输线延时(Tline)和组合逻辑延时(Tlogic);
6.时钟传输延迟(Tclk)
时钟到达触发器的传输延迟;
7.时钟偏移(Tskew)
时钟到达不同触发器的传输延迟差;
两级触发器场景下的时钟偏移:Tskew = Tclk2-Tclk1;
8.发射沿(Launch Edge)
前一级触发器使用的时钟采样沿;
9.锁存沿(Latch Edge)
后一级(当前级)时钟触发器使用的时钟采样沿;

四. 时间余量

1.场景

场景仍然使用三中所述两级触发器,第一级触发器更新数据后,第二级触发器进行采集;

2.建立时间余量

(1)第二级触发器数据到达时间:
Data_arrived_time = Launch Edge +Tclk1+Tco+Tdata;
说明:
(i)前提是第一级触发器数据已经准备好了
(ii)第一级触发器采样时钟(Launch Edge)要经过时钟传输延迟(Tclk1)到达第一级触发器;
(iii)第一级触发器采样后要经过Tco更新输出数据;
(iv)第一级触发器输出要经过Tdata到达第二级触发器;
(2)要满足建立时间,第二级触发器数据要求到达时间
Data_required_time = LatchEdge+Tclk2-Tsu
说明:
(i)第二级触发器时钟采样沿是锁存沿(Latch Edge)
(ii)锁存沿要经过时钟传输延迟(Tclk2)达到第二级触发器;
(iii)要满足建立时间,第二级触发器的数据,应该提前于存沿(Latch Edge)建立时间(Tsu)时刻;
(3)建立时间余量
Setup slack = Data_required_time - Data_arrived_time
=(LatchEdge-Launch Edge)+(Tclk2-Tclk1)-Tsu-Tco-Tdata
= T + Tskew -Tsu-Tco-Tdata

说明:
建立时间余量:就是数据实际到达的时间,比为满足建立时间而要求的数据到达时间,提前的时间;
T:表示时钟周期,两级触发器,锁存沿(Latch Edge)比发射沿(Launch Edge)滞后一个时钟周期;
时钟传输延迟差(Tclk2-Tclk1)为时钟偏移(Tskew );
要求:
建立时间为正,满足时序要求;

如图:
在这里插入图片描述

3.保持时间余量

(1)第二级触发器输入数据改变时间:
Data_arrived_time = Latch Edge +Tclk1+Tco+Tdata;
说明:
(i)第一级触发器,在发射沿(Launch Edge)更新输出数据,会保持到锁存沿(Latch Edge)采样数据后发生改变;
(ii) 第一级触发器改变数据采样时钟(锁存沿,Latch Edge)要经过时钟传输延迟(Tclk1)到达第一级触发器;
(iii)第一级触发器采样后要经过Tco更新输出数据;
(iv)第一级触发器输出要经过Tdata到达第二级触发器;
(2)要满足保持时间,第二级触发器数据要求输入数据至少的保持时刻
Data_required_time = Latch Edge+Tclk2+Th;
说明:
(i)第二级触发器时钟采样沿是锁存沿(Latch Edge);
(ii)锁存沿要经过时钟传输延迟(Tclk2)达到第二级触发器;
(iii)要满足保持时间,第二级触发器的数据,应该滞后于锁存沿(Latch Edge)保持时间(Tsu)再发送改变;
(3)保持时间余量
Hold slack = Data_arrived_time - Data_required_time
=Tclk1+Tco+Tdata-(Tclk2+Th);
= Tco+Tdata-Th-Tskew

说明:
保持时间余量:就是第二级触发器输入数据实际发送改变的时间,比为满足保持时间而要求的数据改变时间,滞后的时间;
要求:
保持时间为正,满足时序要求;

如图:
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/40256.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

新手教学系列——使用uWSGI对Flask应用提速

在构建和部署Flask应用时,性能和稳定性是两个关键的因素。为了提升Flask应用的性能,我们可以借助uWSGI这个强大的工具。本文将详细介绍为什么要使用uWSGI、uWSGI的底层原理,并提供一个实例配置,帮助你更好地理解和应用这个工具。 为什么要使用uWSGI uWSGI 是一个应用服务…

探索企业知识边界,鸿翼ECM AI助手开启智慧问答新时代

在信息化迅速发展的当下,企业积累的数字文档数量巨大,这些文档中蕴含的深层信息对业务发展至关重要。然而,传统的搜索技术常常因只能进行关键字查询而无法满足对文档深层次理解的需求。 据Gartner调查,高达47%的员工在寻找有效工…

Webpack: 三种Chunk产物的打包逻辑

概述 在前文 Webpack: Dependency Graph 管理模块间依赖 中,我们已经详细讲解了「构建」阶段如何从 Entry 开始逐步递归读入、解析模块内容,并最终构建出模块依赖关系图 —— ModuleGraph 对象。本文我们继续往下,讲解在接下来的「封装」阶段…

【大数据】—美国交通事故分析(2016 年 2 月至 2020 年 12 月)

引言 在当今快速发展的数字时代,大数据已成为我们理解世界、做出决策的重要工具。特别是在交通安全领域,大数据分析能够揭示事故模式、识别风险因素,并帮助制定预防措施,从而挽救生命。本文将深入探讨2016年2月至2020年12月期间&…

24年河南特岗教师招聘流程+报名流程

河南特岗教师报名流程如下 1.登录河南省特岗招聘网 登录河南省特岗招聘网注册账号和密码,账号可以是手机号或者身份证号,密码自己设置 2.注册登录账号 注册完账号重新登录账号,输入身份证号、手机号、密码、验证码 3.浏览考试须知 填写个人信…

Python 编程快速上手——让繁琐工作自动化(第2版)读书笔记01 Python基础快速过关

Python 编程快速上手——让繁琐工作自动化(第2版)读书笔记01 Python基础快速过关 1 python基础概念 Python提供了高效的高级数据结构,还能简单有效地面向对象编程。 python运算符顺序 **——%——//——/——*——-——python中常见的数据…

Real-Time 3D Graphics with WebGL2

WebGL渲染管线 下图是WebGL渲染管线的示意图: Vertex Buffer Objects (VBOs) VBOS中包含了用于描述几何体的信息。如,几何体的顶点坐标,法线坐标,颜色,纹理坐标等。 Index Buffer Objects (IBOs) IBOs中包含了描述顶点关系的信…

C#的多线程UI窗体控件显示方案 - 开源研究系列文章

上次编写了《LUAgent服务器端工具》这个应用,然后里面需要新启动一个线程去对文件进行上传到FTP服务器,但是新线程里无法对应用主线程UI的内容进行更改,所以就需要在线程里设置主UI线程里控件信息的方法,于是就有了此博文。此文记…

Rocky Linux 9 快速安装docker 教程

前述 CentOS 7系统将于2024年06月30日停止维护服务。CentOS官方不再提供CentOS 及后续版本,不再支持新的软件和补丁更新。CentOS用户现有业务随时面临宕机和安全风险,并无法确保及时恢复。由于 CentOS Stream 相对不稳定,刚好在寻找平替系统…

idm 支持断点续传吗 idm 断点续传如何使用 idm断点续传怎么解决 idm下载中断后无法继续下载

断点续传功能,让我再也不会惧怕下载大型文件。在断点续传的帮助下,用户可以随时暂停下载任务,并在空闲时继续之前的下载进程。下载文件不惧网络波动,断点续传让下载过程更稳定。有关 idm 支持断点续传吗,idm 断点续传如…

JavaScript:if-else类型

目录 任务描述 相关知识 if语句 if-else语句 匹配问题 编程要求 任务描述 本关任务:根据成绩判断考试结果。 相关知识 在编程中,我们常常根据变量是否满足某个条件来执行不同的语句。 JavaScript中利用以if关键字开头的条件语句达到以上目的&am…

|从零搭建网络| VisionTransformer网络详解及搭建

🌜|从零搭建网络| VisionTransformer系列网络详解及搭建🌛 文章目录 🌜|从零搭建网络| VisionTransformer系列网络详解及搭建🌛🌜 前言 🌛🌜 VIT模型详解 🌛🌜 VIT模型架…

mybatis、mybatis-plus插件开发,实现数据脱敏功能

首先说一下mybatis中四大组件的作用,下面开发的插件拦截器会使用 四大组件Executor、StatementHandler、ParameterHandler、ResultSetHandler Executor: Executor 是 MyBatis 中的执行器,负责 SQL 语句的执行工作。它通过调度 StatementHan…

python基础语法 004-3流程控制- while

1 while while 主要用的场景没有 for 循环多。 while循环&#xff1a;主要运行场景 我不知道什么时候结束。。。不知道运行多少次 1.1 基本用法 # while 4 > 3: #一直执行 # print("hell0")while 4 < 3: #不会打印&#xff0c;什么都没有print("…

IT之旅启航:高考后IT专业预习全攻略

✨作者主页&#xff1a; Mr.Zwq✔️个人简介&#xff1a;一个正在努力学技术的Python领域创作者&#xff0c;擅长爬虫&#xff0c;逆向&#xff0c;全栈方向&#xff0c;专注基础和实战分享&#xff0c;欢迎咨询&#xff01; 您的点赞、关注、收藏、评论&#xff0c;是对我最大…

Java知识点大纲

文章目录 第一阶段&#xff1a;JavaSE1、面向对象编程(基础)1)面向过程和面向对象区别2)类和对象的概述3)类的属性和方法4)创建对象内存分析5)构造方法(Construtor)及其重载6)对象类型的参数传递7)this关键字详解8)static关键字详解9)局部代码块、构造代码块和静态代码块10)pac…

2-24 基于图像处理的细胞计数方法

基于图像处理的细胞计数方法。经过初次二值化、中值滤波后二值化、优化后二值化图像、填充背景色的二进制图像、开运算后的图像一系列运算后&#xff0c;进行标签设置&#xff0c;最终得到细胞总数。程序已调通&#xff0c;可直接运行。 2-24 细胞计数方法 中值滤波后二值化 - …

【C++】 解决 C++ 语言报错:Invalid Cast

文章目录 引言 无效类型转换&#xff08;Invalid Cast&#xff09;是 C 编程中常见且严重的错误之一。当程序试图进行不合法或不安全的类型转换时&#xff0c;就会发生无效类型转换错误。这种错误不仅会导致程序崩溃&#xff0c;还可能引发不可预测的行为。本文将深入探讨无效…

图像增强方法汇总OpenCV+python实现【第一部分:常用图像增强方法】

图像增强方法汇总OpenCVpython实现【第一部分】 前言常用的图像增强方法1. 旋转&#xff08;Rotation&#xff09;&#xff1a;2. 平移&#xff08;Translation&#xff09;&#xff1a;3. 缩放&#xff08;Scaling&#xff09;&#xff1a;4. 剪切变换&#xff08;Shear Trans…

UserWarning: IPython History requires SQLite, your history will not be saved

UserWarning: IPython History requires SQLite, your history will not be saved 很久未打开pycharm&#xff0c;控制台出现爆红 解决方法&#xff1a; 重启pycharm&#xff0c;就好啦&#xff01;&#xff01;&#xff01;我猜测可能是上次pycharm没有关闭就电脑关机&…