如今的逻辑设计复杂度和工作频率要求越来越高。为了保证设计稳定可靠,必须对设计附加时序约束,对综合实现结果进行时序分析。

导言

时序约束:主要用于规范设计的时序行为,表达设计者期望满足的时序条件,指导综合和布局布线阶段的优化算法等。

时序约束的作用: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)

     2、静态时序分析_百度百科 (baidu.com)

     3、Intel FPGA/CPLD设计

     4、(105条消息) 静态时序分析(STA)概念 例题_昨日傍晚的博客-CSDN博客_静态时序分析题目

STA学习笔记-0的更多相关文章

  1. 驱动开发学习笔记. 0.07 Uboot链接地址 加载地址 和 链接脚本地址

    驱动开发学习笔记. 0.07 Uboot链接地址 加载地址 和 链接脚本地址 最近重新看了乾龙_Heron的<ARM 上电启动及 Uboot 代码分析>(下简称<代码分析>) ...

  2. ArcGIS API for JavaScript 4.2学习笔记[0] AJS4.2概述、新特性、未来产品线计划与AJS笔记目录

    放着好好的成熟的AJS 3.19不学,为什么要去碰乳臭未干的AJS 4.2? 4.2全线基础学习请点击[直达] 4.3及更高版本的补充学习请关注我的博客. ArcGIS API for JavaScr ...

  3. boost 学习笔记 0: 安装环境

    boost 学习笔记 0: 安装环境 最完整的教程 http://einverne.github.io/post/2015/12/boost-learning-note-0.html Linux 自动 ...

  4. JavaScript学习笔记[0]

    JavaScript学习笔记[0] 使用的是廖雪峰JavaScript教程. 数据类型 Number 表示数字,不区分浮点整形. === 比较时不转化数据类型. == 反之. NaN与任何值都不想等, ...

  5. Spark学习笔记0——简单了解和技术架构

    目录 Spark学习笔记0--简单了解和技术架构 什么是Spark 技术架构和软件栈 Spark Core Spark SQL Spark Streaming MLlib GraphX 集群管理器 受 ...

  6. 驱动开发学习笔记. 0.04 linux 2.6 platform device register 平台设备注册 1/2 共2篇

    驱动开发读书笔记. 0.04  linux 2.6 platform device register 平台设备注册  1/2 共2篇下面这段摘自 linux源码里面的文档 : Documentatio ...

  7. 驱动开发学习笔记. 0.02 基于EASYARM-IMX283 烧写uboot和linux系统

    驱动开发读书笔记. 0.02 基于EASYARM-IMX283 怎么烧写自己裁剪的linux内核?(非所有arm9通用) 手上有一块tq2440,但是不知道什么原因,没有办法烧boot进norflas ...

  8. 驱动开发学习笔记. 0.06 嵌入式linux视频开发之预备知识

    驱动开发读书笔记. 0.06  嵌入式linux视频开发之预备知识 由于毕业设计选择了嵌入式linux视频开发相关的项目,于是找了相关的资料,下面是一下预备知识 UVC : UVC,全称为:USB v ...

  9. 驱动开发学习笔记. 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 ...

  10. 驱动开发学习笔记. 0.01 配置arm-linux-gcc 交叉编译器

    驱动开发读书笔记. 0.01 配置arm-linux-gcc 交叉编译器 什么是gcc: 就像windows上的VS 工具,用来编译代码,具体请自己搜索相关资料 怎么用PC机的gcc 和 arm-li ...

随机推荐

  1. Claude:除ChatGPT外的另一种选择

    前言 Claude 是 Anthropic 开发的人工智能产品.Anthropic 是由 11 名前 OpenAI 员工于 2022 年创立的人工智能公司,旨在构建安全.可解释和有益于人类的人工智能系 ...

  2. C# 笔迹擦除8边形

    擦除区域与橡皮大小不一致 测试反馈,擦除区域与真实的橡皮大小不一致: 上图中,橡皮显示是圆形的,但擦除效果是一个"8边形"区域. 找了一台8K屏,确实是能复现的: 看到这个诡异的8 ...

  3. Python_17 OSI模型和HTTP协议

    一.查缺补漏 1. Wireshark 抓报文 2. 要学习的所有博客: http://testingpai.com/member/haili/articles二.OSI模型 1. 物理层 2. 数据 ...

  4. LeetCode 周赛 343(2023/04/30)结合「下一个排列」的贪心构造问题

    本文已收录到 AndroidFamily,技术和职场问题,请关注公众号 [彭旭锐] 提问. 大家好,我是小彭. 今天是五一假期的第二天,打周赛的人数比前一天的双周赛多了,难道大家都只玩一天吗?这场周赛 ...

  5. TCP/IP网络模型

    在网络模型中有分为7层模型(OSI模型)和5层模型和TCP/IP模型 OSI模型将应用层和表示层作为独立的两层,而TCP/IP模型将它们合并为一个应用层. 两种对比来说,TCP/IP模型更符合实际开发 ...

  6. React Hooks方法

    1.useState import React, { useState } from "react"; /* 目标: 掌握useState的使用 作用:实现响应式数据的 用法:引入 ...

  7. 1451, 'Cannot delete or update a parent row: a foreign key constraint fails

    问题描述:1451, 'Cannot delete or update a parent row: a foreign key constraint fails (`sysProDB4`.`IM003 ...

  8. ubuntu配置vscode全过程(下载安装配置优化插件)

    一.安装vscode 下载vscode 当然啦,我们安装vscode,当然要先下载啦,但是但是但是!不要在ubuntu的软件中心(Ubuntu Software)下载!贼坑!下载完不能用! 推荐下载方 ...

  9. 2023 5.14 虚拟环境安装Linux

    1.安装配置VM虚拟机 vmare workstation 虚拟机是一款桌面计算机虚拟软件 让用户能够在单一主机上同事运行多个操作系统 1.每个虚拟操作系统的硬盘与数据都是独立 2.多台虚拟机可以构建 ...

  10. [MAUI]模仿Chrome下拉标签页的交互实现

    @ 目录 创建粘滞效果的圆控件 贝塞尔曲线绘制圆 创建控件 创建形变 可控形变 形变边界 形变动画 创建手势控件 创建页面布局 更新拖拽物位置 其它细节 项目地址 今天来说说怎样在.NET MAUI中 ...