Vivado使用:操作篇 两种工作模式(一)

Vivado提供了两种运行模式:Project Mode 和Non-Project Mode,开发人员可以自行选择一种来进行开发。

                                     两种工作模式介绍


1. Project Mode

    工程模式下,Vivado会基于工程的方法自动管理设计的过程和设计数据。工程模式下,既可以通过图像界面下操作(GUI操作,鼠标操作),也可以通过运行Tcl脚本的方式在Vivado Tcl shell 中运行。Vivado以图像界面的方式提供了Flow Navigator,使得整个设计流程变得一目了然。图像界面操作与Tcl脚本有着对应的关系。 

图一 Flow  Navigator

工程模式下Tcl脚本在VivadoT Tcl设立了中的命令以及流程:

 在进行综合或者实现后,如果需要对当前的设计进行分析,需要先打开综合后或实现后的设计(即DCP文件,Design Check Point)。通过与ISE不同,Vivado采用了同一的数据模型,网表文件同一为DCP格式。打开方式既可以选择点击图一的Open Synthesized /implemented Design,也可以选择运行脚本 open_run synth_1或open_run impl_1

 当工作在工程模式下,在磁盘创建一个目录结构,用于管理设计源文件、运行的结构和跟踪工程状态。通过一个运行结构,管理自动的综合和实现过程,以及跟踪运行状态。在Project模式下的实现阶段,可以选择逐步执行每个步骤:

对于实现阶段的每一步可以指定其指令(-directive),还可以指定其他参数(参见UG835) 。在Project下,首次综合和实现默认创建一个runs:synth_1和impl_1,后续还可以创建多个runs同时运行,即不同的synth和ipml,不同的synth可以有不同的约束文件、芯片型号和综合策略。

或者

2. Non-Project

    非工程模式只能基于Tcl脚本方式运行,通过这种方式,开发人员可以也必须自己管理源文件和设计流程。非工程模式类似于ASIC的开发流程,所有操作都在Vivado Tcl Shell中采用对应的Tcl脚本来运行 。相比于工程模式的自动化管理,非工程模式就更加灵活,可操作性强。

通过Tcl命令:

  •        可以单独运行设计中的每一步;
  •        可以设置设计参数和实现选项;
  •       可以在设计处理的每个阶段保存设计检查点和创建报告。

3 工程模式和非工程模式的比较

   工程模式下Vivado集成环境会跟踪设计历史,并且保存相关设计信息,这种自动管理的模式也导致了开发人员处理GUI操作,很少能够参与到更加具体执行过程。比如,工程模式下每次运行只生成一组标准的报告。vivado提供如下功能:

  • 源文件的管理;
  • IP的配置和集成;
  • 综合信息和自动生成标准的报告;
  • 保存和重用工具设置和设计设置;
  • 创建多个synth runs和impl runs进行实验;
  • 运行结果的管理;
  • 流程导航(Flow Navigator);
  • 工程总结。

3.1  特性比较

非工程模式下,通过Tcl命令执行每一个操作。在存储器中执行所有处理,因此不会自动生成文件或者是报告。在每次编译的时候必须指定所有源文件,设置所有工具和设计配置的参数,启动所有实现命以及指定所需要生成的报告文件。由于该模式没有在磁盘中创建一个工程,因此源文件会保留在最初的位置,只在设计者指定的位置创建运行输出。这个流程充分发回Tcl命令的控制能力,可充分控制整个设计过程

工程模式于非工程模式特性比较
流程元素 Project mode Non-Project mode
源文件管理 自动 手动
流程导航 引导 手动
流程定制 有限 无线
报告 自动 手动
分析阶段 只有设计 设计和设计的检查点

3.2 命令比较

      首先,工程模式下包含所有GUI操作,这样导致绝大多数情况下执行一个Tcl命令。Tcl命令会在Vivado的控制台(console)显示,并在vivado.jou文件中捕获。开发人员可以利用这个文件开发用于其中一种模式的脚本。

       两种模式下都可以运行Tcl命令,但是需要注意的是有一些命令是指定在工程模式下或非工程模式下,这些命令就不能进行混用。如果在创建脚本的时候,在工程模式下使用了非工程模式的命令,那么数据库不会更新状态信息,并且也不会自动生成报告。但可以看出有一些报告命令既可以用于工程模式也可以用于非工程模式下,如上图标记的报告命令:report_timing_summary。

      非工程模式下的命令只能在Vivado Tcl Shell中运行,但这并不意味着无法与图形界面方式交互使用。比如可以在Vivado Tcl Shell中执行start_gui命令就可以打开工具回到图形界面方式,利用GUI操作对设计进行分析,分析完成后可通过stop_gui命令回到Vivado Tcl Shell。

      Project模式的优势在于可以创建多个runs来比较不同综合策略或实现策略对设计的影响,而Non-Project模式优势在于设计源文件、设计流程和生成文件可全部定制,并且相比于Project模式有更短的运行时间。

 

猜你喜欢

转载自blog.csdn.net/qq_26652069/article/details/91477573