Vivado界面配置选项含义解析

这篇具有很好参考价值的文章主要介绍了Vivado界面配置选项含义解析。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

一、前言

二、Project Settings

 2.1 基础设置

2.1.1 General

2.1.2 Simulation

 2.2  综合与布局布线

2.2.1 Synthesis

2.2.2  Implementation

三、参考资料


一、前言

        在使用Vivado进行工程设置时,Settings界面中可进行各个阶段的配置设置,清楚这些配置项的含义有助于我们设计出符合要求的工程,本文将针对这些选项进行基础的解释,其中包含了部分个人理解,如有不到之处,欢迎指出,使用的Vivado 2019.1 。

二、Project Settings

        下面将根据流程以及使用频率分3部分来介绍。第一部分包括General,Simulation,Elaboration。第二部分为Synthesis和Implementation,这一部分是最重要的,将重点介绍。第三部分是其他配置选项。

        2.1 基础设置

        2.1.1 General

         General设置界面如下图,Project device设置器件类型,Target language设置编译语言为Verilog或VHD,Top module name在工程存在多模块时设置顶层入口模块,Language Options中Loop count为设置最大循环次数,默认1000,即在工程中设置类似for循环时,最大循环数为1000。

vivado设置扇出,Vivado,FPGA所知所见所解,配置选项,fpga开发,Vivado,配置选项

2.1.2 Simulation

        Simulation主要是配置仿真环境,可使用vivado 自带的仿真工具,也可配置为modelsim仿真,相关设置可参考文章:https://blog.csdn.net/zyp626/article/details/128357763?spm=1001.2014.3001.5501

 2.2  综合与布局布线

2.2.1 Synthesis

        Synthesis的作用是将工程文件转换成网表,网表主要包括单元Cell,引脚pin,端口Port,网线Net。综合阶段的配置选项界面分为4部分:Synthesis,Constraints,Report Options,Options。

        Constraints:在工程有多个约束集constraint set时可在Constraints中设置需要的约束集。

        Report Options:设置report的策略,使用默认的即可

        Options:包含了很多综合相关的策略

vivado设置扇出,Vivado,FPGA所知所见所解,配置选项,fpga开发,Vivado,配置选项

Write incremental Synthesis:勾选后采用增量综合,默认不勾选

Strategy:设置综合的总体策略,通过算法,按照面积,性能,运行时间等不同优先级有以下8中策略,也可使用User Defined Strategies用户自己定义策略

vivado设置扇出,Vivado,FPGA所知所见所解,配置选项,fpga开发,Vivado,配置选项

         Synth Design设置如下:

vivado设置扇出,Vivado,FPGA所知所见所解,配置选项,fpga开发,Vivado,配置选项

tcl.pre:用户可自己添加或创建综合前的tcl文件

tcl.post:用户可自己添加或创建综合后的tcl文件

flatten_hierarchy:设置为none时,综合工具不会将设计全部展开,保留了和设计层次相同的属性关系,工具优化最少,消耗的资源也多;设置为Full时,则全部展开,综合后只有顶层模块,子模块的层次结构看不出,优化最多,消耗资源少,设置为rebuilt,则综合工具会适当展开,中途会存在一些优化,但层次结构和RTL会存在些差异。

gated_clock_conversion:控制综合工具是否对门控时钟逻辑进行转换成触发器的使能

bufg:设置使用的bufg数目

fanout:设置进行逻辑复制之前的最大扇出值,只对数据信号的扇出有效,对复位,置位,时钟信号的扇出不起作用

directive:指定综合优化策略,有8种策略,优化的目标主要有运行时间,面积,BRAM,DSP使用等。

vivado设置扇出,Vivado,FPGA所知所见所解,配置选项,fpga开发,Vivado,配置选项

retiming:重定时功能,勾选后启用,启用后可通过在组合门或LUT之间移动寄存器进行时序优化。

fsm_extraction:设置状态机的编码方式,设置为off时,状态机将通过逻辑实现,设置为auto时,会自动选择最佳的编码方式。

vivado设置扇出,Vivado,FPGA所知所见所解,配置选项,fpga开发,Vivado,配置选项

keep_equivalent_registers:设置是否保留相同逻辑输入(时钟端口和数据端口)的寄存器,为off则不保留,进行合并。

resource_sharing:实现对算术运算的资源共享,只有加法和乘法资源,可设置为auto,off,on。设置为auto时由软件根据时序自动选择是否进行资源共享。

control_set_opt_threshold:触发器的控制集门限设置,可以降低控制集的个数,控制集由时钟信号,复位信号,置位信号,使能信号组成,触发器只有控制中的信号都相同时才能放置在同一个Slice中,优化之后需要多占用LUT资源。同时,control_set_opt_threshold的值也是控制信号的扇出个数。通常,当设计的控制集大于芯片控制集的15%时,就必须进行优化降低控制集数目。

no_lc:控制综合是否进行LUT组合,主要针对两个LUT的输入端口并集数小于等于5时可合并到一个LUT6来实现,该操作可节省面积资源,但可能导致布线拥塞或时序变差。

no_srlextract:勾选后表示阻止综合工具用LUT来实现移位寄存器。

shreg_min_size:设置移位寄存器的最小长度,默认为3,当移位寄存器的长度小于等于设置值时,将用触发器级联来实现,大于设置值时,用触发器和LUT来实现,相比只用触发器来实现时,使用LUT可以节省触发器资源,但LUT的时延更大,时序效果差一些,优先级不如no_srlextract。

vivado设置扇出,Vivado,FPGA所知所见所解,配置选项,fpga开发,Vivado,配置选项

max_bram:设计中允许使用的BRAM最大数量,默认值-1为不限制使用数量,综合工具可使用所有BRAM。

max_uram:设计中允许使用的URAM最大数量,默认值-1为不限制使用数量,综合工具可使用所有URAM。

max_dsp:设计中允许使用的DSP最大数量,默认值-1为不限制使用数量,综合工具可使用所有DSP。

max_bram_cascade_height:设计中允许BRAM级联的最大长度,默认值-1为不限制级联长度。

max_uram_cascade_height:设计中允许URAM级联的最大长度,默认值-1为不限制级联长度。

cascade_dsp:控制dsp输出和的实现方式,有auto,tree,force三种方式,auto为使用块内置加法器实现,

vivado设置扇出,Vivado,FPGA所知所见所解,配置选项,fpga开发,Vivado,配置选项

assert:断言,如果遇到严重错误时将停止进一步的综合操作,有告警则打印告警信息。

More Options:设置一些组合配置,如输入-max_bram 2 -max_dsp 3即同时设置两个选项。

2.2.2  Implementation

        实现是将逻辑网表映射到赛灵思器件上的过程,包含了逻辑优化,逻辑单元布局,布线 3个部分。

        实现过程中的配置选项分为Constraints,Report Options,Options三个部分。

vivado设置扇出,Vivado,FPGA所知所见所解,配置选项,fpga开发,Vivado,配置选项

Constraints:设置实现过程中使用的约束集

Report Options:设置报告策略,可设置的策略有下图5种

vivado设置扇出,Vivado,FPGA所知所见所解,配置选项,fpga开发,Vivado,配置选项

 Incremental implementation:实现的方式采用增量的形式

Strategy:设置实现的策略,侧重点有性能,面积,布线拥塞,时间等

Description:针对Strategy的选项进行说明

Design Initialization

tcl.pre:设计初始化时添加或创建实现前的tcl文件

tcl.post:设计初始化时添加或创建实现后的tcl文件

2.2.2.1 Opt Design

is_enable:勾选后可选择性的运行

verbose : 控制是否查看所有的执行的逻辑优化

vivado设置扇出,Vivado,FPGA所知所见所解,配置选项,fpga开发,Vivado,配置选项

directive :

vivado设置扇出,Vivado,FPGA所知所见所解,配置选项,fpga开发,Vivado,配置选项

Explore: 运行多通道优化

ExploreArea:运行多通道优化,着重减少组合逻辑

AddRemap: 运行默认的逻辑优化流程,包括LUT重映射来减少逻辑级数

ExploreSequentialArea:运行多通道优化,着重减少寄存器和相关联的组合逻辑

RuntimeOptimized:运行最少通道优化,用性能来换取更少的运行时间

NoBramPowerOpt:运行所有除了块RAM功率优化外的其他优化

ExploreWithRemap:相比Explore策略少了重映射优化

Default:使用默认的设置

各策略具体的通道优化如下表

vivado设置扇出,Vivado,FPGA所知所见所解,配置选项,fpga开发,Vivado,配置选项

2.2.2.2 Place Design

vivado设置扇出,Vivado,FPGA所知所见所解,配置选项,fpga开发,Vivado,配置选项

Explore:侧重详细布局和后布局阶段优化。

WLDrivenBlockPlacement:根据线长布局RAM和DSP块,取代以时序来布局。

EarlyBlockPlacement:根据时序来布局RAM和DSP块,在布局流程的早期确定位置。

ExtraNetDelay_high:增加高扇出和长线的时延估算,可以改善关键路径的时序,但可能由于过于理想的估算时延导致布线阶段时序违例,保守估算等级分为高低两级,ExtraNetDelay_high采用最高等级

ExtraNetDelay_low:同ExtraNetDelay_high,区别才用最低等级。

SSI_SpreadLogic_high:将逻辑分散到SSI 上来避免产生拥塞区域,支持高低两个等级,采用高等级,分散程度高

SSI_SpreadLogic_low:将逻辑分散到SSI 上来避免产生拥塞区域,支持高低两个等级,采用低等级,分散程度低

AltSpreadLogic_high:将逻辑分散到器件来避免产生拥塞区域,支持三个等级:高,中,低

AltSpreadLogic_medium:同上,区别为采用中等级的分散程度

AltSpreadLogic_low: 同上,采用低等级的分散程度

ExtraPostPlacementOpt:优化主要在后布局阶段

ExtraTimingOpt:在布局后期使用一组算法以时序为主进行布局

SSI_SpreadSLLs:局部通过SLRs并且为高连接性的区域分配额外的面积

SSI_BalanceSLRs:局部通过SLRs来平衡SLRs的数目

SSI_HighUtilSLRs:在每一个SLR中强制布局器将逻辑布局更紧凑

RuntimeOptimized:用更高的性能换取更快的运行时间

Quick:对于一个合理的设计,不考虑时序,性能,只保证运行时间

Default:使用默认设置

2.2.2.3 Route Design

vivado设置扇出,Vivado,FPGA所知所见所解,配置选项,fpga开发,Vivado,配置选项

Explore:允许布线器在初始化的布线中寻找不同的关键路径布局

AggressiveExplore:在保持最初的时序允许下,让布线器进行更深入地查找关键路径

NoTimingRelaxation:不运行布线器牺牲时序来完成布线

MoreGlobalIterations:在各个阶段都是用详细的时序分析,运行更多的全局迭代来提升时序

HigherDelayCost:调整布线器的内部函数来换取更好的性能

RuntimeOptimized:运行最少的迭代,用性能换取运行时间

AlternateCLBRouting:用更多的布线算法来解决布线拥塞的问题

Quick:最快的编译时间,不考虑时序,性能

Default:运行默认的布线设置

三、参考资料

1、书籍《基于Xilinx Vivado的数字逻辑实验教程》

2、官网文档《ug904-vivado-implementation-en-us-2022.2.pdf》文章来源地址https://www.toymoban.com/news/detail-689681.html

到了这里,关于Vivado界面配置选项含义解析的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • ffmpeg视频解码器的配置选项含义

    lowres 是 AVCodecContext 结构体中的一个成员变量,用于指定编解码器的降低分辨率级别。 在某些情况下,为了加快编解码的速度或减少计算资源的消耗,可以通过设置 lowres 参数来降低编解码器的分辨率级别。这将导致编解码器在处理视频时使用较低的分辨率,从而减少计算量

    2024年02月22日
    浏览(43)
  • vivado 设置综合synthesis支持system verilog

    在用vivado综合代码时,发现utilization资源利用率很少,查了一下各个模块的LUT使用情况,发现只有.v  ,而没有.sv文件。查了下原因主要是synthesis缺少了选项。 1、design sources中右键相关source files的属性选择type为SystemVerilog  2、右键synthesis,选择setting,在More Options选项处 加上指

    2024年02月12日
    浏览(89)
  • Vivado约束添加方法:一文全面解析IO和时序约束

    FPGA开发离不开IO约束和时序约束,IO约束用于确定输入/输出端口的物理端口和电气特性,与芯片和电路设计有关。而时序约束则用于设定FPGA设计中的时序特性,以确保系统能够在预期时钟频率下正常运行。本文将介绍vivado中常见的设置约束的方法。 IO约束,实际上是将工程的

    2024年02月02日
    浏览(45)
  • vivado DDR配置讲解

    注意一定要选verilog语言,后续才能配置mig 1.如果创建了工程,但是没有创建MIG IP核 图1 2.如果是已经配置好了MIG IP核,想要修改其设置。 双击图中所示 图2 说明:官方的教程可以点击配置界面左下方的user guide,去其网站上下载官方的英文说明文档** 1.确认一下器件** 图3 2. 是否

    2024年02月09日
    浏览(37)
  • 轻松搭建FPGA开发环境:第三课——Vivado 库编译与设置说明

    工欲善其事必先利其器,很多人想从事 FPGA 的开发,但是不知道如何下手。既要装这个软件,又要装那个软件,还要编译仿真库,网上的教程一大堆,不知道到底应该听谁的。所以很多人还没开始就被繁琐的开发环境搭建吓退了,还没开始就放弃了! 笔者用几节课的时间,从

    2024年02月04日
    浏览(48)
  • Vivado DDS IP配置

            本文记录Vivado中DDS IP核相关配置方法,主要涉及输出信号位宽、频率、频率分辨率、相位等相关内容。       一、点击 IP Catalog,打开DDS IP配置界面 Configuration界面: 1、System Requirement         System Clock:产生DDS的时钟         Number of Channels:默认为1 2、System Par

    2024年02月15日
    浏览(38)
  • 关于Vivado仿真时,时钟信号初值设置方法导致仿真结果不一致的问题分析

    本文以余3码加法计数器的设计为例,说明仿真激励过程中遇到的问题,解决方法及分析。 加法器电路的实现代码如下: 仿真激励文件1的代码如下: 仿真结果如下图所示:  这里,clk信号的初值设为1,得到的仿真结果,说明了,在clk的下降沿状态会发生转移。在前10ns,由于

    2024年02月12日
    浏览(50)
  • Vivado关联Vscode编辑器的各种配置

    1.在vivado工程界面Tool菜单中点击Settings 2.在Text Editor项目栏中打开Current Editor下拉框更换默认的文本编辑器,常用的有Notepad++。这里我们需要更改为VSCode,此时点击下拉框最下方的Custom Editor 3.Editor输入框中输入  C:/Program Files/Microsoft VS Code/Code.exe -g [file name]:[line number]前面加粗部

    2024年02月16日
    浏览(62)
  • 关于VIVADO与VScode配置重启后,配置无效,需重新配置的问题

    问题:我想将VIVADO与VScode配置关联起来,实现在VIVADO中点击“设计文件”可以直接打开VScode进行代码编写的效果。问题在于,每次在VIVADO中配置完之后,再重启VIVADO,之前的配置都恢复了默认值,又得我重新配置,比较麻烦。经过数次研究,终于找到了解决办法,可以一劳永

    2024年02月09日
    浏览(40)
  • zynq7000学习(1)——vivado环境下PL配置

    一、新建工程:       现开发板型号为xc7z100ffg900-2  选择芯片 (选择芯片7100的话,就输入xc7z100  后面的-1和-2是速度等级), 更改项目名为system 。 Create Block Design (创建模块化的设计)——设置设计名称为system。     这时会出现design窗口和source窗口、画布窗口,source中出

    2024年02月13日
    浏览(57)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包