【STA】多场景时序检查学习记录

news2024/11/24 3:54:09

单周期路径

建立时间时序检查

在时钟的有效沿到达触发器之前,数据应在一定时间内保持稳定,这段时间即触发器的建立
时间。满足建立时间要求将确保数据可靠地被捕获到触发器中。
建立时间检查是从发起触发器中时钟的第一个有效沿到捕获触发器中时钟后面最接近的那个有效沿。
在这里插入图片描述

触发器到触发器路径

在这里插入图片描述
建立时间检查可以用数学公式表示:

Tlaunch + Tck2q + Tdp < Tcapture + Tcycle - Tsetup

其中Tlaunch是发起触发器UFF0的时钟树延迟,Tdp是组合逻辑数据路径的延迟,Tcycle是时钟周期,Tcapture是捕获触发器UFF1的时钟树延迟。

触发器间可能存在多条路径,每条路径均需满足建立时间的要求,这等价于在延时最高的工作条件(PVT)下,触发器间的最长时序路径需要满足建立时间的要求。因此在时序报告中建立时间用-max表示。

输入引脚到触发器路径

输入引脚数据采用虚拟时钟发出

在这里插入图片描述

输入引脚数据采用实际时钟发出

在这里插入图片描述

触发器到输出引脚路径

输出引脚数据采用虚拟时钟捕获

在这里插入图片描述

输入引脚到输出引脚路径(组合逻辑路径)

在这里插入图片描述

保持时间时序检查

触发器的保持时间要求规定在时钟的有效沿之后的指定时间段内,被锁存的数据应保持稳定。
保持时间检查可确保正在变化的触发器输出值不会传递到捕获触发器,并在捕获触发器有机会捕获其原始值之前覆盖其输出。

在这里插入图片描述

触发器到触发器路径

在这里插入图片描述
保持时间检查可以用数学公式表示为:

Tlaunch + Tck2q + Tdp > Tcapture + Thold

其中Tlaunch是发起触发器的时钟树延迟,Tdp是组合逻辑数据路径中的延迟,Tcapture是捕获触发器的时钟树延迟。换句话说,由时钟边沿发起的数据到达捕获触发器D引脚所需的总时间必须大于时钟同一边沿到达捕获触发器所需的时间加上保持时间。这样可以确保UFF1 / D保持稳定状态,直到触发器的时钟引脚UFF1 / CK时钟上升沿之后的保持时间为止。

触发器间可能存在多条路径,每条路径均需满足保持时间的要求,这等价于在延时最低的工作条件(PVT)下,触发器间的最短时序路径需要满足保持时间的要求。因此在时序报告中建立时间用-min表示。

保持时间检查需要确保:

  • 当前数据发起时钟沿(Setup launch edge)的下一个(subsequent)时钟沿发起的数据不被当前数据捕获时钟沿(Setup receiving edge)所捕获。
  • 当前数据发起时钟沿发起的数据不被当前数据捕获时钟沿的前一个(Preceding)时钟沿所捕获。

在这里插入图片描述

触发器到输出引脚路径

输出引脚数据采用已知时钟捕获

在这里插入图片描述

多周期路径

两个触发器之间的数据路径可能需要一个以上的时钟周期才能传播通过逻辑。在这种情况下,这条组合逻辑路径会被定义为多周期路径。这意味着设计中后继触发器每隔多个周期才会使用一次前级触发器输出引脚上的数据,而不是每个周期都使用。

create_clock -name CLKM -period 10 [get_ports CLKM]
set_multicycle_path 3 -setup -from [get_pins UFF0/Q] -to [get_pins UFF1/D]
set_multicycle_path 2 -hold -from [get_pins UFF0/Q] -to [get_pins UFF1/D]
在这里插入图片描述

伪路径

  1. 利用已知/可预测时钟对信号采样时,尽量用多周期路径代替伪路径约束。

  2. 尽量不用-through复杂性高。

  3. 若要在两个时钟域之间设置伪路径,使用get_clocks效率更高:

set_false_path -from [get_clocks clockA] -to [get_clocks clockB]

  代替

set_false_path -from [get_pins {regA_ * }/CK] -to [get_pins {regB_ * }/D]

半周期路径

设计中同时具有负边沿触发的触发器(有效时钟沿为下降沿)和正边沿触发的触发器(有效时钟沿为上升沿),则设计中可能存在半周期路径。

在这里插入图片描述

半周期路径的建立时间、保持时间捕获时钟沿与发起时钟沿偏移均为半个时钟周期。

撤销时间检查

撤销时间检查用于确保在有效时钟沿与释放异步控制信号之间有足够的时间。类似于保持时间检查。

在这里插入图片描述

恢复时间检查

恢复时间检查用于确保异步信号变为无效状态的时刻与下一个有效时钟沿之间的时间间隔大于一个最
小值。类似于建立时间检查。

在这里插入图片描述

跨时钟域

当数据发起触发器和捕获触发器的时钟频率不同时,STA会首先确定一个公共基本周期(common base period)。快时钟的时钟周期会被延拓,以便获得两个时钟的一段公共周期。

慢时钟到快时钟

对于nMHz的慢时钟到4nMHz的快时钟数据传输:
在这里插入图片描述
假设该设计的目的是在CLKP的每隔第4个捕获沿上捕获数据,且数据发起沿后数据会发生变动,即需要将保持时间检查一直移回到数据发起沿所在位置,对应波形图如下:

在这里插入图片描述

对应上述波形图可使用的多周期约束如下。

set_multicycle_path 4 -setup -from [get_clocks CLKM] -to [get_clocks CLKP] -end
set_multicycle_path 3 -hold -from [get_clocks CLKM] -to [get_clocks CLKP] -end

其中-end表示依照捕获时钟沿,默认情况下-setup使用-start即发起时钟沿,-hold使用-end即捕获时钟沿。使用-end时会从默认的捕获时钟沿开始前移指定倍数周期,使用-start会从默认的发起时钟沿后移指定倍数周期。

快时钟到慢时钟

在这里插入图片描述

如果设计能够支持放宽建立时间检查要求,为数据路径提供两个快时钟周期,此时波形图如下:

在这里插入图片描述
此时多周期路径约束如下:

set_multicycle_path 2 -setup -from [get_clocks CLKP] -to [get_clocks CLKM] -start
set_multicycle_path 1 -hold -from [get_clocks CLKP] -to [get_clocks CLKM] -start

多时钟域

不同频率

  • 整数倍:设计中多个时钟的频率是彼此的整数倍。在这种情况下,会通过计算所有相关时钟之间的公共基本周期,以便所有时钟同步。
  • 非整数倍:对于两个频率不是彼此整数倍的时钟域之间存在数据路径的情况,时序分析会先计算相关时钟的公共周期,然后再将时钟扩展到该公共周期。之后,建立时间检查在时钟发起沿和捕获沿之间的最短时间内进行(根据建立时间不等式,两沿最短时检查最严格)。保持时间检查在发起时钟沿对应捕获时钟沿的前一周期与当前发起时钟沿最小时进行。

在这里插入图片描述

不同相位

在这里插入图片描述

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

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

相关文章

【OJ】求和与计算日期

文章目录 1. 前言2. JZ64 求123...n2.1 题目分析2.2 代码 3. HJ73 计算日期到天数转换3.1 题目分析3.2 代码 4. KY222 打印日期4.1 题目分析4.2 代码 1. 前言 下面两个题目均来自牛客&#xff0c;使用的编程语言是c&#xff0c;分享个人的一些思路和代码。 2. JZ64 求123…n …

117.移除链表元素(力扣)

题目描述 代码解决 class Solution { public:ListNode* removeElements(ListNode* head, int val) {//删除头节点while(head!NULL&&head->valval){ListNode*tmphead;headhead->next;delete tmp;}//删除非头节点ListNode*curhead;while(cur!NULL&&cur-&g…

阿里云国际云解析DNS如何开启/关闭流量分析?

流量分析服务会涉及产生日志费用&#xff0c;所以开通内网DNS解析服务后&#xff0c;默认不会主动开启流量分析&#xff0c;需要您手动开启流量分析。对于未开启流量分析的用户&#xff0c;进入界面会提示您展示的都是模拟数据&#xff0c;您可以点击开启流量分析服务&#xff…

Vue+SpringBoot打造城市桥梁道路管理系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块三、系统展示四、核心代码4.1 查询城市桥梁4.2 新增城市桥梁4.3 编辑城市桥梁4.4 删除城市桥梁4.5 查询单个城市桥梁 五、免责说明 一、摘要 1.1 项目介绍 基于VueSpringBootMySQL的城市桥梁道路管理系统&#xff0c;支持…

(十六)【Jmeter】取样器(Sampler)之测试活动(Test Action)

简述 操作路径如下: JMeter中的测试活动取样器实际上并不是一个具体的取样器类型,而是一种对测试计划中的多个取样器进行组合和执行的活动。常常被用作定时器,在某个请求之后等待多长时间。 参数说明 Logical Action on Thread(在线程上的逻辑操作) Pause Duration(mil…

“羊驼“入侵CV,美团浙大沈春华团队将LLaMA向CV扩展,构建全新基础模型VisionLLaMA

本文首发:AIWalker https://arxiv.org/abs/2403.00522 https://github.com/Meituan-AutoML/VisionLLaMA 本文概述 大型语言模型构建在基于Transformer的架构之上来处理文本输入, LLaMA 系列模型在众多开源实现中脱颖而出。类似LLaMa的Transformer可以用来处理2D图像吗&#xf…

关于数据库基本概念与基本介绍

​ 数据库是 一个组织良好的数据集合&#xff0c;旨在方便多个用户高效地共享信息资源 。以下是关于数据库的一些基本介绍&#xff1a; 1. 定义和目的&#xff1a;数据库是一个电子化的数据存储系统&#xff0c;设计用来存储、管理和检索数据。它允许用户或应用程序以各种复杂的…

【代码随想录算法训练营Day35】435.无重叠区间;763.划分字母区间;56.合并区间

文章目录 ❇️Day 36 第八章 贪心算法 part05✴️今日任务❇️435. 无重叠区间自己的思路自己的代码&#xff08;✅通过81.59%&#xff09;随想录思路随想录代码 ❇️763.划分字母区间自己的思路自己的代码&#xff08;✅通过55.30%&#xff09;随想录思路随想录代码 ❇️56. 合…

计算机网络-网络安全(二)

1.应用层安全协议&#xff1a; S-HTTP或SHTTP&#xff08;Sec HTTP&#xff09;&#xff0c;安全超文本传输协议&#xff0c;是HTTP扩展&#xff0c;使用TCP的80端口。HTTPS&#xff1a;HTTPSSL&#xff0c;使用TCP的443端口。和TLS&#xff08;传输层安全标准&#xff09;是双…

Linux 安装 Mysql 8.0

获取 Mysql 8.0 在 /usr/local下 创建mysql文件夹 mkdir mysql切换到mysql文件夹下 cd mysql下载mysql wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.20-linux-glibc2.12-x86_64.tar.xz解压mysql tar xvf mysql-8.0.20-linux-glibc2.12-x86_64.tar.xz重命名…

CSS技巧:实现两个div在同一行显示的方法

css如何让两个div在同一行显示 - web开发 - 亿速云 在Web开发中&#xff0c;经常遇到需要将多个元素水平排列在同一行的情况。其中一个常见的需求是将两个div元素放置在同一行上&#xff0c;使它们并排显示。在本文中&#xff0c;我们将介绍几种实现这一效果的CSS方法。 1. 使…

网络学习:SMart link技术与Monitor link技术

目录 一、SMart link技术 1.1、SMart link技术简介 1.2、SMart link技术原理及基础知识点 1、应用场景&#xff08;举例&#xff09;&#xff1a; 2、运行机制 3、保护vlan 4、控制VLAN 5、Flush报文 6、SMart link的负载分担机制 7、SMart link角色抢占模式 二、Mo…

MySQL的Redo Log、Undo Log、Binlog与Replay Log日志

前言 MySQL数据库作为业界最流行的开源关系型数据库之一&#xff0c;其底层实现涉及多种重要的日志机制&#xff0c;其中包括Redo Log、Undo Log、Binlog和Replay Log。这些日志组件共同确保MySQL数据库系统在面对事务处理、数据恢复和主从复制等方面表现出色。本文主要介绍一下…

08 OpenCV 腐蚀和膨胀

文章目录 作用算子代码 作用 膨胀与腐蚀是数学形态学在图像处理中最基础的操作。其卷积操作非常简单&#xff0c;对于图像的每个像素&#xff0c;取其一定的邻域&#xff0c;计算最大值/最小值作为新图像对应像素位置的像素值。其中,取最大值就是膨胀&#xff0c;取最小值就是腐…

就业班 2401--3.4 Linux Day10--软件管理

一、软件管理 导语&#xff1a; 安装软件 rpm yum 源码安装 ​ 卸载软件 rpm介绍 rpm软件包名称: 软件名称 版本号(主版本、次版本、修订号) 操作系统 -----90%的规律 #有依赖关系,不能自动解决依赖关系。 举例&#xff1a;openssh-6.6.1p1-31.el7.x86_64.rpm 数字前面的是名…

SpringBoot多数据源配置(MySql、Oracle)

一、依赖 <!-- dynamic-datasource 多数据源--><dependency><groupId>com.baomidou</groupId><artifactId>dynamic-datasource-spring-boot-starter</artifactId></dependency><!--oracle驱动--><dependency><groupI…

机器视觉——硬件选型

1、相机选型 在选择机器视觉相机时&#xff0c;通常需要考虑以下几个方面&#xff1a; 1、分辨率&#xff1a;相机的分辨率决定了其拍摄图像的清晰度和细节程度。根据具体的应用需求&#xff0c;可以选择适当的分辨率范围。 2、帧率&#xff1a;帧率表示相机每秒钟能够拍摄的…

linux无法启动dhcp服务--Failed to start DHCPv4 Server Daemon.错误

linux dhcp服务搭建详细过程请看 linux系统dhcp服务部署 关于dhcp服务无法启动Failed to start DHCPv4 Server Daemon.错误 解决方法&#xff1a;虚拟网络编辑器中的也就是dhcp所要服务的子网ip地址要与dhcp.conf中的服务网段ip一致&#xff08;与上面subnet 192.168.1.0一致…

伊理威科技:抖音上开店铺需要什么条件

在数字浪潮的推动下&#xff0c;抖音已成为连接品牌与消费者的新桥梁。若想在此平台开设小店&#xff0c;需满足一系列条件&#xff0c;方可乘风破浪。首要条件是拥有一张有效的身份证明或企业营业执照&#xff0c;这是验证商家身份和合法经营的基础。接着&#xff0c;商品质量…

[C语言]——C语言常见概念(2)

目录 一.第⼀个C语言程序 二.main函数 三.print和库函数 1.print 2.库函数 四.关键字介绍 一.第⼀个C语言程序 #include <stdio.h> int main() {printf("hello C\n");return 0;//约定返回0&#xff0c;在c语言中&#xff0c;正常返回0&#xff0c;异常…