0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

454398 来源:厂商供稿 作者:FPGA技术联盟 2020-11-09 17:15 次阅读

01. Vivado的两种工作模式

Vivado设计有工程和非工程两种模式:

1. 工程模式:

工程模式是使用Vivado Design Suite自动管理设计源文件、设计配置和结果,使用图形化Vivado集成设计环境(IDE)交互式处理设计。工程模式下,既可以通过图像界面下操作(GUI操作,鼠标操作),也可以通过运行Tcl脚本的方式在Vivado Tcl shell 中运行。

优势:

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

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

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

例如:

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

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

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

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

2. 非工程模式:

非工程模式是使用Tcl脚本流程,在非工程模式下,需要自己管理设计源文件和设计过程。源文件只能从当前位置访问,不能将其复制到其它位置。设计结果保留在已分配给Vivado工具进程的机器内存中。使用Tcl命令来设置设计参数和实现选项。您可使用Tcl在设计过程的任何阶段保存设计检查点(DCP)并生成报告。每个设计步骤都可通过Tcl命令独立控制。

优势:

关键优势在于您可以完全控制流程的每个步骤。相比于工程模式的自动化管理,非工程模式就更加灵活,可操作性强。

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

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

例如:

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

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

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

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

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

02. 工程模式和非工程模式的比较

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

源文件的管理;

IP的配置和集成;

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

保存和重用工具设置和设计设置;

创建多个synth runs和impl runs进行实验;

运行结果的管理;

流程导航(Flow Navigator);

工程总结。

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

2.1 特性比较

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

2.2 命令比较

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

两种模式下都可以运行Tcl命令,但Tcl命令因您使用的模式而异,并且每种模式生成的Tcl运行脚本都不同。

如果在创建脚本的时候,在工程模式下使用了非工程模式的命令,那么数据库不会更新状态信息,并且也不会自动生成报告。例如,在“项目模式”中,使用add_files Tcl命令将源添加到项目以进行管理。可以将源复制到项目中以在项目目录结构中维护单独的版本,也可以远程引用。在非项目模式下,使用read_verilog,read_vhdl,read_xdc和read_ * Tcl命令从当前位置读取各种类型的源。

但可以看出有一些报告命令既可以用于工程模式也可以用于非工程模式下,如上图标记的报告命令:report_timing_summary。

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

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

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

编辑:hfy

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • project
    +关注

    关注

    0

    文章

    35

    浏览量

    13187
  • GUI
    GUI
    +关注

    关注

    3

    文章

    610

    浏览量

    38785
  • Vivado
    +关注

    关注

    18

    文章

    789

    浏览量

    65091
收藏 人收藏

    评论

    相关推荐

    夏新A6、A8、A8 、A80手机解锁密码

    “0124”跳过转猴哥的厦新手机快捷方式操作集锦以下操作都是在待机状态下。另:以下左软键指的是手机的工程模式,按数字键13查看电池电量:主屏上行为电池门限下行为电池电量。电池门限为620,电池门限过高
    发表于 06-12 22:18

    MTK Android 工程模式下的听筒音量调节

    在拨号界面输入“*#*#3646633#*#*”会出现一个界面,这个界面就是工程模式设置界面。下面对听筒音量进行调整。选择Hardware Testing --> AUDIO,先修改
    发表于 09-18 21:06

    Vivado图形化界面IDE中运行和调试Tcl命令

    Vivado工具可自动管理设计流程和设计数据,各种数据都比较直观。非工程模式是一直内存编译流程,所有步骤都需要开发者手动编辑脚本,命令和参数,这样的模式开发者对设计流程有完全的掌控力
    发表于 06-17 14:52

    STM32MP157A-DK1在工程模式下运行MCU调试得到硬件断点错误是何原因

    我刚刚在 STMCubeIDE 中为 STM32MP157A-DK1 创建了一个项目,并尝试在工程模式和生产模式下运行 MCU 调试。我使用 ST-LINK 线和 Ethernet Over USB
    发表于 12-12 08:25

    用 TCL 定制 Vivado 设计实现流程

    Based Mode)和非工程模式(None Project Mode) 两种,且都能通过 Tcl 脚本批处理运行,或是在 Vivado 图形化界面 IDE 中交互运行和调试。 工程模式
    发表于 06-28 19:34

    MTK平台手机进入工程测试模式指令大全

    MTK平台手机进入工程测试模式指令大全 目前MTK平台的开发手机型号越来越多,对应的进工程模式的指令也随之五
    发表于 12-28 08:13 6667次阅读

    液晶电视工程模式

    东芝液晶电视工程模式的常用功能(4:3电视不适用): 开机状态下,按一次遥控器的Mute键(静音键),然后按住遥控器的Mute键的同时按电视机的Menu键,即可进入工程菜单
    发表于 05-14 17:07 2w次阅读

    降低布线延迟的另一流程

    这两个选项可帮助降低控制集。但这两个选项不能与-directive同时使用,所以如果是工程模式下,可将其放置在Hook文件中(Tcl.pre或Tcl.post)。非工程模式下,可在执行完-directive之后,再次执行这两个选项;
    的头像 发表于 11-07 11:11 5111次阅读
    降低布线延迟的另一流程

    tcl局部编辑以最小的代价完成最大的改动

    第一步所指的Design通常是完全布局布线后的设计,如果是在工程模式下,可以直接在IDE中打开实现后的设计,若是仅有DCP文件,不论是工程模式或是非工程模式产生的DCP,都可以用open_checkpoint命令打开。
    的头像 发表于 07-25 09:27 2497次阅读
    tcl局部编辑以最小的代价完成最大的改动

    用Tcl定制Vivado设计流程详解

    工程模式的关键优势在于可以通过在Vivado 中创建工程的方式管理整个设计流程,包括工程文件的位置、阶段性关键报告的生成、重要数据的输出和存储等。
    的头像 发表于 07-24 17:30 4257次阅读
    用Tcl定制<b class='flag-5'>Vivado</b>设计流程详解

    浅析Vivado非工程模式下的FPGA设计流程

    参考:UG892 UG835 Vivado集成开发工具为设计者提供了非工程模式下的FPGA设计流程。在Vivado非工程模式下,FPGA开发人员可以更加灵活地对设计过程的每个阶段进行控
    的头像 发表于 06-19 10:52 2266次阅读
    浅析<b class='flag-5'>Vivado</b>在<b class='flag-5'>非工程模式</b>下的FPGA设计流程

    ​FPGA便捷开发-TCL商店(开源)

    传统的FPGA开发都是通过GUI界面进行相关的“按钮”式操作,Vivado则在引入Tcl解释器后,可以通过非工程模式进行操作,一个Tcl脚本即可自动化建立工程,对工程进行分析。
    的头像 发表于 04-07 15:02 5471次阅读

    详解Vivado非工程模式的精细设计过程

    将设置设计的输出路径,设置设计输出路径的步骤如下所示。 第一步:如图4.3所示,在“Vivado%”提示符后输入命令“set outputDir ./gate_Created_Data/top_output”。
    发表于 04-03 09:34 85次阅读
    详解<b class='flag-5'>Vivado</b><b class='flag-5'>非工程模式</b>的精细设计过程

    深入探索Vivado非工程模式FPGA设计流程

    在设计过程的每个阶段,设计者均可以打开Vivado集成开发环境,对存储器中保存的当前设计进行分析和操作。
    发表于 04-03 09:36 104次阅读
    深入探索<b class='flag-5'>Vivado</b><b class='flag-5'>非工程模式</b>FPGA设计流程

    如何在AMD Vivado™ Design Tool中用工程模式使用DFX流程?

    本文介绍了在 AMD Vivado™ Design Tool 中用工程模式使用 DFX 流程以及需要注意的地方。在使用 DFX 工程模式的过程中要把具体步骤映射到相应的 DFX 非工程模式
    的头像 发表于 04-17 09:28 111次阅读
    如何在AMD <b class='flag-5'>Vivado</b>™ Design Tool中用<b class='flag-5'>工程模式</b>使用DFX流程?