FPGA设计时序约束十、others类约束之Set_Disable_Timing

目录

一、序言

二、Set Disable Timing

2.1 基本概念

2.2 设置界面

2.3 命令语法

2.4 命令示例

三、工程示例

四、参考资料


一、序言

    在Vivado的时序约束窗口中,存在一类特殊的约束,划分在others目录下,可用于设置忽略或修改默认的时序路径分析,以Vivado2022.1版本为例,主要包括以下4类,本文将介绍其中的Set_Disable_Timing,示例的为Vivado2022.1

 

二、Set Disable Timing

2.1 基本概念

    时序弧:时序弧是时序路径的一部分,可以是两个引脚之间的连线,可以是输入端口和输出端口之间的逻辑单元的内部路径,或者时钟输入端口和数据输出端口间的路径

    Set Disable Timing约束用于关闭时序弧,使该段路径不会进行时序分析。

    约束生效范围:如果约束设置的对象是单元cell,那么所有涉及该单元的时序弧都是无效的;如果设置的是from/to 引脚,则from/to之间的时序弧是无效的;如果只设置了from或to,则所有from对象开始的时序狐是无效的,或所有终点为to所对应的对象的时序弧是无效的;如果约束的对象是port,在所有从设置的port开始或结束的时序弧也是无效的,时序弧无效自然不会进行对应的时序分析。

2.2 设置界面

 进入Timing Constraints界面,在左侧Others栏中选中Set Disable Timing,右侧即显示Set Disable Timing

 

约束设置子界面需设置Objects,arcs的source引脚名字,目的引脚名字

 

注意source引脚和Destination引脚不是可选的,需手动输入,一定要输入存在的有效引脚,否则报约束格式错误,要获取对应单元的pin引脚,也可通过命令get_lib_pins -of [get_cells {cells_name}]来获取

 

设置的对象可为Cells,或单元引脚,以及端口

2.3 命令语法

命令格式如下

set_disable_timing [‑from <arg>] [‑to <arg>] [‑quiet] [‑verbose] <objects>

参数含义列表如下

 

2.4 命令示例

1、对一个LUT的输入引脚I0到输出O的时序弧设置约束

set_disable_timing -from I0 -to O [get_cells div_dec_ff_i/U0/count_i_1]

2、对一个块状RAM的输入引脚和输出引脚设置时序弧无效的约束

set_disable_timing -from WEBWE[3] -to CLKMEM [get_cells \ldpc_dout360_channel/U_AP_FIFO_ldpc_dout360_channel_ram/mem_reg_0]

3、对经过指定单元存储器单元的所有时序弧设置无效约束

set arcs [get_timing_arcs -of_objects [get_cells \ldpc_dout360_channel/U_AP_FIFO_ldpc_dout360_channel_ram/mem_reg_0]]

三、工程示例

工程代码:

module timing_analysis(d1,d2,clk1,clk2,clk3,clk4,rst,out1,out2); input d1,d2,clk1,clk2,clk3,clk4,rst; output out1,out2; reg ff1,ff2,ff3,ff4,ff5; always @(posedge clk1)     if(!rst)         ff1<=0;     else         ff1<=d1; always @(posedge clk2)     if(!rst)         ff2<=0;     else         ff2<=ff1; always @(posedge clk3)     if(!rst)         ff3<=0;     else         ff3<=ff2; assign out1=ff3&ff2; always @(posedge clk4)     if(!rst)         ff4<=0;     else         ff4<=d2; always @(posedge clk4)     if(!rst)         ff5<=0;     else         ff5<=ff4; assign out2=ff5; endmodule 

综合后网表连接图

 

约束内容如下,对经过clk4端口的时序弧和经过触发器引脚ff2_reg/Q的时序弧设置无效约束

create_clock -period 10.000 -name clk1 -waveform {0.000 5.000} [get_ports clk1]
create_clock -period 7.000 -name clk2 -waveform {0.000 3.500} [get_ports clk2]
create_clock -period 8.000 -name clk3 -waveform {0.000 5.000} [get_ports clk3]
create_clock -period 5.000 -name clk4 -waveform {0.000 3.500} [get_ports clk4]
set_input_jitter [get_clocks clk1] 1.660
set_disable_timing [get_ports clk4]
set_disable_timing [get_pins ff2_reg/Q]

约束中不设置set_disable_timing约束时

 

设置约束后时序分析结果

 

四、参考资料

用户手册:ug903-vivado-using-constraints-en-us-2022.2.pdf

链接:https://pan.baidu.com/s/17AK_-J4wRXiFLtLTorlrwg?pwd=mylt 

提取码:mylt   

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

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

相关文章

合阔智云:实现API无代码开发,连接ERP系统和CRM系统提高运营效率

概述 合阔智云&#xff0c;一家成立于2011年的科技公司&#xff0c;核心业务是提供云原生和移动化设计的新一代全渠道“云端一体”履约中台和去中心化模式智能门店供应链业务中台。他们的系统可以无需API开发即可实现电商系统和客服系统的连接和集成&#xff0c;大大提高了企业…

Egg.js中Cookie和Session

Cookie HTTP请求是无状态的&#xff0c;但是在开发时&#xff0c;有些情况是需要知道请求的人是谁的。为了解决这个问题&#xff0c;HTTP协议设计了一个特殊的请求头&#xff1a;Cookie。服务端可以通过响应头&#xff08;set-cookie&#xff09;将少量数据响应给客户端&#…

基于单片机智能电子密码锁设计

**单片机设计介绍&#xff0c;基于单片机智能电子密码锁设计 文章目录 一 概要二、功能设计设计思路 三、 软件设计原理图 五、 程序六、 文章目录 一 概要 基于单片机的智能电子密码锁设计是一种利用单片机&#xff08;如Arduino、Raspberry Pi等&#xff09;和相关电子元件来…

VMware虚机重启后静态IP不生效

配置好一套虚机之后&#xff0c;因为重启电脑&#xff0c;导致虚机的静态ip配置不生效&#xff0c;xshell连接不上虚机。以下是自查和解决方案&#xff1a; 1.使用su -进入root用户 2.查看打开虚机的teminal窗口查看配置的ip文件&#xff1a;vim /etc/sysconfig/network-script…

第八天:信息打点-系统端口CDN负载均衡防火墙

信息打点-系统篇&端口扫描&CDN服务&负载均衡&WAF防火墙 一、知识点 1、获取网络信息-服务器厂商&#xff1a; 阿里云&#xff0c;腾讯云&#xff0c;机房内部等。 网络架构&#xff1a; 内外网环境。 2、获取服务信息-应用协议-内网资产&#xff1a; FTP…

SparkRDD及算子-python版

RDD相关知识 RDD介绍 RDD 是Spark的核心抽象&#xff0c;即 弹性分布式数据集&#xff08;residenta distributed dataset&#xff09;。代表一个不可变&#xff0c;可分区&#xff0c;里面元素可并行计算的集合。其具有数据流模型的特点&#xff1a;自动容错&#xff0c;位置…

VBA技术资料MF88:测试Excel文件名是否有效

我给VBA的定义&#xff1a;VBA是个人小型自动化处理的有效工具。利用好了&#xff0c;可以大大提高自己的工作效率&#xff0c;而且可以提高数据的准确度。我的教程一共九套&#xff0c;分为初级、中级、高级三大部分。是对VBA的系统讲解&#xff0c;从简单的入门&#xff0c;到…

【面试】typescript

目录 为什么用TypeScript&#xff1f; TS和JS的区别 控制类成员可见性的访问关键字&#xff1f; public protected&#xff09;&#xff0c;该类及其子类都可以访问它们。 但是该类的实例无法访问。 私有&#xff08;private&#xff09;&#xff0c;只有类的成员可以访问…

【RT-DETR改进】SIoU、GIoU、CIoU、DIoU、AlphaIoU等二十余种损失函数

一、本文介绍 这篇文章介绍了RT-DETR的重大改进&#xff0c;特别是在损失函数方面的创新。它不仅包括了多种IoU损失函数的改进和变体&#xff0c;如SIoU、WIoU、GIoU、DIoU、EIOU、CIoU&#xff0c;还融合了“Alpha”思想&#xff0c;创造了一系列新的损失函数。这些组合形式的…

信号类型(通信)——最小频移键控(MSK)

系列文章目录 《信号类型&#xff08;通信&#xff09;——仿真》 《信号类型&#xff08;通信&#xff09;——QAM调制信号》 《信号类型&#xff08;通信&#xff09;——QPSK、OQPSK、IJF_OQPSK调制信号》 目录 前言 一、MSK信号特点 1.1、最小频移 1.2、相位连续 二…

数字员工:降本提效,强势助力数智化转型,引领新风潮

随着科技迅猛发展&#xff0c;数字化转型已经渗透到各行各业&#xff0c;在数字化进程中&#xff0c;数字员工以其高效、智能的特性引领着未来工作的新风潮。 1.高度自动化与提升效率—— 数字员工以其高度自动化的特性成为企业工作流程中的得力助手&#xff0c;能够在短时间…

oracle闪回恢复表数据

oracle闪回恢复表数据 1.打开监听和数据库&#xff0c;进入需要操作的表的所属用户下 [oraclemydb ~]$ lsnrctl start [oraclemydb ~]$ sqlplus / as sysdba SQL> startup SQL> conn test/123456 SQL> select * from test1&#xff1b;2.删除任意数据&#xff1a; …