• VivadoAndTcl: opt_design


    该命令能够优化当前的网表文件,可以指定的参数如下:

    1. retarget: 其主要功能是将当前设计从一个器件家族重定向到另一个器件家族。举例,将MUXCY实例或者XORCY实例重定向为CARRY4块。
    2. Constant Propagation: 针对电路里的常量输入进行优化,去掉冗余的组合逻辑,从而生成一个更简单的网表。
    3. sweep: 清除无用电路,除去无负载的cells和nets。
    4. bram_power_opt: bram的功耗优化。
    5. remap: 将多个LUTs重新映射到一个LUT来降低逻辑的深度。
    6. aggressive_remap: 执行和remap类似的操作但是更加激进,需要用更多的优化时间来降低更多的LUT级数。
    7. resynth_area: 在area mode进行重新综合来降低LUTs的数量。
    8. resynth_seq_area: 进行重新综合来降低组合逻辑和时序逻辑。
    9. resynth_remap: 通过重新映射来降低逻辑的深度,从而提升关键路径的时序。这种基于时序驱动的方式可以通过复制LUTs的方式降低 LUTs的扇出,并且可以将多个小的LUTs合并为一个大的功能,但是需要的编译时间也更多了。
    opt_design -sweep -retarget

    需要注意的是,在命令行选择了指定的优化方法后,其他的优化手段均会失效。

    opt_design命令可以添加directive参数,可以使用的策略如下:

    1. explore: 运行额外的优化手段来提升结果。
    2. exploreArea: 运行resynth_area来降低LUTs的使用量。
    3. exploreWithRemap: 运行aggressive_remap来压缩逻辑级数。
    4. ExploreSequentialArea: 运行resynth_seq_area优化来降低寄存器和相关联的组合逻辑用量。
    5. runtimeOptimized: 运行除去bram_power_opt的default策略,应用最少的优化来达到更快的编译速度。
    6. RQS: 该方法用于帮助选择opt_design用那种策略。
    7. default: 默认策略,包括以下策略:
      1. retarget
      2. constant propagation
      3. sweep
      4. global buffer(BUFG) optimizations
      5. dsp register optimizations
      6. shift-register logic optimizations
      7. block ram power optimizations
      8. implement mig cores
      9. implement debug cores

     使用directive参数例子如下:

    opt_design -directive Explore
  • 相关阅读:
    第2 章 战略管理
    Python学习基础笔记七十七——json序列化
    [Dubbo3.0.8源码解析系列]-24- Dubbo应用级服务发现
    加缪——人生到底有什么意义?生命的意义就是生命本身
    Nodejs的Express之同路由HEAD请求却执行GET函数问题
    学习笔记-组策略
    python中枚举、得出序号enumerate函数,返回整数的divmod(a,b)函数介绍,python中商、余数的计算方法
    JSD-2204-MyBatis动态sql,修改,查询-Day04
    vuex.esm.js?e4c8:1134 [vuex] module namespace not found in mapMutations():
    NLP 03(LSTM)
  • 原文地址:https://blog.csdn.net/bzh19940620/article/details/134546703