专栏首页Lauren的FPGAVivado模块化综合技术概述

Vivado模块化综合技术概述

尽管Vivado提供了不同的综合策略,同时用户还可根据设计需求对每种策略下的选项进行优化,形成用户策略,但毕竟这些选项是全局的,应用于所有模块的。这就意味着某些选项对设计中的某些模块是不合适的。例如,将-no_lc选中以阻止LUT Combining,但在某些模块中如果LUT没有对布线拥塞构成威胁,允许LUT Combining则可以节省LUT资源。类似地,全局设定的-shreg_min_size未必适合于所有模块。Vivado的模块化综合技术则有效解决了这一弊端,实现了对模块的差异化处理,尤其是面对设计日趋复杂的情形下,细粒度地管理每个模块可为加速时序收敛带来好处。

模块化综合技术需要通过Tcl脚本写在XDC文件中,具体格式如下:

set_property BLOCK_SYNTH.<optionname> <value> \

[get_cells <instance_name>]

这里,option name和value具体内容可参考ug901 (V2017.4) Table 3-1。需要注意的是get_cells后面跟的是实例化的名字,而非entity或module名字。

模块化综合技术有如下特征:

1. 对同一模块可以使用多个option

例如,当综合策略为ALTERNATE_ROUTABILITY时,-keep_equivalent_register是不勾选的,即等效寄存器会被合并,而这里可通过将KEEP_EQUIVALENT_REGISTER的值设置为1来保留等效寄存器。同样地,通过将FSM_EXTRACTION的值设置为OFF来覆盖原有的值。可见,模块化综合的option优先级高于全局设定的值。

2.模块化综合的option是向下继承的,而且是可以嵌套的

例如,针对模块uart_rx_i0(实例化名字),RETIMING = 1 MAX_LUT_INPUT = 4(不允许工具推断出LUT5和LUT6),则该模块下的所有子模块均遵守这一原则。但如果该模块下的子模块uart_baud_gen_rx_i0(实例化名字)允许工具推断出LUT5和LUT6,则可将MAX_LUT_INPUT值设置为6。从而形成如下约束。

3. 模块化综合技术所涉及到的模块的层次不受全局选项-flatten_hierarchy的影响

这意味着无论-flatten_hierarchy为何值,模块化综合技术中用到的层次会被严格保留,这可能会影响综合质量(QoR),因此,在使用模块化综合技术时要注意层次化对综合的影响。

结论

模块化综合技术使得工具可以对不同模块实现差异化处理,这种差异化处理能够更加匹配设计需求,提高综合后的QoR

模块化综合技术需要通过Tcl脚本写在.xdc文件中。最好创建一个block_synth.xdc文件专门用于管理工程的模块化综合

模块化综合技术不用全局综合选项-flatten_hierarchy的影响,其所涉及到的层次会被Vivado保留下来

上期内容

本周回顾--2018/02/09

下期内容

Vivado模块化综合技术的应用场景

本文分享自微信公众号 - Lauren的FPGA(Lauren_FPGA),作者:高亚军

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2018-02-12

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 用好DocNav - Part 2

    在DocNav中可以快速查看文档章节标题而无需下载该文档。如下图所示,点击红色箭头所指的标记,即可显示文档章节标题。若要查看某章节内容,可直接点击标题名称,从而...

    Lauren的FPGA
  • Vivado模块化综合技术的应用场景

    模块化综合技术的最大优势在于实现了Vivado在模块层面对设计的综合进行相应地优化处理,使得综合的设置更能匹配设计的需求,从而提高综合的QoR。这里我们将介绍一...

    Lauren的FPGA
  • 一个HLS Stream应用案例

    对于顶层函数,如果形参类型为hls::stream,HLS会将其综合为ap_fifo类型的接口。

    Lauren的FPGA
  • 多行图片hover加边框兼容IE7+

    问题: 遇到多行多列排列的图片时,hover上去加边框会把下面的图片挤到别处 =========================================...

    smy
  • 洗白“黑科技”深度学习|商业洞见

    [摘要] 最近几年,深度学习备受关注。在2016年的每一项人工智能成就背后,几乎都能看到深度学习的影子。数据的获取、存储、计算能力的增强,以及算法的进步等因素合...

    ThoughtWorks
  • 波士顿动力版“狗多力量大”!10只机器狗拉动大卡车,SpotMini量产在即

    今天凌晨,机器人公司波士顿动力最新发布了一段视频,视频中,网红机器狗SpotMini刚刚学会了新技能:组成一只机器狗“军队”,然后拉动一辆挂空挡的大型车辆。

    大数据文摘
  • 骚年你的屏幕适配方式该升级了!-今日头条适配方案

    原文地址: https://www.jianshu.com/p/55e0fca23b4f

    用户2965681
  • 简析hotjar录屏功能实现原理

    众所周知,hotjar中录屏功能是其重要的一个卖点,看着很牛X酷炫的样子,今天就简单的分析一下其可能实现(这里只根据其请求加上个人理解分析,并不代表hotjar...

    Jerremy
  • activiti开源流程平台

    采用技术为:spring,springMVC,Mybatis,Activiti5,(Activiti可视化设计器基于IE,火狐,谷歌,360等浏览器),Solr...

    程序源代码
  • 一文解决如何提取TCGA配对表达矩阵

    一般来说,TCGA差异分析或者其他分析时,使用的是包含所有肿瘤样本和正常样本。但是,一般情况下,多数类型的TCGA肿瘤类型是肿瘤远远多于正常样本数量。这是因为有...

    用户1359560

扫码关注云+社区

领取腾讯云代金券