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

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

3天内不再提示

Vivado IDE 中的Timing Constraints窗口介绍

XILINX开发者社区 来源:XILINX开发者社区 作者:XILINX开发者社区 2022-09-15 10:24 次阅读

随着设计复杂度和调用 IP 丰富度的增加,在调试时序约束的过程中,用户常常会对除了顶层约束外所涉及的繁杂的时序约束感到困惑而无从下手。举个例子,用户在 XDC 里面并没有指定 set_false_path,为什么有些路径在分析时忽略了?那怎么去定位这些约束是哪里设定的?


事实上,Vivado 集成设计环境提供了很多辅助工具来协助用户完成时序约束的分析。

本文阐述了如何结合 Timing Constraints 窗口对设计中的约束进行查看及分析,希望为用户的设计调试提供一些思路和方向。

Timing Constraints 窗口的开启

Timing Constraints窗口仅对Synthesized Design或Implemented Design适用。您可以通过以下三种方式之一找到其入口:

1. Open Synthesized/Implemented Design,选择菜单Windows > Timing Constraints

a8cbfc62-341d-11ed-ba43-dac502259ad0.png

2. Open Synthesized Design,选择Flow Navigator里Synthesized Design 部分的 Edit Timing Constraints

a8ed7004-341d-11ed-ba43-dac502259ad0.png

3. Open Implemented Design,选择Flow Navigator里Implemented Design 部分的 Edit Timing Constraints

a90b82c4-341d-11ed-ba43-dac502259ad0.png    

Timing Constraints 窗口一览

Timing Constraints 窗口可以以图示的方式直观显示当前导入的设计中所存储的时序约束,以分类组织的架构,用户可以方便地定位约束创建的顺序及来源。

打开后的窗口整体如下图所示:

a927e20c-341d-11ed-ba43-dac502259ad0.png

左上部分子窗口将约束做了分类,括号里是每一类约束的数量。

a953a540-341d-11ed-ba43-dac502259ad0.png

当选定某一类约束后,设计中所有这类约束信息会以电子表格的形式显示在右上部分子窗口。

以 Create Clock 约束为例:

a977aa76-341d-11ed-ba43-dac502259ad0.png

Position 列是约束的位置信息,跟约束的读入顺序对应。前面带锁图标表明此约束无法在表格上直接编辑,通常是 IP 自带的约束。


Source File 列显示了约束来源于哪个 XDC 或 Tcl 文件。


Scoped Cell 列显示了约束的作用范围,是全局还是某一个实例,通常此列显示的名称对应于自带特定约束的 IP 实例名。

当点击某一行选中约束后,同时在下方的 All Constraints 子窗口会高亮此约束语句

a997a754-341d-11ed-ba43-dac502259ad0.png

用户可以快速看到原始约束语句以及其来源 XDC 的具体文件位置。

All Constraints 子窗口显示加载到内存中的约束的完整列表,其顺序与应用它们的顺序相同。 约束根据它们所源自的 XDC file 或 Tcl 脚本进行分组,根据查看需要可切换多种视图。

您可以点击 expand 或 collapse 图标展开或折叠每个约束文件的约束,如下图所示:

展开约束:

a9c1d22c-341d-11ed-ba43-dac502259ad0.png

折叠约束:

a9e9dcea-341d-11ed-ba43-dac502259ad0.png

此时点击 Constraints 旁的箭头可以看到所有关联的约束文件,进一步可以点击某个约束文件旁的箭头进行逐一查看。

aa0141f0-341d-11ed-ba43-dac502259ad0.png

您也可以取消选择 Group by Source 图标,将视图切换到一个表格,按序显示设计中的所有时序约束,其中source constraint 文件和 Scoped Cell 信息显示在右侧的两列中。

aa256698-341d-11ed-ba43-dac502259ad0.png    

在 Timing Constraints 窗口进行约束编辑

除了在表格中查看已有约束,还可以对已有约束进行删减、修改或者添加新的约束,改动结果也会实时反映在下方的All Constraints 窗口并应用在当前的 in-memory 设计,方便用户在不重新跑综合实现的前提下进行多角度的时序分析试验。

要删除某一条约束,可以从任一子窗口选中此约束,右键选Remove Constraint,或者点击-图标,并点击窗口下方的Apply 按键以刷新内存中的约束。

aa52199a-341d-11ed-ba43-dac502259ad0.png

要编辑某一条约束(注意只能修改非只读,即约束前没有带锁标志的),可以选中此约束,右键选 Edit Constraint,或者点击编辑图标。

aa7f96ea-341d-11ed-ba43-dac502259ad0.png

在随后打开的约束编辑对话框中完成修改,并点击窗口下方的Apply 按键以刷新内存中的约束。

要添加新的约束,可以点击分类表格子窗口的+图标,或者在某一类约束的空白处双击,在随后打开的对话框中将约束信息补充完整。

aaad7862-341d-11ed-ba43-dac502259ad0.png

也可以在 Tcl Console 敲入新的约束进行添加。

新约束出现在名为的组中的列表末尾。

aad1427e-341d-11ed-ba43-dac502259ad0.png

约束修改后可以直接在 in-memory 设计上生效,由此展开更新后的时序分析,在当前布局布线的结果上评估修改后的时序。

评估完成后,如果需要保存所作的修改,可以在 Close Design的时候选择 Save Constraints,工具会自动选择标记为 Target的 XDC 文件进行保存。如果并不想改动原始约束或者并不需要保存全部改动,可以在退出设计时忽略 Save Constraints,之后再手动修改设计中的约束文件,加入想要的改动。

总结

以上内容对 Vivado IDE 中的Timing Constraints 窗口做了介绍,与 write_xdc 命令相比,其最大的优势是能直观显示设计中所有约束的分组及来源,为时序约束的查看、验证及假设分析提供了比较方便的接口,与其他调试手段结合,可以提升设计效率。

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

    关注

    33

    文章

    8728

    浏览量

    152110
  • 时序
    +关注

    关注

    5

    文章

    392

    浏览量

    37458
  • Vivado
    +关注

    关注

    19

    文章

    815

    浏览量

    66960

原文标题:开发者分享|读懂用好 Timing Constraints 窗口

文章出处:【微信号:gh_2d1c7e2d540e,微信公众号:XILINX开发者社区】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    玩转VivadoTiming Constraints

    玩转VivadoTiming Constraints特权同学,版权所有最近在熟悉Xilinx已经推出好几年的Vivado,虽然特权同学之前已经着手玩过这个新开发工具,但只是简单的玩玩
    发表于 01-11 16:55

    vivado约束参考文档

    - Design Analysis and Closure TechniquesUG945- Vivado Design Suite Tutorial - Using Constraints (约束向导介绍
    发表于 09-26 15:35

    Vivado 2014.1工具流程结果不可重复

    Vivado toolchain in batch mode for the same project (everything is identical: scripts, constraints
    发表于 10-25 15:26

    vivado挂在place_design

    38-35] Done setting XDC timing constraints.INFO: [Timing 38-2] Deriving generated clocks
    发表于 11-08 11:38

    使用VIVADO IDE设计的最有效方法是什么?

    HDL。使用vivado,您现在可以使用IP集成商,在其中使用IP创建块设计。使用VIVADO IDE设计的最有效方法是什么?Vivado IDE
    发表于 03-29 09:14

    Global Timing Constraints

    Without Timing Constraints• This design had no timingconstraints or pin assignments– Note
    发表于 01-11 08:54 6次下载

    Timing Groups and OFFSET Const

    Timing Groups and OFFSET Constraints: •Use the Constraints Editor to create groups of path
    发表于 01-11 08:55 4次下载

    Achieving Timing Closure

    Achieving Timing Closure:Timing Reports• Timing reports enable you to determine how and why
    发表于 01-11 08:56 0次下载

    具体介绍ISE通过编辑UCF文件来对FPGA设计进行约束

    本文主要通过一个实例具体介绍ISE通过编辑UCF文件来对FPGA设计进行约束,主要涉及到的约束包括时钟约束、群组约束、逻辑管脚约束以及物理属性约束。 Xilinx定义了如下几种约束类型
    发表于 11-24 19:59 3624次阅读
    具体<b class='flag-5'>介绍</b>ISE<b class='flag-5'>中</b>通过编辑UCF文件来对FPGA设计进行约束

    通过一个实例具体介绍ISE通过编辑UCF文件来对FPGA设计进行约束

    摘要:本文主要通过一个实例具体介绍ISE通过编辑UCF文件来对FPGA设计进行约束,主要涉及到的约束包括时钟约束、群组约束、逻辑管脚约束以及物理属性约束。 Xilinx定义了如下几种约束类型
    发表于 11-25 01:27 5508次阅读
    通过一个实例具体<b class='flag-5'>介绍</b>ISE<b class='flag-5'>中</b>通过编辑UCF文件来对FPGA设计进行约束

    Vivado进行时序约束的两种方式

    上面我们讲的都是xdc文件的方式进行时序约束,Vivado还提供了两种图形界面的方式,帮我们进行时序约束:时序约束编辑器(Edit Timing Constraints )和时序约束
    的头像 发表于 03-08 17:17 2w次阅读
    <b class='flag-5'>Vivado</b>进行时序约束的两种方式

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

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

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

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

    时序分析基本概念介绍Timing Arc

    今天我们要介绍的时序基本概念是Timing arc,中文名时序弧。这是timing计算最基本的组成元素,在昨天的lib库介绍,大部分时序信
    的头像 发表于 07-06 15:00 3811次阅读
    时序分析基本概念<b class='flag-5'>介绍</b>—<b class='flag-5'>Timing</b> Arc

    Vivado设计套件用户:使用Vivado IDE的指南

    电子发烧友网站提供《Vivado设计套件用户:使用Vivado IDE的指南.pdf》资料免费下载
    发表于 09-13 15:25 14次下载
    <b class='flag-5'>Vivado</b>设计套件用户:使用<b class='flag-5'>Vivado</b> <b class='flag-5'>IDE</b>的指南