FPGA静态时序分析与约束(三)、读懂vivado时序报告

系列文章目录

FPGA静态时序分析与约束(一)、理解亚稳态
FPGA静态时序分析与约束(二)、时序分析

文章目录

  • 系列文章目录
  • 前言
  • 一、时序分析回顾
  • 二、打开vivado任意工程
    • 2.1 工程布局路由成功后,点击vivado左侧**IMPLEMENTATION**->再点击**Report Timing Summary**
    • 2.2 在弹出的界面下面的命令栏,点击**Timing**
    • 2.3 点击方框1里面的intra-Clock Paths
  • 三、分析静态时序路径
    • 3.1 分析源时钟路径
    • 3.2 分析数据路径
    • 3.3 分析目的时钟路径
  • 四、 计算建立时间余量


前言

前两篇文章介绍了什么是亚稳态?以及静态时序分析,但那些终究还是理论,那么在实际工程中,如何分析时序路径呢?如何将理论转到实际呢?

一、时序分析回顾

上篇文章我们知道了建立时间余量和保持时间余量公式为:

  • 数据到达时间 Data Arrival time = Tclk1 + Tco + Tdata
  • 数据锁存时间 Data Required Time = 锁存沿时间 + Tclk2 - Tsu
  • 建立余量公式Setup Slack= 数据锁存时间 - 数据抵达时间

  • 数据保持时间 Data Hold Time = Tclk1 + Tco + Tdata +时钟周期
  • 数据锁存时间 Data Required Time = 锁存沿 + Tclk2 + Th
  • 保持余量 = 数据保持时间 - 数据锁存时间

二、打开vivado任意工程

平台:vivado2020.1

2.1 工程布局路由成功后,点击vivado左侧IMPLEMENTATION->再点击Report Timing Summary

在这里插入图片描述

2.2 在弹出的界面下面的命令栏,点击Timing

在这里插入图片描述

  1. 方框1里:
    ①:整个设计的时序总结,如右边两个方框所示
    ②:整个设计里所有使用的时钟
    ③:相同时钟域路径
    ④:异步时钟域路径
  2. 方框2显示的是建立时间总共的信息:
    ①:最差建立时间余量
    ②:总的负建立时间余量之和
    ③:建立时间违规的节点路径数量
    ④:总的节点建立时间路径数量
  3. 方框3显示的是保持时间总共的信息:
    ①:最差的保持时间余量
    ②:总的负保持时间余量之和
    ③:保持时间违规的节点路径数量
    ④:总的节点保持时间路径数量

2.3 点击方框1里面的intra-Clock Paths

随便点击一个时钟域,看右侧的路径
在这里插入图片描述
右侧会显示最差的时序的路径(默认十条),双击path21
在这里插入图片描述

  1. 为该路径的时序余量,等于Data Required Time - Data Arrival time
  2. 该路径源时钟,这里是27M,周期37.037ns
  3. 该路径目的时钟,因为这里是同时钟域下的节点路径,所以也是27M,周期37.037ns
  4. 时序模型为建立时间
  5. 理想的建立时间为一个周期,参考FPGA静态时序分析与约束(二)、时序分析
  6. 这条路径总的数据延迟时间,Tdata
  7. 时钟偏斜
  8. 时钟的不确定性
  9. 源时钟路径
  10. 数据路径
  11. 目的时钟路径

三、分析静态时序路径

3.1 分析源时钟路径

在这里插入图片描述

  1. 时钟从外部管脚进来,经过IBUF,延迟了1.526ns
  2. 再经过走线net 延迟了2.18ns
  3. 然后进入BUFG延迟了0.093ns
  4. 最后经过走线net延迟了1.225ns,到达源寄存器时钟端口
  5. 总共源时钟路径Tclk1 = 1.526 + 2.18 + 0.093 + 1.225 = 5.024

3.2 分析数据路径

在这里插入图片描述

  1. 数据经过源寄存器Tco时间0.223ns
  2. 数据经过走线net延迟了4.641ns
  3. 数据再经过组合逻辑延迟了0.043ns
  4. 数据最后经过走线延迟了5.485ns
  5. 根据公式Data Arrival time = Tclk1 + Tco + Tdata=5.024 + 0.223 + (4.641 + 0.043 + 5.485)=15.417ns

3.3 分析目的时钟路径

在这里插入图片描述

  1. 锁存沿时间,一个时钟周期37.037ns
  2. 进入IBUF延迟了1.394ns
  3. 经过走线延迟了2.022ns
  4. 经过BUFG延迟了0.083
  5. 走线延迟了1.444ns
  6. 时钟悲观延迟,由软件自动算出的延迟0.313ns
  7. 时钟不确定性因素,-0.035ns
  8. 寄存器建立时间0.281ns
  9. Data Required Time = 锁存沿时间 + Tclk2 - Tsu=37.037 + (1.394+2.022+0.083+1.444+0.313 -0.035)-0.281=41.977ns

四、 计算建立时间余量

根据建立余量公式Setup Slack= 数据锁存时间 - 数据抵达时间=41.977-15.417=26.560ns

在这里插入图片描述
和显示时间余量的一样。

以上就是对viavdo建立时间余量报告的解读,保持时间同理。

FPGA静态时序分析与约束(四)、时序约束

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

浅易理解:非极大抑制NMS

什么是非极大抑制NMS 非极大值抑制(Non-Maximum Suppression,简称NMS)是一种在计算机视觉和图像处理领域中广泛使用的后处理技术,特别是在目标检测任务中。它的主要目的是解决目标检测过程中出现的重复检测问题,即对于…

家具工厂5G智能制造数字孪生可视化平台,推进家具行业数字化转型

家具制造5G智能制造工厂数字孪生可视化平台,推进家具行业数字化转型。随着科技的飞速发展,家具制造业正迎来一场前所未有的数字化转型。在这场家具制造业转型中,5G智能制造工厂数字孪生可视化平台发挥着至关重要的作用。 5G智能制造工厂数字孪…

深度学习模型部署(十)模型部署配套工具二

上篇blog讲了trtexec和onnx_graphsurgeon两个工具,一个用于将onnx转化为trt模型,另一个用于对onnx模型进行修改。这篇blog讲polygraphy和nsight systems,前者用于进行模型优化以及结果验证,后者用于性能分析。 polygraph polygra…

sqllab第二十三关通关笔记

知识点: mysqli_query() 返回值为资源型或布尔型如果内容为查询语句则返回资源型数据;如果内容为插入、更新、删除等语句则返回布尔类型结果mysql_fetch_array() 从结果集中取出一行作为关联数组或数字数组输入内容为指定查询的结果集单引号闭合绕过联…

hololens2发布unity设置

生成vs工程再向hololens发布时, Architecture选X64或ARM64都可以成功发布

爬虫3_爬取翻页URL不变的网站

之前实现了对大学排数据爬取:爬虫2_2019年549所中国大学排名. 近期复现代码,发现原网站升级,在翻页时,发现URL不改变,修改代码,使用网页自动化工具selenium实现对该类网站数据获取。 #-*- coding: UTF-8 -…

【物联网】Modbus 协议及Qinghub物联网平台应用

Modbus 协议简介 QingHub设计器在设计物联网数据采集时不可避免的需要针对Modbus协议的设备做相关数据采集,这里就我们的实际项目经验分享Modbus协议 你可以通过QingHub作业直接体验试用,也可以根据手册开发相应的代码块。 qinghub项目已经全面开源。 …

MC78L05ACDR2G线性稳压器芯片中文资料规格书PDF数据手册引脚图参数图片价格

产品概述: MC78L00A系列线性稳压器价格便宜,易于使用,适用于各种需要最高100mA的调节电源的应用。与大功率MC7800和MC78M00系列一样,这款稳压器也提供内部电流限制和高温关断,因此非常坚固耐用。在很多应用中&#xf…

MediaBox音视频终端SDK已适配鸿蒙星河版(HarmonyOS NEXT)

2024年1月,HarmonyOS NEXT 鸿蒙星河版系统开发者预览版开放申请,该系统将只能安装为鸿蒙开发的原生应用,而不再兼容安卓应用。对此,阿里云MediaBox音视频终端SDK产品已实现功能的鸿蒙化迁移和重构,全面适配鸿蒙系统Har…

王勇:硬科技的下一站 | 演讲嘉宾公布

一、智能耳机与可穿戴专题论坛 智能耳机与可穿戴专题论坛将于3月27日同期举办! 智能耳机、可穿戴设备已经逐渐融入我们的生活,它们不仅带来了便捷与舒适,更在悄然改变着我们的生活方式和工作模式。在这里,我们将分享最新的研究成果…

前端基础——HTML傻瓜式入门(2)

该文章Github地址:https://github.com/AntonyCheng/html-notes 在此介绍一下作者开源的SpringBoot项目初始化模板(Github仓库地址:https://github.com/AntonyCheng/spring-boot-init-template & CSDN文章地址:https://blog.c…

误分区酿苦果,数据恢复有妙方

一、误操作引发分区混乱 在数字化时代的浪潮中,硬盘分区成为我们管理和存储数据的重要手段。然而,误分区这一操作失误,却时常给许多用户带来不小的困扰。误分区,简单来说,就是在对硬盘进行分区操作时,由于…

P6安装:安装P6提示1433端口无效

错误描述 尝试运行 Microsoft SQL Server 2005 的 Primavera P6 数据库时,遇到以下错误: SQLServerException: The TCP/IP connection to the host [name], port 1433 has failed. Error: “Connection refused: connect. Verify the connection prope…

LCR144翻转二叉树(力扣简单题,Java,递归+非递归)

目录 题目描述: 递归代码1: 递归代码2: 非递归代码(层次遍历): 题目描述: 给定一棵二叉树的根节点 root,请左右翻转这棵二叉树,并返回其根节点。 示例 1:…

vs2022安装番茄助手后无法使用

1.安装番茄助手 兼容性-win7-管理员启动 2.破解 下载附件“VA_X64.dll”、“PiaoYun64.dll”破解文件,使用Everything找到C盘对应的“VA_X64.dll”路径,将两个破解文件拷贝到此路径。 3.命令行键入类似命令:D:\OfficeSoftware\VisualStudi…

mybatis实现动态sql和关联映射以及延迟加载策略

一、动态sql的简述 什么是动态sql:在不同条件下拼接不同的sql Mybatis框架的动态sql技术是一种根据特定条件动态拼接SQl语句的功能,他存在的意义是为了解决拼接SQL语句字符串时的痛点问题。比如我们在用淘宝之类的软件在进行商品属性选择的时候,我们会发…

JAVA22 FFM实战之HelloWorld

前言 JDK22即将发布,Java Foreign Function & Memory API将会退出预览,是时候开始学习一波了。 FFM API介绍 FFM API由两大部分组成,一个是Foreign Function Interface,另一个是Memory API。前者是外部函数接口&#xff0c…

Java双非大二找实习记录

先说结论:2.22→3.6线上线下面了七家,最后oc两家小公司,接了其中一个。 本人bg: 真名不经传双非一本,无绩点无竞赛无奖项无实习,23年12月开始学java。若非要说一点相关的经历,就是有java基础&…

鸿蒙Harmony应用开发—ArkTS声明式开发(基础手势:PluginComponent)

提供外部应用组件嵌入式显示功能,即外部应用提供的UI可在本应用内显示。 说明: 该组件从API Version 9开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。本组件为系统接口。 子组件 无 接口 PluginComponent(value:…

数据预处理|数据清洗|使用Pandas进行异常值清洗

数据预处理|数据清洗|使用Pandas进行异常值清洗 使用Pandas进行异常值清洗1. 异常值检测1.1 简单统计分析1.2 散点图方法1.3 3σ原则1.4 箱线图 2. 异常值处理2.1 直接删除2.2 视为缺失值2.3 平均值修正2.4 盖帽法2.5 分箱平滑法2.6 回归插补2.7 多重插补2.8 不处理 使用Pandas…