lin-win-share/DA4008_V1.3/syn/scripts/dct_config.tcl

121 lines
3.0 KiB
Tcl

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
}