管理实施
Vivado设计套件包括各种设计流程,并支持一系列设计来源。为了生成可以下载到AMD设备上的比特流,设计必须通过实施。实现是采取逻辑网表并将其映射到物理网表的一系列步骤目标AMD设备的阵列。实施包括:
•逻辑优化
•逻辑单元的放置
•单元之间的连接路由
项目模式和非项目模式
Vivado Design Suite允许您使用项目文件(项目模式)或没有项目文件(非项目模式)。
项目模式
Vivado Design Suite允许您创建一个项目文件(.xpr)和目录结构您要:
•管理设计源文件。
•存储综合和实施运行的结果。
•通过设计流程跟踪项目状态。
在项目模式下工作
在项目模式下,会在磁盘上创建一个目录结构,以帮助您管理设计源,运行结果和报告,并跟踪项目状态。设计数据、过程和状态的自动化管理需要一个项目存储在Vivado项目文件(.xpr)中的基础设施。在项目模式下,Vivado工具会自动将检查点文件写入本地项目目录在设计流程的关键点。要在项目模式下运行实现,请单击IDE中的“运行实现”按钮或使用launch_runs Tcl命令。请参阅Vivado Design Suite中的“使用项目模式”一节用户指南:设计流程概述(UG892),了解有关在中使用项目的更多信息Vivado设计套房。
流程导航器
完整的设计流程集成在Vivado集成设计环境(IDE)中。这个Vivado IDE包括一个称为Flow Navigator的标准化接口。
重要!本指南不提供Vivado IDE的详细解释,除非它适用于实施有关Vivado IDE与整个设计流程相关的更多信息,请参阅Vivado Design Suite用户指南:使用Vivado IDE(UG893)。
非项目模式
Vivado工具还允许您在内存中进行设计,而不需要项目文件和本地目录。在编译样式流中不使用项目文件的情况下工作称为非项目模式。源文件和设计约束从其当前文件读取到内存中位置。内存中的设计是在设计流程中逐步进行的,而无需写入中间文件。在非项目模式下,必须使用适当的选项单独运行每个设计步骤对于每个实现Tcl命令。
非项目模式允许您应用设计更改并继续进行设计流程
而无需保存更改并重新运行步骤。您可以运行报告并保存设计检查点
项目模式与非项目模式的异同模式
Vivado实现可以在项目模式或非项目模式下运行。Vivado IDETcl API既可以用于项目模式,也可以用于非项目模式。项目模式和非项目模式有很多不同之处。功能不可用在非项目模式下包括:
•Flow Navigator
•设计状态指示器
•IP目录
•实施运行和运行策略
•设计运行窗口
•消息窗口
•报告窗口
注意:此列表说明了在非项目模式下不支持的功能。它并不是详尽无遗的。您必须通过运行单独的Tcl命令来实现非基于项目的设计:
•选择设计
•power_opt_design(可选)
•地点设计
•phys_opt_design(可选)
•路线_设计
•phys_opt_design(可选)
•写入比特流
您可以在Tcl控制台、Vivado IDE中以交互方式运行实现步骤,也可以使用自定义Tcl脚本。您可以根据需要自定义设计流,以包括报告命令以及额外的优化。有关详细信息,请参阅在非项目中运行实现模式中描述了在项目模式和非项目模式下运行实施的细节本指南。有关使用项目模式或非项目模式运行Vivado Design Suite的更多信息,请参阅:
•Vivado Design Suite用户指南:设计流程概述(UG892)
•Vivado Design Suite用户指南:使用Vivado IDE(UG893)
开始实施流程
实现流程通常从将合成设计加载到内存开始。然后实现流可以运行,或者可以分析和细化设计及其约束并且可以在更新之后重新加载设计。有两种方法可以从综合设计开始实现流程:
•运行Vivado合成。在项目模式中,合成运行包含合成结果和这些结果会自动用作执行运行的输入。在非项目中模式下,合成结果在合成_设计完成后存储在内存中,并实现可以从那一点继续。
•加载合成网表。合成网表可以用作输入设计源,用于例如,当使用第三方工具进行合成时。启动实施:
•在项目模式下,启动实施运行。
•在非项目模式下运行脚本或交互式命令。
为了分析和细化约束,在不运行的情况下加载综合设计实施
•在项目模式中,您可以通过打开综合设计来实现这一点,这就是结果合成运行的。
•在非项目模式下,可以使用link_design命令加载设计。
您还可以在非项目模式下使用设计检查点(.dcp)来驱动实现流。打开检查点加载设计并将其恢复到原始状态,这可能包括放置和布线数据。这允许重新进入实现流,例如加载布管设计和编辑布管,或者加载放置的设计并运行多个布管有不同的选择。
导入以前合成的网表
Vivado Design Suite通过导入以前合成的内容来支持网表驱动的设计AMD或第三方工具的网表。网表输入格式包括:
•结构验证日志
•结构系统Verilog
•启迪
•AMD NGC
•综合设计检查点(DCP)
重要!Vivado Design Suite for UltraScale及更高版本不支持NGC格式的文件设备。建议您使用Vivado Design Suite IP自定义工具重新生成IP使用本地输出产品。或者,convert_ngc Tcl实用程序将ngc文件转换为EDIF或Verilog格式。然而,AMD建议使用原生Vivado IP,而不是XST生成的NGC格式化文件。
重要!在项目模式或非项目模式下使用IP时,始终使用XCI文件,而不是DCP文件。这确保了IP输出产品在设计流程的所有阶段都得到一致使用。
如果IP是断章取义合成的,并且已经有一个相关的DCP文件,DCP文件自动并且IP不被重新合成。有关详细信息,请参阅中的“将现有IP添加到项目”一节Vivado Design Suite用户指南:使用IP进行设计(UG896)。
有关Vivado Design Suite支持的源文件和项目类型的更多信息,请参阅《Vivado Design Suite用户指南:系统级设计入门》(UG895)。
从RTL源开始
Vivado实现至少需要一个综合的网表。设计可以从合成网表或来自RTL源文件。
重要!如果从RTL源代码开始,则必须在实现之前首先运行Vivado合成可以开始。如果您试图在未合成的设计上运行实现,Vivado IDE会自动管理它。这些工具允许您首先运行合成。有关运行Vivado合成的信息,请参阅《Vivado Design Suite用户指南:合成》(UG901)。
非项目模式下综合设计的创新与开放
在非项目模式下,必须运行Tcl命令synth_design来创建和打开综合设计。您也可以运行Tcl命令link_design来打开合成的任何支持的输入格式的网表。可以使用打开合成的设计检查点文件open_checkpoint命令。有关详细信息,请参见打开综合设计。实施前以项目模式加载设计网表在项目模式下,在综合RTL设计后,或者在打开基于网表的项目的情况下,您可以在实现之前加载设计网表进行分析。要打开综合设计,请执行以下操作之一:
•从主菜单中,运行Flow → 开放式综合设计。
•在Flow Navigator中,运行Synthesis → 开放式综合设计。
•在“设计运行”窗口中,选择合成运行,然后从上下文中选择“打开运行”菜单