时序分析(二):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,一经查实,立即删除!

相关文章

游戏开发中常用Api

文章目录 Windows PowerShell1.PowerShell的执行策略 Git_Api1.初始化仓库2.设置全局邮箱和用户名3.ssh相关操作3.1.检查是否存在ssh3.2.生成ssh3.3.测试和仓库的ssh连接 4.与远程仓库的操作4.1.连接远程仓库4.2.取消连接4.3.拉取代码4.4.提交相关 5.分支操作5.1.修改要提交的分…

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

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

java-冒泡排序 2

### 9. 冒泡排序的变种冒泡排序有许多变种,例如鸡尾酒排序(Cocktail Shaker Sort),它是冒泡排序的双向版本。鸡尾酒排序在每次遍历时,先从左到右,再从右到左,双向 地“冒泡”,使得排…

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

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

chatGPT?是什么,到底用了什么技术呢?

本文尽可能精简的讲解openai的chatgpt 文章目录 前言一、chatgpt是什么?1. 基础架构2. 训练过程3. 应用场景4. 技术特点5. 局限性 二、树形图ChatGPT 大致架构 总结 前言 随着人工智能的不断发展,Ai对话工具的使用也越来越广泛。由国外openai推出的chatg…

百日筑基第二天-随便学点

百日筑基第二天-随便学点 慢SQL发生的原因 缺乏索引:当查询中涉及的列没有合适的索引时,数据库管理系统可能需要执行全表扫描来查找匹配的行,这会大大增加查询时间。查询条件不当:复杂的查询条件、不必要的JOIN操作、过多的子查…

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

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

stencil 简介

stencil 简介 stencil 出现的动机为何要学习 stencil 呢? stencil 是一个生成 Web Component 的编译器,但是其具有自己的特殊语法,使用 stencil 生成的组件可跨框架和在 html 中使用。 其号称结合了最流行框架(angular、react、vue)中的最好…

出版发行企业从传统分销到网格化营销的变革之路(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 不需要实现,且连接的建立也已经被封装了&#…

每日一练 - RSTP与STP收敛速度对比

01 真题题目 RSTP 收敛速度比 STP 要快,以下说法正确的是? A. 在 RSTP 中检测拓扑是发生变化只有一个标准.一个非边缘端口迁移到 Forwarding 状态 B. 在 STP 中,为了避免临时环路,至少要等待一个 Forwarding Delay 待全网端口确定,所有端口才能进行转发 C. P/A …

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…

转行大模型开发:知识、能力及学习路线详解

引言 随着人工智能和大模型&#xff08;如GPT-4、BERT等&#xff09;技术的快速发展&#xff0c;越来越多的专业人士希望转行进入这一领域。大模型开发涉及复杂的技术体系和多样的应用场景&#xff0c;对从业者的知识和能力提出了较高要求。本文将详细解析转行大模型开发所需的…