FPGA设计时序分析一、时序路径

目录

一、前言

二、时序路径

2.1 时序路径构成

2.2 时序路径分类

2.3 数据捕获

2.4 Fast corner/Slow corner

2.5 Vivado时序报告

三、参考资料

一、前言

    时序路径字面容易简单地理解为时钟路径,事实时钟存在的意义是为了数据的处理、传输,因此严格意义上的时序路径是指在时钟控制下的时钟路径与数据路径。

二、时序路径

2.1 时序路径构成

    关键词:源时钟路径,数据路径,目的时钟路径

    以数据在两个寄存器间的传输连接为例,典型的时序路径包含3个部分:源时钟路径,数据路径,目的时钟路径,源时钟路径和目的时钟路径的时钟可相同,也可不同。

2.2 时序路径分类

    下图为FPGA芯片与外围电路连接的简略图,中间虚线框内为FPGA器件,左右两侧的开发板器件分别为输入到FPG芯片和FPGA芯片输出到外围器件。FPGA芯片通过DIN和DOUT口与外围电路连接。

    将两个寄存器REG A和REG B为界限,时序路径可分为4类:

路径1:外部器件到FPGA内部的寄存器单元REG A,

路径2:输入端口DIN直连的寄存器REG A到输出端口DOUT直连的寄存器REG B

路径3:输入寄存器REG A到输出寄存器REG B

路径4:芯片输入端口DIN到输出端口DOUT间的路径

4类时序路径组成分析

当路径1的起点非开发板的输出Q,而是以DIN为起点时,路径1是不存在源时钟路径。同理路径3的终点非外部开发板的输入端口D,而是以DOUT为终点时,路径3不存在目的时钟路径。对于路径4,因为起点和终点分别为DIN,DOUT,路径上不存在寄存器,输入输出的时钟可为虚拟时钟,也可以是设计时钟。

虚拟时钟:用于描述数据引脚上的外部时钟信号,约束时可不指定实际端口,该时钟不会存在于FPGA内部,为了方便时序分析而存在。

2.3 数据捕获

关键词:发送沿Lanch edge,捕获沿Capture edge

    以边沿触发的触发器为例,REG A的Q只有在起点处的源时钟处于上升沿或下降沿时才会输出D的数据,传输到REG B的输入端口D。因此,该时钟边沿即为发送沿。同理,对于REG B的输入D,只有在目的时钟源处于上升沿或触发沿时,才能输入到触发器REG B中,目的时钟的时钟信号边沿称为捕获沿,即捕获到发送沿发送来的数据。发送沿和捕获沿相差一个时钟周期

在10ns出,clk0将D0输入发送出,即Q0的值为1,同时Q0的值传输到D1,捕获时钟clk1在20ns处将1捕获,输出到Q1,即经过一个时钟周期20ns,D0传输到了Q1。

2.4 Fast corner/Slow corner

    时序分析还需考虑器件在不同环境条件下的传输和处理时延不同,将这些影响时延的外在因素统一考虑,分为两种极端场景,Slow corner和Fast corner,两者可理解为最差的条件和最好的条件。每种场景在组合最大时延和最小时延,共存在四种情况。

Slow corner+最大时延

Slow corner+最小时延

Fast corner+最大时延

Fast corner+最小时延

2.5 Vivado时序报告

在Report Timing Summary中,Design Timing Summary中可以找到设计中setup和hold的最差时序路径,setup和hold都大于0,时序不违例,该设计中无recovery、removal路径。

设计中只对clk_100M设置了时钟约束

clk_100M为手动设置的约束,其余时钟为时钟IP生成的,配置完成后会自动生成时钟约束,最终来源也是clk_100M.

三、参考资料

用户手册《ug906-vivado-design-analysis-zh-cn-2022.2.pdf》

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

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

相关文章

基于Docker-compose创建LNMP环境并运行Wordpress网站平台

基于Docker-compose创建LNMP环境并运行Wordpress网站平台 1.Docker-Compose概述2.YAML文件格式及编写注意事项3.Docker-Compose配置常用字段4.Docker Compose常用命令5.使用Docker-compose创建LNMP环境,并运行Wordpress网站平台1. Docker Compose 环境安装下载安装查…

静态 链接

1、空间与地址的分配 现在的链接器空间分配的策略基本上都采用 “相似段合并” 的方式。通过将所有相同类型的 section 合并到一起,例如将所有输入目标文件的 .text 合并(按顺序合并)到输出文件的 .text 节中;然后,链接…

第111天:免杀对抗-JavaASM汇编CS调用内联CMSF源码特征修改Jar打包

知识点 #知识点: 1、ASM-CS-单汇编&内联C 2、JAVA-MSF-源码修改&打包#章节点: 编译代码面-ShellCode-混淆 编译代码面-编辑执行器-编写 编译代码面-分离加载器-编写 程序文件面-特征码定位-修改 程序文件面-加壳花指令-资源 代码加载面-Dll反射…

自动驾驶技术架构

自动驾驶技术架构 自动驾驶技术架构 自动驾驶关键技术 自动驾驶汽车技术架构较为复杂,涉及了多领域的交叉互容,例如汽车、交通、通信等,基于自动驾驶相关的软硬件、辅助开发工具、行业标准等各方面关键问题,自动驾驶汽车关键技术…

深度学习(二)

目录 一、神经网络 整体架构: 架构细节: 神经元个数的影响: 神经网络过拟合解决: 卷积网络 整体架构: 卷积层 边缘填充 特征尺寸计算 池化层 特征图变化 递归神经网络 一、神经网络 整体架构: 图中分别为输入层、隐层1、隐层2、输出层 通过输入层输入某数值&#xf…

机器学习之线性判别分析(Linear Discriminant Analysis)

1 线性判别分析介绍 1.1 什么是线性判别分析 线性判别分析(Linear Discriminant Analysis,简称LDA)是一种经典的监督学习算法,也称"Fisher 判别分析"。LDA在模式识别领域(比如人脸识别,舰艇识别…

3.2.20:DTP与Datepicker实现日期的输入

【分享成果,随喜正能量】人生艰难自不必去回避,人生艰难说多了也是白说,为什么,解决不了问题,说了也还是那么难。。 我给VBA的定义:VBA是个人小型自动化处理的有效工具。利用好了,可以大大提高…

每日一题——多数元素

多数元素 题目链接 方法一:暴力解法 直接利用两层循环,外层循环用来枚举数组的每一个元素,内层循环用来计算每个元素出现的次数,这样就可以求出多数元素了。 显然,这个方法的时间复杂度为O(N^2),效率太低…

关于项目,会问我什么?

作者:阿秀 校招八股文学习网站:https://interviewguide.cn 这是阿秀的第「288」篇原创 小伙伴们大家好,我是阿秀。 在校招求职这块,简历上比较重要的点就是教育背景、实习经历、项目经验三块,其中教育背景都到了秋招这…

C++初阶之一篇文章让你掌握string类(了解和使用)

string类及其模拟实现 1.我们为什么要学习string类2. 标准库中的string类2.1 string类的实例化标准2.2 了解string 3.string类的常用接口说明3.1 string类对象的常见构造3.2 string类对象的容量操作3.3 string类对象的元素访问3.4 string类对象的Iterators(迭代器&a…

网络安全合规与标准的主要发展方向

网络安全合规就是避免违反网络安全有关的法律、法规、规章、合同义务以及任何安全要求,标准在网络安全合规工作中扮演着重要的角色。 一、标准在网络安全合规体系中的地位作用 网络安全合规体系包括网络安全有关的法律、法规、规章、其他规范性文件、及合同义务等…

详细解析黑马微信小程序视频--【思维导图知识范围】

语言视频选择收录专辑链接C张雪峰推荐选择了计算机专业之后-在大学期间卷起来-【大学生活篇】JAVA黑马B站视频JAVA部分的知识范围、学习步骤详解JAVAWEB黑马B站视频JAVAWEB部分的知识范围、学习步骤详解SpringBootSpringBoot知识范围-学习步骤【JSB系列之000】微信小程序详细解…

《深度解析Docker与微服务架构:构建灵活可扩展的现代应用》

🌷🍁 博主 libin9iOak带您 Go to New World.✨🍁 🦄 个人主页——libin9iOak的博客🎐 🐳 《面试题大全》 文章图文并茂🦕生动形象🦖简单易学!欢迎大家来踩踩~&#x1f33…

通过 API 远程管理 Jenkins

目录 前言: 背景介绍 Jenkins Remote API 的简介 Jenkins Remote API 的调用 Read More ... 前言: Jenkins 是一种开源的持续集成工具,可以帮助我们更加方便地进行软件开发和测试工作。通过 API 远程管理 Jenkins 可以帮助我们更加方便…

在家下载论文使用哪些论文下载工具比较好

在家下载论文如果不借助论文下载工具是非常艰难的事情,因为很多查找下载论文的数据库都是需要账号权限才可使用的。 例如,我们查找中文论文常用的知网、万方等数据库以及众多国外论文数据库。 在家下载知网、万方数据库论文可用下面的方法:…

SpringCloudAlibaba微服务实战系列(三)Sentinel1.8.0+流控

SpringCloudAlibaba–Sentinel Sentinel被称为分布式系统的流量防卫兵,是阿里开源流量框架,从服务限流、降级、熔断等多个纬度保护服务。Sentinel同时提供了简洁易用的控制台,可以看到接入应用的秒级数据,并可以在控制台设置一些…

Guitar Pro8吉他谱制作软件好不好用?

吉他谱是学习和演奏吉他的重要工具之一,对于吉他爱好者而言,掌握一款优秀的吉他谱制作软件是必不可少的。随着科技的进步,现在有许多吉他谱制作软件可供选择。下面我们就来看吉他谱制作软件哪个好,以及怎么制作吉他谱子吧&#xf…

【OpenGL学习】之着色器GLSL基础

基本类型: 类型说明void空类型,即不返回任何值bool布尔类型 true,falseint带符号的整数 signed integerfloat带符号的浮点数 floating scalarvec2, vec3, vec4n维浮点数向量 n-component floating point vectorbvec2, bvec3, bvec4n维布尔向量 Boolean vectorivec2, ivec3, iv…

005.PADS VX2.4自定义快捷键设置及修改

005.PADS VX2.4自定义快捷键设置及修改 若部分快捷键不符合操作习惯或者部分功能系统未设置快捷键,可自定义快捷键功能,自定义快捷键功能需要注意设置的按键需要与无模命令区分,以免与无模命令冲突;如若需要修改某个快捷功能&…

年轻小伙爆肝ARST

关于 ARTS 的释义 —— 每周完成一个 ARTS: ⭐️● Algorithm: 每周至少做一个 LeetCode 的算法题 ⭐️● Review: 阅读并点评至少一篇技术文章 ⭐️● Tips: 学习至少一个技术技巧 ⭐️● Share: 分享一篇有观点和思考的技术文章 希望通过此次活动能聚集一波热爱技…