前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >优化策略之PowerOptimization

优化策略之PowerOptimization

作者头像
瓜大三哥
发布2018-12-13 11:33:44
6820
发布2018-12-13 11:33:44
举报
文章被收录于专栏:瓜大三哥瓜大三哥

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类似,但是多了一个重新映射。

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

本文分享自 瓜大三哥 微信公众号,前往查看

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1 Available Logic Optimizations
    • 1.1Retargeting (Default)
      • 1.2Constant Propagation (Default)
        • 1.3Sweep (Default)
          • 1.4Block RAM Power Optimization(Default)
            • 1.5Remap
              • 1.6Resynth Area
                • 1.7Mux Optimization
                  • 1.8Control Set Merging
                    • 1.9Global Clock Buffer Insertion
                      • 1.10 Module-Based FanoutOptimization
                      • 2 Using Directives
                        • 2.1Explore
                          • 2.2ExploreArea
                            • 2.3AddRemap
                              • 2.4ExploreSequentialArea
                                • 2.5RuntimeOptimized
                                  • 2.6NoBramPowerOpt
                                    • 2.7ExploreWithRemap
                                    领券
                                    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档