1) data setup 끝나고 완성형 디렉토리 구조?
=> .synopsys_dc.setup
에서 set*_library 로 링크
위치 : ./libs/*/LM
read_verilog ./netlist/<orca.v>
current_design <ORCA>
uniquify
save_mw_cel -as <ORCA>
=> .data_setup.tcl
에서 create_mw_lib <폴더 이름> 으로 technology file, mw 파일 하나로 링크(?)
위치 : ./libs
P/G 연결, Timing(sdc 파일) 연결
다 끝나면 저장
open_mw_lib <design_lib_orca>
open_mw_cel <ORCA_data_setup>
source
로 적용.synopsys_dc.setup
lappend search_path [glob <./libs/*/LM>]
set_app_var target_library "<sc_max/db>"
set_app_var link_library "<*> <sc_max.db> <io_max.db> <macros_max.db>"
set_min_library <sc_max.db> -min_version <sc_min.db>
set_min_library <io_max.db> -min_version <io_min.db>
set_min_library <macros_max.db> -min_version <macros_min.db>
set_app_var symbol_library "<sc.sdb> <io.sdb> <macros.sdb>"
tim_opt_ctrl.tcl
set_app_var timing_enable_multiple_clocks_per_reg true
set_app_var case_analysis_with_logic_constants true
set_fix_multiple_port_nets -all -buffer_constants
set_auto_disable_drc_nets -constant false
set_dont_use <off_limit_cells>
set_prefer -min <hold_fixing_cells>
set_app_var physopt_delete_unloaded_cells false
set_ideal_network [all_fanout -flat -clock_tree]
set_cost_priority {max_transition max_delay}
set_app_var enable_recovery_removal_arcs true
set_max_area 0
set_app_var physopt_power_critical_range <t>
set_app_var physopt_area_critical_range <t>
group_path -name INPUTS -from [all_inputs]
data_setup.tcl
create_mw_lib <design_lib_orca> -open -technology <./libs/abc_6m.tf> -mw_reference_library "<./libs/sc> <./libs/macros> <./libs/io>"
import_designs ./netlist/<orca.v> -format verilog -top ORCA;
set_tlu_plus_files -max_tluplus <./libs/abc_max.tlup> -min_tluplus <./libs/abc_min.tlup> -tech2itf_map <./libs/abc.map>
set_check_library_options -all
check_library
check_tlu_plus_files
list_libs
derive_pg_connection -power_net PWR -power_pin VDD -ground_net GND -ground_pins VSS
derive_pg_connection -power_net PWR -ground_net GND -tie
check_mv_design -power_nets
read_sdc <./cons/orca.sdc>
check_timing
report_timing_requirements
report_disable_timing
report_case_analysis
report_clock
report_clock -skew
source tim_opt_ctrl.tcl
set_zero_interconnect_delay_mode true
report_constraint -all
report_timing
set_zero_interconnect_delay_mode false
remove_ideal_network [get_ports "<Enable Select Reset>"] => <> 부분 일반적인거? 항상 data setup 마지막에 실행해야하나?
save_mw_cel -as <ORCA_data_setup>