时序约束——set_max_delay和set_min_delay用法-程序员宅基地

技术标签: fpga开发  FPGA  时序约束  

set_max_delay:最大延迟约束
set_min_delay:最小延迟约束

约束原语:
set_max_delay [-datapath_only] [-from <node_list>] [-to <node_list>] [-through <node_list>]

set_min_delay [-from <node_list>] [-to <node_list>] [-through <node_list>]

一般在约束异步信号时可以使用。针对跨时钟域的异步信号,常使用set_false_path或者set_clock_groups,但是这两种约束会导致跨时钟域的信号完全没有受到约束。而使用set_max_delay约束可以保证两个异步时钟域的路径延时收到约束。

在设计时我们不会主动去添加,因为在设计之前,我们一般不会知道具体哪条路径为异步信号之间的时序路径,并且对于异步信号之间的路径,我们一般不关心其时序要求,通常是设为伪路径处理,如果我们确实要对某条异步信号之间的时序路径提出时序要求时,我们才设定它的最大最小延时,因此进行set_max_delay、set_min_delay时,我们一般是对整个工程进行综合实现了,根据时序报告和我们的要求,再对相应的路径添加set_max_delay、set_min_delay。

set_max_delay与set_min_delay这两种约束,一般用于特定的异步路径上,并且这种异步路径又不能不分析,比如异步FIFO的读写地址传递,虽然是格雷码,但也只能保证在一个源时钟周期内只有一条线发送翻转,如果不对源时钟到目的时钟路径进行max_delay的约束,那么很有可能地址从源时钟传递到目的时钟时,其传播路径延时会超过两个源时钟周期,特别是源时钟周期很小的情况下。

又比如说,同一时钟内,当某条路径总是不能满足(即周期跑不过),可以先用set_max_delay将这条关键路径约束起来(它的优先级比周期约束高),这样vivado会优先将这条路径布了,然后再去布其他路径,加大了布线成功的概率:

一般应用场景有两个:
输入管脚的信号经过组合逻辑后直接输出到管脚设置
异步电路之间的最大最小延迟设置

本文为学习记录文档,内容大多为网上资料,如有侵权,请联系作者删除。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/pioneerzdn/article/details/125146657

智能推荐

go echo 实现聊天室功能(websocket连接)_golang echo websocket-程序员宅基地

文章浏览阅读609次。最近在自学go语言,根据掌握的东西试着写一个聊天室功能,代码可能不是最精简的!效果:代码文件放的位置:服务端代码:package mainimport ( "encoding/json" "fmt" "github.com/labstack/echo" "github.com/labstack/echo/middleware" "golang.org/x/net/websocket")type Client struct { Name string //用户名称 _golang echo websocket

Win11重启后无法进入系统解决办法_win11装好后重启进不了系统-程序员宅基地

文章浏览阅读3.5k次。Win11重启后无法进入系统解决办法分享。遇到电脑不能启动问题,很多的用户都会找人来维修。其实不用这么麻烦,只要不是硬件问题,开机的时候屏幕有显示,但是是错误代码。这个情况我们是可以通过重装系统的方法来解决的,我们只需要通过u盘来安装一个新系统,就可以重新开机进入到系统中了。_win11装好后重启进不了系统

MarkVI控制系统EGD通讯协议解析_egd markvi-程序员宅基地

文章浏览阅读2.9k次。MarkVI控制系统EGD通讯协议解析EGD通讯协议解析LCI和励磁控制器通讯协议_egd markvi

div获得焦点_div可以获取焦点吗-程序员宅基地

文章浏览阅读1k次。div正常情况下是无法获得焦点的,所以其blur方法和focus方法都是没有用的,解决方案如下:&lt;div class="fileInfo" tabindex = "0" contenteditable="false"&gt;&lt;/div&gt;加入tabindex后div便可通过tab或点击的方式获得焦点,也可通过js的focus方法获得css中去除获得焦点状态下的边框:o..._div可以获取焦点吗

JSP 汉字乱码解决方法-摘自百度知道_jsp中文字乱码-程序员宅基地

文章浏览阅读434次。刚开始学习jsp的程序员都会遇到这样一个问题,就是网页上的中文无法显示.总结了以下几条方法。 1、在jsp页中加入一条语句: 中文显示就正常了。 2、对于从网页中的文本框通过String parameter = request.getParameter(“parameter”);方式获得的字符串,均是8859_1的编码,如果想把它显示在网页上就必须得用parameter = new_jsp中文字乱码

威联通QNAP-通过WinSCP访问安装路径并执行命令_威联通winscp-程序员宅基地

文章浏览阅读6.8k次。需要打开威联通SSH功能;WinSCP官网下载软件下载路径通过威联通admin账户(重要)登录WinSCP,便可访问到威联通软件安装路径;利用WinSCP连接威联通成功后,点击“命令”菜单图标,即可采用命令访问威联通文件。..._威联通winscp

随便推点

万字长文,细说长沙银行的数字化研发管理转型之路-程序员宅基地

文章浏览阅读3.3k次,点赞2次,收藏16次。4月17日,长沙银行信息技术部陈宝生总,与Agilean 首席咨询顾问吴穹博士在2021 DevOps Days 大会上,共同作了《长沙银行数字化研发管理之路》的分享。限于大会现场分享时长..._陈宝生 长沙银行

Spark and Hadoop碎片知识点-程序员宅基地

文章浏览阅读140次。Spark and Hadoop碎片知识点合集

vue自定义指令-程序员宅基地

文章浏览阅读72次。vue自定义指令vue中除了核心功能内置的指令外,也允许注册自定义指令。有的情况下,对普通DOM元素进行底层操作,这时候就会用到自定义指令。自定义指令又分为全局的自定义指令和局部自定义指令。全局自定义指令全局注册主要是用过Vue.directive方法进行注册Vue.directive第一个参数是指令的名字(不需要写上v-前缀),第二个参数可以是对象数据。// 注册一个全局自定义指令 `v-focalize`Vue.directive('focalize', { // 当被绑定的元素插入

小程序的前期学习_一个app包括json js和dll-程序员宅基地

文章浏览阅读407次。根目录下自定义组件新建custom-tab-bar/index把点击的active定义为共享的数据store.js// 创建store实例// 定义共享数据 数据字段activeTabBarIndex:0, //点击的下标​})})wxmljs​​store,},}},})}},​/*** 组件的初始数据*/data: {{"text": "首页",},{"text": "消息",},{"text": "联系我们",},{_一个app包括json js和dll

3、数据类型转换、引用传值(可变类型、不可变类型)-程序员宅基地

文章浏览阅读217次,点赞3次,收藏5次。数据类型转换、引用传值(可变类型、不可变类型)

第十二章:预处理命令-程序员宅基地

文章浏览阅读628次,点赞23次,收藏8次。第十二章:预处理命令宏定义、文件包含处理

推荐文章

热门文章

相关标签