再述时序约束

news2024/9/22 15:33:27

再述时序约束

  • 一、为什么要加时序约束?
  • 二、时序分析是什么?
  • 三、时序分析的一些基本概念
  • 三、 时序分析的一些基本公式

一、为什么要加时序约束?

       一次笔者在调试HDMI输出彩条,出现彩条时有时无现象,笔者视频输出芯片的驱动时钟使用的是FPGA内部晶体振荡器输出的,而采用PLL输出时钟则无此现象,由此可以断定问题原因在时钟不稳,或者FPGA输出时钟与数据不满足视频驱动芯片的建立和保持时间造成的。经过测量,确实发现时钟和数据出现不稳定现象。
       由此可见,如果不见时序约束会造成逻辑功能不稳定,甚至故障。

二、时序分析是什么?

       时序分析就是设计者首先提出时序要求,软件工具去分析,目前的代码、布线策略、器件等级是否满足设计者要求。如满足,达到设计者要求。如不满足,要么修改代码,要么降低时序要求。

三、时序分析的一些基本概念

1.什么是时钟抖动?
时钟抖动的英文是clock jitter。意思是时钟周期在正确位置的左右摆动。
在这里插入图片描述
2.什么是时钟偏差?
时钟偏差英文是clock skew。时钟传输到源端寄存器和目标端寄存器的时间差叫时钟偏差。
3.什么是时钟的不确定性?
时钟不确定性英文是clock uncertainty。时钟的不确定性由skew和jitter导致的。
set_clock_uncertainty -from clk0 -to clk0 0.500
该约束含义是设计时钟 clk0 全部时钟间路径的裕量需严格地设置在 500ps,以使设计的
建立和保持抗噪声能力更强

三、 时序分析的一些基本公式

1.什么是数据到达时间?
       答:数据从发送沿发送,到达采样寄存器的D端口,经历的时间叫数据到达时间。发送沿是0时间点。
2.数据从发送沿到达采样寄存器的D端口,经过了那些路径?经过的路径延时即就是数据到达延时。
发送寄存器的传输延时Tco,组合逻辑延时Tdata,时钟传输延时Tclka(可忽略)。所以数据到达时间 Data Arrival Time = Tclka + Tco + Tdata。如下图。
在这里插入图片描述
3.时钟到达时间?
       从概念上分析,数据在捕获沿采样。所以理论时钟的到达时间应该是一个周期,时钟的传输延时可以忽略。
Clock Arrival Time = 采样沿时间+ Tclkb。
4.建立时间裕量
       数据要求到达时间-数据实际到达时间=建立时间裕量。
建立时间裕量为正,说明数据能被正确采样。反之,不能被正确采样。如下图。
在这里插入图片描述
忽略时钟传输延时。
数据要求到达时间=Tclk-Tsu。
数据实际到达时间=Tco+Tdata
Setup Slack = Data Required Time - Time Arrival Time
建立时间裕量=数据要求到达时间-数据实际到达时间
=Tclk-Tsu-(Tco+Tdata)
=10-1.4-0.8-0.6
=7.2ns

4.保持时间裕量
       一般情况下忽略时间传输延迟,但是本例给出的数据正好让保持时间为0,所以加上时钟传输延时。
数据保持时间=Tclk1+Tco+Tdata+Tclk(数据保持稳定一个时钟周期)
数据要求保持时间=Tclk2+Tclk+Th(时钟沿后还要保持一定时间)
保持时间裕量=数据保持时间- 数据锁存(获取|读取)时间
保持余量 Hold Slack = 数据保持时间- 数据锁存(获取|读取)时间
=3.2+0.2+0.6+10-(2+10+1.4)
=0.6ns 在这里插入图片描述5.多周期路径
       大多数情况下,我们对时序分析是依照单周期来分析的,即本时钟周期发送数据,下一个时钟周期采样数据。但是,在一些情况下,源端发送数据后,目标端隔几个周期才回采样到正确的数据。比如数据传输链路复杂,运算复杂。比如乘法器,给出乘数和被乘数后,需要等待几个周期后才能获得正确的结果,如果在下一个周期去读数据,会读到一个错误的数据。同样时序约束如果按照单周期约束,也会报时序不满足。
       不设置多周期路径约束的后果有两种:一是按照单周期路径检查的结果,虚报时序违规;二是导致布局布线工具按照单周期路径的方式执行,虽然满足了时序规范,但是过分优化了本应该多个周期完成的操作,造成过约束。过约束会侵占本应该让位于其他逻辑的布局布线资源,有可能造成其他关键路径的时序违规或时序余量变小。
       在多周期路径的建立时间( Setup Time)检查中, 时序分析软件会按照用户指定的周期数延长Data required Time,放松对相应数据路径的时序约束,从而得到正确的时序余量计算结果;在保持时间( Hold Time)检查中, 时序分析软件也会相应地延长Data Required Time,不再按照单周期路径的分析方式执行(不再采用launch edge最近的时钟沿,而是采用latch
edge最近的时钟沿),这就需要用户指定保持时间对应的多周期个数。

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

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

相关文章

leecode-数组多数-摩尔投票法

题目 题目 分析 最开始思路&#xff1a;排序&#xff0c;然后取nums[n/2]&#xff0c;但是时间复杂度不过关。 摩尔投票法&#xff0c;学到了&#xff01; 代码 class Solution { public:int majorityElement(vector<int>& nums) {//摩尔投票int cnt0;int targ…

计算机二级c语言题库

计算机C语言二级考试&#xff08;60道程序设计&#xff09; 第1道 请编写一个函数fun,它的功能是:将ss所指字符串中所有下标为奇数位置上的字母转换成大写&#xff08;若该位置上不是字母&#xff0c;则不转换&#xff09;。 例如&#xff0c;若输入"abc4EFG"&…

OpenCV学习笔记 | ROI区域选择提取 | Python

摘要 ROI区域是指图像中我们感兴趣的特定区域&#xff0c;OpenCV提供了一些函数来选择和提取ROI区域&#xff0c;我们可以使用OpenCV的鼠标事件绑定函数&#xff0c;然后通过鼠标操作在图像上绘制一个矩形框&#xff0c;该矩形框即为ROI区域。本文将介绍代码的实现以及四个主要…

opencv编译

文章目录 一、编译前工作二、编译安装1、Windows2、Linux 一、编译前工作 进入下载页面https://github.com/opencv/opencv&#xff0c;下载指定.tar.gz源码包&#xff0c;例如&#xff1a;opencv-4.7.0.tar.gz。解压到指定目录。 二、编译安装 opencv构建时&#xff0c;需要…

使用docker搭建hadoop集群

1.下载安装docker 2.启动docker 3.配置docker镜像 4.获取hadoop镜像 5.拉取hadoop镜像 6.运行容器 7.进入容器 8.配置免密 9.格式化节点 10.启动节点 11.查看节点信息 (img-CBr9VbGk-1687962511910)] 11.查看节点信息

javascript原型、原型链、继承详解

一、原型和原型链的基本概念 在JavaScript中&#xff0c;每个对象都有一个原型对象&#xff08;prototype&#xff09;。原型对象就是一个普通的对象&#xff0c;在创建新对象时&#xff0c;可以将该对象作为新对象的原型。原型对象可以包含共享的属性和方法&#xff0c;这些属…

Appium自动化-ADB连接手机提示unauthorized

目录 开头&#xff1a; 问题&#xff1a; 调研&#xff1a; 重启大法 终极大法 总结&#xff1a; 开头&#xff1a; 当使用ADB&#xff08;Android Debug Bridge&#xff09;连接手机时&#xff0c;如果提示"unauthorized"&#xff08;未授权&#xff09;错误&a…

javaee HttpSessionListener监听器统计在线人数

先创建ServletContextListener 在全局对象application中设置count属性 package com.yyy.listener;import java.util.ArrayList;import javax.servlet.ServletContext; import javax.servlet.ServletContextEvent; import javax.servlet.ServletContextListener; import javax…

易基因|表观遗传学与脑卒中:DNA甲基化的作用及衰老对血脑屏障修复的影响

大家好&#xff0c;这里是专注表观组学十余年&#xff0c;领跑多组学科研服务的易基因。 脑卒中&#xff08;俗称中风&#xff09;是导致死亡和长期残疾的主要原因&#xff0c;尤其是对于老龄人来说。脑卒中的平均生存时间为6-7年&#xff0c;许多患者存在身体残疾和晚期认知功…

技术岗/算法岗面试如何准备?5000字长文、6个角度以2023秋招经历分享面试经验

技术岗/算法岗面试流程是什么样的&#xff1f;技术面都干什么&#xff1f;Coding 机试如何准备&#xff1f;技术面考察哪些知识&#xff0c;如何准备&#xff1f;项目八股如何准备&#xff1f;简历要注意什么&#xff1f;怎么做&#xff1f; 大家好&#xff0c;我是卷了又没卷…

uniapp 适配全面屏

1、manifest.json 文件修改 app-plus 下 添加 "safearea": {"background": "#00000000","bottom": {"offset": "auto"}},2、部分页面设置全屏&#xff08;登录页面&#xff09; methods: {//设置页面全屏onShow(…

SpringBoot(二)starter介绍

做Java后端的同学可能都知道&#xff0c;在SpringBoot诞生之前&#xff0c;还有传统的Spring。这种Spring项目想要运行&#xff0c;需要导入各种依赖&#xff0c;而且还要在 XML 配置文件中一顿配置&#xff0c;非常痛苦。但通过上篇博客我们可以看到&#xff0c;SpringBoot项目…

事务与隔离级别

事务四要素 原子性&#xff08;Atomicity&#xff09;&#xff1a;要么全部完成&#xff0c;要么全部不完成&#xff1b;一致性&#xff08;Consistency&#xff09;&#xff1a;一个事务单元需要提交之后才会被其他事务可见&#xff1b;隔离性&#xff08;Isolation&#xff…

azure databricks因为notebook 日志打多或者打印图片太多,往下拉卡死怎么处理

1、同事碰到个问题&#xff0c;databricks 页面卡死不动了 2、我。。。。。。。。测试了下搞不定&#xff0c;找azure的工程师&#xff0c;特此笔记如下图 !](https://img-blog.csdnimg.cn/5db9756d0e224d15a9a607561b47591f.png)

怎样自定义starter模块和使用

一、 自定义Starter模块 在实际开发中&#xff0c;经常会定义一些公共组件&#xff0c;提供给各个项目团队使用。而在SpringBoot的项目中&#xff0c;一般会将这些公共组件封装为SpringBoot的starter(起步依赖)。 1.1实例–阿里云OSS的配置 前言&#xff1a;我们在使用阿里云…

windows下MySQL 5.7.31的安装

文章目录 安装步骤检查是否安装成功配置环境变量 安装步骤 双击安装包mysql-installer-community-5.7.31.0.msi选择自定义安装“custom”&#xff0c;点击next “Developer Default”是开发者默认“Server only”仅作为服务器安装“Clientonly”仅作为客户端安装“Full”是完…

华为OD机试真题 Python 实现【红黑图】【2023Q1 200分】,附详细解题思路

一、题目描述 众所周知红黑树是一种平衡树&#xff0c;它最突出的特性就是不能有两个相邻的红色节点。 那我们定义一个红黑图&#xff0c;也就是一张无向图中&#xff0c;每个节点可能有红黑两种颜色&#xff0c;但我们必须保证没有两个相邻的红色节点。 现在给出一张未染色的…

晶振的作用,高速晶振优缺点

前言 &#xff08;1&#xff09;我们都知道晶振是一款MCU的心脏&#xff0c;因为长期用这种抽象的概念进行解释&#xff0c;导致很多人不知道这个心脏的实际作用。因此&#xff0c;我在这里详细的介绍一下晶振对于MCU的实际作用。 &#xff08;2&#xff09;接下来我将会在MCU处…

一零六一、Jupyter notebook文件默认路径修改方法

1 .打开 Anaconda Prompt&#xff0c;输入命令 jupyter notebook --generate-config 根据上面运行处的路径打开 C:\Users\WW.jupyter\jupyter_notebook_config.py文件&#xff0c;可以使用记事本打开。 2 .直接CtrlF 搜索 &#xff0c;找到 #c.NotebookApp.notebook_dir ‘’…

Spring 2023面试题(2)--Spring mvc 运行流程

1. Spring MVC的运行流程主要包括以下步骤&#xff1a; 用户发送请求到前端控制器&#xff08;DispatcherServlet&#xff09;。前端控制器接收到请求后&#xff0c;初始化处理器映射器&#xff08;HandlerMapping&#xff09;和处理器适配器&#xff08;HandlerAdapter&#…