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
Innovus 对multibit 的支持的更多相关文章
- 支持 .NET Core 的 Memcached 客户端 EnyimMemcachedCore
1. 介绍 EnyimMemcachedCore 是一个支持 .NET Core 的 Memcached 客户端,是从 EnyimMemcached 迁移至 .NET Core的,源代码托管在 Git ...
- ASP.NET Core 折腾笔记二:自己写个完整的Cache缓存类来支持.NET Core
背景: 1:.NET Core 已经没System.Web,也木有了HttpRuntime.Cache,因此,该空间下Cache也木有了. 2:.NET Core 有新的Memory Cache提供, ...
- Jexus 5.8.2 正式发布为Asp.Net Core进入生产环境提供平台支持
Jexus 是一款运行于 Linux 平台,以支持 ASP.NET.PHP 为特色的集高安全性和高性能为一体的 WEB 服务器和反向代理服务器.最新版 5.8.2 已经发布,有如下更新: 1,现在大 ...
- 7.让网站支持http和https的访问方式
平台之大势何人能挡? 带着你的Net飞奔吧!:http://www.cnblogs.com/dunitian/p/4822808.html#iis 怎么让网站在本地支持SSL?http://www.c ...
- 逆天通用水印支持Winform,WPF,Web,WP,Win10。支持位置选择(9个位置 ==》[X])
常用技能:http://www.cnblogs.com/dunitian/p/4822808.html#skill 逆天博客:http://dnt.dkil.net 逆天通用水印扩展篇~新增剪贴板系列 ...
- x:bind不支持样式文件 或 此Xaml文件必须又代码隐藏类才能使用{x:Bind} 解决办法
这两天学习UWP开发,发现一个很有趣的问题,就是我题目中的描述的. 我习惯了在ResourceDictionary中写样式文件,但是发现用x:Bind时会有问题 如果是写在Style里,则提示 “x: ...
- .NET Core采用的全新配置系统[9]: 为什么针对XML的支持不够好?如何改进?
物理文件是我们最常用到的原始配置的载体,最佳的配置文件格式主要由三种,它们分别是JSON.XML和INI,对应的配置源类型分别是JsonConfigurationSource.XmlConfigura ...
- nodejs项目mysql使用sequelize支持存储emoji
nodejs项目mysql使用sequelize支持存储emoji 本篇主要记录nodejs项目阿里云mysql如何支持存储emoji表情. 因由 最近项目遇到用户在文本输入emoji进行存储的时候导 ...
- CRL快速开发框架系列教程十二(MongoDB支持)
本系列目录 CRL快速开发框架系列教程一(Code First数据表不需再关心) CRL快速开发框架系列教程二(基于Lambda表达式查询) CRL快速开发框架系列教程三(更新数据) CRL快速开发框 ...
随机推荐
- 什么是OOP
面向对象是相对于面向过程而言的.面向过程语言是一种基于功能分析的.以算法为中心的程序设计方法:而面向对象是一种基于结构分析的.以数据为中心的程序设计思想.早在面向过程语言时代,有一句话说:程序=算法+ ...
- Jquery change方法
jQuery 事件 - change() 方法 当输入域发生变化时改变其颜色: $(".field").change(function(){ $(this).css("b ...
- 其他 - YAML 入门
概述 简单介绍 YAML 语言 背景 很多地方, 都在使用 YAML k8s spring 其他 准备 验证工具 YAML.YML在线格式化校验工具 一个 YAML 转换 JSON 的工具 通常来说, ...
- ansible笔记(12):变量(一)
1.定义变量规范 先说说怎样定义变量,变量名应该由字母.数字.下划线组成,变量名需要以字母开头,ansible内置的关键字不能作为变量名. 2.定义变量,使用关键字:vars 定义变量用vars,调用 ...
- Python JASON
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,易于人阅读和编写. http://www.runoob.com/python/python-json.ht ...
- 【新特性速递】F.doPostBack的说明文档
FineUIPro/Mvc/Core的下个版本(v6.1.0),我们对客户端JS函数 F.doPostBack 进行了增强,并增加说明文档. 如果你还没有查阅过FineUI的客户端文档,可以收藏下这个 ...
- 两个map合并
两个map合并所用函数为:putAll package myProject; import java.util.HashMap; import java.util.Map; public class ...
- 今天我解决的sql中文乱码问题
昨天我终于把我的网站做好了,在电脑上准备就绪,经过测试一切正常,放上服务器上准备炫耀一下的时候,发现插进数据库的中文字段全都变成???了,检测了下,前台是utf-8,后台是utf-8,在插进数据库前我 ...
- 在Linux系统上安装配置ant环境
1.从官网http://ant.apache.org/bindownload.cgi下载tar.gz版ant到本地电脑上 2.通过WinSCP工具将本地电脑上的ant压缩包上传至Linux服务器的/u ...
- codeforces Codeforces Round #597 (Div. 2) D. Shichikuji and Power Grid
#include<bits/stdc++.h> using namespace std ; int n; struct City { int id; long long x,y; //坐标 ...