Vivado时序约束基础

news/2024/10/23 18:35:15/

      今天这篇博客,笔者向大家简单介绍Xilinx FPGA中的Vivado时序约束基础知识,也为后续的学习打好铺垫。

Xilinx Design Constraints (XDC) 概述

• XDC 在本质上就是Tcl 语言,但其仅支持基本的Tcl 语法,如变量、列表和运算符等等,对其他复杂的循环以及文件I/O 等语法可以通过在 Vivado中source 一个Tcl 文件的方式来补充。

• XDC 可以像UCF一样作为一个整体文件被工具读入,也可以在实现过 程中被当作一个个单独的命令直接执行。这就决定了XDC也具有Tcl命 令的特点,即后面输入的约束在有冲突的情况下会覆盖之前输入的约束。

• 不同于UCF是全部读入再处理的方式,在XDC中约束是读一条执行一条,所以先后顺序很重要。设置IO 约束之前,相对应的clock 一定 要先创建好。

•  UCF是完全以FPGA的视角看问题,所以缺省认为所有的时钟之间除非预先声明是同步的,否则就视作异步而不做跨时钟域时序分析。

• XDC恰恰相反,ASIC世界的血缘背景决定了在其中,所有的时钟缺省视作全同步,在没有时序例外的情况下,工具会主动分析每一条跨时钟域的路径。

XDC的基本时序约束可以分为时钟约束、I/O 约束以及时序例外约束三大类。

时钟约束

    首先时钟约束必须最早创建,对于7系列FPGA来说,端口进来的时钟和GT的输出RXCLK/TXCLK都必须用create_clock自主创建为主时钟,如果是差分输入的时钟,可以仅仅在差分对的P侧用get_ports获取端口,并使用create_clock创建。

      其次Vivado自动推导的衍生时钟,MMCM/PLL/BUFR的输出作为衍生时钟,可以由Vivado自动推导无需用户创建。

      再次存在用户自定义的衍生时钟,工具不能自动推导出衍生钟的情况,包括使用寄存器和组合逻辑搭建的分频器等,必须由用户使用creat_generate_clock来创建,举例说明:

I/O约束

      在设计的初级阶段,可以不加I/O约束,让工具专注于满足FPGA内部的时序要求,当时序要求基本满足后,再加上I/O约束跑实现。XDC中的I/O约束有以下几点需要注意:

  1. 不添加I/O约束的端口时序要求被视为无穷大;
  2. XDC中的set_input_delay/set_output_delay是从系统的角度来进行约束;
  3. 典型的I/O时序,包括系统同步、源同步、SDR和DDR等等,在Vivado图形界面的XDC templates中都有示例;

时序例外约束

      时序例外约束包括set_max_delay/set_min_delay,set_multicycle_path,set_false_path等,这类约束除了要满足XDC的先后顺序优先级外,还受到自身优先级的限制,不同的时序例外约束和同一约束中的不同条件优先级如下图所示:


http://www.ppmy.cn/news/212897.html

相关文章

十代思域遥控升降窗 - 远程开窗

降窗步骤 按一下车钥匙的“锁止”键在10秒内再按住“锁止”键不放,即可持续降窗,松手就停止如果想再降低点,可以重复以上步骤 升窗步骤 低配好像无法远程升窗。。。 需要走过去, 电子钥匙解锁拔开金属钥匙,插入主驾…

基于单片机的无线红外遥控密码锁系统设计

1.密码输入正确可以选择打开或者关闭密码锁 2.密码支持掉电保存功能 3.可以设置修改密码(修改之前必须输入原始密码,在输入新密码是要输入两次确认,防止误操作) 4.报警、锁定键盘功能,如果密码连续输入错误三次&…

手机智能汽车钥匙来了, 汽车远程启动在手机上就能完成

手机远程控制汽车-为大家提供远程控制解决方案。汽车手机远程控制,移动管家一键启动无钥匙进入系统,15年汽车智控行业技术积淀,百万企业用户合作,深入各种行业及实际应用场景,提供多行业解决方案,汽车智控想到移动管家汽车一键启动无钥匙进入手机控车远程启动系统。…

人脸识别门锁实现

python实现人脸识别并进行比对串口反馈至51单片机控制舵机 C语言库:CORE\STC8Ax_REG.H python库: from multiprocessing.connection import wait from time import sleep import cv2 import numpy as np from PIL import Image from functools import…

离线语音远程遥控车控门制作教程(二)

离线语音远程遥控车控门制作教(二) 序言 接 离线语音远程遥控车控门制作教程(一),本篇为自己动手画PCB,功能和一是一样。 功能: 1、遥控器端可以用按钮控制。 2、用离线语音模块语音控制。 3、车库门接收…

iOS - 蓝牙开门智能门锁

蓝牙的实现原理网上很多 在此就不一一描述了 有需要的可以看以下的文章学习 在ios 的开发中iBeacon和BLE的区别 iBeacon介绍 iOS蓝牙空中升级(固件升级) 本文主要是写实现过程: github 上完整Demo地址,大家可以下载看看&…

什么叫做车联网手机远程控制汽车

车联网系统智能硬件、操作系统、通过OBD盒子读取车辆信息,传送至云平台,通过运算,将信息或诊断结果、解决方法建议发送至手机APP等操作系统,使车辆和APP形成连接,用户可随时进行自检读取汽车信息。 俗话说“好马配好鞍…

离线语音远程遥控车控门制作教程(一)

离线语音远程遥控车控门制作教程(一) 序言面包板玩法接线图遥控器接收端接线图需要购买哪些模块固件下载 序言 当你开着车回家的时候,车快到家时,你是不是想车库门能自动打车,怎么打开呢,在车上放一个语音…