set_output_delay的本质

news2024/10/5 21:25:45

        set_output_delay是对模块output信号在模块外部延迟的约束,本质上EDA工具会根据约束调整内部器件(UFF0)的类型,摆放位置以及组合逻辑(C1)以满足约束要求,即EDA工具保证模块DUA的UFF0的Tclk2q+Tc1延时能够满足约束要求。

约束指导原则:尽量照顾设计外部逻辑延时

max 正值尽量大

        set_output_delay -max delay_vaule : delay_vaule 数值越大,对自身的约束越严格,对外部的要求越宽松,本质上是对setup time的约束。

        set_output_delay -min  delay_vaule : delay_vaule 可以是负值,delay_vaule 数值越小,需要自身的延时(Tclk2q+Tc1)越大,本质上是对hold time的约束。delay_vaule 为0 表示要求信号的自身的延时(Tclk2q+Tc1)至少要大于capture(UFF1)的hold time。

2、set_output_delay示意图 

    图7-23显示了DUA(the design under analysis )的输出路径。触发器UFF0在DUA内部,并向DUA外部的触发器UFF1提供数据。数据由UFF0的Q端输出,经过组合逻辑C1,通过输出端口OUTB输出经过组合逻辑C2到达UFF1。触发器UFF0和触发器UFF1的采样时钟均为CLKQ。不考虑CLKQ时钟偏移,该时钟周期是两个触发器UFF0和UFF1之间采样时间差。针对DUA输出管脚OUTB设置的set_output_delay指的就是相对于时钟CLKQ的Tc2延时加上UFF1的setup time延时。

set Tc2 3.9 set Tsetup 1.1 set_output_delay -clock CLKQ -max [expr Tc2 + Tsetup] [get_ports OUTB]

图片

3、set_output_delay 简单案例

    如图所示,组合逻辑Tc2的延时范围为0ns~7ns。外部触发器的Tsetup 为0.4ns,Thold为0.2ns,因此外部路径的最大延时为7.4ns (= max Tc2 plus Tsetup = 7 + 0.4),外部路径的最小延时为-0.2ns (= min Tc2 minus Thold = 0 - 0.2)。(PS:12nm~5nm工艺,hold time和setup time仅仅只有几十~十几ps。)

create_clock -period 20 -waveform {0 15} [get_ports CLKQ] set_output_delay -clock CLKQ -min -0.2 [get_ports OUTC] set_output_delay -clock CLKQ -max 7.4 [get_ports OUTC]

图片

End

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

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

相关文章

复数

文章目录 复数虚数 i i i几何解释 复数复数的性质复数的加法1. 加实部2. 加虚部3. 组合实部和虚部复数加法的几何解释总结 复数减法1. 减实部2. 减虚部3. 组合实部和虚部复数减法的几何解释总结 复数乘法1. 展开乘法2. 使用 i 2 − 1 i^2 -1 i2−13. 合并实部和虚部复数乘法…

100 道 Python 经典面试题超强汇总(三):Python 对象内部

《Python Cookbook》的作者David Beazley的课程PPT开源了,目标用户是希望从编写基础脚本过渡到编写更复杂程序的高级 Python 程序员,课程主题侧重于流行库和框架中使用的编程技术,主要目的是更好地理解 Python 语言本身,以便阅读他…

(JavaScript笔记摘要)一次性搞定原型和原型链

一、前言 学完JavaScript ES5基础语法(核心语法)后,发现根本不够用,于是选择继续精进JavaScript功底 学到原型和原型链时,发现有点卡壳儿,于是投入了一定精力,进行了汇总整理和吸收&#xff0c…

知识体系总结(九)设计原则、设计模式、分布式、高性能、高可用

文章目录 架构设计为什么要进行技术框架的设计 六大设计原则一、单一职责原则二、开闭原则三、依赖倒置原则四、接口分离原则五、迪米特法则(又称最小知道原则)六、里氏替换原则案例诠释 常见设计模式构造型单例模式工厂模式简单工厂工厂方法 生成器模式…

【Kubernetes】Kubernetes之配置资源管理

Secret 和 ConfigMap 一、Secret1. Secret 的作用2. Secret 的类型3. Secret 使用方式及应用场景4. Secret 的实例4.1 创建 Secret4.2 使用方式将 Secret 挂载到 Volume 中,以 Volume 的形式挂载到 Pod 的某个目录下将 Secret 导出到环境变量中 二、 ConfigMap1. Co…

由于找不到mfc140u.dll,无法继续执行代码怎么修复?

当我在使用某个应用程序时遇到了mfc140u.dll缺失的错误提示时,我意识到这是由于该动态链接库文件丢失或损坏所引起的。mfc140u.dll是MFC的一部分,它包含了许多与用户界面、窗口管理、控件等相关的函数和类。这个文件通常用于支持使用MFC开发的应用程序的…

高效服务器DDoS防护,F5安全架构不可少

数字化转型,特别是现代化应用正面临着严峻挑战。如何确保应用的用户体验,用户现有安全架构如何适应现代化应用防护需求,以及 API 安全直接关乎现代化应用的普及和用户的体验,甚至关系到企业数字化能否转型成功。当企业网站或服务器…

HD Supply EDI 项目测试流程

在此前的文章 HD Supply EDI 项目案例中,我们已经为大家介绍了 HD Supply EDI 项目案例,了解了 HD Supply 业务测试场景,本文将为大家介绍 EDI 项目测试流程。 HD Supply EDI 项目连接测试 在HD Supply EDI 项目中,CommerceHub为…

[oneAPI] 手写数字识别-BiLSTM

[oneAPI] 手写数字识别-BiLSTM 手写数字识别参数与包加载数据模型训练过程结果 oneAPI 比赛:https://marketing.csdn.net/p/f3e44fbfe46c465f4d9d6c23e38e0517 Intel DevCloud for oneAPI:https://devcloud.intel.com/oneapi/get_started/aiAnalyticsToo…

[obs] 编译记录

2023.7 obs 最近编译方式经常改。本次使用的是最新的方式编译 2023/7月份版本,记录一下遇到的坑 obs 最新版默认使用 vs2022 才能编译,如果想用 vs2019 编译,改下面这个地方就好了 CMakePresets.json 文件的obs aja 编译有问题 解决方案&a…

【方法】如何给分卷压缩文件添加密码?

在压缩文件的时候,如果文件比较大,或者网盘单个文件限制了大小,很多人会选择将文件压缩成分卷文件。 如果文件还有保密需求,那如何在压缩文件时设置分卷,又同时设置密码保护呢?下面小编来举例看看如何操作…

测试平台开发:(19)自动化测试脚本工具化 2

上一篇:测试平台开发:(18)自动化测试脚本工具化_要开朗的spookypop的博客-CSDN博客 本篇先实现创建自动化脚本的功能,将selenium代码语言转化为文字语言,如下图所示: 例1:比如下面的代码,转化为语言“用谷歌浏览器打开XX页面”: service = ChromeService(executabl…

【Python】基础语法:变量类型和动态类型

文章目录 1. 常量2. 变量3. 动态类型特性 努力经营当下 直至未来明朗 1. 常量 浮点数在内存中表示使用的是IEEE754标准,这套规则下,在内存中表示该浮点数额时候可能会存在微小的误差 在进行运算的时候,最好可以将数字(字面值常…

如何理解“I/O指令是CPU系统指令的一部分”?

I/O指令作用过程(以 I/O端口独立编址方式为例): CPU识别出当前指令是I/O指令,向I/O总线发送相应控制信号和地址信息。 之前迷惑的点:默认以为I/O指令是作用于I/O接口的,进而产生疑问,I/O接口中…

期权行权和不行权的区别

对于期权小白刚入门来说,期权是一种金融衍生品,简单理解期权就是大盘指数为标的物,可以做多和做空,在期权到期日最后一天,你面临持仓合约是选择行权呢还是不行权,下文科普期权行权和不行权的区别&#xff0…

03.Spring Security 如何保护用户密码

1. 前言 上一文我们对Spring Security中的重要用户信息主体UserDetails进行了探讨。中间例子我们使用了明文密码,规则是通过对密码明文添加{noop}前缀。那么本节将对 Spring Security 中的密码编码进行一些探讨。 2. 不推荐使用md5 首先md5 不是加密算法&#xf…

前端跨域的原因以及解决方案(vue),一文让你真正理解跨域

跨域这个问题,可以说是前端的必需了解的,但是多少人是知其然不知所以然呢? 下面我们来梳理一下vue解决跨域的思路。 什么情况会跨域? ​ 跨域的本质就是浏览器基于同源策略的一种安全手段。所谓同源就是必须有以下三个相同点:协议相同、域名…

网络套接字

网络套接字 文章目录 网络套接字认识端口号初识TCP协议初识UDP协议网络字节序 socket编程接口socket创建socket文件描述符bind绑定端口号sockaddr结构体netstat -nuap:查看服务器网络信息 代码编译运行展示 实现简单UDP服务器开发 认识端口号 端口号(port)是传输层协…

Python 3 使用HBase 总结

HBase 简介和安装 请参考文章:HBase 一文读懂 Python3 HBase API HBase 前期准备 1 安装happybase库操作hbase 安装该库 pip install happybase2 确保 Hadoop 和 Zookeeper 可用并开启 确保Hadoop 正常运行 确保Zookeeper 正常运行3 开启HBase thrift服务 使用命…

谈谈召回率(R值),准确率(P值)及F值

通俗解释机器学习中的召回率、精确率、准确率,一文让你一辈子忘不掉这两个词 赶时间的同学们看这里:提升精确率是为了不错报、提升召回率是为了不漏报 先说个题外话,暴击一下乱写博客的人,网络上很多地方分不清准确率和精确率&am…