0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Vivado中XDC文件的约束顺序

OpenFPGA 来源:OpenFPGA 作者:碎碎思 2021-10-13 16:56 次阅读

很对人在使用Vivado时喜欢使用多个约束文件对整个工程进行约束,同时Vivado允许设计者使用一个或多个约束文件。虽然使用一个约束文件对于一个完整的编译流程来说看似更方便,但是在一些情况下,这会使得问题更加复杂,比如一个设计使用了不同的IP核或者由不同团队开发的模块。不管设计者在设计中,使用了一个还是多个XDC文件,Xilinx推荐设计者使用下面的顺序来组织约束。XDC文件的约束顺序如下:

## Timing Assertions Section# Primary clocks# Virtual clocks# Generated clocks

# Clock Groups# Input and output delay constraints## Timing Exceptions Section(sorted by precedence)# False Paths# Max Delay / Min Delay

# Multicycle Paths# Case Analysis# Disable Timing

## Physical Constraints Section

# located anywhere in the file, preferably before or after the timing constraints# or stored in a seprarte XDC file

注:

(1)Xilinx推荐将时序约束和物理约束分别保存在两个不同的文件中。设计者也可以在一个单独的文件中对某个模块指定约束(每个模块对应一个约束)。

(2)如果在工程中,包含了一个IP,这个IP有自己的约束,则在约束集中,并不出现相应的约束文件,它将和IP源文件一起出现(即IP有自己的约束文件,常见的就是MMCM和PLL)。

(3)如果在工程中,包含了多个约束文件。一般来说,Vivado工具首先读取列表最上面的约束文件,最后读取最下面的约束文件。设计者可以在集成开发环境中,将约束文件移动到所期望的位置,用来修改约束文件在整个设计中的处理顺序。等效的Tcl命令格式为

Reorder_files - fileset constrs_l - before[get_files XDC文件名][get_files XDC文件名]

在非工程模式下,read_xdc的调用顺序决定了xdc文件的评估顺序。

(4)如果存在IP约束文件,则先读取1P约束文件,然后再读取用户约束文件。设计者可以在源文件属性窗口修改读取IP约束文件的顺序。等效的Tcl命令格式为

set_property PROCESSING_ORDER EARLY [get_files XDC文件名]

常用的 XDC 约束命令

相关的命令作用会在后续文章继续解释。

责任编辑:haq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • IP
    IP
    +关注

    关注

    5

    文章

    1403

    浏览量

    148268
  • 约束
    +关注

    关注

    0

    文章

    82

    浏览量

    12637
  • Vivado
    +关注

    关注

    18

    文章

    789

    浏览量

    65092

原文标题:【Vivado那些事儿】约束的顺序

文章出处:【微信号:Open_FPGA,微信公众号:OpenFPGA】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    无法在XDC文件设置maxdelay约束

    XDC文件设置maxdelay约束。 (摘自ug911:MAXDELAY:Vivado Design Suite在
    发表于 10-25 15:17

    Vivado忽略了约束文件

    出于某种原因,Vivado忽略了我的约束文件,当我尝试在tcl控制台中逐个输入约束时,我尝试分配的每个端口都会出现以下错误:set_property PACKAGE_PIN T19
    发表于 11-06 11:36

    在使用Vivado GUI实现和分配引脚信息后xdc约束文件中看不到结果

    在使用Vivado GUI实现和分配引脚信息后,我没有在xdc约束文件中看到结果。例如,引脚和iostandard。他们在哪里攒钱?以上来自于谷歌翻译以下为原文After
    发表于 11-07 11:24

    如何使用IP核生成的xdc文件

    当我们通过IP目录在Vivado创建一些IP内核时,将使用xdc文件生成一些内核。在这个xdc文件
    发表于 03-26 12:29

    如何创建自己的xdc文件

    你好我目前正在使用外部多路复用器在Vivado 2017上开展一个项目。关于约束文件(.xdc),我有一个更普遍的问题。如何创建自己的xdc
    发表于 05-22 10:27

    正则表达式在Vivado约束文件的应用

      使用xdc文件进行管脚、位置、时序和属性等约束的时候,经常会使用各种get命令。Vivado提供了很丰富的匹配表达式,比如等于==、不等于!=、匹配=~、不匹配!~、《、》、《=、
    发表于 01-26 07:03

    关于XDC约束文件,你需要知道的几点

    作者: 圆宵 FPGA那点事儿 在ISE时代,使用的是UCF约束文件。从Vivado开始,XDC成了唯一支持的约束标准。
    发表于 02-08 02:10 4670次阅读

    FPGA设计约束技巧之XDC约束之I/O篇(下)

    XDC中的I/O约束虽然形式简单,但整体思路和约束方法却与UCF大相径庭。加之FPGA的应用特性决定了其在接口上有多种构建和实现方式,所以从UCF到XDC的转换过程中,最具挑战的可以说
    发表于 11-17 19:01 6757次阅读
    FPGA设计<b class='flag-5'>约束</b>技巧之<b class='flag-5'>XDC</b><b class='flag-5'>约束</b>之I/O篇(下)

    XDC的时钟约束及优势

    Xilinx©的新一代设计套件 Vivado 中引入了全新的约束文件 XDC,在很多规则和技巧上都跟上一代产品 ISE 中支持的 UCF 大不相同,给使用者带来许多额外挑战。Xilin
    发表于 11-18 03:59 3237次阅读

    如何将Altera的SDC约束转换为Xilinx XDC约束

    了解如何将Altera的SDC约束转换为Xilinx XDC约束,以及需要更改或修改哪些约束以使Altera的约束适用于
    的头像 发表于 11-27 07:17 4663次阅读

    XDC时钟约束的三种基本语法

    XDC 是 Xilinx Design Constraints 的简写,但其基础语法来源于业界统一的约束规范SDC。XDC 在本质上就是 Tcl 语言,但其仅支持基本的 Tcl 语法如变量、列表
    的头像 发表于 01-30 17:29 8952次阅读

    Vivado IDE全面了解XDC文件约束顺序

    Vivado IDE约束管理器将任何已编辑的约束保存回XDC文件中的原始位置,但不会保存在Tcl脚本中。 任何新
    的头像 发表于 11-13 10:53 3561次阅读
    <b class='flag-5'>Vivado</b> IDE全面了解<b class='flag-5'>XDC</b><b class='flag-5'>文件</b>的<b class='flag-5'>约束</b><b class='flag-5'>顺序</b>

    Vivado设计约束功能概述

    XDC约束可以用一个或多个XDC文件,也可以用Tcl脚本实现;XDC文件或Tcl脚本都要加入到工
    的头像 发表于 06-30 11:27 2976次阅读

    XDC约束技巧之时钟篇

    Xilinx的新一代设计套件Vivado中引入了全新的约束文件 XDC,在很多规则和技巧上都跟上一代产品 ISE 中支持的 UCF 大不相同,给使用者带来许多额外挑战。Xilinx 工
    的头像 发表于 03-28 09:51 1855次阅读

    如何在Vivado中添加时序约束呢?

    今天介绍一下,如何在Vivado中添加时序约束Vivado添加约束的方法有3种:xdc文件、时
    的头像 发表于 06-26 15:21 2211次阅读
    如何在<b class='flag-5'>Vivado</b>中添加时序<b class='flag-5'>约束</b>呢?