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教程 - 應用系列 - CPF應用實例

Innovus教程 - Flow系列 - 指定PG Net和CPF文件(理論+實踐+命令)

 

網易雲課堂視頻課程

 

 

新課上線

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

Linux操作系統視頻教程(中高級)

主要面向集成電路設計

 

##  為了方便大家交流討論  ##

##  建了一個QQ群  ##

## 集成電路設計及EDA教程  ##

## 加群請備注:EDA  ##

##  群二維碼如下  ##

# 本公眾號有個紅包和資料福利微信群  #

#  集成電路設計及EDA教程福利群  #

#  為了避免亂七八糟的人加進來  #

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

#  加我微信 請備注下面問題的答案  #

#       ASIC的全稱       #


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM