You are on page 1of 5

ICC2:ETM(extract timing model)

blog.csdn.net/m0_61544122/article/details/127408490

Copyright statement: This article is an original blogger article, following the CC 4.0 BY-SA
copyright agreement, please attach the original source link and this statement for
reprinting.
Link to this article: https://blog.csdn.net/m0_61544122/article/details/127408490


ICC2
The column includes this content

38 articles
51 subscriptions

subscribe column
ICC2 needs block-level ndm for top-level PR work. ICC2 can directly call PT extract model
to generate ndm for a specified block. The process is as follows.

1)create_frame

Before extracting the model, a frame view needs to be generated for the specified block.

2) Environment settings

set_scnario_status -active true -leakage_power true -dynamic_power true [all_scenarios]

set_app_options -name \

time.si_enable_analysis -value true

set_app_options -name \

abstract.annotate_power -value true

set_app_options -name \

abstract_enable_signal_em_analysis -value true

set_app_options -name \

time.use_pt_delay -value true

set_pt_options -pt_exec /eda/synopsys/PT_xx/bin/pt_shell (-pre_link_script


pre_link.tcl -post_link_script post_link.tcl)

#pre_link.tcl and post_link.tcl are applied to eco fusion flow and are scripts
describing the variable settings of each scenario. If the pre/post link script
is not used, the tool will refer to the ICC2 environment to set the PT
environment.

1/5
set_app_options -name

extract.starrc_mode true/none

set_starrc_options -config starrc_fig

#It should be noted here that if you set true, it is easy to have bugs, and pt
fails to run. If you set none, the tool will use the RC method that comes with
ICC2. The starrc_config file is the Starrc environment configuration file.

3)extract_model

Looking at the log here, the generation of lib generally does not fail, but the generation of
db is prone to failure. If db is generated, the tool will create the corresponding ndm by
itself . If it fails, human intervention is required to convert lib into db and then create
ndm.

4) optional, Library Compile converts lib into db

Here ICC2 can directly call lc_shell, the command is as follows:

set_lc_options -exec_path /eda/synopsys/LC_xx/bin/lc_shell

lc {

     foreach sce {SCE1 SCE2 ... ...} {

        read_lib work_dir/DMSA/$sce/top_cell.lib

        write_lib top_cell -format db -output \

              work_dir/DMSA/$sec/top_cell_lib.db

        remove_lib -all

     }

The extract model will generate work_dir and ETM_Lib_work_dir directories by default.
The extract_model command under ETM_Lib_work_dir/top_cell will generate a
create_ndm.tcl

If the tool does not generate ndm by itself, the user needs to run the script by himself

icc2_lm_shell -file ETM_Lib_work_dir/top_cell/create_ndm.tcl

#pre_link.tcl example:

set sce [current_scenario]

2/5
switch $sce {

FUNC_SLOW_CMAX125 {

        set sh_source_use_search_path true

        set si_enable_analysis true

        set power_enable_analysis true

        ... ....

                                         }

FUNC_SLOW_CMAX-40 {

        set sh_source_use_search_path true

        set si_enable_analysis true

        set power_enable_analysis true

        ... ...

                                         }

... ...

#post_link.tcl

set sce [current_scenario]

switch $sce {

FUNC_SLOW_CMAX125 {

        set power_default_toggle_rate 0.1

        set power_default_static_probability 0.5

        set timing_save_pin_arrival_and_slack true

        set_timing_derate ... ...

        set_dont_use ... ...

                                         }

... ...

3/5
}

# starrc_config example

SIGNOFF_IMAGE: /eda/synopsys/STARRC_xx/bin/StarXtract

CORNER_GRD_FILE: cornergrd.mapping

MAPPING_FILE: layer.map

COMMAND_FILE: starrc_cmd_gate_eco_fusion

The difference between starrc_cmd_gate_eco_fusion and general starrc running files is


that only environment settings are reserved, and input and output files such as
BLOCK/LEF_FILE/TOP_DEF_FILE/CORNER_FILE/NETLIST_FILE do not need to be
set.

#cornergrd.mapping example

slow125 xx/xx-cmax.nxgrd

slow-40 xx/xx-cmax.nxgrd

... ...

Shilu Building

WeChat public account

IC Backend Study Guide

Did Related Recommendations help you?

very unhelpful

no help

4/5
generally

helpful

very helpful

5/5

You might also like