优化策略之PowerOptimization

Power_Opt_Design

1 Available Logic Optimizations

opt_design[-retarget][-propconst][-sweep][-bram_power_opt][-remap]

[-resynth_area][-resynth_seq_area][-directive<arg>][-muxf_remap]

[-hier_fanout_limit<arg>][-bufg_opt][-control_set_merge][-quiet][-verbose]

1.1Retargeting (Default)

Retargetingreplaces one cell type with another to ease optimization. For example, a MUXF7

replaced by aLUT3 can be combined with other LUTs. In addition, simple cells such as

inverters areabsorbed into downstream logic.

1.2Constant Propagation (Default)

ConstantPropagation propagates constant values through logic, which results in:

• Eliminatedlogic:

For example, anAND with a constant 0 input

• Reduced logic:

For example, A3-input AND with a constant 1 input is reduced to a 2-input AND.

• Redundantlogic:

For example, A2-input OR with a logic 0 input is reduced to a wire.

1.3Sweep (Default)

Sweep removescells that have no loads.

1.4Block RAM Power Optimization(Default)

Block RAM PowerOptimization enables power optimization on block RAM cells including:

• Changing the WRITE_MODE on unread ports of true dual-port RAMs to NO_CHANGE.

• Applyingintelligent clock gating to block RAM outputs.

1.5Remap

Remap combinesmultiple LUTs into a single LUT to reduce the depth of the logic.

1.6Resynth Area

Resynth Areaperforms re-synthesis in area mode to reduce the number of LUTs.

1.7Mux Optimization

Remaps MUXF7,MUXF8, and MUXF9 primitives to LUT3 to improve route-ability.

1.8Control Set Merging

Reduce thedrivers of logically-equivalent control signals to a single driver. This islike a reverse fanout replication, and results in nets that are better suitedfor module-based replication.

1.9Global Clock Buffer Insertion

Logicoptimization conservatively inserts global clock buffers on clock nets andhigh-fanout non-clock nets such as device-wide resets.

For 7 seriesdesigns, clock buffers are inserted as long as 12 total global clock buffersarenot exceeded.

For UltraScale designs,there is no limit for clock buffers inserted on clock nets.

For non-clocknets:

• Global clockbuffers are only inserted as long as 24 total clock buffers are not

exceeded, notincluding BUFG_GT buffers.

• The fanoutmust be above 25,000.

For fabric-drivenclock nets, the fanout must be 30 or greater.

1.10 Module-Based FanoutOptimization

Net drivers withfanout greater than the specified limit, provided as an argument with thisoption, will be replicated according to the logical hierarchy.

For each hierarchicalinstance driven by the high-fanout net, if the fanout within the hierarchy isgreater than the specified limit, then the net within the hierarchy is drivenby a replica of the driver of the high-fanout net.

2 Using Directives

2.1Explore

Runs multiplepasses of optimization.

进行多次优化

2.2ExploreArea

Runs multiplepasses of optimization with emphasis on reducing combinational logic.

进行多次优化,重点是减少组合逻辑

2.3AddRemap

Runs the defaultlogic optimization flow and includes LUT remapping to reduce logic levels.

将LUT重新优化到逻辑单元内部。

2.4ExploreSequentialArea

Runs multiplepasses of optimization with emphasis on reducing registers and related combinationallogic.

减少寄存器和组合逻辑

2.5RuntimeOptimized

Runs minimalpasses of optimization, trading design performance for faster run time.

更快通过优化来替代设计性能

2.6NoBramPowerOpt

Runs all thedefault opt_design optimizations except block RAMPower Optimization.

对BRAM不做功耗优化

2.7ExploreWithRemap

Same as the Explore directive but includes the Remap optimization.

与Remap类似,但是多了一个重新映射。

原文发布于微信公众号 - 瓜大三哥(xiguazai_tortoise)

原文发表时间:2018-11-14

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

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏逍遥剑客的游戏开发

WoWModelViewer分析

2115
来自专栏友弟技术工作室

Django实现验证码

Django实现验证码 背景知识 1. 验证码的作用 防恶意破解密码:防止,使用程序或机器人恶意去试密码.为了提高用户的体验,用户输入错误以后,才会要求输入验证...

70911
来自专栏python爬虫日记

python下调用pytesseract识别某网站验证码

pytesseract最新版本0.1.6,网址:https://pypi.python.org/pypi/pytesseract

2213
来自专栏嵌入式程序猿

运算放大器使用必须遵循的六条军规

运算放大器是作为最通用的模拟器件,广泛用于信号变换调理、ADC采样前端、电源电路等场合中。虽然运放外围电路简单,不过在使用过程中还是有很多需要注意的地方。 1...

3546
来自专栏肖洒的博客

【爬虫】(二)爬取西电教务处成绩

4613
来自专栏视觉求索无尽也

Markdown:插入数学公式

1.1K2
来自专栏生信小驿站

R语言之可视化②点图

第一步:准备数据,使用的数据包括三列,len长度,supp是分类变量,dose是0.5mg,1mg和2mg三个变量。

1644
来自专栏xingoo, 一个梦想做发明家的程序员

单源最短路径

 单源最短路径问题,即在图中求出给定顶点到其它任一顶点的最短路径。在弄清楚如何求算单源最短路径问题之前,必须弄清楚最短路径的最优子结构性质。 一.最短路径的最优...

1966
来自专栏Kubernetes

利用Kubernetes和Helm进行高效的超参数调优

在进行Hyperparameter Sweep的时候,我们需要根据许多不同的超参数组合进行不同的训练,为同一模型进行多次训练需要消耗大量计算资源或者耗费大量时间...

1551
来自专栏Google Dart

Flutter 构建完整应用手册-图片 顶

显示图像是大多数移动应用程序的基础。 Flutter提供Image小部件以显示不同类型的图像。

1982

扫码关注云+社区

领取腾讯云代金券