Innovus教程 - Flow系列 - MMMC分析环境的配置概述(理论+实践+命令)
本文转自:自己的微信公众号《集成电路设计及EDA教程》

《Innovus教程 - Flow系列 - MMMC分析环境的配置概述(理论+实践+命令)》
轻轻走过,悄悄看过,无意瞥一眼惊鸿的颜色,随着巷口的老猫湮没在无声中,爱这巷,爱这楼阁,爱这轻缓的脚步,落在石板上的踢踏,喜欢看你的身影随我远去,目光牵着你的笑,飞洒的柳絮勾勒你的轮廓,在茫茫烟波中,你留下残红染了梅花,在渺渺云雾中。
理论
这里需要给工具指定时序/SI分析的多模多角MMMC环境。建议最好按照工具MMMC Objects里面的顺序从上至下进行配置,因为后边的配置会用到前面配置的内容。
工具推荐的配置顺序如下:
- 时序、SI分析用的lib/cdb库文件(library set)
- 寄生参数提取的RC Corners
- 工作条件(Operating conditions)
- Delay corners
- 添加Constraint Mode,读入sdc
- 创建MMMC的analysis views,并指定哪些View是用于Setup分析/优化的,哪些是用于Hold分析/优化的。
它们之间(Analysis View、library set、RC Corner、op condition、Delay Corner、Constraint Mode)的关系如下图所示,详细内容留待下次讲解。这里只简单介绍下推荐的配置顺序及Lab中的配置方法。

实践
在Analysis Configuration下方点击“Create Analysis Configuration”弹出MMMC Browser窗口,如下图所示:

Lab中已经给出了现成的MMMC配置文件(dtmf.view),简单起见可以直接指定这个文件,即可以点击“MMMC View Definition File”后边的按钮来导入。
对于一个新的Design而言,是没有该文件的,需要自己去编写该文件或者在GUI里面进行相应的设置。具体每项内容的含义以及指定方法在后续推文中会介绍。
命令和脚本
set init_mmmc_file {./dtmf.view}
dtmf.view文件内容及各项内容的注释如下(也可以直接在Innovus中输入各项配置命令):
#创建用于对标准单元以及Macro进行时序分析和SI分析的lib/cdb库(library set),根据时序分析的PVT环境,需要将所有用到的PVT Corner的库都读进来,根据PVT环境的不同将它们分组。65 nm以前最常用的就是BCWC的STA模式,以这种模式为例,需要创建setup分析用的slow lib set,创建hold分析用的fast lib set:
create_library_set -name dtmf_libs_min \
-timing {../lib/pllclk_fast.lib \
../lib/ram_128x16A_fast_syn.lib \
../lib/rom_512x16A_fast_syn.lib \
../lib/ram_256x16A_fast_syn.lib \
../lib/fast.lib \
../lib/tpz973gbc-lite_fast.lib} \
-si {../CDB/fast.cdb}
create_library_set -name dtmf_libs_max \
-timing {../lib/pllclk_slow.lib \
../lib/ram_128x16A_slow_syn.lib \
../lib/ram_256x16A_slow_syn.lib \
../lib/rom_512x16A_slow_syn.lib \
../lib/slow.lib \
../lib/tpz973gwc-lite_slow.lib} \
-si {../CDB/slow.cdb}
#前面创建的lib set指定了对标准单元和Macro进行STA的PVT信息,这里创建RC Corner来为提取Net的寄生电阻电容指定电阻、电容查找表(从而得到Net的Delay信息),根据Stage的不同选用不同的查找表文件(.capTbl和.tch):
create_rc_corner -name dtmf_rc_corner \
-cap_table {../captable/t018s6mlv.capTbl} \
-preRoute_res {1.0} \
-preRoute_cap {1.0} \
-preRoute_clkres {0.0} \
-preRoute_clkcap {0.0} \
-postRoute_res {1.0} \
-postRoute_cap {1.0} \
-postRoute_xcap {1.0} \
-postRoute_clkres {0.0} \
-postRoute_clkcap {0.0} \
-qx_tech_file {../QRC/t018s6mm.tch}
#创建Delay Corner,它是library set和RC Corner等的组合(此Lab中没有设置power domain和op condition的信息,因此就这两项内容的组合):
create_delay_corner -name dtmf_corner_min \
-library_set {dtmf_libs_min} \
-rc_corner {dtmf_rc_corner}
create_delay_corner -name dtmf_corner_max \
-library_set {dtmf_libs_max} \
-rc_corner {dtmf_rc_corner}
#创建Constrain Mode,读入时序约束文件(.sdc)
create_constraint_mode -name common \
-sdc_files {dtmf.sdc}
#创建Setup分析和Hold分析的Analysis View,它是Constrain Mode和Delay Corner的组合:
create_analysis_view -name dtmf_view_hold \
-constraint_mode {common} \
-delay_corner {dtmf_corner_min}
create_analysis_view -name dtmf_view_setup \
-constraint_mode {common} \
-delay_corner {dtmf_corner_max}
#指定进行Setup/Hold分析和优化的Analysis View:
set_analysis_view -setup {dtmf_view_setup} \
-hold {dtmf_view_hold}
相关推文
Innovus Lab和Lab Guide下载地址 | Innovus教程 - Flow系列 - 数据准备
Innovus教程 - Flow系列 - 导入设计(理论+实践+命令)
Innovus教程 - Flow系列 - 导入网表 指定工艺/物理库(理论+实践+命令)
Innovus教程 - Flow系列 - 管脚排列文件的编写与指定(理论+实践+命令)
Innovus教程 - Flow系列 - 指定PG Net和CPF文件(理论+实践+命令)
网易云课堂视频课程
新课上线![]()
链接:https://study.163.com/course/introduction/1005909004.htm
Linux操作系统视频教程(中高级)
主要面向集成电路设计


## 为了方便大家交流讨论 ##
## 建了一个QQ群 ##
## 集成电路设计及EDA教程 ##
## 加群请备注:EDA ##
## 群二维码如下 ##

# 本公众号有个红包和资料福利微信群 #
# 集成电路设计及EDA教程福利群 #
# 为了避免乱七八糟的人加进来 #
# 可以先加我微信,我拉你进群 #
# 加我微信 请备注下面问题的答案 #
# ASIC的全称 #

Innovus教程 - Flow系列 - MMMC分析环境的配置概述(理论+实践+命令)的更多相关文章
- Innovus Lab和Lab Guide下载地址 | Innovus教程 - Flow系列 - 数据准备
本文转自:自己的微信公众号<集成电路设计及EDA教程> <Innovus Lab和Lab Guide下载地址 | Innovus教程 - Flow系列 - 数据准备> ...
- ICC教程 - Flow系列 - 概念系列 - ECO (理论+实践+脚本分享)
本文转自:自己的微信公众号<集成电路设计及EDA教程> <ICC教程 - Flow系列 - 概念系列 - ECO (理论+实践+脚本分享)> 这篇推文讲一下数字IC设计中的po ...
- 《Visual C++ 2010入门教程》系列二:安装、配置和首次使用VS2010
作者:董波 日期:2010.6.15 写在前面 在我还在上学的时候,我选择了C++,最初我用VC6作为我的IDE,我看过很多本C++的教材,有的适合我,有的不适合我,其中有一本叫<Visual ...
- 【Win10+eclipse+MinGW+QT安装教程】已有eclipse环境下配置QT插件出错详解
(纪念一下装了一整天濒临绝望的自己[/doge]) (以下所有下载项一律使用32位) step1:下载安装eclipse.适配的jdk.MinGW和QT 1.下载32位eclipse for c++以 ...
- RabbitMQ使用教程(一)RabbitMQ环境安装配置及Hello World示例
你是否听说过或者使用过队列? 你是否听说过或者使用过消息队列? 你是否听说过或者使用过RabbitMQ? 提到这几个词,用过的人,也许觉得很简单,没用过的人,也许觉得很复杂,至少在我没使用消息队列之前 ...
- [nRF51822 AK II 教程]第一课,开发环境的配置及背景介绍【转】
低功耗蓝牙4.0是全新的技术,并不向下兼容,也就是说它和蓝牙3.0.2.0什么的都不能通信的.另外,蓝牙4.0目前的规范只能做外设和主机(智能手机,电脑等)通讯,也就是说你想用一个单模的蓝牙4.0开发 ...
- linux 中环境变量配置错误导致部分命令不能使用包括vi
1,使用 /bin/vi /etc/profile 可以打开环境变量 2,修改正确后,重启
- Shell脚本开发环境的配置和优化实践
1. 配置vim编辑器 1-1. 为什么不使用vi而是vim vi适合编辑普通文本,不适用编写脚本代码,例如:缺少高亮显示代码.自动缩进等重要功能: vim相当于高级编辑器,可以提高开发效率. 1-2 ...
- SSO单点登录系列3:cas-server端配置认证方式实践(数据源+自定义java类认证)
落雨 cas 单点登录 本篇将讲解cas-server端的认证方式 1.最简单的认证,用户名和密码一致就登录成功 2.配置Oracle的jdbc数据源,通过spring动态查询数据库 3.配置orac ...
随机推荐
- WPF之路——实现自定义虚拟容器(实现VirtualizingPanel)
原文:WPF之路--实现自定义虚拟容器(实现VirtualizingPanel) 源码下载地址: http://download.csdn.net/detail/qianshen88/6618033 ...
- 数据绑定(五)使用集合对象作为列表控件的ItemsSource
原文:数据绑定(五)使用集合对象作为列表控件的ItemsSource ItemsSource属性可以接收一个IEnumerable接口派生类的实例作为自己的值,ItemsSource里存放的是一条一条 ...
- WM_SIZE后于WM_CREATE消息!!在窗口被创建时的顺序!
WM_SIZE procedure WMSize (var Message: TWMSize); message WM_SIZE; 参数说明 wParam: Specifies the type ...
- iOS Touch ID使用
1.首先导入头文件 #import <LocalAuthentication/LocalAuthentication.h> 2.关键代码 - (void)validateTouchID { ...
- Python杂谈: 集合中union和update的区别(Python3.x)
集合中union和update方法都是将多个可迭代的对象合并,但是返回的结果和对初始对象的影响却不一样 # union() 方法 - a.union(b) 将集合a和集合b取并集,并将并集作为一个新的 ...
- Win10《芒果TV》商店版更新v3.2.0:全新播放体验,跟着爸爸,想去哪就去哪
喜迎十一月黑五大促,跟着爸爸,想去哪就去哪,<芒果TV>UWP版迅速更新v3.2.0版,全新播放页华丽蜕变,新增互动评论.猜你喜欢.宽窄屏适配.多窗体模式切换. 芒果TV UWP V3.2 ...
- DDD中的值对象如何用NHibernate进行映射
原文:DDD中的值对象如何用NHibernate进行映射 <component/>是NHibernate中一个有趣的特性,即是用来映射DDD(Data-Display-Debuger)概念 ...
- delphi资源文件制作及使用详解
一.引子:现在的Windows应用程序几乎都使用图标.图片.光标.声音等,我们称它们为资源(Resource).最简单的使用资源的办法是把这些资源的源文件打入软件包,以方便程序需要的时候调用.资源是程 ...
- ASP.NET MVC5快速入门--MyFirstWeb并发布到Windows Azure上
博主刚刚学习ASP.NET MVC5,看着微软的文档一点点学,就把FirstWeb的建立展示一下下啦,本次建立一个带个人身份验证的例子(即有注册登录机制的动态网页),开始,啦啦啦~~ 新建一个项目,选 ...
- 原创powershell脚本:通过远程桌面3389黑名单,阻止黑客ip
远程桌面 3389 ban ip 防火墙 rdp 通过远程桌面3389黑名单,阻止黑客ip.这是一个常见的需求.但我搜遍了谷歌也找不到成品脚本.想做搬运工却做不成,只能自己费尽写.下载备用吧,估计 ...