输入延时(Input Delay)与输出延时(Output Delay)

2023-11-19

一、设置输入延时(Input Delay)

1、不同的路径需要使用不同的约束
在这里插入图片描述
2、输入延时的定义

由下图可以看出Input Delay是以上游芯片的时钟发送沿为参考,上游的输出数据到达FPGA的外部输入端口之间的延迟。

输入延迟(input delay)包括Tco和Trace Delay(板间延迟),其中Trace delay又叫Board delay。
在这里插入图片描述
3、完整的输入静态时序路径
在这里插入图片描述
4、输入静态时序路径分析报告

可以看出它主要把时序路径分为三部分,然后分别计算各部分的延时,最后计算出裕量slack,根据slack的值来判断时序是否正确。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
关于时序报告中这几部分的延时为啥要这么算,可以参考这篇文章 传送门 最后的附录部分加以理解。

5、设置输入延时
在这里插入图片描述
需要注意的是,如果同时设置了max和min delay,那么max值是用在对Input Setup Timing的分析中的,而min值用在对Input hold Timing的分析中。如果只设置了一个值,那么同时供两者使用!!!
在这里插入图片描述

6、DDR输入延时举例在这里插入图片描述
之所以要这么设置,是因为DDR在时钟下降沿采集前一个上升沿发送的数据,在下一个上升沿采集前一个下降沿发送的数据。因为默认设置都是针对上升沿的,因此我们还需要针对下降沿再设置一下参数。

7、静态时序路径
在这里插入图片描述
静态时序路径从时钟元件开始,在时钟元件结束

  • 从内部触发器到内部触发器的路径受到时钟的约束
  • FPGA的输入和输出不是静态时序路径的起点/终点

默认情况下,主I/O和内部时钟元件之间的任何逻辑都不是完整静态时序路径的一部分

  • 如果没有其他命令,就不会对与I/O相关的逻辑进行设置/保持检查
    在这里插入图片描述

为了获取完整的静态时序路径,我们需要向Vivado静态时序引擎描述外部元素

输入端口:

  • 外部设备使用的时钟
  • 外部设备时钟与到达FPGA输入端口之间的延迟;包括外部设备的CLK->Q的时间和板延迟

输出端口:

  • FPGA的输出端口与外部设备时钟之间的延迟;包括外部设备需求时间和板延迟
    在这里插入图片描述

二、设置输出延时(Output Delay)

1、不同的路径需要使用不同的约束
在这里插入图片描述
2、输出延时
在这里插入图片描述
输出延时指的是从FPGA输出数据后到达外部器件时钟沿的延时时间,其中PCB板上的走线延时以及外部器件的数据建立和保持时间。也可以理解为在捕获沿到来时,数据已经存在的时间,如上图所示!!!

3、外部建立和输出时间要求
在这里插入图片描述
因为是以下游芯片的捕获沿为参考点,所以建立时间为正,保持时间为负。

4、完整的输出静态时序路径
在这里插入图片描述
输出静态时序路径的分段略有不同:

  • 数据路径延迟在FPGA的输出端口结束
  • 目的时钟路径通过下游设备返回到FPGA的输出端口

5、输出静态时序分析报告
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
关于时序报告中这几部分的延时为啥要这么算,可以参考这篇文章 传送门 最后的附录部分加以理解。

6、DDR输出延时举例
在这里插入图片描述
7、输出延时摘要
在这里插入图片描述

  • 这说明在所需的稳定区域开始之前,数据必须在输出端口准备就绪,并且必须保持稳定,直到稳定区域结束;
  • 这映射成了逻辑到FPGA内部输出端口的时序要求;

三、设置最大延时(max_delay)

1、异步输入到输出的延时
在这里插入图片描述
2、设置最大延时举例
在这里插入图片描述
3、最大延时时序报告
在这里插入图片描述


最后总结一下,在阅读时序报告时可以发现,时序路径中的三部分在计算延时的时候,基本公式都是:

  • T(source clock path) + T(data path) = 实际的数据到达时间;

  • T(destination clock path) - Ts(或者+Th) = 数据需求时间;

但是:

  • 如果设置了input delay,那input delay应该加到data path delay中;
  • 如果设置了output delay,那应该用output delay替换数据需求时间中的Ts或者Th;

并且,如果input delay和output delay设置了max和min,那么:

  • 如果是对建立时间进行时序分析,则使用max;并且在T(destination clock path) - Ts中,destination clock path的初始时间是一个clock周期;

  • 如果对保持时间进行时序分析,则使用min;并且在T(destination clock path) +Th中,destination clock path的初始时间为0。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

输入延时(Input Delay)与输出延时(Output Delay) 的相关文章

随机推荐

  • 基于51单片机的温度烟雾报警系统设计

    功能 本实例是基于51单片机的温度烟雾报警系统 主要硬件由51单片机最小系统 LCD1602液晶屏电路 烟雾检测电路 温度感应电路 蜂鸣器报警电路 ADC0832转换电路 LED指示灯电路和按键电路构成 1 LCD1602液晶屏 第一行显示
  • Colab .ipynb 从本地/云端/GitHub 导入并使用.py文件

    1 下载 上传目标文件 1 从GitHub下载所需repo 下载Code 下载 Zip 文件保存到本地 2 上传至云端Google Drive 上传成功后就能在My Drive看到文件夹了 尝试过直接Clone repo到Colab 但是后
  • python爬取考研网的信息

    今天我们使用python来爬取考研网站的信息 目标网站 https yz chsi com cn zsml queryAction do 使用的库 requests bs4 pandas 这些库统一可以使用pip进行统一安装 pip ins
  • VSCode 插件安装:中文(简体)语言包(附带:不生效解决方案)

    文章目录 VSCode 安装插件 中文 简体 语言包 中文语言包不生效解决方案 打开 命令面板 配置显示语言 选择中文 重启VSCode 效果 中文界面 VSCode 安装插件 中文 简体 语言包 插件市场搜索 中文 选择如下插件安装 Ch
  • Vue3自定义指令之前端水印功能实现

    一 前置知识 Vue 中的自定义指令 先来说说 vue2和vue3中自定义全局指令的区别 相同点 指令的应用场景 原理是一致的 不同点 生命周期钩子函数名 指令定义的格式不一样 vue2中自定义全局指令 定义 注册一个全局自定义指令 v f
  • 一篇关于如何用深度学习完成自动上色(Automatic Image Colorization)的论文浅析

    论文标题是 Let there be Color Joint End to end Learning of Global and Local Image Priors for Automatic Image Colorization wit
  • 【转载】英语动词过去式ed的发音规则

    规则动词词尾加 ed有三种读音 1 在清辅音后读作 t 如 asked helped watched stopped 2 在浊辅音和元音后读作 d 如 enjoyed studied moved called 3 在t d后读作 id 如
  • 基于vue-cli3模板的axios封装项目

    为了更便捷的使用项目框架 本模板为空白项目 但是已经为大家封装了axios方法和post get请求 内有基础案例 请大家按着自己项目需要进行修改使用 axios interceptors response use response gt
  • 采样位数、采样率、波特率

    实例 16bit 16K 115200 1 采样位数 即采样值或取样值 就是将采样样本幅度量化 它是用来衡量声音波动变化的一个参数 也可以说是声卡的分辨率 它的数值越大 分辨率也就越高 所发出声音的能力越强 在计算机中采样位数一般有8位和1
  • Spring Cloud 微服务

    Spring Cloud 微服务架构介绍 单体架构 单体架构也称之为单体系统或者是单体应用 就是把系统中所有的功能 模块耦合在一个应用中的架构方式 特点 打包成一个独立的单元 导成一个唯一的 jar 包或者是 war 包 会一个进程的方式来
  • 金算盘高手论坛资料中心_3D006期 菜鸟论坛精英PK专栏 速来围观!!

    点上方 菜鸟选号论坛 点右上角 选 星标 每日上午更新 星标置顶与大神不走散 苹果是置顶 安卓是星标 点击 菜鸟选号论坛 关注我们 论坛明星版块 集全网各路高手之大乘 打造草根明星 展示舞台 同时主要是为广大关注彩友 在每一期 推出个人擅长
  • swift编程入门(非常详细)从零基础入门到精通,看完这一篇就够了

    文章目录 1 读后概述 2 语法笔记 2 1 说明 2 2 基础类型 2 3 运算符 2 4 字符与字符串 2 4 控制流 2 5 函数 2 6 闭包 2 7 枚举 结构体 类 2 8 类的构造与析构 2 9 属性监听器 2 10 类的继承
  • python 图像处理(7):对比度与亮度调整

    图像亮度与对比度的调整 是放在skimage包的exposure模块里面 1 gamma调整 原理 I Ig 对原图像的像素 进行幂运算 得到新的像素值 公式中的g就是gamma值 如果gamma gt 1 新图像比原图像暗 如果gamma
  • 毕业设计-基于微信小程序的电影推荐系统

    目录 前言 课题背景与简介 实现设计思路 一 电影推荐算法的设计与实现 二 电影推荐系统分析与设计 实现效果样例 更多帮助 前言 大四是整个大学期间最忙碌的时光 一边要忙着备考或实习为毕业后面临的就业升学做准备 一边要为毕业设计耗费大量精力
  • 基于情感词典的情感分析

    思路以及代码都来源于下面两篇文章 一个不知死活的胖子 Python做文本情感分析之情感极性分析 Ran Fengzheng 的博客 基于情感词典的文本情感极性分析相关代码 基于情感词典的情感分析应该是最简单的情感分析方法了 大致说一下使用情
  • http服务器_本地简易http服务器

    本地简易http服务器 下面实现一个简单的http服务器 听起来高大上的样子 其实就是网络通信加上http协议 运用上篇的网络编程的基础模型 上篇的网络通信是开两个vs程序 一个做服务器 一个做客户端 互相发送数据 http服务器其实也是同
  • 【Unity-学习-021】异步实现HTTP请求

    对Http访问操作 Unity中一般使用协程操作 但是协程有一个比较要命的要求就是所在Mono必须在场景中是激活的 所以一些操作就会被限制 所以我们就找办法替代掉协程做一些异步的操作 那就用异步方法 首先扩展一下AsyncOperation
  • java操作RabbitMQ

    文章目录 一 基本消息模型 1 导入依赖 2 准备连接工具类 3 创建消息发送者 生产者 4 创建消息接受者 消费者 5 消息确认机制 ACK 二 Work queues 1 创建消息发送者 2 创建多个消息接受者 3 测试 4 设置能者多
  • QtIFW:制作程序安装包

    程序发布方式一般有两种 1 静态编译发布 这种方式使得程序在编译的时候会将Qt核心库全部编译到一个可执行文件中 其优势是简单单一 所有的依赖库都集中在一起 其缺点也很明显 可执行程序体量较大 2 制作安装包发布 这种方式的原理也简单 就是将
  • 输入延时(Input Delay)与输出延时(Output Delay)

    一 设置输入延时 Input Delay 1 不同的路径需要使用不同的约束 2 输入延时的定义 由下图可以看出Input Delay是以上游芯片的时钟发送沿为参考 上游的输出数据到达FPGA的外部输入端口之间的延迟 输入延迟 input d