Vivado Design Suite User Guide Design Flows Overview -- Understanding Use Models

5 篇文章 0 订阅
2 篇文章 0 订阅

​一起来充电吧!

   

 UG892

 Chapter 2  Understanding Use Models

Vivado Design Suite Use Models

        在开始使用Vivado工具进行第一次设计之前,请查看Vivado设计套件用户指南: Vivado Design Suite User Guide: Getting Started (UG910)

        正如Vivado设计套件支持许多不同的设计流程,该工具支持几种不同的使用模型,这取决于你想如何管理你的设计和如何与Vivado工具交互。本节将帮助指导您做出一些决定,这些决定是关于您想要使用的模型与Vivado工具交互。

        其中一些决定因素如下:

  • 你是脚本用户还是命令用户?或者您更喜欢使用图形用户界面(GUI)?

  • 你想让Vivado设计套件通过使用项目结构来管理设计来源、状态和结果吗?或者您更喜欢自己快速创建和管理设计?

  • 你是否想要配置IP核并将其包含在一个设计项目中以实现可移植性?或者在项目外部建立一个配置IP核的远程存储库,以便跨多个项目进行更容易的管理?

  • 您是否在版本控制系统中管理源文件?

  • 您是否使用第三方工具进行综合或仿真?

 

 Working with the Vivado Integrated Design Environment (IDE)

        Vivado集成设计环境(IDE)可以用Project模式和Non-Project模式。Vivado IDE提供了一个接口来组装、实现和验证设计和IP。打开设计加载当前设计网表,应用设计约束,并将设计加载到目标设备。Vivado IDE允许您可视化设计并与之交互,如下图所示。

 

 

        当使用Project模式时,Vivado IDE提供了一个称为流程导航器(Flow Navigator)的接口界面,该界面支持按钮式设计流程。您可以在RTL细化设计、合成或实现之后打开设计,并分析设计,更改约束条件、逻辑或设备配置,以及实现结果。还可以使用设计检查点保存任何设计的当前状态。有关Vivado IDE的更多信息,请参见Vivado Design Suite User Guide: Using the Vivado IDE (UG893)

        当从命令行启动Vivado设计套件时,将目录更改为项目目录,以便Vivado工具将其日志和日志文件写入项目目录。这使得在需要时很容易找到和检查这些文件。

(提示:要将Vivado tools路径添加到当前shell/命令提示符中,请在<install_path>/Vivado/<version>目录下执行settings64.bat或settings64.sh。)

推荐:从您的项目目录启动Vivado设计套件,以便更容易地定位项目文件、log文件和journal文件,这些文件被写入到启动目录。

Launching the Vivado IDE from the Vivado Design Suite Tcl Shell

 

        当Vivado Design Suite以Tcl模式运行时,在Tcl命令提示符后输入 start_gui 来启动Vivado IDE

 

Working with Tcl

        所有支持的设计流程和模型的使用都可以使用Tcl命令运行。您可以使用Tcl脚本来运行整个设计流程,包括设计分析和报告,或者运行设计流程中的某一部分,如设计创建和综合。您可以使用单独的Tcl命令或保存的Tcl命令脚本。

        如果您喜欢直接使用Tcl命令,您可以使用Vivado Design Suite Tcl shell或Vivado IDE中的Tcl控制台来实现与设计的交互。         有关使用Tcl和Tcl脚本的更多信息,请参阅Using Tcl Scripting (UG894)和Vivado Design Suite Tcl Command Reference Guide (UG835)。关于如何在Vivado工具中使用Tcl的一步一步教程,请参阅Vivado Design Suite Tutorial: Design Flows Overview (UG888)

Launching the Vivado Design Suite Tcl Shell

        在Linux命令提示符或Windows命令提示符窗口中使用以下命令调用Vivado Design Suite Tcl Shell: Vivado -mode Tcl

注意:在Windows上,你也可以选择启动>所有程序> Xilinx设计工具> Vivado <version> > Vivado <version> Tcl Shell。

Launching the Vivado Tools Using a Batch Tcl Script

        您可以在批处理模式下使用Vivado工具,方法是在调用该工具时提供Tcl脚本。在Linux命令提示符或Windows命令提示窗口中使用以下命令:

vivado -mode batch -source <your_Tcl_script>

注意:在批处理模式下,运行指定脚本后,Vivado工具会自动退出

Using the Vivado IDE with a Tcl Flow

        在使用Tcl时,您仍然可以利用Vivado IDE中基于交互式gui的分析和约束定义功能。你可以在设计周期的任何阶段打开Vivado IDE。您还可以随时将设计数据库保存为检查点文件,并在稍后打开检查点。

Using the Xilinx Tcl Store

        Xilinx Tcl Store是一个Tcl代码的开源存储库,主要用于使用Vivado设计套件进行FPGA设计。Tcl Store提供对来自不同贡献来源的多种脚本和实用程序的访问,这可以解决各种问题并提高生产率。您可以安装Tcl脚本,也可以贡献Tcl脚本与他人分享您的专业技术。有关使用Tcl脚本和Xilinx Tcl存储的更多信息,请参阅Vivado Design Suite User Guide: Using Tcl Scripting (UG894)

Understanding Project Mode and Non-Project
Mode

        Vivado设计套件有两种主要的使用模式: Project模式和Non-Project模式。

        Project模式和Non-Project模式都可以通过Vivado IDE、Tcl命令和批处理脚本来开发和使用。然而,Vivado IDE为项目模式提供了许多好处,例如流程导航器图形化工作流程界面。Tcl命令是运行Non-Project模式的最简单方法。

Project Mode

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

提示:项目模式的主要优点是Vivado设计套件管理整个设计过程,包括依赖关系管理、报告生成、数据存储等。

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

重要提示:某些操作系统(例如Microsoft Windows)会限制用于文件路径和文件名的字符数(例如256)。如果您的操作系统有这样的限制,Xilinx建议您在靠近根目录的地方创建项目,以便尽可能缩短文件路径和名称。  

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

  • 如果您在综合之后修改了HDL源代码,Vivado设计套件会将当前的结果标识为过时的,并提示您重新综合。

  • 如果你修改了设计约束,Vivado工具会提示你重新综合,重新实现,或者两者都要。

  • 布线完成后,Vivado工具自动生成时序、DRC、方法和功率报告。

  • 在Vivado IDE中,只需点击一下,整个设计流程就可以运行

 

Non-Project Mode

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

        在非项目模式下工作时,源文件从它们的当前位置读取,比如从版本控制系统读取,设计通过内存中的流程进行编译。您可以使用Tcl命令分别运行每个设计步骤。您还可以使用Tcl命令设置设计参数和实现选项。

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

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

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

  • 如果你想在布线完成后得到一个时序报告,你必须在布线完成时明确地生成时序报告。

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

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

        随着设计流程的进行,设计的表示(representation)保留在Vivado设计套件内存中。非项目模式在每个会话之后丢弃内存中的设计数据,只将您指示的数据写入磁盘。

Feature Differences

        在项目模式中,Vivado IDE跟踪设计的历史并存储相关的设计信息。然而,由于许多特性都是自动化的,所以在缺省流程中您的控制较少。例如,每次运行时只生成一组标准的报告文件。但是,通过Tcl命令或脚本,您可以在项目模式中定制工具的流程和特性。

以下自动化特性仅在使用项目模式时可用:

•开箱即用设计流程

•易于使用,按键式界面

•强大的定制Tcl脚本语言

•源文件管理和状态

•自动生成标准报告

•存储和重用工具设置和设计配置

•尝试多重综合和实现运行

•运行结果管理和状态

        非项目模式,更像是一种编译方法,您可以完全控制通过Tcl命令执行的每个操作。这是一个完全可定制的设计流程,适合特定的设计人员寻找控制和批处理。所有的处理都在内存中完成,因此不会自动生成文件或报告。每次编译设计时,您都必须定义所有的源文件、设置所有工具和设计配置参数、启动所有实现命令并生成报告文件。这可以使用Tcl运行脚本来完成,因为项目不是在磁盘上创建的,源文件保留在它们的原始位置,并且设计输出只在您指定的时间和地点创建。这个方法为您提供了Tcl命令的所有功能和对整个设计过程的完全控制。许多用户喜欢使用这种批编译风格的工具和设计数据交互。

        项目模式与非项目模式的特征差异如表2-1所示

 

表2-1:项目模式与非项目模式的特点

 

流程要素

Project Mode

Non-Project Mode

设计源文件管理

自动

手动

流程导向

有流程导向

手动

流程定制化

Tcl命令可无限制定制

Tcl命令可无限制定制

报告

自动

手动

分析阶段

设计和设计检查点

设计和设计检查点

Command Differences

        Tcl命令根据您使用的模式而有所不同,每种模式的Tcl运行脚本的结果也不同。在非项目模式中,所有操作和工具设置都需要单独的Tcl命令,包括设置工具选项、运行实现命令、生成报告和编写设计检查点。在项目模式中,命令(包装的命令)用于单个的合成、实现和报告命令。

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

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

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

图2-3显示了“项目模式”和“非项目模式”Tcl命令的区别。

 

 

Using Third-Party Design Software Tools

        Xilinx与几家第三方设计工具供应商建立了战略伙伴关系。以下软件解决方案仅包括综合和仿真工具。

Running Logic Synthesis

        sysynopsys和Mentor Graphics提供的Xilinx FPGA逻辑综合工具支持与Vivado设计套件一起使用。在Vivado设计套件中,您可以导入结构化Verilog或EDIF格式的综合网表,以便在实现过程中使用。此外,您还可以使用Vivado设计套件中的逻辑综合工具输出的约束文件(SDC或XDC)。

        所有Xilinx IP和块设计都使用Vivado工具综合。使用第三方工具综合的Xilinx IP 或IP集成器块设计是不支持的,只有少数例外,如7系列设备的内存IP。有关具体IP的更多信息,请参阅数据表。

Running Logic Simulation

        Vivado IDE集成了Mentor Graphics、Cadence、Aldec和Synopsys提供的逻辑仿真工具,可以直接从Vivado IDE启动。网表也可以为所有支持的第三方逻辑仿真器产生。从Vivado设计套件中,您可以在设计流程的任何阶段导出完整的Verilog或VHDL网表,以便与第三方仿真器一起使用。此外,您还可以以标准延时格式(SDF)导出带有实现后延迟的结构化网表,以供第三方时序仿真使用。Vivado设计套件还为企业用户生成仿真脚本。使用脚本和编译的库,企业用户可以在没有Vivado Design Suite环境的情况下运行仿真。

注意:一些Xilinx IP只提供Verilog或VHDL格式的RTL源代码。综合之后,结构网表可以用任何一种语言创建。

Interfacing with PCB Designers

        I/O规划过程对高性能系统至关重要。印刷电路板(PCB)设计者经常关心PCB上的FPGA方向和关联。这些大型球栅阵列(BGA)设备通常是PCB设计人员面临的最困难的布线挑战。其他需要考虑的问题包括关键接口布线、电源轨道的位置和信号完整性。FPGA和PCB设计人员之间的密切合作可以帮助解决这些设计挑战。Vivado IDE使设计者能够可视化物理封装引脚和内部衬垫之间的关系,以优化系统级互连。

        Vivado设计套件有几种方法来传递FPGA、PCB和系统设计结构域之间的设计信息。I/O引脚配置可以使用 CSV(comma separated value)电子表格、RTL头或XDC文件来回传递。CSV电子表格包含额外的封装和I/O信息,可用于各种PCB设计任务,如匹配长度连接和电源连接。一个I / O IBIS(I/O Buffer Information Specification)模型也可以从Vivado IDE中导出,用于PCB上的信号完整性分析。

有关详细资料请参阅Vivado Design Suite User Guide: I/O and Clock Planning (UG899)

                                                                                       

更多文章分享,请关注!

 

 

 

 

 

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值