时序分析(二):input delay分析

一、IO接口分析基本模型

        数据按照同步方式可分为系统同步源同步方式两种。所谓系统同步指发送端和接收端共用一个时钟源;源同步指发送端提供数据同步时钟,接收端根据该时钟进行数据接收。现在多数通信中使用源同步方式,例如以太网、ADC等。

        此外还有自同步方式,在这不做介绍。

IO时序分析基本模型(源同步)

二、input delay分析 

         首先进行input delay分析。既然分析“input”,那么FPGA就是接收端,接收来自外部芯片(发送端)的数据和同步时钟,这里我们把发送端称为上游器件。input delay分析模型如下图:

input delay分析模型

       图中不同颜色的虚线表示不同的信号传输路径,对应传输延时含义如下:

       

        Tco                     

Tco指上游器件中的数据延时,包括时钟到reg1的延时Tco1、数据从reg1的D端到Q端的延时Tco2以及数据从reg1的Q端到上游器件pad的延时
Tc_d时钟在上游器件内部的延时
Td_bd数据信号的PCB板级延时
Tc_bd时钟信号的PCB板级延时
Td_fi数据信号在FPAG内部的延时
Tc_fi时钟信号在FPAG内部的延时
Tsu\ThFPGA接收(输入)寄存器的建立时间门限\保持时间门限

        根据分析模型可以得到时序图:

时序图

        图中各波形的含义从他们的名字就可以看出,其中Fpga data in指数据到达FPGA的输入引脚,Fpga clock in指时钟信号到达FPGA的输入引脚,这两个信号波形很重要,后边会讲为什么。

        画出时序图,很容易就可以得到:

  • 数据达到FPGA中reg2D端的实际时间Data Arrival time = Tco + Td_bd + Td_fi
  • 数据达到FPGA中reg2D端的要求时间Data Required time = Tcycle + Tc_d + Tc_bd + Tc_fi – Tsu
  • 建立时间裕量Setup Slack = Data Required time - Data Arrival time

        同样可得:

  • 数据达到FPGA中寄存器D端的实际结束时间Data End time = Tcycle +Tco + Td_bd + Td_fi
  • 数据达到FPGA中寄存器D端的要求结束时间Data Required  End time = Tc_d + Tc_bd + Tc_fi + Tcycle + Th
  • 保持时间裕量Hold Slack = Data End time - Data Required  End time

         知道了建立时间裕量和保持时间裕量,我们就可以做时序分析了,即要想不发生时序违例,必须满足建立时间裕量Setup Slack > 0,保持时间裕量Hold Slack > 0

        但是以上计算为通用公式,我们知道实际数据信号传输是以总线的方式,数据到达FPGA输入引脚的延时可能大也可能小,称作数据skew

        观察图中波形,Fpga in data延时变大时会压缩建立时间裕量,因此在延时最大时分析建立时间时序。如果延时最大时仍旧没有发生时序违例,那么延时小时更不会。同理,Fpga in data延时变小时会压缩保持时间裕量,因此在延时最小时分析保持时间时序。如果延时最小时仍旧没有发生时序违例,那么延时大时更不会。

        现在我们以分析建立时间为例,要想分析时序是否违例,根据上文必须要知道Tco max、Td_bd max和Td_fi_max。对于FPGA来说或者对于编译器来说,Td_fi和Tc_fi是已知的(因为他们在FPGA内部),而Tco、Tc_d、Tc_bd和Td_bd是未知的。因此我们要告诉编译器输入到FPGA管脚的时钟和数据的关系(Tco、Td_bd),也就是上文提到的Fpga data in和Fpga clock in之间的关系,这也是input delay约束的目的所在。                

        现在计算Setup Slack = Data Required time - Data Arrival time

            = cycle + Tc_d + Tc_bd + Tc_fi – Tsu - (Tco max + Td_bd max + Td_fi max),结合时序图可知,input delay约束的就是发射沿lunch到数据有效的延时,即时序图中的:

        LrMax = Tco max + Td_bd max -(Tc_d + Tc_bd) ------分析建立时间时序

        LrMin   = Tco min + Td_bd min -(Tc_d + Tc_bd)  ------分析保持时间时序

       

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

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

相关文章

洗地机怎么选择最好?四大洗地机精选放心入手

在当今生活节奏飞快的社会中,人们越来越渴望拥有一款高性能、实用方便的家用洗地机,能够帮助我们节省大量的清洁时间。因为洗地机它是吸尘器的升级版,清洁力比扫地机器人更强,洗地机通过高速旋转的风机,产生超大吸力&a…

Unity之HTC VIVE Cosmos环境安装(适合新手小白)(一)

提示:能力有限,错误之处,还望指出,不胜感激! 文章目录 前言一、unity版本电脑配置相关关于unity版本下载建议:0.先下载unity Hub1.不要用过于旧的版本2.不要下载最新版本或者其他非长期支持版本 二、官网下…

生命在于学习——Python人工智能原理(4.4)

三、Python的数据类型 3.2 Python的组合数据类型 特点:表示多个元素的组合,可以包含不同类型的元素,甚至是其他的组合数据类型。 在内存中通常需要额外的空间来存储元素间的关系。 组合数据类型能够将多个同类型或不同类型的数据组织起来&a…

出版发行企业从传统分销到网格化营销的变革之路(AMT企源)

引言: 本文为该系列文章的第一篇,旨在介绍当前出版发行行业,尤其是各省级新华书店集团围绕“综合教育服务”和“大文化消费服务”两个领域的业务布局下,如何实现营销模式创新、营销组织创新,以推动新华书店集团从传统…

浮动IP绑定主机步骤

文章目录 1,查看本机的原有IP2,绑定浮动IP3,验证绑定情况4,解绑浮动IP 1,查看本机的原有IP ifconfig得到本机的ip是192.168.10.128 2,绑定浮动IP ifconfig ens33:1 192.168.10.10 netmask 255.255.255.0…

墨迹天气与AI数据湖的集成案例(集易连平台)

客户介绍 客户方为国内某皮具生产企业,年设计版型数千款,全国销售门店数一千多家,年销售额达20亿。该AI项目目的是将订单数据、用户行为分析、天气数据、门店位置、客流量等等一系列数据作为AI大模型的输入,经过大模型的训练和…

LeetCode刷题之HOT100之打家劫舍

2024/6/26 大家早上好呀!今天不热诶,昨天跟镔哥跑了五公里,配速515简直不要太爽啊,跑完后在操场走一圈,正好发小发了群视频过来,聊了半小时。发小一考研二战失利,去干测试,天天累得不…

ROS话题通信机制实操Python

ROS话题通信机制实操Python 创建ROS工程发布方(二狗子)订阅方(翠花)编辑配置文件编译并执行计算图查看Python话题机制节点 ROS话题通信的理论查阅ROS话题通信流程理论 在ROS话题通信机制实现中,ROS master 不需要实现,且连接的建立也已经被封装了&#…

RedHat9 | RAID配置与管理

一、实验环境 1、RAID简介 RAID(Redundant Array of Independent Disks),即独立磁盘冗余阵列,是一种数据存储技术。它通过将多个独立的磁盘驱动器组合起来,形成一个逻辑上的整体,从而提高数据存储的性能、…

【Redis】数据持久化

https://www.bilibili.com/video/BV1cr4y1671t?p96 https://blog.csdn.net/weixin_54232666/article/details/128821360 单点redis问题: 数据丢失问题:实现Redis数据持久化并发能力问题:搭建主从集群,实现读写分离故障恢复问题&…

数据分析必备:一步步教你如何用matplotlib做数据可视化(13)

1、Matplotlib 文本 Matplotlib具有广泛的文本支持,包括对数学表达式的支持,对光栅和矢量输出的TrueType支持,具有任意旋转的换行符分隔文本以及unicode支持。Matplotlib包含自己的matplotlib.font_manager,它实现了一个跨平台&a…

和GPT-4这些大模型玩狼人杀,人类因太蠢被票死,真·反向图灵测试

「你看,人类一败涂地了」 这是一次「反向图灵测试」,几个全球最先进的大模型坐在一起,坐着火车唱着歌,但其中混进了人类: 而 AI 的任务,是把这个人类揪出来。 最近,一位昵称「Tore Knabe」的网…

[leetcode]number-of-longest-increasing-subsequence

. - 力扣&#xff08;LeetCode&#xff09; class Solution { public:int findNumberOfLIS(vector<int> &nums) {int n nums.size(), maxLen 0, ans 0;vector<int> dp(n), cnt(n);for (int i 0; i < n; i) {dp[i] 1;cnt[i] 1;for (int j 0; j < i…

LangChain结合LLM做私有化文档搜索

我们知道LLM&#xff08;大语言模型&#xff09;的底模是基于已经过期的公开数据训练出来的&#xff0c;对于新的知识或者私有化的数据LLM一般无法作答&#xff0c;此时LLM会出现“幻觉”。针对“幻觉”问题&#xff0c;一般的解决方案是采用RAG做检索增强。 但是我们不可能把…

深入解读一下`android.os.CountDownTimer`

简介 在 Android 开发中&#xff0c;CountDownTimer 是一个非常有用的类&#xff0c;它可以用于倒计时任务&#xff0c;比如倒计时器、限时活动等。CountDownTimer 提供了一个简单的方式来实现定时操作&#xff0c;无需我们手动管理线程和计时器。 本文将深入解析 CountDownT…

Linux核心基础详解(第13天)

系列文章目录 一、Linux基础详解&#xff0c; 二、网编三要素和SSH原理 三、shell编程&#xff08;补充&#xff09; 文章目录 系列文章目录前言一、linux简介二、虚拟机简介1、设置VMware网卡1.1 修改VMware中网络1.2 修改本地net8网卡ip 2、安装命令版裸机3、安装centos操作…

CVPR 2024圆满落幕:海报创意不断,学者穿cos服装讨论学术问题?这届CVPR真是太有趣了

CVPR 2024圆满落幕&#xff1a;海报创意不断&#xff0c;学者穿cos服装讨论学术问题&#xff1f;&#xff01;这届CVPR真是太有趣了 会议之眼 快讯 2024 年 CVPR &#xff08;Computer Vision and Pattern Recogntion Conference) 即国际计算机视觉与模式识别会议&#xff0c…

【python】python入门day1

python入门 Python解析器Python注释Python中的变量&#xff08;重点&#xff09;练习&#xff1a;1、用python的print函数描述一段对话2、与计算机模拟一段对话&#xff0c;并且最终计算机需要将输入的内容全部输出3、模拟两个对话场景(根据提示输入内容&#xff0c;并且在后续…

OpenCV中掩膜(mask)图像的创建和使用

操作系统&#xff1a;ubuntu22.04OpenCV版本&#xff1a;OpenCV4.9IDE:Visual Studio Code编程语言&#xff1a;C11 功能描述 掩模图像&#xff08;Mask Image&#xff09;是一种特殊类型的形象数据&#xff0c;在图像处理和计算机视觉中扮演着重要角色。它通常是一个二维数组…

Java面试问题(一)

一.Java语言具有的哪些特点 1.Java是纯面向对象语言&#xff0c;能够直接反应现实生活中的对象 2.具有平台无关性&#xff0c;利用Java虚拟机运行字节码文件&#xff0c;无论是在window、Linux还是macOS等其他平台对Java程序进行编译&#xff0c;编译后的程序可在其他平台上运行…