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

目录

 

Understanding Project Mode and Non-Project Mode

Project Mode

Non-Project Mode

Feature Differences

Command Differences


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
 

Project Mode versus Non-Project Mode Features
Flow ElementProject ModeNon-Project Mode
Design Source File ManagementAutomaticManual
Flow NavigationGuidedManual
Flow CustomizationUnlimited with Tcl commandsUnlimited with Tcl commands
ReportingAutomaticManual
Analysis StagesDesigns and design checkpointsDesigns and design checkpoints

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

 

 

 

 

 

 

  • 4
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

李锐博恩

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

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

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

打赏作者

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

抵扣说明:

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

余额充值