购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

1.3 Vivado使用模式

Vivado设计套件允许设计者根据自己的习惯,使用不同的方法运行工具。设计者可以使用基于工程的方法自动管理设计过程和设计数据,也就是所说的工程模式(Project Mode)。当在工程模式下时,在磁盘上创建一个目录结构,用于管理设计源文件,运行结果和跟踪工程状态。通过一个运行结构,来管理自动地综合和实现过程,以及跟踪运行状态。可以通过单击鼠标,在Vivado集成环境内运行完整的设计流程。

另一种方法是,设计者可以选择基于Tcl脚本的编译风格方式。通过这种方式,设计者自己可以管理源文件和设计流程。这种方式也称为非工程模式(Non-Project Mode)。当在非工程模式下时,通过源文件当前所在的位置来访问源文件,以及通过存储器中的流程来编译设计。

①通过使用Tcl命令,可以单独运行设计中的每一步;

②使用Tcl命令,可以设置设计参数和实现选项;

③使用Tcl命令,设计者可以在设计处理的每个阶段,保存设计检查点和创建报告;

④此外,在每个设计阶段,设计者可以打开Vivado集成设计环境,用于设计分析和分配约束。

当设计者正在查看存储器中活动的设计时,会自动地提交流程中的变化。比如:设计者可以保存对新约束文件的更新或者设计检查点。

1.3.1 Vivado工程模式和非工程模式不同点比较

在工程模式下,Vivado集成设计环境跟踪设计历史,保存相关的设计信息。然而,在这种模式下,由于很多是过程自动处理的,所以设计者很少能控制处理的过程。例如在每次运行时,只是生成一组标准的报告文件。在工程模式下,提供了下面的自动处理功能:

(1)源文件管理和状态;

(2)通过Vivado IP目录和Vivado集成器,实现IP配置和集成;

(3)综合信息和自动生成标准的报告;

(4)保存和重用工具设置和设计配置;

(5)用多个综合和实现运行,进行探索;

(6)约束设置的使用和管理;

(7)运行结果的管理和状态;

(8)流程导航;

(9)工程总结。

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

表1.2给出了工程模式和非工程模式特性的比较。

表1.2 工程模式和非工程模式特性比较

流程元素 工程模式 非工程模式
设计源文件管理 自动 手动
流程导航 引导 手动
流程定制 有限 无限
报告 自动 手动
分析阶段 只有设计 设计和设计检查点

1.3.2 工程模式和非工程模式命令的不同

对于设计者来说,选择的模式不同,Tcl命令就相应地有所不同。在非工程模式下,所有的操作和工具设置都要求单独的Tcl命令,包括:设置工具选项,运行实现命令,产生报告和写设计检查点。在工程模式下,打包过的命令,用于每个综合、实现和报告命令。

例如在工程模式下,设计者使用add_files Tcl命令将源文件添加到工程中。可以将源文件复制到工程中,这样在工程目录结构中保留一个独立的版本;或者通过远程方式引用。在非工程模式下,设计者使用read_verilog、read_vhdl、read_xdc和read_… Tcl命令,从当前的位置读取不同类型的源文件。

在工程模式下,带有预配置运行策略的launch_runs命令,用于启动工具和生成标准报告。这样能够合并实现命令、标准报告、运行策略的使用、运行状态的跟踪。然而,设计者也可以在设计处理的每一步之前或者之后,运行定制的Tcl命令。在工程内,自动地保存和管理运行的结果。在非工程模式下,必须单独运行每个命令,例如opt_design、place_design和route_design。

如图1.2所示,很多Tcl命令既可用于工程模式,又可以用于非工程模式,例如报告命令。在一些情况下,将Tcl命令指定在工程模式或者非工程模式。当创建脚本的时候,指定为一个模式的命令,不能被混用。例如,如果使用了工程模式,设计者就不能使用基本级别命令,例如synth_design,这是因为将该命令指定为非工程模式。如果在工程模式下,使用了非工程模式的命令,数据库不会更新状态信息,并且不会自动生成报告。

图1.2 工程模式和非工程模式命令

注: 工程模式包含所有的GUI操作,这样导致在绝大多数情况下,执行一个Tcl命令。Tcl命令显示在Vivado集成开发环境的控制台下,在vivado.jou文件进行捕获。设计者可以使用这个文件,来开发用于其中一种模式的脚本。 MJCMiCKABUegpV9vmDwsaAq22A7v4PTbFv2XVkG4f9/4QRwQHLWObkTAoqtLWzyG

点击中间区域
呼出菜单
上一章
目录
下一章
×