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

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

3天内不再提示

如何管理约束文件?

FPGA技术驿站 来源:FPGA技术驿站 作者:FPGA技术驿站 2022-12-08 13:48 次阅读

约束文件是FPGA设计中不可或缺的源文件。那么如何管理好约束文件呢? 到底设置几个约束文件? 通常情况下,设计中的约束包括时序约束和物理约束。前者包括时钟周期约束、输入/输出延迟约束、多周期路径约束和伪路径约束。后者包括管脚分配、管脚电平等。除此之外,有些情况下还包括用于设计调试的约束(设置ILA属性)或位置约束或通过Pblock执行的面积约束。Xilinx建议将约束分类写入不同的文件中,典型的场景是:时序约束放在一个文件里,物理约束放在一个文件里。如下图所示。图中wave_gen_timing.xdc中写的是时序约束,wave_gen_pins.xdc中写的是管脚分配。如果有ILA,可将ILA相关信息写入单独的文件中,这样的好处是当后期不再需要调试时,直接将该文件移除或点右键选择DisableFile,而不用一行行注释。

07d47a68-76a9-11ed-8abf-dac502259ad0.png

用于OOC综合的约束 Vivado支持对IP、BlockDesign进行OOC(Out-of-Context)综合。同时,Vivado还可对指定的用户模块进行OOC综合,这时可对该模块指定OOC综合时用到的约束文件。这可通过xdc文件属性USED_IN设定,将其值设置为{synthesis,out_of_context},如下图所示。

07ef3e3e-76a9-11ed-8abf-dac502259ad0.png

设置约束的生效阶段

默认情况下,添加到Vivado工程中的xdc文件既用于综合阶段也用于布局布线阶段。但事实上,有些约束仅在布局布线阶段有效,例如管脚分配,这时可通过.xdc文件属性设定其使用阶段,如下图所示。

080a6f42-76a9-11ed-8abf-dac502259ad0.png

即使对于时序约束,也只有如下几条命令且与建立时间相关时综合阶段才起作用,这也是为什么我们在分析综合后的设计时只关注建立时间违例而忽略保持时间违例。

0829e1c4-76a9-11ed-8abf-dac502259ad0.png

审核编辑:汤梓红

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

    关注

    1624

    文章

    21597

    浏览量

    601004
  • Xilinx
    +关注

    关注

    71

    文章

    2153

    浏览量

    120795
  • 文件
    +关注

    关注

    1

    文章

    560

    浏览量

    24653
  • 约束
    +关注

    关注

    0

    文章

    82

    浏览量

    12704

原文标题:如何管理约束文件?

文章出处:【微信号:Lauren_FPGA,微信公众号:FPGA技术驿站】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    《EDA工具手册》约束管理器分册

    第一章 约束管理器介绍41.1约束管理器简介41.2约束管理器界面简介81.2.1workshe
    发表于 11-10 12:30

    【FPGA学习】如何使用 ISE 编写约束文件

    3-56 所示。一般使用 Constraints Editor 编辑约束文件,启动 Constraints Editor 的方法是双击源代码管理区中约束
    发表于 09-29 09:18

    PADS约束管理器不能用

    请问下padsVX2.2的约束管理器,为什么不能用呢?难道要正版的许可文件
    发表于 04-11 02:55

    PADS约束管理使用指南

    PADS 拥有功能强大且简单易用的约束管理系统,适用于创建、评审和验证 PCB 设计约束
    发表于 09-16 08:10

    请问时序约束文件SDC支持哪些约束

    时序约束文件SDC支持哪些约束
    发表于 08-11 09:27

    赛灵思(Xilinx)FPGA用户约束文件的分类和语法说明

    FPGA设计中的约束文件有3类:用户设计文件(.UCF文件)、网表约束文件(.NCF
    发表于 02-11 06:33 1648次阅读

    如何为密集的高约束PCB设计创建和管理约束

    本视频将会概述基本的约束管理概念,并演示如何为密集的高约束 PCB 设计创建和管理约束
    的头像 发表于 05-17 06:01 2019次阅读
    如何为密集的高<b class='flag-5'>约束</b>PCB设计创建和<b class='flag-5'>管理</b><b class='flag-5'>约束</b>

    如何创建和管理约束密集型、高度约束的PCB设计

    这个视频概述基本约束管理的概念和演示了如何创建和管理约束密集、高度受限的PCB设计。
    的头像 发表于 11-07 07:08 2681次阅读

    PADS约束管理系统创建、审查和验证PCB设计约束

    垫标准+和垫专业使用的强大和易于使用的约束管理系统创建、评审和验证PCB设计约束
    的头像 发表于 11-04 07:02 1683次阅读

    易于使用的pads约束管理标准

    增加你的效率和生产率。创造和捕捉设计约束与无压力垫约束管理标准。
    的头像 发表于 11-01 07:09 2031次阅读

    约束管理器节省设计时间

    如果相同的模板需要在多个项目,快速导入保存约束模板可以节省宝贵的时间。在垫VX.2.5,用户现在可以轻松地导入和导出其约束模板从一个项目到下一个。而不是创建模板一遍又一遍,约束管理器可
    的头像 发表于 10-24 07:00 1795次阅读

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

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

    Vivado中XDC文件约束顺序

    很对人在使用Vivado时喜欢使用多个约束文件对整个工程进行约束,同时Vivado允许设计者使用一个或多个约束文件。虽然使用一个
    的头像 发表于 10-13 16:56 6813次阅读

    Vivado设计约束功能概述

    XDC约束可以用一个或多个XDC文件,也可以用Tcl脚本实现;XDC文件或Tcl脚本都要加入到工程的某个约束集(set)中;虽然一个约束集可
    的头像 发表于 06-30 11:27 3642次阅读

    约束管理器.zip

    约束管理
    发表于 12-30 09:22 2次下载