1 讲述增量编译方法,提高Vivado编译效率-德赢Vwin官网 网
0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

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

3天内不再提示

讲述增量编译方法,提高Vivado编译效率

e9Zb_gh_8734352 来源:lq 2019-01-22 17:27 次阅读

Vivado® Design Suite 提供两种方法可加速产品上市进程,提高工作效率。可构建 Vivado 布局布线。在任何设计阶段处理任何类型的 ECO 问题,并可加快运行时间,确保时序收敛进程。

增量编译:使用增量编译满足最后时刻 HDL 变动需求,仅针对已变动逻辑进行布局布线,从而可节省时间。

P&R 数据重复使用为时序驱动,可在不影响性能的情况下,加速运行时间。

平均速度比标准布局布线快 1 倍。

设计收敛保存可减少并加速迭代。

器件编辑器:使用器件编辑器通过强大的图形界面,以外科手术般的高精度编辑布局布线设计。

手工辅助布线可提供各种建议布线,在避免猜测与犯错的情况下,加速达到目标的进程。

广泛的交叉探测可帮助用户便捷管理逻辑至物理的分配。

设计变动记录为 Tcl 命令,有利于回放与脚本处理。

增量编译相对于器件编辑还是容易一些。本文主要讲述增量编译方法。

当RTL代码修改较少时,使用增量编译功能可以提高工程的编译速度,Incremental Compile增量编译是Vivado提供的一项高阶功能。目的旨在当设计微小的改变时,重用综合和布局布线的结果,缩短编译时间。

增量编译的流程如下:

增量编译是以已经编译和布局布线后的DCP文件为基础,当我们需要做微小的改动是,便可以使用增量编译来实现。这里微小改动主要包括有:

RTL代码的微小修改

网表的微小修改,比如增加或者改变ILA

需要注意的是:这里微小的改懂是指与当前设计相比变化非常小,其相似度大于95%时,增量编译的效果最好。而相似度小于75时,工具的增量编译就失效了。有时候一些全局变量修改,网表的改动是非常大的,总线位宽的变化,网表的改动也非常大。

增量编译设置:

在项目模式下:在Vivado里面,使能IncrementalCompile的方式非常简单,在Impl run上右键选择“Set Incremental Compile…”,然后设置相应的参考dcp文件即可。

在非项目模式下:

在 opt_design 后运行以下命令:

%read_checkpoint -incremental reference_routed.dcp

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

    关注

    1

    文章

    385

    浏览量

    59759
  • 编辑器
    +关注

    关注

    1

    文章

    805

    浏览量

    31162

原文标题:增量编译(Incremental Compile)提高Vivado编译效率

文章出处:【微信号:gh_873435264fd4,微信公众号:FPGA技术联盟】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    浅析可提升Vivado编译效率增量编译方法

    增量编译:使用增量编译满足最后时刻 HDL 变动需求,仅针对已变动逻辑进行布局布线,从而可节省时间。
    的头像 发表于 12-13 10:14 5437次阅读

    谁能缩短大容量FPGA的编译时间?增量编译QIC!

    增量编译(Incremental Compilation)是ALTERA为解决大容量FPGA设计编译时间太长的问题给出的一个新式工具!在本文中我们将阐述QIC在缩短编译时间方面的作用
    发表于 12-25 11:26 4990次阅读

    Vivado中的Incremental Compile增量编译技术详解

    Incremental Compile增量编译Vivado提供的一项高阶功能。目的旨在当设计微小的改变时,重用综合和布局布线的结果,缩短编译时间。
    的头像 发表于 07-05 06:06 1.1w次阅读

    Vivado Design Suite 2015.3新增量编译功能介绍

    了解Vivado实现中2015.3中的新增量编译功能,包括更好地处理物理优化和自动增量编译流程。
    的头像 发表于 11-20 06:56 2851次阅读

    引入增量编译流程进行调试的好处与步骤

    了解使用Vivado 2016.1中引入的增量编译流程进行调试的好处,以及在使用增量编译实现时添加/删除/修改ILA内核所需的步骤。
    的头像 发表于 11-30 06:19 3004次阅读
    引入<b class='flag-5'>增量</b><b class='flag-5'>编译</b>流程进行调试的好处与步骤

    Vivado 2015.3中的新增量编译功能介绍

    了解Vivado实现中2015.3中的新增量编译功能,包括更好地处理物理优化和自动增量编译流程。
    的头像 发表于 11-29 06:32 3659次阅读

    Vivado 2015.3的新增量编译功能

    了解Vivado实现中2015.3中的新增量编译功能,包括更好地处理物理优化和自动增量编译流程。
    的头像 发表于 11-30 19:24 4526次阅读

    如何在Vivado中实现逻辑锁定和增量编译工程实例说明

    本文针对Vivado中实现的逻辑锁定和增量编译进行的工程实例介绍,文中有对应工程的下载地址。友情提示:(1)增量编译只允许修改当前工程不超过
    的头像 发表于 07-06 10:32 7109次阅读
    如何在<b class='flag-5'>Vivado</b>中实现逻辑锁定和<b class='flag-5'>增量</b><b class='flag-5'>编译</b>工程实例说明

    Vivadoz中增量编译与设计锁定

    关于增量编译所谓增量实现,更严格地讲是增量布局和增量布线。它是在设计改动较小的情形下参考原始设计的布局、布线结果,将其中未改动的模块、引脚和
    发表于 12-20 19:11 6次下载
    Vivadoz中<b class='flag-5'>增量</b><b class='flag-5'>编译</b>与设计锁定

    有效提高编译速度的方法

    今天就来说说嵌入式软件开发中,常见的提高编译速度的一些操作或者方法
    的头像 发表于 03-09 17:31 4410次阅读

    Vivado里如何手动调整编译顺序

    通常情况下,一旦创建好Vivado工程,添加了相应的RTL文件,Vivado会自动找到设计的顶层文件,正确地显示设计层次。在这个过程中,Vivado会自动分析文件的编译顺序。那么是否可
    的头像 发表于 01-06 09:27 4133次阅读

    Quartus中的逻辑锁定与增量编译

    逻辑锁定功能可以将FPGA中的代码模块在固定区域实现,优化时序性能,提升设计可靠性。 增量编译功能,可以使设计更快速时序收敛,加快编译速度。
    的头像 发表于 05-25 11:22 1675次阅读
    Quartus中的逻辑锁定与<b class='flag-5'>增量</b><b class='flag-5'>编译</b>

    Vivado增量编译的基本概念、优点、使用方法以及注意事项

    随着FPGA设计的复杂度不断提高,设计人员需要选择更为高效的设计流程来保证开发效率和减少开发成本。其中,Vivado增量编译是一种非常重要的
    的头像 发表于 05-25 18:25 4705次阅读
    <b class='flag-5'>Vivado</b><b class='flag-5'>增量</b><b class='flag-5'>编译</b>的基本概念、优点、使用<b class='flag-5'>方法</b>以及注意事项

    浅谈Vivado编译时间

    随着FPGA规模的增大,设计复杂度的增加,Vivado编译时间成为一个不可回避的话题。尤其是一些基于SSI芯片的设计,如VU9P/VU13P/VU19P等,布局布线时间更是显著增加。当然,对于一些设计而言,十几个小时是合理的。但我们依然试图分析设计存在的问题以期缩短
    的头像 发表于 09-18 10:43 883次阅读
    浅谈<b class='flag-5'>Vivado</b><b class='flag-5'>编译</b>时间

    每次Vivado编译的结果都一样吗

    很多FPGA工程师都有这种困惑,Vivado每次编译的结果都一样吗? 在AMD官网上,有这样一个帖子: Are Vivado results repeatable for identical
    的头像 发表于 11-11 11:23 305次阅读
    每次<b class='flag-5'>Vivado</b><b class='flag-5'>编译</b>的结果都一样吗