Innovus教程

本文转自:自己的微信公众号《集成电路设计及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教程 - 应用系列 - CPF应用实例

Innovus教程 - Flow系列 - 指定PG Net和CPF文件(理论+实践+命令)

 

网易云课堂视频课程

新课上线

链接:https://study.163.com/course/introduction/1005909004.htm

Linux操作系统视频教程(中高级)

主要面向集成电路设计

##  为了方便大家交流讨论  ##

##  建了一个QQ群  ##

## 集成电路设计及EDA教程  ##

## 加群请备注:EDA  ##

##  群二维码如下  ##

# 本公众号有个红包和资料福利微信群  #

#  集成电路设计及EDA教程福利群  #

#  为了避免乱七八糟的人加进来  #

#  可以先加我微信,我拉你进群  #

#  加我微信 请备注下面问题的答案  #

#       ASIC的全称       #

原文地址:https://www.cnblogs.com/ASIC-Horizon/p/11181979.html