【 Vivado 】理解工程模式和非工程模式

网友投稿 1129 2022-05-28

目录

Understanding Project Mode and Non-Project Mode

Project Mode

Non-Project Mode

Feature Differences

Command Differences

【 Vivado 】理解工程模式和非工程模式

Understanding Project Mode and Non-Project Mode

Vivado设计套件有两个主要使用模型:项目模式和非项目模式。 可以通过Vivado IDE或通过Tcl命令和批处理脚本开发和使用项目模式和非项目模式。 但是,Vivado IDE为项目模式提供了许多好处,例如Flow Navigator图形工作流程界面。 Tcl命令是运行非项目模式的最简单方法。

Project Mode

Vivado Design Suite利用基于项目的架构来组装,实现和跟踪设计的状态。 这称为项目模式。 在项目模式下,Vivado工具可自动管理您的设计流程和设计数据。

Project Mode的主要优势在于Vivado Design Suite管理整个设计过程,包括依赖关系管理,报告生成,数据存储等。

在项目模式下工作时,Vivado Design Suite会在磁盘上创建目录结构,以便在本地或远程管理设计源文件,并管理源文件的更改和更新。

项目基础结构还用于管理自动综合和实施运行,跟踪运行状态以及存储综合和实施结果和报告。 例如:

•如果在综合后修改HDL源,Vivado Design Suite会将当前结果标识为过时,并提示您进行重新合成。

•如果修改设计约束,Vivado工具会提示您重新综合,重新实现或两者兼而有之。

•布线完成后,Vivado工具会自动生成时序,DRC,方法和电源报告。

•只需在Vivado IDE中单击即可运行整个设计流程。

Non-Project Mode

或者,您可以选择内存编译流程,您可以在其中自行管理源和设计过程,称为非项目模式。 在非项目模式下,您可以使用Tcl命令或脚本自行管理设计源和设计过程。 关键优势在于您可以完全控制流程的每个步骤。

在非项目模式下工作时,源文件从其当前位置读取,例如从修订控制系统读取,并且设计通过内存中的流程进行编译。

您可以使用Tcl命令单独运行每个设计步骤。 您还可以使用Tcl命令设置设计参数和实现选项。

您可以在设计过程的任何阶段保存设计检查点并创建报告。 每个实施步骤都可以定制,以满足特定的设计挑战,您可以在每个设计步骤后分析结果。 此外,您可以随时打开Vivado IDE进行设计分析和约束分配。

在非项目模式下,使用Tcl命令控制每个设计步骤。 例如:

•如果在综合后修改HDL文件,则必须记住重新运行综合以更新内存中的网表。

•如果在布线后需要时序报告,则必须在布线完成时显式生成时序报告。

•使用Tcl命令和参数设置设计参数和实现选项。

•您可以使用Tcl在设计过程的任何阶段保存设计检查点并创建报告。

随着设计流程的进展,设计的表示将保留在Vivado Design Suite的内存中。 非项目模式会在每次会话后丢弃内存设计,并仅将数据写入您指示的磁盘。

Feature Differences

在项目模式下,Vivado IDE会跟踪设计的历史记录并存储相关的设计信息。 但是,由于许多功能都是自动化的,因此您对默认流程的控制较少。 例如,每次运行仅生成一组标准报告文件。 但是,通过Tcl命令或脚本,您可以在项目模式下自定义工具的流程和功能。

The following automated features are only available when using Project Mode:

• Out-of-the-box design flow

• Easy-to-use, push-button interface

• Powerful Tcl scripting language for customization

• Source file management and status

• Automatically generated standard reports

• Storage and reuse of tool settings and design configuration

• Experimentation with multiple synthesis and implementation runs

• Run results management and status

非项目模式,更像是一种编译方法,您可以完全控制通过Tcl命令执行的每个操作。 这是一个完全可定制的设计流程,适合寻求控制和批处理的特定设计人员。 所有处理都在内存中完成,因此不会自动生成任何文件或报告。 每次编译设计时,都必须定义所有源,设置所有工具和设计配置参数,启动所有实现命令以及生成报告文件。

这可以使用Tcl运行脚本来完成,因为项目不是在磁盘上创建的,源文件保留在其原始位置,并且设计输出仅在您指定的时间和地点创建。 此方法为您提供Tcl命令的所有功能,并完全控制整个设计过程。 许多用户更喜欢这种批量编译风格与工具和设计数据的交互。

Table 2-1: Project Mode versus Non-Project Mode Features

Command Differences

Tcl命令因您使用的模式而异,并且每种模式生成的Tcl运行脚本都不同。 在非项目模式下,所有操作和工具设置都需要单独的Tcl命令,包括设置工具选项,运行实施命令,生成报告和编写设计检查点。 在项目模式中,包装命令用于各个综合,实现和报告命令。

例如,在“项目模式”中,使用add_files Tcl命令将源添加到项目以进行管理。 可以将源复制到项目中以在项目目录结构中维护单独的版本,也可以远程引用。 在非项目模式下,使用read_verilog,read_vhdl,read_xdc和read_ * Tcl命令从当前位置读取各种类型的源。

在项目模式下,launch_runs命令使用预配置的运行策略启动工具并生成标准报告。 这样可以合并实施命令,标准报告,运行策略的使用和运行状态跟踪。 但是,您也可以在设计过程的每个步骤之前或之后运行自定义Tcl命令。 在项目中自动存储和管理运行结果。 在非项目模式下,必须运行单个命令,例如opt_design,place_design和route_design。

许多Tcl命令可以在任一模式下使用,例如报告命令。 在某些情况下,Tcl命令特定于项目模式或非项目模式。 创建脚本时,不得混用特定于一种模式的命令。 例如,如果您使用的是项目模式,则不得使用基本级命令,例如synth_design,因为这些命令特定于非项目模式。 如果在项目模式下使用非项目模式命令,则不会使用状态信息更新数据库,也不会自动生成报告。

提示:项目模式包括GUI操作,这导致在大多数情况下执行Tcl命令。 Tcl命令出现在Vivado IDE Tcl控制台中,也可以在vivado.jou文件中捕获。 您可以使用此文件开发用于任一模式的脚本。

Figure 2-3 shows the difference between Project Mode and Non-Project Mode Tcl commands.

内容来自于UG892

单片机

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:《智慧企业工业互联网平台开发与创新》 ——1.5 小结
下一篇:【linux】下载 | 移动 | 阅读文件 + vim和Nano使用
相关文章