vivado 使用约束、添加和创建约束文件

本文介绍了VivadoIDE如何支持Xilinx和Synopsys的设计约束,包括XDC和SDC格式的应用,以及在RTL分析、综合和实现阶段的使用。此外,文章详细讲解了如何创建、编辑和管理约束文件、约束集,以及在Tcl脚本中的约束定义。
摘要由CSDN通过智能技术生成

使用约束

Vivado IDE支持Xilinx设计约束(XDC)和Synopsys设计约束(SDC)文件格式。SDC格式用于定时约束,而XDC格式用于两者时间和物理约束。约束可以包括位置、时间和I/O限制。您可以在设计流程的各个步骤中创建约束,包括RTL分析,综合和实现。有关约束文件、约束集和的详细信息各种类型的约束,请参阅Vivado Design Suite用户指南:使用约束(UG903)。Vivado设计套件提供了在项目中定义和使用约束的灵活性。你可以使用单个XDC文件来添加和维护设计约束,也可以使用多个XDC文件,以便将约束组织为单独的文件。可以创建多个约束集以对各种类型的约束进行实验,或者存储多个版本的约束。每个约束集可以

Vivado Design Suite还允许您在Tcl脚本中定义约束,这些约束可以是源于Tclshell或Tcl控制台,或添加到设计中的约束集。决定性的Tcl脚本中的约束允许您使用标准Tcl命令作为约束范围的一部分和定义。然而,在Tcl脚本中定义约束也有一定的局限性,例如不能能够将对设计约束的更改保存回源Tcl脚本。

注意:有关使用Tcl脚本的更多信息,请参阅Vivado Design Suite用户指南中的此链接:使用约束(UG903)。可以打开引用单个约束集的多个设计。但是,你必须小心以管理对引用同一约束集的多个设计所做的更改。如果Vivado IDE检测到多个打开的设计中未保存的更改,它会提示您选择设计以保存到参照的约束文件中。

小心!保存约束文件时,请注意不要覆盖中任何未保存的约束定义未保存的设计。实现的设计保存实现运行期间使用的约束的快照以及对原始约束文件行的引用。当打开所实现的设计时,从实现运行加载的约束可能比实现旧来自项目中设置的约束的约束。这可能会导致中的新约束丢失在添加或之后从已实现的运行中保存设计时的项目约束文件编辑内存中的约束。一般来说,Vivado IDE管理这些修订问题,并且提示您根据需要采取适当的操作。但是,您应该注意内存中的约束和约束中的约束文件之间的潜在冲突与实现运行关联的集合。

在Vivado IDE中,使用以下窗口可以创建约束并使用约束:

•定时约束窗口:在表格中显示项目的所有XDC文件定时约束总体安排可以交互编辑保存回源的现有约束文件,或创建新的约束。

•设备约束窗口:使您能够在上设置各种SelectIO接口约束显示的银行。

•物理约束窗口:使您能够创建和管理Pb块。

提示:选择工具 → 时间安排 → 综合设计上的约束向导,用于创建顶级XDC文件基于推荐的设计方法。该向导将指导您指定时钟、设置向上输入和输出约束以及适当地约束跨时钟域时钟组。

视频:请参阅Vivado Design Suite QuickTake视频:使用Vivado定时约束向导使用时间约束向导的简介。

添加和创建约束文件

1.选择文件 → 添加源。

注意:或者,也可以单击“流导航器”中的“添加源”,或者从右键单击“源”窗口中的菜单。

2.在“添加源”向导中,选择“添加”或“创建约束”,然后单击“下一步”。

3.在“添加或创建约束”页面中,设置以下选项,然后单击“完成”。

•指定约束集:定义约束文件所在的约束集放置。默认情况下,会选择当前活动的约束集,但可以指定不同的约束集,或者使用下拉菜单定义新的约束集。

•添加文件:指定要添加到项目中的XDC、SDC或Tcl脚本文件。

•创建文件:为项目创建一个新的顶级XDC。

•删除:从“约束文件”列表中删除选定的文件。

•上移/下移:按列出的文件顺序向上或向下移动约束文件。XDC、SDC或Tcl脚本文件由设置定时和物理约束的命令组成并且是顺序相关的。一个约束集中的多个文件按它们的顺序读取显得列表中的第一个文件是第一个处理的文件。重要!约束是按照它们在约束集中出现的顺序读取的。如果相同约束在约束文件中定义多次,或者在多个约束文件中,

•将约束复制到项目中:将约束文件复制到本地项目目录中而不是引用原始文件。设置目标XDC文件编辑设计时,修改后的约束会写回中定义的XDC文件。当您保存约束。默认情况下,在新的约束集中,没有目标XDC文件。当你创建新约束时,必须在保存约束时设置目标XDC文件。提示:修改的现有约束会写回它们产生的XDC文件,而不是目标XDC。若要指示需要保存约束,将启用“保存约束”工具栏按钮。单击“保存约束”工具栏按钮时,可以使用“保存约束文件”对话框在活动约束集中选择一个现有的XDC文件,或者创建一个新文件添加到活动约束集。

如果将XDC文件设置为目标,则“源”中的文件名旁边会显示单词“(target)”窗您可以使用“设置为目标约束文件”随时更改目标XDC文件在“源”窗口中单击鼠标右键菜单命令。

引用原始XDC文件或复制文件

与其他源文件一样,您可以从远程位置引用XDC文件或复制文件本地保存到项目目录中。如果您的项目引用远程文件,Vivado IDE自动检测对被引用源文件的更改,并提示您重新加载使用最新文件进行设计。要将约束复制到项目中,请执行以下操作之一:

•使用“添加源”命令向项目添加约束时,可以复制通过选择“将约束复制到项目”,将约束保存到本地项目目录选项

•如果最初将约束添加为远程源,但后来希望将其复制到项目目录中,使用右键单击中的“将文件复制到项目”或“将所有文件复制到project”“源”窗口中的菜单,以将部分或所有单独的远程源文件复制到项目中目录

注意:有关详细信息,请参阅使用远程源或将源复制到项目中。

  • 26
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Vivado添加时序约束,需要使用 XDC(Xilinx Design Constraints)文件来指定约束。以下是一些基本的步骤: 1. 打开 Vivado 工程,选择 "Flow Navigator" 窗口中的 "Project Manager"。 2. 在 "Project Manager" 窗口中,展开 "Constraints" 部分,右键点击 "Constraints" 文件夹,选择 "Add Sources"。 3. 在 "Add Sources" 对话框中,选择 "Add or create constraints",然后点击 "Next"。 4. 在 "Add or Create Constraints" 对话框中,选择 "Create File",并为约束文件指定一个名称和路径。确保该文件的扩展名为 ".xdc"。 5. 点击 "Finish" 创建约束文件,并自动打开该文件进行编辑。 6. 在 XDC 文件中,可以使用不同的命令来添加时序约束。以下是一些常见的约束命令示例: - `create_clock`:指定时钟信号 - `set_input_delay`、`set_output_delay`:设置输入/输出延迟 - `set_max_delay`、`set_min_delay`:设置最大/最小延迟 这些命令可以根据设计的具体需求进行灵活配置。你可以在 Xilinx 官方文档中查找有关这些命令的更多详细信息。 7. 编辑完约束文件后,保存并关闭文件。 8. 在 Vivado 的界面中,点击 "Generate Bitstream" 来生成比特流文件。在该过程中,Vivado 会应用约束文件中定义的时序约束。 9. 在综合和实现过程中,Vivado 会将时序约束应用到设计中,并在报告中显示约束违规信息。你可以根据报告进行优化和调整。 这是一个基本的示例过程,实际情况可能会根据设计的复杂性和需求有所不同。确保仔细阅读 Vivado 的相关文档,并参考 Xilinx 官方资源以获取更详细的信息和指导。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

cckkppll

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值