zoukankan      html  css  js  c++  java
  • Innovus 对multibit 的支持

    如果在综合阶段没有做multibit merge, 或综合阶段由于缺失物理信息multibit cell merge 不合理,那就需要PR 工具做multibit merge 或split. 

    Innovus 支持multibit 的merge 及split, 在setOptMode 中由如下两个option 控制:

    • -multiBitFlopOpt { false| true| mergeOnly| splitOnly } 

    • -multiBitFlopOptIgnoreSDC {true| false}

    此外还可以用如下两个attribute 控制某些特定的寄存器是否要做merge 或split: 

    • dontMergeMultibit(settable): bool

    • dontSplitMultibit(settable): bool

    顺便提一句,在Innovus 中要找一个object 的属性,可以用命令dbSchema 来check, 例如:要找instance 相关的关键词是multi 的属性,用命令:

    dbSchema inst *multi*

    返回值如:

    Innovus 不同阶段对mulitbit 的支持


    P&R分好多步,每一步可支持mutibit 操作都不同,具体如下: 

    preCTS:

    • Merging improves bits per flop metric.

    • Splitting improves bottleneck timing.

    postCTS:

    • No merging is supported currently due to the impact it may have on the clock tree.

    • In Innovus 17.1 version, splitting of flops to improve bottleneck timing is supported.

    postRoute:

    • No merging or splitting is supported.

    在Innovus 中如何report multibit 优化结果


    在Innovus log 中可以看到如下的关于multibit 的优化信息:

     然而没有最终的summary. 可以用下面的proc 来report, 下载原始脚本请查看参考文献网址。

    使用方法及输出:

    做了multibit 优化之后,会改变寄存器的名字,可能会对形式验证造成影响,可以在Innovus 中用命令dumpMultiBitFlopMappingFile 来dump multibit mapping file 给后续流程用,该命令可以dump 如下file: 

    • multi_bit_input_pin_mapping: includes multi-bit input     pin mapping information 

    • multi_bit_mapping: Includes multi-bit     optimization mapping information 

    • mbit.json: Includes multi-bit flop     mapping attribute information

  • 相关阅读:
    POJ 3630 Phone List/POJ 1056 【字典树】
    HDU 1074 Doing Homework【状态压缩DP】
    POJ 1077 Eight【八数码问题】
    状态压缩 POJ 1185 炮兵阵地【状态压缩DP】
    POJ 1806 Manhattan 2025
    POJ 3667 Hotel【经典的线段树】
    状态压缩 POJ 3254 Corn Fields【dp 状态压缩】
    ZOJ 3468 Dice War【PD求概率】
    POJ 2479 Maximum sum【求两个不重叠的连续子串的最大和】
    POJ 3735 Training little cats【矩阵的快速求幂】
  • 原文地址:https://www.cnblogs.com/lelin/p/11409868.html
Copyright © 2011-2022 走看看