vivado 时序约束

news2024/11/26 1:42:52

时间限制
以下ISE设计套件时序约束可以表示为XDC时序约束
Vivado设计套件。每个约束描述都包含一个UCF示例和
等效的XDC示例。
在未直接连接到边界的网络上创建时钟时,UCF和XDC不同
的设计(如端口)。在XDC中,当在上定义带有create_clock的主时钟时
net源点是网络的驱动引脚。
忽略该点之前的时钟插入延迟。计时时钟时可能会出现此问题
与另一个相关的时钟;偏斜将不准确。
使用create_clock Tcl命令
首先,要注意create_clock命令的不同起点如何影响计时
精确
在ISE中
在ISE中,以下时间限制是等效的:

NET "clk" TNM_NET = sys_clk;
TIMESPEC TS_sys_clk = PERIOD "sys_clk" 10 ns HIGH 50%;
NET "clk_IBUF_BUFG" TNM_NET = sys_clk;
TIMESPEC TS_sys_clk = PERIOD "sys_clk" 10 ns HIGH 50%;
In the Vivado Design Suite
In the Vivado Design Suite, the following create_clock constraints differ.
create_clock -period 10.000 -name clk -waveform {0.000 5.000}
[get_ports clk]
create_clock -period 10.000 -name clk -waveform {0.000 5.000}
[get_pins clk_IBUF_BUFG_inst/O]
约束不同,因为它们使用不同的起点来定义
Vivado IDE在计算松弛方程的时钟延迟和不确定性时进行分配。看见
如下图所示。
Vivado IDE忽略来自位于点上游的单元的所有时钟树延迟
其定义了主时钟。如果在
在设计中,只有一部分延迟用于时序分析。如果这个时钟
与设计中的其他相关时钟通信,因为偏斜,因此
时钟之间的值可能不准确。
在时钟树不位于
设计(例如输入端口或GT时钟输出引脚)。在的中间创建生成的时钟
仅设计。
时钟约束
Period
UCF Example
NET "clka" TNM_NET = "clka";
TIMESPEC "TS_clka" = PERIOD "clka" 13.330 ns
HIGH 50.00%;
XDC Example
create_clock -name clka -period 13.330 -
waveform {0 6.665}\ [get_ports clka]
Period Constraints with Uneven Duty Cycle
UCF Example
NET "clka" TNM_NET = "clka";
TIMESPEC "TS_clka" = PERIOD "clka" 13.330 ns HIGH 40.00%;
XDC Example
create_clock -name clka -period 13.330 -waveform {0 5.332}\[get_ports
clka]
Generated Clocks Constraints
UCF Example
NET "gen_clk" TNM_NET = "gen_clk";
TIMESPEC "TS_gen_clk" = PERIOD "gen_clk" "TS_clka" * 0.500 HIGH 50.00%;
XDC Example
create_generated_clock -source [get_ports clka] -name gen_clk\-
multiply_by 2 [get_ports gen_clk]
Period Constraints with LOW Keyword
UCF Example
NET "clka" TNM_NET = "clka";
TIMESPEC "TS_clka" = PERIOD "clka" 13.330 ns LOW 50.00%;
XDC Example
create_clock -name clka -period 13.330 -waveform {6.665 13.330}\
[get_ports clka]
Net PERIOD Constraints
UCF Example
NET "clk_bufg" PERIOD = 10 ns;
XDC Example
create_clock -name clk_bufg -period 10 -waveform {0 5}\
[get_pins clk_bufg/O}
Note : Unless there is specific reason to define the clock on bufg/O, define it at an upstream
top-level port.
OFFSET IN
BEFORE
UCF Example
OFFSET = IN 8 BEFORE clka;
XDC Example
set_input_delay -clock clka 2 [all_inputs]
Note : This assumes the clock period is 10 ns.
AFTER
UCF Example
OFFSET = IN 2 AFTER clka;
XDC Example
set_input_delay -clock clka 2 [all_inputs]
Note : This assumes the clock period is 10 ns.
BEFORE an Input Port Net
UCF Example
NET enable OFFSET = IN 8 BEFORE clka;
XDC Example
set_input_delay 2 [get_ports enable]
Note : This assumes the clock period is 10 ns.
BEFORE an Input Port Bus
UCF Example
INST "processor_data_bus[*]" TNM = "processor_bus";
TIMEGRP "processor_bus" OFFSET = IN 8ns BEFORE "clka";
XDC Example
set_input_delay 2 [get_ports {processor_data_bus[*]}]
Note : Offset is applied to ports only.
To TIMEGROUP
UCF Example
INST "input_ffs[*]" TNM = "input_ffs";
OFFSET = IN 8ns BEFORE "clka" TIMEGRP "input_ffs";
XDC Example
Manual conversion is required. For more information, see TimeGROUP .
FALLING/RISING Edge
UCF Example
OFFSET = IN 8ns BEFORE "clka" FALLING;
XDC Example
set_input_delay -clock clka 2 [all_inputs]
Note : This assumes the clock period is 10 ns.
LOW/HIGH Keyword
UCF Example
OFFSET = IN 8ns BEFORE "clka" HIGH;
XDC Example
Requires manual conversion.
Note : HIGH/LOW keywords are precursors to RISING/FALLING. RISING/FALLING is the
preferred method.
VALID Keyword
UCF Example
OFFSET = IN 1ns VALID 2ns BEFORE clka;
XDC Example
set_input_delay -clock clka -max 9 [all_inputs]
set_input_delay -clock clka -min 1[all_inputs]
Note : This assumes the clock period is 10 ns.
AFTER
UCF Example
OFFSET = OUT 12 AFTER clkc;
XDC Example
set_output_delay -clock clkc -max 8 [all_outputs]
Note : This assumes the clock period is 20 ns.
BEFORE
UCF Example
OFFSET = OUT 8 BEFORE clkc;
XDC Example
set_output_delay -clock clkc 8 [all_outputs]
Note : This assumes the clock period is 20 ns.
Output Net
UCF Example
NET out_net OFFSET = OUT 12 AFTER clkc;
XDC Example
set_output_delay 8 [get_port out_net]
Note : This assumes the clock period is 20 ns.
Group of Outputs
UCF Example
TIMEGRP outputs OFFSET = OUT 12 AFTER clkc;
XDC Example
set_output_delay -clock clkc 8 [get_ports outputs*]
Note : This assumes the clock period is 20 ns.
From a TIMEGROUP
UCF Example
OFFSET = OUT 1.2 AFTER clk TIMEGRP from_ffs;
XDC Example
Manual conversion is required.
FALLING/RISING Edges
UCF Example
OFFSET = OUT 12 AFTER clkc FALLING;
XDC Example
set_output_delay -clock clkc -clock_fall 8 [all_outputs]
LOW Keyword
UCF Example
OFFSET = OUT 12 AFTER clkc LOW;
XDC Example
Requires manual conversion.
Note : HIGH/LOW keywords are precursors to RISING/FALLING. RISING/FALLING is the
preferred method.
REFERENCE_PIN
UCF Example
TIMEGRP mac_ddr_out;
OFFSET = OUT AFTER clk REFERENCE_PIN clk_out RISING;
XDC Example
Requires manual conversion.
Note : REFERENCE_PIN acts as a reporting switch to instruct TRACE to output a bus skew
report. The Vivado Design Suite does not support this feature.
自:到约束
通常,UCF From:To约束会转换为set_max_delay或
set_min_delay XDC约束,与-from、-to和-through设计相关
论据。
UCF约束的目的是使用等效的XDC约束。而大多数UCF
约束是基于网络的,XDC约束必须构造到端口和引脚。
用于这些约束的有用XDC命令有:all_fanout、get_cell和get_pins
以及-from、-to和-through参数。
Assigning Timing Group to an Area Group
UCF Example
TIMEGRP clock_grp = AREA_GROUP clock_ag;
XDC Example
The Vivado Design Suite does not support this constraint in XDC.
EXCEPT
UCF Example
TIMEGRP my_group = FFS EXCEPT your_group;
XDC Example
The Vivado Design Suite does not support this constraint in XDC.
Between Groups
UCF Example
TIMESPEC TS_TIG = FROM reset_ff TO FFS TIG;
XDC Example
Manual conversion is required. Construct a set_false_path that covers the desired paths.
By Net
UCF Example
NET reset TIG;
XDC Example
set_false_path -through [get_nets reset]
A better approach is to find the primary reset port and use:
set_false_path -from [get_ports reset_port]
By Instance
UCF Example
INST reset TIG;
XDC Example
set_false_path -from [get_cells reset]
set_false_path -through [get_cells reset]
set_false_path -to [get_cells reset]
By Pin
UCF Example
PIN ff.d TIG;
XDC Example
set_false_path -to [get_pins ff/D]
set_false_path -from [get_pins ff/C]
set_false_path -through [get_pins lut/I0]
Specific Time Constraints
UCF Example
NET reset TIG = TS_fast TS_even_faster;
XDC Example
The Vivado Design Suite does not support this constraint in XDC.
Note : Constraint-specific TIG tries to disable timing through the net, but only for analysis of
the two referenced constraints.
MAXSKEW
UCF Example
NET local_clock MAXSKEW = 2ns;
XDC Example
The Vivado Design Suite does not support this constraint in XDC.
MAXDELAY
UCF Example
NET local_clock MAXDELAY = 2ns;
XDC Example
The Vivado Design Suite does not support this constraint in XDC. You can, however, use
set_max_delay for specifying the timing requirement for a valid timing path (synchronous
start point to synchronous Endpoint).

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

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

相关文章

微信小程序发送订阅消息

小程序后台。订阅消息里面,新建一个消息模板 小程序代码,登录后,弹出订阅信息 requestSubscribeMessage: function () {wx.requestSubscribeMessage({tmplIds: [-323232-32323], // 替换为你的模板IDsuccess(res) {// 用户订阅结果console.l…

【康耐视国产案例】Nvidia/算能+智能AI相机:用AI驱动 | 降低电动车成本的未来之路

受环保观念影响、政府激励措施推动与新能源技术的发展,消费者对电动汽车(EV)的需求正在不断增长,电动汽车已经成为了未来出行方式的重要组成部分。然而,电动汽车大规模取代燃油汽车的道路还很漫长。最大的障碍就是电动汽车的售价相对过高。尽…

day2数据结构

双链表的插入 循环链表,判断循环链表是否为空 指向的是自己 仅设表尾指针的循环链表合并 代码举例 删除线性表的最小值,并由函数返回删除的值,空的位置,由最后一个元素填补,若表为空显示出错信息 &L 因为L会发生…

深入理解flask规则构建与动态变量应用

新书上架~👇全国包邮奥~ python实用小工具开发教程http://pythontoolsteach.com/3 欢迎关注我👆,收藏下次不迷路┗|`O′|┛ 嗷~~ 目录 一、引言 二、Flask规则基础 1. 静态规则与动态规则 2. 规则语法与结构 三、动态变量应用…

AI作画算法原理

1.概述 AI作画算法的原理相当复杂,涉及多个领域的知识,包括计算机视觉、机器学习和神经网络等。我们从以下几个方面来描述AI作画算法的基本原理。 2. 数据准备 在数据准备方面,AI作画算法通常需要大量的图像数据作为训练样本。可以是各种各…

52-QSplitter类QDockWidget类

一 QSplitter类 Qt提供QSplitter(QSplitter)类来进行分裂布局&#xff0c;QSplitter派生于QFrame。 #ifndef MAINWINDOW_H #define MAINWINDOW_H#include <QMainWindow>class MainWindow : public QMainWindow {Q_OBJECTpublic:MainWindow(QWidget *parent nullptr);~…

【深度强化学习】如何平衡cpu和gpu来加快训练速度(实录)

文章目录 问题抛出问题展示 问题探索参考&#xff1a;如何平衡cpu和gpu来加快训练速度呢&#xff1f; 解决问题实现逻辑&#xff1a;PPO算法示例&#xff1a;偷懒改法&#xff1a;第三处修改再次修改--24.5.22 不偷懒改法修改总结1 最终成绩&#xff08;不是&#xff09;附加赛…

Python中的 Lambda 函数

大家好&#xff0c;在 Python 编程的世界里&#xff0c;有一种功能强大却不常被提及的工具&#xff0c;它就是 Lambda 函数。这种匿名函数在 Python 中拥有着令人惊叹的灵活性和简洁性&#xff0c;却常常被许多开发者忽视或者只是将其当作一种附加功能。Lambda 函数的引入&…

Windows系统WDS+MDT网络启动自动化安装

Windows系统WDS+MDT网络启动自动化安装 适用于在Windows系统上WDS+MDT网络启动自动化安装 1. 安装准备 1.下载windows server 2019、windows 10 pro的ISO文件,并安装好windows server 2019 2.下载windows 10 2004版ADK及镜像包 1.1 安装平台 Windows 111.2. 软件信息 软件…

【Python】解决Python报错:IndexError: pop from empty list

&#x1f9d1; 博主简介&#xff1a;阿里巴巴嵌入式技术专家&#xff0c;深耕嵌入式人工智能领域&#xff0c;具备多年的嵌入式硬件产品研发管理经验。 &#x1f4d2; 博客介绍&#xff1a;分享嵌入式开发领域的相关知识、经验、思考和感悟&#xff0c;欢迎关注。提供嵌入式方向…

提高倾斜摄影三维模型OSGB格式轻量化

提高倾斜摄影三维模型OSGB格式轻量化 倾斜摄影三维模型以其高精度和真实感受在城市规划、建筑设计和虚拟漫游等领域发挥着重要作用。然而&#xff0c;由于其庞大的数据量和复杂的几何结构&#xff0c;给数据存储、传输和可视化带来了挑战。为了提高倾斜摄影三维模型的性能和运行…

C/C++中互斥量(锁)的实现原理探究

互斥量的实现原理探究 文章目录 互斥量的实现原理探究互斥量的概念何为原子性操作原理探究 互斥量的概念 ​ 互斥量&#xff08;mutex&#xff09;是一种同步原语&#xff0c;用于保护多个线程同时访问共享数据。互斥量提供独占的、非递归的所有权语义&#xff1a;一个线程从成…

Docker管理工具Portainer忘记admin登录密码

停止Portainer容器 docker stop portainer找到portainer容器挂载信息 docker inspect portainer找到目录挂载信息 重置密码 docker run --rm -v /var/lib/docker/volumes/portainer_data/_data:/data portainer/helper-reset-password生成新的admin密码&#xff0c;使用新密…

flink left join消费kafka数据

left join会产生回车流数据 在控制台数据 import com.sjfood.sjfood.gmallrealtime.app.BaseSQLAPP; import com.sjfood.sjfood.gmallrealtime.util.SQLUtil; import org.apache.flink.streaming.api.environment.StreamExecutionEnvironment; import org.apache.flink.table.…

ARM32开发——库与包

&#x1f3ac; 秋野酱&#xff1a;《个人主页》 &#x1f525; 个人专栏:《Java专栏》《Python专栏》 ⛺️心若有所向往,何惧道阻且长 文章目录 嵌入式软件通用架构库SPL库HAL库MSP 嵌入式软件通用架构 库 标准外设库&#xff08;Standard Peripheral Library&#xff09;和H…

一分钟学习数据安全——自主管理身份SSI基本概念

之前我们已经介绍过数字身份的几种模式。其中&#xff0c;分布式数字身份模式逐渐普及演进的结果就是自主管理身份&#xff08;SSI&#xff0c;Self-Sovereign Identity&#xff09;。当一个人能够完全拥有和控制其数字身份&#xff0c;而无需依赖中心化机构&#xff0c;这就是…

《STM32Cube高效开发教程基础篇》- 单片机知识准备

文章目录 正点原子视频P1 单片机介绍P2 Cortex-M系列介绍P3 初识STM32P4 学会查看数据手册P5 最小系统和IO分配晶振电源复位BOOT启动电路下载调试 正点原子视频 视频链接 P1 单片机介绍 P2 Cortex-M系列介绍 P3 初识STM32 P4 学会查看数据手册 P5 最小系统和IO分配 晶振 电源…

外贸怎么开发国外客户呢?

外贸开发国外客户是一个系统性的过程&#xff0c;需要采取多种策略来确保成功。以下是一些清晰、分点表示的方法&#xff0c;用于帮助外贸企业开发国外客户&#xff1a; 深入研究目标市场 了解目标市场的文化、商业习惯、法律法规和消费者需求。通过市场调查和分析&#xff0c…

墨天轮《2023年中国数据库行业年度分析报告》正式发布!

为明晰发展脉络&#xff0c;把握未来趋势&#xff0c;墨天轮于5月29日正式发布 《2023年中国数据库年度行业分析报告》。该报告由墨天轮联合业界专家学者共同编写&#xff0c;共330页&#xff0c;旨在梳理和洞察中国数据库行业的发展趋势、技术创新、市场动态以及面临的挑战&am…