STA学习笔记-0
如今的逻辑设计复杂度和工作频率要求越来越高。为了保证设计稳定可靠,必须对设计附加时序约束,对综合实现结果进行时序分析。
导言
时序约束:主要用于规范设计的时序行为,表达设计者期望满足的时序条件,指导综合和布局布线阶段的优化算法等。
时序约束的作用:1、提高设计的工作频率。 2、获得正确的时序分析报告。
静态时序分析(英语:Static Timing Analysis, STA),或称静态时序验证,是电子工程中,对数字电路的时序进行计算、预计的工作流程,该流程不需要通过输入激励的方式进行仿真。
静态时序分析是相对于“动态时序仿真”而言,动态时序仿真占用的时间非常长,效率低下。因此STA成为最常用的分析、调试时序性能的方法和工具。分析每个时序路径的延迟,计算出设计的最高频率,发现时序违规。
STA的目的仅聚焦于时序性能的分析,并不涉及设计的逻辑功能。
本文将介绍STA的理论和方法,后期配合相关时序分析题目检验所学的知识。
下面将介绍时序概念:周期、最大时钟频率、时钟建立时间、时钟保持时间、时钟到输出的延时、管脚到管脚的延时、Slack和时钟偏斜。
图中Tclk是时钟的最小周期。Micro Tco 是寄存器固有的时钟输出延时,Tlogic 是同步元件之间的组合逻辑延时,Tnet是网线延迟,Micro Tsu 是寄存器固有的时钟建立时间,Tclk_skew 是时钟偏斜。
最小周期和最高频率计算如下:
fmax能综合体现设计的时序性能,是最重要的时序指标之一。
建立时间:输入信号应该提前时钟上升沿(如上升沿有效)T时间到达芯片,这个T就是建立时间:Setup time.如果不满足Setup time,这个数据就不能被这一时钟打入触发器,只有在下一个时钟上升沿,数据才能被打入触发器。
举个例子:坐火车时需要提前到站检票安检,而不是一到火车站就可以乘坐。必须的提前到站的时间就是建立时间。
保持时间:保持时间是测试芯片对输入信号和时钟信号之间的时间要求。保持时间是指触发器的时钟信号上升沿到来以后,数据稳定不变的时间(数据保持不变以便能够稳定读取)。
时钟建立时间 Clock Setup Time
Micro Tsu 是寄存器固有的时钟建立时间,触发器固有属性,通常小于1ns。
时钟保持时间 Clock Hold Time
Micro Th 是寄存器固有的时钟保持时间,触发器固有属性,通常小于1ns。
时钟输出延时 Clock Output Delay
定义:指的是在时钟有效沿到数据有效的最大时间间隔。
Micro Tco 是寄存器内部延时参数,触发器固有属性,通常小于1ns。
引脚到引脚的延时 Pin to Pin Delay
时钟偏斜 Clock Skew
以下面为例,静态时序分析:
launch edge : 时钟源第一个上升沿对应时刻,数据发送沿。STA以该时刻为0时刻。
latch edge : 时钟源第二个上升沿对应时刻,数据接收沿。STA以该时刻为结束时刻。
Tsu :建立时间。 Th :保持时间。 Tco : 时钟输出延时。 Tdata : 两个REG中组合逻辑延时。 Tskew: 时钟偏斜。
STA分析核心公式:T+Tskew-Tco-Tdata-Tsu>=0 满足此不等式,即可判断是否满足建立时间裕量,即满足时序要求。
保持时间约束条件:Tco+Tdata-Tskew-Th>=0
参考资料:1、建立时间_百度百科 (baidu.com)
3、Intel FPGA/CPLD设计
4、(105条消息) 静态时序分析(STA)概念 例题_昨日傍晚的博客-CSDN博客_静态时序分析题目
STA学习笔记-0的更多相关文章
- 驱动开发学习笔记. 0.07 Uboot链接地址 加载地址 和 链接脚本地址
驱动开发学习笔记. 0.07 Uboot链接地址 加载地址 和 链接脚本地址 最近重新看了乾龙_Heron的<ARM 上电启动及 Uboot 代码分析>(下简称<代码分析>) ...
- ArcGIS API for JavaScript 4.2学习笔记[0] AJS4.2概述、新特性、未来产品线计划与AJS笔记目录
放着好好的成熟的AJS 3.19不学,为什么要去碰乳臭未干的AJS 4.2? 4.2全线基础学习请点击[直达] 4.3及更高版本的补充学习请关注我的博客. ArcGIS API for JavaScr ...
- boost 学习笔记 0: 安装环境
boost 学习笔记 0: 安装环境 最完整的教程 http://einverne.github.io/post/2015/12/boost-learning-note-0.html Linux 自动 ...
- JavaScript学习笔记[0]
JavaScript学习笔记[0] 使用的是廖雪峰JavaScript教程. 数据类型 Number 表示数字,不区分浮点整形. === 比较时不转化数据类型. == 反之. NaN与任何值都不想等, ...
- Spark学习笔记0——简单了解和技术架构
目录 Spark学习笔记0--简单了解和技术架构 什么是Spark 技术架构和软件栈 Spark Core Spark SQL Spark Streaming MLlib GraphX 集群管理器 受 ...
- 驱动开发学习笔记. 0.04 linux 2.6 platform device register 平台设备注册 1/2 共2篇
驱动开发读书笔记. 0.04 linux 2.6 platform device register 平台设备注册 1/2 共2篇下面这段摘自 linux源码里面的文档 : Documentatio ...
- 驱动开发学习笔记. 0.02 基于EASYARM-IMX283 烧写uboot和linux系统
驱动开发读书笔记. 0.02 基于EASYARM-IMX283 怎么烧写自己裁剪的linux内核?(非所有arm9通用) 手上有一块tq2440,但是不知道什么原因,没有办法烧boot进norflas ...
- 驱动开发学习笔记. 0.06 嵌入式linux视频开发之预备知识
驱动开发读书笔记. 0.06 嵌入式linux视频开发之预备知识 由于毕业设计选择了嵌入式linux视频开发相关的项目,于是找了相关的资料,下面是一下预备知识 UVC : UVC,全称为:USB v ...
- 驱动开发学习笔记. 0.05 linux 2.6 platform device register 平台设备注册 2/2 共2篇
驱动开发读书笔记. 0.05 linux 2.6 platform device register 平台设备注册 2/2 共2篇 下面这段摘自 linux源码里面的文档 : 内核版本2.6.22Doc ...
- 驱动开发学习笔记. 0.01 配置arm-linux-gcc 交叉编译器
驱动开发读书笔记. 0.01 配置arm-linux-gcc 交叉编译器 什么是gcc: 就像windows上的VS 工具,用来编译代码,具体请自己搜索相关资料 怎么用PC机的gcc 和 arm-li ...
随机推荐
- RTSP Server(LIVE555)源码分析(五)-PLAY信令
主要分析RTSPServer::RTSPClientSession针对客户端PLAY事件处理 一. PLAY信令,handleCmd_withinSession源码解析 1)步骤1.03,当RTSP客 ...
- ping功能实现(ICMP)
简单记录下项目中ping功能实现 笔记:ping功能实现 void Handler::handlePingDepot(const char *ip) { int mSize=50*1024; bzer ...
- Visual Basic 6 API压缩数据
Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (hpvDest As ...
- vue移动端适配方案
一.安装postcss-px-to-viewport插件 1.使用npm安装 $ npm install postcss-px-to-viewport --save-dev 2.或者使用yarn安装 ...
- 2022-12-22:给定一个数字n,代表数组的长度, 给定一个数字m,代表数组每个位置都可以在1~m之间选择数字, 所有长度为n的数组中,最长递增子序列长度为3的数组,叫做达标数组。 返回达标数组的
2022-12-22:给定一个数字n,代表数组的长度, 给定一个数字m,代表数组每个位置都可以在1~m之间选择数字, 所有长度为n的数组中,最长递增子序列长度为3的数组,叫做达标数组. 返回达标数组的 ...
- 2022-04-28:有 n 个城市通过一些航班连接。给你一个数组 flights ,其中 flights[i] = [fromi, toi, pricei] ,表示该航班都从城市 fromi 开始,
2022-04-28:有 n 个城市通过一些航班连接.给你一个数组 flights ,其中 flights[i] = [fromi, toi, pricei] ,表示该航班都从城市 fromi 开始, ...
- 脱离 Spring 苦海,Solon v2.3.0 发布
Solon 是什么框架? 一个,Java 新的生态型应用开发框架.它从零开始构建,有自己的标准规范与开放生态(全球第二级别的生态).与其他框架相比,它解决了两个重要的痛点:启动慢,费资源. 解决痛点? ...
- mimikatz
mimikatz 来源:https://github.com/gentilkiwi/mimikatz Mimikatz 是由法国人 Benjamin Delpy 编写的 Windows 密码提取工具, ...
- XMLConfiguration -- Poco
Library : Util Package: Configuration Header : Poco/Util.XMLConfiguration.h 此配置类从 XML 文档中提取配置属性. 支持类 ...
- 天下苦 Spring 久矣,Solon v2.3.3 发布
Solon 是什么框架? 一个,Java 新的生态型应用开发框架.它从零开始构建,有自己的标准规范与开放生态(全球第二级别的生态).与其他框架相比,它解决了两个重要的痛点:启动慢,费资源. 解决痛点? ...