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

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

3天内不再提示

Vivado Synthesis的各种流程

FPGA技术驿站 来源:TeacherGaoFPGAHub 作者:TeacherGaoFPGAHub 2022-07-15 11:39 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

全局综合(Global Synthesis)

全局综合意味着整个设计在一个Synthesis Design Run流程中完成,这样会带来几个好处。一是使得综合工具能够最大化地进行设计优化,尤其是层次间的优化(这些优化是其他综合流程不能实现的)。二是对于综合后的设计分析带来了很大的便利。当然,其不足之处也是很明显的,那就是编译时间会很长。但这一不足之处可以借助增量综合得以缓解。需要注意的是因为是全局综合,所以XDC中描述的约束是以顶层为基准进行索引的。

IPI综合(Block Design Synthesis)

Vivado IPI (IP Integrator)提供了直观的模块化的设计方法。用户可以将Vivado IP Catalog中的IP、用户自己的RTL代码、或者用户已有的BD文件添加到IP Integrator中构成Block Design,设计更复杂的系统,如下图所示。

a0972958-03ef-11ed-ba43-dac502259ad0.png

IPI使得用户可以方便地将特定功能打包放入设计中,这样用户可以将焦点放在整个系统上,而非系统的某个部分。对于Block Design,Vivado提供了如下图所示的三种综合方式。其中Global为全局综合方式,其余两种均为OOC(Out-of-Context)综合方式,只是OOC的粒度不同而已。OOC可以有效缩短编译时间。

a0ad044e-03ef-11ed-ba43-dac502259ad0.png

OOC综合方式

OOC综合方式可以使用户单独对设计的某个层次进行综合,然后再对整个设计进行综合,此时,OOC综合的对象会被当作黑盒子对待。通常,对于Xilinx的IP,我们建议采用OOC综合方式。OOC可以缩短后续整个设计综合所需时间,同时,若设计发生改变,而OOC综合对象没有改变,那么整个设计的综合就不需要再对OOC对象进行综合。一旦采用OOC综合方式,在Design Runs窗口中就会看到相应的OOC Module Runs,如下图所示。

a0bbbbc4-03ef-11ed-ba43-dac502259ad0.png

增量综合(Incremental Synthesis)

增量综合可以使综合工具复用之前已有的综合结果,从而缩短编译时间。但增量综合是有前提条件的,即设计可以形成至少4个分割(Partitions),而每个分割至少包含25000个模块。这里的“模块”既包含设计层次也包含RTL原语。Vivado提供了四种增量综合模式,如下图所示。其中off表明关闭增量综合,quick模式不会进行边界优化。default模式会执行大部分逻辑优化包括边界优化,相对于非增量模式,能显著缩短编译时间。aggressive模式会执行所有的逻辑优化,编译时间缩短程度最为明显。对于低性能设计需求,可以使用quick模式,而对于高性能设计需求,建议采用其余三种模式。

a0d724b8-03ef-11ed-ba43-dac502259ad0.png

模块化综合(Block-level Synthesis)

本身Vivado提供了多种综合策略和各种综合设置选项,但其面向的对象是整个设计,换言之,这是一种全局设置。Block-level综合技术则打破了这一常规,可以对不同层次的设计设置不同的选项或应用不同的综合策略,从而达到更好的综合质量。

Block-level综合技术需要通过XDC约束来实现,如下图所示。

a0e406f6-03ef-11ed-ba43-dac502259ad0.png

我们来看一个例子:设计中有4个模块U1、U2、U3和inst1,而inst1又嵌入在U3里。现在我们需要对U1使能RETIMING,对U2和U3使用AREA_OPTIMIZED策略,对inst1使用DEFAULT综合策略,那么我们就可以通过下图所示约束实现。

a0f0a488-03ef-11ed-ba43-dac502259ad0.png

a1096ae0-03ef-11ed-ba43-dac502259ad0.png

审核编辑 :李倩

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

    关注

    0

    文章

    359

    浏览量

    22795
  • Vivado
    +关注

    关注

    19

    文章

    860

    浏览量

    71404
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    Vivado中IP核被锁定的解决办法

    当使用不同版本的Vivado打开工程时,IP核被锁定的情况较为常见。不同版本的Vivado对IP核的支持程度和处理方式有所不同。
    的头像 发表于 02-25 14:00 536次阅读
    <b class='flag-5'>Vivado</b>中IP核被锁定的解决办法

    通过vivado HLS设计一个FIR低通滤波器

    Vivado HLS是一款强大的高层次综合工具,可将C/C++代码转换为硬件描述语言(HDL),显著提升FPGA开发效率。
    的头像 发表于 01-20 16:19 539次阅读
    通过<b class='flag-5'>vivado</b> HLS设计一个FIR低通滤波器

    vivado中常用时序约束指令介绍

    vivado中,我们常用的时序约束指令主要包括如下几个方面。
    的头像 发表于 01-20 16:15 636次阅读

    AMD Vivado Design Suite 2025.2版本现已发布

    AMD Vivado Design Suite 2025.2 版本现已发布,新增对 AMD Versal 自适应 SoC 的设计支持,包含新器件支持、QoR 功能及易用性增强。
    的头像 发表于 12-09 15:11 1334次阅读

    FPGA板下载运行调试流程

    4节的第1、2小节,直至生成mcs文件。此处mcs文件将通过命令生成。此外,还可以通过vivado工具生成mcs文件,具体流程如下: (1) 首先修改E203 hbird源码中的makefile文件
    发表于 10-29 06:57

    FPGA板下载调试流程

    4节的第1、2小节,直至生成mcs文件。此处mcs文件将通过命令生成。此外,还可以通过vivado工具生成mcs文件,具体流程如下: (1) 首先修改E203 hbird源码中的makefile文件
    发表于 10-29 06:37

    vcs和vivado联合仿真

    我们在做参赛课题的过程中发现,上FPGA开发板跑系统时,有时需要添加vivado的ip核。但是vivado仿真比较慢,vcs也不能直接对添加了vivado ip核的soc系统进行仿真。在这种情况下
    发表于 10-24 07:28

    FPGA开发板vivado综合、下载程序问题汇总

    在做vivado综合时和FPGA下载程序时,我们碰到以下问题,并找出了对应的解决方案。 1.could not open include file”e203_defines.v”问题 在做
    发表于 10-24 07:12

    Vivado中向FPGA的Flash烧录e203的方法

    首先导入、并配置好项目,完成项目的综合(SYNTHESIS)与实现(IMPLEMENTATION),查看有无错误与或警告信息,调整完成后,右键比特流生成(Generate Bitstream),选择
    发表于 10-23 08:28

    AMD Vivado ChipScope助力硬件调试

    许多硬件问题只有在整个集成系统实时运行的过程中才会显现出来。AMD Vivado ChipScope 提供了一套完整的调试流程,可在系统运行期间最大限度提升对可编程逻辑的观测能力,助力设计调试。
    的头像 发表于 09-05 17:08 1296次阅读

    vivado仿真时GSR信号的影响

    利用vivado进行设计xilinx FPGA时,写完设计代码和仿真代码后,点击run simulation(启动modelsim进行仿真)。
    的头像 发表于 08-30 14:22 1573次阅读
    <b class='flag-5'>vivado</b>仿真时GSR信号的影响

    Vivado无法选中开发板的常见原因及解决方法

    对应的器件信息和约束文件(XDC),大大简化工程初始化流程。然而,在某些情况下,我们可能会发现 Vivado 的界面中无法选中目标开发板,导致只能手动选择器件。那么,遇到这种情况该如何处理呢?
    的头像 发表于 07-15 10:19 1955次阅读
    <b class='flag-5'>Vivado</b>无法选中开发板的常见原因及解决方法

    如何使用One Spin检查AMD Vivado Design Suite Synth的结果

    本文讲述了如何使用 One Spin 检查 AMD Vivado Design Suite Synth 的结果(以 Vivado 2024.2 为例)。
    的头像 发表于 05-19 14:22 1494次阅读
    如何使用One Spin检查AMD <b class='flag-5'>Vivado</b> Design Suite Synth的结果

    适用于Versal的AMD Vivado 加快FPGA开发完成Versal自适应SoC设计

    设计、编译、交付,轻松搞定。更快更高效。 Vivado 设计套件提供经过优化的设计流程,让传统 FPGA 开发人员能够加快完成 Versal 自适应 SoC 设计。 面向硬件开发人员的精简设计流程
    的头像 发表于 05-07 15:15 1485次阅读
    适用于Versal的AMD <b class='flag-5'>Vivado</b>  加快FPGA开发完成Versal自适应SoC设计

    Vivado 2018.3软件的使用教程

    大家好,欢迎来到至芯科技FPGA炼狱营地,准备开启我们的伟大征程!正所谓“兵马未动,粮草先行”,战前的准备自是必不可少,在FPGA的漫漫沙场,我们何以入场,何以取胜呢?在这里我们为各位战友准备了vivado 2018.3的使用教程。
    的头像 发表于 04-30 14:14 3664次阅读
    <b class='flag-5'>Vivado</b> 2018.3软件的使用教程