使用约束
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”“源”窗口中的菜单,以将部分或所有单独的远程源文件复制到项目中目录
注意:有关详细信息,请参阅使用远程源或将源复制到项目中。