前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Vivado综合设置选项分析:-flatten_hierarchy

Vivado综合设置选项分析:-flatten_hierarchy

作者头像
Lauren的FPGA
发布2019-10-31 00:42:47
6.5K0
发布2019-10-31 00:42:47
举报
文章被收录于专栏:Lauren的FPGALauren的FPGA

-flatten_hierarchy有三个可选值,每个值的具体含义如下表所示。通常来讲,-flatten_hierarchy为none时,工具做的优化最少,因而消耗的资源也最多,但层次保留也最为完整。相反,当其为full时,工具做的优化最多,因而消耗的资源也最少,但层次完全被打平(只看到顶层)。从这个角度来说,-flatten_hierarchy的这三个值其实就体现了工具对设计层次完整性和优化力度两者的折中。通常情况下,使用默认值rebuilt即可。

-flatten_hierarchy是一个全局设置(凡是出现在综合选项设置菜单的均为全局设置),意味着对设计中的所有模块均生效。如果期望对设计中某个层次使用与-flatten_hierarchy的值不同的层次优化方式,就要用到综合属性(Synthesis Attributes)KEEP_HIERARCHY,它只能在RTL代码中使用,其优先级高于-flatten_hierarchy。具体使用方法如下:

Verilog版本:

(* KEEP_HIERARCHY = “yes” *) module uart_r();

VHDL版本:

作用于entity:

attribute KEEP_HIERARCHY : string;

attribute KEEP_HIERARCHY of uart_rx : enityis “yes”;

作用于Instance:

attribute KEEP_HIERARCHY : string;

attribute KEEP_HIERARCHY of uart_rx_u0 :label is “yes”;

注:uart_rx_u0是实例化的名字。

结论:

1. 对于-flatten_hierarchy,通常使用默认值rebuilt即可。Rebuilt的一个明显的好处是在使用Vivado Logic Analyzer (ISE时代的ChipScope)时,可快速根据层次找到待观测信号;

2. KEEP_HIERARCHY优先级高于-flatten_hierarchy。因此,可根据设计需求灵活对某些层次设定此属性。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-01-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Lauren的FPGA 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档