blob: 376a11c62cbd543df8493a0c48061e632c2968a0 [file] [log] [blame]
##########################################################################################
# CDNS INNOVUS FOUNDATION FLOW
#-----------------------------------------------------------------------------------------
# This is the foundation flow setup.tcl file. It contains all the necessary information
# to run the Innovus digital implementation flow.
##########################################################################################
set vars(script_root) SCRIPTS
set vars(design_root) [pwd]/..
set vars(plug_dir) PLUG
set vars(dbs_dir) DBS
set vars(rpt_dir) RPT
set vars(flow) mmmc
########################################################################################
# Define required design data ...
########################################################################################
set vars(design) chip_top
set vars(netlist) $vars(design_root)/DATA/chip_top_netlist.v
set vars(fp_file) $vars(design_root)/DATA/lp_work_shop_design/0408/WORK/DBS/route.enc.dat/chip_top.fp.gz
#set vars(def_files) "<def_files>"
#set vars(generate_tracks) <true or false>
#set vars(scan_def) <scan_def>
set vars(cts_spec) "$vars(design_root)/DATA/chip_top.ctstch"
set vars(scan_def) $vars(design_root)/DATA/chip_top.scandef
set vars(io_file) $vars(design_root)/DATA/chip_top.io
set vars(process) 65nm
set vars(max_route_layer) 9
########################################################################################
# Define lef files ...
########################################################################################
set vars(lef_files) "\
$vars(design_root)/LIBS/STDCELL/LEF/stdcell65n_9lmT2.lef \
$vars(design_root)/LIBS/STDCELL/LEF/stdcell65nhvt_9lmT2.lef \
$vars(design_root)/LIBS/STDCELL/LEF/stdcell65nlvt_9lmT2.lef \
$vars(design_root)/LIBS/STDCELL/LEF/stdcell65ncg_m9T2.lef \
$vars(design_root)/LIBS/STDCELL/LEF/stdcell65nhvtcg_m9T2.lef \
$vars(design_root)/LIBS/STDCELL/LEF/stdcell65nlvtcg_m9T2.lef \
$vars(design_root)/LIBS/IO/LEF/iocell65n_9lm.lef \
$vars(design_root)/LIBS/IO/LEF/antenna_9.lef \
$vars(design_root)/LIBS/IO/LEF/dummy_analog_pad.lef \
$vars(design_root)/LIBS/IO/LEF/bondpad_9lm.lef \
$vars(design_root)/LIBS/RAMS_ROMS/LEF/memdp_512x36cm4sw1bk1.plef \
$vars(design_root)/LIBS/RAMS_ROMS/LEF/memrom_512x32cm16.plef \
$vars(design_root)/LIBS/RAMS_ROMS/LEF/memsp_2kx32cm8sw1bk2.plef \
$vars(design_root)/LIBS/RAMS_ROMS/LEF/memsp_32kx32cm16sw1bk16.plef \
$vars(design_root)/LIBS/RAMS_ROMS/LEF/memsp_32x128cm4sw1bk1.plef \
$vars(design_root)/LIBS/RAMS_ROMS/LEF/memsp_4kx32cm8sw1bk4.plef \
$vars(design_root)/LIBS/RAMS_ROMS/LEF/memsp_512x8cm4sw1bk1.plef \
$vars(design_root)/LIBS/RAMS_ROMS/LEF/memsp_8kx32cm8sw1bk8.plef \
$vars(design_root)/LIBS/ANALOG/PLL/LEF/PL0042.lef \
$vars(design_root)/LIBS/ANALOG/LVDS/LEF/lvds.lef \
$vars(design_root)/LIBS/IP/LEF/pso.lef \
$vars(design_root)/LIBS/IP/LEF/Module_A.partition.lef \
$vars(design_root)/LIBS/IP/LEF/Module_B.partition.lef \
$vars(design_root)/LIBS/IP/LEF/Module_U.partition.lef \
$vars(design_root)/LIBS/IP/LEF/Module_W.partition.lef \
"
########################################################################################
# Define library sets ...
# set vars(library_sets) <list of library sets>
# set vars(<set>,timing) <list of lib files>
# set vars(<set>,si) <list of cdb/udn files>
########################################################################################
set vars(library_sets) "0v864 2v5 1v320 3v3 1v056 1v080"
set vars(0v864,timing) "\
$vars(design_root)/LIBS/STDCELL/LIBERTY/HVT/stdcell65nhvtwc0d720d72.lib \
$vars(design_root)/LIBS/STDCELL/LIBERTY/LVT/stdcell65nlvtwc0d720d72.lib \
$vars(design_root)/LIBS/STDCELL/LIBERTY/NVT/stdcell65nwc0d720d72.lib \
$vars(design_root)/LIBS/STDCELL/LIBERTY/HVT/stdcell65nhvtwc0d72.lib \
$vars(design_root)/LIBS/STDCELL/LIBERTY/LVT/stdcell65nlvtwc0d72.lib \
$vars(design_root)/LIBS/STDCELL/LIBERTY/NVT/stdcell65nwc0d72.lib \
$vars(design_root)/LIBS/STDCELL/LIBERTY/HVT_CG/stdcell65nhvtcgwc0d72.lib \
$vars(design_root)/LIBS/STDCELL/LIBERTY/LVT_CG/stdcell65nlvtcgwc0d72.lib \
$vars(design_root)/LIBS/STDCELL/LIBERTY/NVT_CG/stdcell65ncgwc0d72.lib \
$vars(design_root)/LIBS/RAMS_ROMS/LIBERTY/WORST_0864/memdp_512x36cm4sw1bk1.lib \
$vars(design_root)/LIBS/RAMS_ROMS/LIBERTY/WORST_0864/memrom_512x32cm16.lib \
$vars(design_root)/LIBS/RAMS_ROMS/LIBERTY/WORST_0864/memsp_2kx32cm8sw1bk2.lib \
$vars(design_root)/LIBS/RAMS_ROMS/LIBERTY/WORST_0864/memsp_4kx32cm8sw1bk4.lib \
$vars(design_root)/LIBS/IO/LIBERTY/iocell65nwc_0864.lib \
$vars(design_root)/LIBS/ANALOG/LVDS/LIBERTY/lvds_wc_0864.lib \
$vars(design_root)/LIBS/IP/LIBERTY/pso_wc_0864.lib \
$vars(design_root)/LIBS/IP/LIBERTY/Module_A_wc_0864.lib \
$vars(design_root)/LIBS/IP/LIBERTY/Module_B_wc_0864.lib \
$vars(design_root)/LIBS/IP/LIBERTY/Module_U_wc_0864.lib \
$vars(design_root)/LIBS/IP/LIBERTY/Module_W_wc_0864.lib \
"
set vars(0v864,si) "\
$vars(design_root)/LIBS/STDCELL/CDB/HVT/stdcell65nhvtwc0d72.cdb \
$vars(design_root)/LIBS/STDCELL/CDB/HVT/stdcell65nhvtwc0d720d72.cdb \
$vars(design_root)/LIBS/STDCELL/CDB/NVT/stdcell65nwc0d72.cdb \
$vars(design_root)/LIBS/STDCELL/CDB/NVT/stdcell65nwc0d720d72.cdb \
$vars(design_root)/LIBS/STDCELL/CDB/LVT/stdcell65nlvtwc0d72.cdb \
$vars(design_root)/LIBS/STDCELL/CDB/LVT/stdcell65nlvtwc0d720d72.cdb \
$vars(design_root)/LIBS/STDCELL/CDB/HVT_CG/stdcell65nhvtcgwc0d72.cdb \
$vars(design_root)/LIBS/STDCELL/CDB/NVT_CG/stdcell65ncgwc0d72.cdb \
$vars(design_root)/LIBS/STDCELL/CDB/LVT_CG/stdcell65nlvtcgwc0d72.cdb \
"
set vars(2v5,timing) "\
$vars(design_root)/LIBS/IP/LIBERTY/Module_U.lib \
$vars(design_root)/LIBS/STDCELL/LIBERTY/NVT/stdcell65nwc.lib \
"
set vars(1v320,timing) "\
$vars(design_root)/LIBS/STDCELL/LIBERTY/LVT/stdcell65nlvtbc0d881d1.lib \
$vars(design_root)/LIBS/STDCELL/LIBERTY/HVT/stdcell65nhvtbc0d881d1.lib \
$vars(design_root)/LIBS/STDCELL/LIBERTY/NVT/stdcell65nbc0d881d1.lib \
$vars(design_root)/LIBS/STDCELL/LIBERTY/HVT/stdcell65nhvtbc1d11d1.lib \
$vars(design_root)/LIBS/STDCELL/LIBERTY/HVT/stdcell65nhvtbc.lib \
$vars(design_root)/LIBS/STDCELL/LIBERTY/LVT/stdcell65nlvtbc.lib \
$vars(design_root)/LIBS/STDCELL/LIBERTY/LVT/stdcell65nlvtbc1d11d1.lib \
$vars(design_root)/LIBS/STDCELL/LIBERTY/NVT/stdcell65nbc.lib \
$vars(design_root)/LIBS/STDCELL/LIBERTY/NVT/stdcell65nbc1d11d1.lib \
$vars(design_root)/LIBS/STDCELL/LIBERTY/HVT_CG/stdcell65nhvtcgbc.lib \
$vars(design_root)/LIBS/STDCELL/LIBERTY/LVT_CG/stdcell65nlvtcgbc.lib \
$vars(design_root)/LIBS/STDCELL/LIBERTY/NVT_CG/stdcell65ncgbc.lib \
$vars(design_root)/LIBS/RAMS_ROMS/LIBERTY/BEST_1320/memdp_512x36cm4sw1bk1.lib \
$vars(design_root)/LIBS/RAMS_ROMS/LIBERTY/BEST_1320/memrom_512x32cm16.lib \
$vars(design_root)/LIBS/RAMS_ROMS/LIBERTY/BEST_1320/memsp_2kx32cm8sw1bk2.lib \
$vars(design_root)/LIBS/RAMS_ROMS/LIBERTY/BEST_1320/memsp_4kx32cm8sw1bk4.lib \
$vars(design_root)/LIBS/IO/LIBERTY/iocell65nbc.lib \
$vars(design_root)/LIBS/ANALOG/PLL/LIBERTY/PL0042.hvt_ff_1p32v_0c.lib \
$vars(design_root)/LIBS/IP/LIBERTY/pso_bc_1320.lib \
$vars(design_root)/LIBS/IP/LIBERTY/Module_A_bc_1320.lib \
$vars(design_root)/LIBS/IP/LIBERTY/Module_B_bc_1320.lib \
$vars(design_root)/LIBS/IP/LIBERTY/Module_U_bc_1320.lib \
"
set vars(1v320,si) "\
$vars(design_root)/LIBS/STDCELL/CDB/HVT/stdcell65nhvtbc.cdb \
$vars(design_root)/LIBS/STDCELL/CDB/HVT/stdcell65nhvtbc1d11d1.cdb \
$vars(design_root)/LIBS/STDCELL/CDB/HVT/stdcell65nhvtbc0d881d1.cdb \
$vars(design_root)/LIBS/STDCELL/CDB/NVT/stdcell65nbc.cdb \
$vars(design_root)/LIBS/STDCELL/CDB/NVT/stdcell65nbc1d11d1.cdb \
$vars(design_root)/LIBS/STDCELL/CDB/NVT/stdcell65nbc0d881d1.cdb \
$vars(design_root)/LIBS/STDCELL/CDB/LVT/stdcell65nlvtbc.cdb \
$vars(design_root)/LIBS/STDCELL/CDB/LVT/stdcell65nlvtbc1d11d1.cdb \
$vars(design_root)/LIBS/STDCELL/CDB/LVT/stdcell65nlvtbc0d881d1.cdb \
$vars(design_root)/LIBS/STDCELL/CDB/HVT_CG/stdcell65nhvtcgbc.cdb \
$vars(design_root)/LIBS/STDCELL/CDB/NVT_CG/stdcell65ncgbc.cdb \
$vars(design_root)/LIBS/STDCELL/CDB/LVT_CG/stdcell65nlvtcgbc.cdb \
$vars(design_root)/LIBS/IO/CDB/iocell65nbc.cdb \
"
set vars(3v3,timing) "\
$vars(design_root)/LIBS/IP/LIBERTY/Module_U.lib \
$vars(design_root)/LIBS/STDCELL/LIBERTY/NVT/stdcell65nwc.lib \
"
set vars(1v056,timing) "\
$vars(design_root)/LIBS/STDCELL/LIBERTY/HVT/stdcell65nhvtbc0d880d88.lib \
$vars(design_root)/LIBS/STDCELL/LIBERTY/LVT/stdcell65nlvtbc0d880d88.lib \
$vars(design_root)/LIBS/STDCELL/LIBERTY/NVT/stdcell65nbc0d880d88.lib \
$vars(design_root)/LIBS/STDCELL/LIBERTY/HVT/stdcell65nhvtbc0d88.lib \
$vars(design_root)/LIBS/STDCELL/LIBERTY/LVT/stdcell65nlvtbc0d88.lib \
$vars(design_root)/LIBS/STDCELL/LIBERTY/NVT/stdcell65nbc0d88.lib \
$vars(design_root)/LIBS/STDCELL/LIBERTY/HVT_CG/stdcell65nhvtcgbc0d88.lib \
$vars(design_root)/LIBS/STDCELL/LIBERTY/LVT_CG/stdcell65nlvtcgbc0d88.lib \
$vars(design_root)/LIBS/STDCELL/LIBERTY/NVT_CG/stdcell65ncgbc0d88.lib \
$vars(design_root)/LIBS/RAMS_ROMS/LIBERTY/BEST_1056/memdp_512x36cm4sw1bk1.lib \
$vars(design_root)/LIBS/RAMS_ROMS/LIBERTY/BEST_1056/memrom_512x32cm16.lib \
$vars(design_root)/LIBS/RAMS_ROMS/LIBERTY/BEST_1056/memsp_2kx32cm8sw1bk2.lib \
$vars(design_root)/LIBS/RAMS_ROMS/LIBERTY/BEST_1056/memsp_4kx32cm8sw1bk4.lib \
$vars(design_root)/LIBS/IO/LIBERTY/iocell65nbc_1056.lib \
$vars(design_root)/LIBS/ANALOG/LVDS/LIBERTY/lvds_bc_1056.lib \
$vars(design_root)/LIBS/IP/LIBERTY/pso_bc_1056.lib \
$vars(design_root)/LIBS/IP/LIBERTY/Module_A_bc_1056.lib \
$vars(design_root)/LIBS/IP/LIBERTY/Module_B_bc_1056.lib \
$vars(design_root)/LIBS/IP/LIBERTY/Module_U_bc_1056.lib \
$vars(design_root)/LIBS/IP/LIBERTY/Module_W_bc_1056.lib \
"
set vars(1v056,si) "\
$vars(design_root)/LIBS/STDCELL/CDB/HVT/stdcell65nhvtbc0d88.cdb \
$vars(design_root)/LIBS/STDCELL/CDB/HVT/stdcell65nhvtbc0d880d88.cdb \
$vars(design_root)/LIBS/STDCELL/CDB/LVT/stdcell65nlvtbc0d88.cdb \
$vars(design_root)/LIBS/STDCELL/CDB/LVT/stdcell65nlvtbc0d880d88.cdb \
$vars(design_root)/LIBS/STDCELL/CDB/NVT/stdcell65nbc0d88.cdb \
$vars(design_root)/LIBS/STDCELL/CDB/NVT/stdcell65nbc0d880d88.cdb \
$vars(design_root)/LIBS/STDCELL/CDB/HVT_CG/stdcell65nhvtcgbc0d88.cdb \
$vars(design_root)/LIBS/STDCELL/CDB/NVT_CG/stdcell65ncgbc0d88.cdb \
$vars(design_root)/LIBS/STDCELL/CDB/LVT_CG/stdcell65nlvtcgbc0d88.cdb \
"
set vars(1v080,timing) "\
$vars(design_root)/LIBS/STDCELL/LIBERTY/HVT/stdcell65nhvtwc0d720d9.lib \
$vars(design_root)/LIBS/STDCELL/LIBERTY/LVT/stdcell65nlvtwc0d720d9.lib \
$vars(design_root)/LIBS/STDCELL/LIBERTY/NVT/stdcell65nwc0d720d9.lib \
$vars(design_root)/LIBS/STDCELL/LIBERTY/HVT/stdcell65nhvtwc0d90d9.lib \
$vars(design_root)/LIBS/STDCELL/LIBERTY/HVT/stdcell65nhvtwc.lib \
$vars(design_root)/LIBS/STDCELL/LIBERTY/LVT/stdcell65nlvtwc.lib \
$vars(design_root)/LIBS/STDCELL/LIBERTY/LVT/stdcell65nlvtwc0d90d9.lib \
$vars(design_root)/LIBS/STDCELL/LIBERTY/NVT/stdcell65nwc0d90d9.lib \
$vars(design_root)/LIBS/STDCELL/LIBERTY/NVT/stdcell65nwc.lib \
$vars(design_root)/LIBS/STDCELL/LIBERTY/HVT_CG/stdcell65nhvtcgwc.lib \
$vars(design_root)/LIBS/STDCELL/LIBERTY/LVT_CG/stdcell65nlvtcgwc.lib \
$vars(design_root)/LIBS/STDCELL/LIBERTY/NVT_CG/stdcell65ncgwc.lib \
$vars(design_root)/LIBS/RAMS_ROMS/LIBERTY/WORST_1080/memdp_512x36cm4sw1bk1.lib \
$vars(design_root)/LIBS/RAMS_ROMS/LIBERTY/WORST_1080/memrom_512x32cm16.lib \
$vars(design_root)/LIBS/RAMS_ROMS/LIBERTY/WORST_1080/memsp_2kx32cm8sw1bk2.lib \
$vars(design_root)/LIBS/RAMS_ROMS/LIBERTY/WORST_1080/memsp_4kx32cm8sw1bk4.lib \
$vars(design_root)/LIBS/IO/LIBERTY/iocell65nwc.lib \
$vars(design_root)/LIBS/ANALOG/PLL/LIBERTY/PL0042.hvt_ss_1p08v_125c.lib \
$vars(design_root)/LIBS/IP/LIBERTY/pso_wc_1080.lib \
$vars(design_root)/LIBS/IP/LIBERTY/Module_A_wc_1080.lib \
$vars(design_root)/LIBS/IP/LIBERTY/Module_B_wc_1080.lib \
$vars(design_root)/LIBS/IP/LIBERTY/Module_U_wc_1080.lib \
"
set vars(1v080,si) "\
$vars(design_root)/LIBS/STDCELL/CDB/HVT/stdcell65nhvtwc.cdb \
$vars(design_root)/LIBS/STDCELL/CDB/HVT/stdcell65nhvtwc0d90d9.cdb \
$vars(design_root)/LIBS/STDCELL/CDB/HVT/stdcell65nhvtwc0d720d9.cdb \
$vars(design_root)/LIBS/STDCELL/CDB/NVT/stdcell65nwc.cdb \
$vars(design_root)/LIBS/STDCELL/CDB/NVT/stdcell65nwc0d90d9.cdb \
$vars(design_root)/LIBS/STDCELL/CDB/NVT/stdcell65nwc0d720d9.cdb \
$vars(design_root)/LIBS/STDCELL/CDB/LVT/stdcell65nlvtwc.cdb \
$vars(design_root)/LIBS/STDCELL/CDB/LVT/stdcell65nlvtwc0d90d9.cdb \
$vars(design_root)/LIBS/STDCELL/CDB/LVT/stdcell65nlvtwc0d720d9.cdb \
$vars(design_root)/LIBS/STDCELL/CDB/HVT_CG/stdcell65nhvtcgwc.cdb \
$vars(design_root)/LIBS/STDCELL/CDB/NVT_CG/stdcell65ncgwc.cdb \
$vars(design_root)/LIBS/STDCELL/CDB/LVT_CG/stdcell65nlvtcgwc.cdb \
$vars(design_root)/LIBS/IO/CDB/iocell65nwc.cdb \
"
########################################################################################
# Define rc corners ...
# set vars(rc_corners) <list of rc corners>
# set vars(<rc_corner>,T) <temperature>
# set vars(<rc_corner>,cap_table) <cap table for corner>
########################################################################################
set vars(rc_corners) "rc_min rc_max"
set vars(rc_min,T) 0
set vars(rc_min,cap_table) $vars(design_root)/LIBS/TECHNOLOGY/CAP_TABLES/cbest/cbest.CapTbl
set vars(rc_max,T) 125
set vars(rc_max,cap_table) $vars(design_root)/LIBS/TECHNOLOGY/CAP_TABLES/cworst/cworst.CapTbl
########################################################################################
# Optionally define QRC technology information
#---------------------------------------------------------------------------------------
# set vars(<rc_corner>,qx_tech_file) <qx_tech_file for corner>
# set vars(<rc_corner>,qx_lib_file) <qx_lib_file for corner>
# set vars(<rc_corner>,qx_conf_file) <qx_conf_file for corner>
########################################################################################
set vars(rc_min,qx_tech_file) $vars(design_root)/LIBS/TECHNOLOGY/TECH_FILES/QRC/cbest/qrcTechFile
set vars(rc_min,qx_conf_file) $vars(design_root)/DATA/min_qrc.conf
set vars(rc_max,qx_tech_file) $vars(design_root)/LIBS/TECHNOLOGY/TECH_FILES/QRC/cworst/qrcTechFile
set vars(rc_max,qx_conf_file) $vars(design_root)/DATA/max_qrc.conf
########################################################################################
# Scale factors are also optional but are strongly encouraged for
# obtaining the best flow convergence and QoR. Scaling factors
# are applied per rc corner
#---------------------------------------------------------------------------------------
# set vars(<rc_corner>,def_res_factor) <pre-route resistance scale factor>
# set vars(<rc_corner>,def_clk_res_factor) <pre-route clock resistance scale factor>
# set vars(<rc_corner>,det_res_factor) <post-route resistance scale factor>
# set vars(<rc_corner>,det_clk_res_factor) <post-route clock resistance scale factor>
# set vars(<rc_corner>,def_cap_factor) <pre-route capacitance scale factor>
# set vars(<rc_corner>,def_clk_cap_factor) <pre-route clock capacitance scale factor>
# set vars(<rc_corner>,det_cap_factor) <post-route capacitance scale factor>
# set vars(<rc_corner>,det_clk_cap_factor) <post-route clock capacitance scale factor>
# set vars(<rc_corner>,xcap_factor) <post-route coupling capacitance scale factor>
########################################################################################
set vars(rc_min,def_res_factor) 1.0000
set vars(rc_min,def_clk_res_factor) 0.0000
set vars(rc_min,det_res_factor) 1.0000
set vars(rc_min,det_clk_res_factor) 0.0000
set vars(rc_min,def_cap_factor) 1.0000
set vars(rc_min,def_clk_cap_factor) 0.0000
set vars(rc_min,det_cap_factor) 1.0000
set vars(rc_min,det_clk_cap_factor) 0.0000
set vars(rc_min,xcap_factor) 1.0000
set vars(rc_max,def_res_factor) 0.9500
set vars(rc_max,def_clk_res_factor) 0.0000
set vars(rc_max,det_res_factor) 1.2700
set vars(rc_max,det_clk_res_factor) 0.0000
set vars(rc_max,def_cap_factor) 1.0900
set vars(rc_max,def_clk_cap_factor) 0.0000
set vars(rc_max,det_cap_factor) 1.1000
set vars(rc_max,det_clk_cap_factor) 1.0500
set vars(rc_max,xcap_factor) 1.5300
########################################################################################
# Define operating conditions (optional)
# set vars(opconds) <list of operating conditions>
# set vars(<opcond>,library_file) <library file >
# set vars(<opcond>,P) <process scale factor>
# set vars(<opcond>,V) <voltage>
# set vars(<opcond>,T) <temperature>
########################################################################################
########################################################################################
# Define delay corners ...
# set vars(delay_corners) <list of delay corners>
# set vars(<delay_corner>,library_set) <library_set> (previously defined)
# set vars(<delay_corner>,opcond) <opcond> (previously defined) (optional)
# set vars(<delay_corner>,rc_corner) library_set> (previously defined)
########################################################################################
set vars(delay_corners) "AVdefault_WC_dc AVdvfs2_BC_dc AVdefault_BC_dc AVdvfs2_WC_dc"
set vars(AVdefault_WC_dc,library_set) 1v080
set vars(AVdefault_WC_dc,rc_corner) rc_max
set vars(AVdvfs2_BC_dc,library_set) 1v056
set vars(AVdvfs2_BC_dc,rc_corner) rc_min
set vars(AVdefault_BC_dc,library_set) 1v320
set vars(AVdefault_BC_dc,rc_corner) rc_min
set vars(AVdvfs2_WC_dc,library_set) 0v864
set vars(AVdvfs2_WC_dc,rc_corner) rc_max
########################################################################################
# Optionally define derating factors for OCV here (clock and data).
# Derating factors are applied per delay corner
########################################################################################
#set vars(<delay_corner>,data_cell_late) <float>
#set vars(<delay_corner>,data_cell_early) <float>
#set vars(<delay_corner>,data_net_late) <float>
#set vars(<delay_corner>,data_net_early) <float>
#set vars(<delay_corner>,clock_cell_late) <float>
#set vars(<delay_corner>,clock_cell_early) <float>
#set vars(<delay_corner>,clock_net_late) <float>
#set vars(<delay_corner>,clock_net_early) <float>
set vars(AVdefault_WC_dc,data_cell_early) 0.97
set vars(AVdefault_WC_dc,data_cell_late) 1.03
set vars(AVdefault_WC_dc,clock_cell_early) 0.97
set vars(AVdefault_WC_dc,clock_cell_late) 1.03
set vars(AVdefault_WC_dc,data_net_early) 0.97
set vars(AVdefault_WC_dc,data_net_late) 1.03
set vars(AVdefault_WC_dc,clock_net_early) 0.97
set vars(AVdefault_WC_dc,clock_net_late) 1.03
set vars(AVdvfs2_WC_dc,data_cell_early) 0.97
set vars(AVdvfs2_WC_dc,data_cell_late) 1.03
set vars(AVdvfs2_WC_dc,clock_cell_early) 0.97
set vars(AVdvfs2_WC_dc,clock_cell_late) 1.03
set vars(AVdvfs2_WC_dc,data_net_early) 0.97
set vars(AVdvfs2_WC_dc,data_net_late) 1.03
set vars(AVdvfs2_WC_dc,clock_net_early) 0.97
set vars(AVdvfs2_WC_dc,clock_net_late) 1.03
set vars(AVdefault_BC_dc,data_cell_early) 0.97
set vars(AVdefault_BC_dc,data_cell_late) 1.03
set vars(AVdefault_BC_dc,clock_cell_early) 0.97
set vars(AVdefault_BC_dc,clock_cell_late) 1.03
set vars(AVdefault_BC_dc,data_net_early) 0.97
set vars(AVdefault_BC_dc,data_net_late) 1.03
set vars(AVdefault_BC_dc,clock_net_early) 0.97
set vars(AVdefault_BC_dc,clock_net_late) 1.03
set vars(AVdvfs2_BC_dc,data_cell_early) 0.97
set vars(AVdvfs2_BC_dc,data_cell_late) 1.03
set vars(AVdvfs2_BC_dc,clock_cell_early) 0.97
set vars(AVdvfs2_BC_dc,clock_cell_late) 1.03
set vars(AVdvfs2_BC_dc,data_net_early) 0.97
set vars(AVdvfs2_BC_dc,data_net_late) 1.03
set vars(AVdvfs2_BC_dc,clock_net_early) 0.97
set vars(AVdvfs2_BC_dc,clock_net_late) 1.03
########################################################################################
# Define constraint modes ...
# set vars(constraint_modes) <list of constraint modes>
# set vars(<mode>,pre_cts_sdc) <pre cts constraint file>
# set vars(<mode>,post_cts_sdc) <post cts constraint file> (optional)
########################################################################################
set vars(constraint_modes) "PMdefault PMdvfs2"
set vars(PMdefault,pre_cts_sdc) "$vars(design_root)/DATA/chip_top.sdc"
set vars(PMdvfs2,pre_cts_sdc) "$vars(design_root)/DATA/chip_top_dvfs2.sdc"
########################################################################################
# Define setup and hold analysis views ... each analysis view requires
# a delay corner and a constraint mode
########################################################################################
set vars(AVdefault_WC,delay_corner) AVdefault_WC_dc
set vars(AVdefault_WC,constraint_mode) PMdefault
set vars(AVdvfs2_WC,delay_corner) AVdvfs2_WC_dc
set vars(AVdvfs2_WC,constraint_mode) PMdvfs2
set vars(AVdefault_BC,delay_corner) AVdefault_BC_dc
set vars(AVdefault_BC,constraint_mode) PMdefault
set vars(AVdvfs2_BC,delay_corner) AVdvfs2_BC_dc
set vars(AVdvfs2_BC,constraint_mode) PMdvfs2
########################################################################################
# EDIT/VERIFY THESE LISTS!!
########################################################################################
set vars(setup_analysis_views) "AVdefault_WC AVdvfs2_WC"
set vars(hold_analysis_views) "AVdefault_BC AVdvfs2_BC"
########################################################################################
# Define active setup and hold analysis view lists and default views
########################################################################################
set vars(default_setup_view) [lindex $vars(setup_analysis_views) 0]
set vars(default_hold_view) [lindex $vars(hold_analysis_views) 0]
set vars(active_setup_views) $vars(setup_analysis_views)
set vars(active_hold_views) $vars(hold_analysis_views)
Puts "<FF> Finished loading setup.tcl file"