proc tproc_msg { args } { puts "INFO: $args" } proc tproc_apply_tlup { args } { global GEV TVAR set options(-tlup) "" parse_proc_arguments -args $args options tproc_msg "Beginning tproc_apply_tlup:" tproc_msg " -tlup = $options(-tlup)" ## ----------------------------------------------------------------------------- ## set the TLU+ ## ----------------------------------------------------------------------------- set set_tlu_plus_files_cmd "" switch $options(-tlup) { TLUP_MIN_MAX_EMF { set_tlu_plus_files \ -max_tluplus $TVAR(tech,tlup_emf_file,RC_MAX_1) \ -min_tluplus $TVAR(tech,tlup_emf_file,RC_MIN_1) \ -tech2itf_map $TVAR(tech,layer_map_mdb_2_itf) set set_tlu_plus_files_cmd [list \ set_tlu_plus_files \ -max_tluplus $TVAR(tech,tlup_emf_file,RC_MAX_1) \ -min_tluplus $TVAR(tech,tlup_emf_file,RC_MIN_1) \ -tech2itf_map $TVAR(tech,layer_map_mdb_2_itf) \ ] } TLUP_MIN_MAX { set_tlu_plus_files \ -max_tluplus $TVAR(tech,tlup_file,RC_MAX_1) \ -min_tluplus $TVAR(tech,tlup_file,RC_MIN_1) \ -tech2itf_map $TVAR(tech,layer_map_mdb_2_itf) set set_tlu_plus_files_cmd [list \ set_tlu_plus_files \ -max_tluplus $TVAR(tech,tlup_file,RC_MAX_1) \ -min_tluplus $TVAR(tech,tlup_file,RC_MIN_1) \ -tech2itf_map $TVAR(tech,layer_map_mdb_2_itf) \ ] } default { tproc_msg "Unrecognized value for -tlup = $options(-tlup)" } } foreach item $set_tlu_plus_files_cmd { tproc_msg "$item" } } define_proc_attributes tproc_apply_tlup \ -info "Pre-packaged TLU+ settings." \ -define_args { {-tlup "TLU+ options" AString string required} } proc tproc_dct_setup_mw {} { global TVAR GEV global mw_reference_library global mw_design_library set mw_reference_library $TVAR(lib,mw_reflist) set mw_design_library $GEV(design_lib) if { [file exists $mw_design_library] } { file delete -force $mw_design_library } create_mw_lib \ -technology $TVAR(tech,astro_techfile) \ -mw_reference_library $mw_reference_library \ $mw_design_library open_mw_lib $mw_design_library tproc_apply_tlup -tlup TLUP_MIN_MAX report_tlu_plus_files } proc tproc_dct_tlup_settings {top_design_name} { global TVAR GEV set work_dir [pwd] set tech_dir "" set rcxt_dir "" set lib_dir "" set TVAR(lib,mw_reflist) [list \ ] set GEV(dst_dir) ${work_dir} set GEV(design_lib) $GEV(dst_dir)/${top_design_name} set TVAR(tech,astro_techfile) ${tech_dir}/milkyway/top.tf set TVAR(tech,tlup_emf_file,RC_MAX_1) ${rcxt_dir}/top.tluplus set TVAR(tech,tlup_emf_file,RC_MIN_1) ${rcxt_dir}/top.tluplus set TVAR(tech,tlup_file,RC_MAX_1) ${rcxt_dir}/top.tluplus set TVAR(tech,tlup_file,RC_MIN_1) ${rcxt_dir}/top.tluplus set TVAR(tech,layer_map_mdb_2_itf) ${rcxt_dir}/milkyway/top return 1 } proc check_log {log_file} { puts "INFO: Check log file ${log_file} ..." return }