ICC2 ETM flow

ICC2 ETM 补充1

最近被ICC2 的ETM坑了,ICC2产生的block的etm,clock pin的port_type属性是signal而不是clock,导致其CTS阶段没法正常长tree,另外报告report_delay_calculation -from block/output port -to receiver/IN,transition为0,在PT中使用模块的.v和.spef展开分析时序时transition的违例非常多。

所以这里推荐使用Library Manager的normal flow来替代etm_moded flow,好处是解决上述问题的同时还能使用正确的process label标记db文件,ICC2自动产生的etm使用的process label是人为创建的corner name而不是其对应的process label。这样到顶层使用能减少不必要的麻烦。

ICC2中create_frame后,write_lef -design block_name.frame block_name.lef

Library manager参考命令如下:

create_workspace $lib_name -flow normal \

 -technology $tech_file 

set bus_delimeter {[]}

set sh_continue_on_error true

set_app_options -as_user_default -name lib. workspace. group_libs_naming_strategies -value" common_prefix common_suffix common_prefix_and_common_suffix first_logical_lib_name"

set_app_options -as_user_default -name lib. workspace. group_libs_create_slg- value false

set_app_options -as_user_default -name lib. workspace. allow_missing_related_pg_pins - value true

set_app_options- as_user_default- name lib. workspace. remove_frame_bus_properties      -value true

set_app_options -as_user_default -name lib. workspace. save_design_views -value true

set_app_options -as_user_default -name link. require_physical -value true

set_app_options -as_user_default -name design.bus_delimiters -value $bus_delimeter

set_app_options -as_user_default -name lib. logic_model. require_same_opt_attrs -value false

set_app_options -as_user_default -name lib. logic_model. use_db_rail_names -value true

set_app_options -as_user_default -name lib. logic_model.auto_remove_timing_only_designs -value true

set_app_options -as_user_default -name lib. physical_model. connect_within_pin- value true

set_app_options -as_user_default -name lib. physical_model.hierarchical- value true

set_app_options -as_user_default  -name lib. physical_model.merge_metal_blockage - value false

set_app_options -as_user_default -name lib. physical_model.block_all -value false

set_app_options -as_user_default -name lib. physical_model. preserve_metal_blockage -value auto

read_lef $lef_files

read_db -process_label ssg_cworstt_max_θp72v_125c work_dir/DMSA/FUNC_SLOW_CMAX125/XX_lib.db

read_db -process_label ssg_cworstt_max_θp99v_125c work_dir/DMSA/FUNC_FAST_CMIN125/XX_lib.db

check_workspace

commit_workspace -output $lib_name

remove_workspace

 

 

04-18 13:33