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

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

3天内不再提示

如何在Vivado中添加时序约束

CHANBAEK 来源:FPGA入门到精通 作者:未可知摩尔 2023-06-23 17:44 次阅读

前面几篇文章已经详细介绍了FPGA时序约束基础知识以及常用的时序约束命令,相信大家已经基本掌握了时序约束的方法。

今天介绍一下,如何在Vivado中添加时序约束,Vivado添加约束的方法有3种:xdc文件、时序约束向导(Constraints Wizard)、时序约束编辑器(Edit Timing Constraints )

一、XDC文件

使用VIvado的“Source文件管理器”直接创建新的xdc文件或者添加已有的xdc文件。

具体步骤如下:

第一步:点击“+”

wKgZomSP286APANYAAB3fF1WXeg526.jpg

第二步:选择“Add or create constraints”,点击“next”

wKgaomSP28-ADWHAAAEpcejbiBU212.jpg

第三步:如果是添加文件则点击“Add Files”,如果是新建文件,则点击“Create File”

wKgaomSP286AQt_iAAElizzJVkU880.jpg

第四步:如果是新建文件,则输入文件名,点击“OK”,再点击“Finish”即可

wKgZomSP28-AEfR6AADpwrLyw0k214.jpg

这样就可以,在source界面中的“Constraints”中看到新建的文件。

wKgaomSP286Abf21AACy1dLVH_4005.jpg

双击打开新建的xdc文件,写入约束语句即可。

创建XDC文件的方式很灵活,但在添加约束时需要谨慎一些,因为一些错误的约束可能会导致电路出错或性能下降。

二、时序约束向导(Constraints Wizard)

时序约束向导是Vivado提供的一个交互式添加约束工具。

可以帮助用户通过简单的设置界面来自动生成xdc文件中的TIMING约束。

第一步:将HDL代码综合

wKgaomSP2_GAXtJoAAA2ZlcDVXs856.png

​第二步:点击VIvado左边导航栏的“Synthesis”的“Constraints Wizard”。

wKgZomSP286AMUimAAA60rBspTQ639.jpg

​第三步:如果未创建xdc文件,vivado会提示新建新的xdc文件。

wKgZomSP28-AZ5YKAAA22FJ6CPk569.jpg

​第四步:进入时序约束向导界面

时序约束向导是按照主时钟约束、衍生时钟约束、输入延迟约束、输出延迟约束、时序例外约束、异步时钟约束等的顺序来依次创建时钟约束的。

wKgaomSP28-ALnHsAADY5CtcpnQ613.jpg

​点击下一步,这里只演示填入主时钟,输入时钟周期,点击“skip to finish”。

wKgZomSP28-AQJ8-AACQBHOQGxI005.jpg


wKgZomSP28-AM0tHAACHkM9jS_A599.jpg

​最后点击finish,生成约束会自动保存到xdc文件中。

三、时序约束编辑器(Edit Timing Constraints )

时序约束编辑器是Vivado中提供的可视化界面,用于修改编辑在xdc文件的时序约束,用户通过这个界面可以添加/删除约束、调整约束优先级及修改约束属性。

第一步:将HDL代码综合完后,点击VIvado左边导航栏的“Synthesis”的“Edit Timing Constraints”。

wKgZomSP286AMUimAAA60rBspTQ639.jpg

第二步:弹出编辑界面,如下图所示,先在左侧选择时序约束类型,再点击右侧窗口的“+”

号,开始添加时序约束命令。

wKgaomSP28-AF1BWAAEMMNZekTs073.jpg

第三步,点击红框中“...”,打开搜索端口界面,再点击“find”按钮,自动弹出搜索到端口号。

wKgZomSP28-AaxEtAABKgKdxeO4839.jpg

wKgaomSP28-AW9W_AABeTGQRx44495.jpg

第四步:选中需要添加约束的端口,如“clk”,点击右侧箭头,移动到“选中窗口”,再点击“set”按钮。

wKgaomSP28-AKfgGAAB6q-Qtiw4629.jpg

wKgZomSP28-AIvz0AABaalogZ18766.jpg

第五步:输入约束端口名,并设置时钟周期和占空比,点击“OK”。

wKgaomSP28-AMSgaAABW_ZJVPfg387.jpg

第六步:按“ctrl+s”快捷键保存,最下方的预览窗口会显示设置的时钟约束,而且会自动保存到xdc约束文件中。

wKgZomSP28-AascFAAFaAyK5lrY134.jpg

与直接xdc文件相比,时序约束编辑器提供了时序约束详细的分类和说明,更容易理解和使用。

四、总结

本文分享了Vivado中常用的添加时序约束的方法,大家可以按照自己的习惯和喜好选择方式即可。

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

    关注

    1602

    文章

    21320

    浏览量

    593193
  • HDL
    HDL
    +关注

    关注

    8

    文章

    323

    浏览量

    47101
  • 编辑器
    +关注

    关注

    1

    文章

    788

    浏览量

    30187
  • 时序约束
    +关注

    关注

    1

    文章

    111

    浏览量

    13350
  • Vivado
    +关注

    关注

    18

    文章

    790

    浏览量

    65099
收藏 人收藏

    评论

    相关推荐

    VIVADO时序约束及STA基础

    时序约束的目的就是告诉工具当前的时序状态,以让工具尽量优化时序并给出详细的分析报告。一般在行为仿真后、综合前即创建基本的时序
    的头像 发表于 03-11 14:39 8837次阅读

    FPGA主时钟约束详解 Vivado添加时序约束方法

    在FPGA设计中,时序约束的设置对于电路性能和可靠性都至关重要。在上一篇的文章中,已经详细介绍了FPGA时序约束的基础知识。
    发表于 06-06 18:27 7042次阅读
    FPGA主时钟<b class='flag-5'>约束</b>详解 <b class='flag-5'>Vivado</b><b class='flag-5'>添加</b><b class='flag-5'>时序</b><b class='flag-5'>约束</b>方法

    如何给每个RM添加约束?对RM添加约束的步骤有哪些呢?

    在常规非DFX(Dynamic Function eXchange)的Vivado设计中,我们可能会碰到给某一个指定的模块添加特定的约束
    的头像 发表于 08-17 09:22 482次阅读
    如何给每个RM<b class='flag-5'>添加</b><b class='flag-5'>约束</b>?对RM<b class='flag-5'>添加</b><b class='flag-5'>约束</b>的步骤有哪些呢?

    时序警告,新手求问约束的问题

    小弟刚学习FPGA不久,仅仅学习了一个普通工作流,但对于时序约束什么的几乎一无所知最近在编一个模块时,VIVADO综合实现出来Timing那里是红色,WNS TNS为负值,只知道似乎是当前布线延迟
    发表于 09-06 20:08

    时序约束资料包

    Vivado基本操作流程2、时序基本概念3、时序基本约束和流程4、Baselining时序约束
    发表于 08-01 16:45

    vivado时序分析与约束优化

    转自:VIVADO时序分析练习时序分析在FPGA设计是分析工程很重要的手段,时序分析的原理和相关的公式小编在这里不再介绍,这篇文章是小编在
    发表于 08-22 11:45

    FPGA时序分析如何添加其他约束

    你好: 现在我使用xilinx FPGA进行设计。遇到问题。我不知道FPGA设计是否符合时序要求。我在设计添加了“时钟”时序约束。我不知道
    发表于 03-18 13:37

    时序约束时序分析 ppt教程

    时序约束时序分析 ppt教程 本章概要:时序约束时序分析基础常用
    发表于 05-17 16:08 0次下载

    Vivado中的静态时序分析工具Timing Report的使用与规范

    过程必须以满足XDC中的约束为目标来进行。那么: 如何验证实现后的设计有没有满足时序要求? 如何在开始布局布线前判断某些约束有没有成功设置? 如何验证
    发表于 11-17 18:03 3.4w次阅读
    <b class='flag-5'>Vivado</b>中的静态<b class='flag-5'>时序</b>分析工具Timing Report的使用与规范

    添加时序约束的技巧分析

    。 在添加全局时序约束时,需要根据时钟频率划分不同的时钟域,添加各自的周期约束;然后对输入输出端口信号
    发表于 11-25 09:14 2386次阅读

    时序约束资料包】培训课程Timing VIVADO

    来维持吗? 1、Vivado基本操作流程 2、时序基本概念 3、时序基本约束和流程 4、Baselining时序
    发表于 08-06 15:08 420次阅读

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

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

    Vivado设计约束功能概述

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

    何在Vivado添加时序约束呢?

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

    Vivado综合阶段什么约束生效?

    Vivado综合默认是timing driven模式,除了IO管脚等物理约束,建议添加必要的时序约束,有利于综合逻辑的优化,同时综合后的de
    的头像 发表于 07-03 09:03 441次阅读