blob: bd0c55032699fe88e5037dba5cf15a9a329b5c72 [file] [log] [blame]
###############################################################################
# CADENCE COPYRIGHT NOTICE
# © 2008-2013 Cadence Design Systems, Inc. All rights reserved.
#------------------------------------------------------------------------------
#
# This Foundation Flow is provided as an example of how to perform specialized
# tasks.
#
# This work may not be copied, re-published, uploaded, or distributed in any way,
# in any medium, whether in whole or in part, without prior written permission
# from Cadence. Notwithstanding any restrictions herein, subject to compliance
# with the terms and conditions of the Cadence software license agreement under
# which this material was provided, this material may be copied and internally
# distributed solely for internal purposes for use with Cadence tools.
#
# This work is Cadence intellectual property and may under no circumstances be
# given to third parties, neither in original nor in modified versions, without
# explicit written permission from Cadence. The information contained herein is
# the proprietary and confidential information of Cadence or its licensors, and
# is supplied subject to, and may be used only by Cadence's current customers
# in accordance with, a previously executed license agreement between Cadence
# and its customer.
#
#------------------------------------------------------------------------------
# THIS MATERIAL IS PROVIDED BY CADENCE "AS IS" AND ANY EXPRESS OR IMPLIED
# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
# IN NO EVENT SHALL CADENCE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL
# OR CONSEQUENTIAL DAMAGES HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS MATERIAL, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
###############################################################################
##########################################################################################"
# CDNS FOUNDATION FLOW"
#-----------------------------------------------------------------------------------------"
# This is the foundation flow setup file. It contains all the necessary design"
# data to drive all the CDNS foundation flows. Each flow will also require an"
# additional configuration file to define flow specific information:"
#-----------------------------------------------------------------------------------------"
# INNOVUS -> innovus_config.tcl (for flat and hier implementation flows)"
# + lp_config.tcl (additional information for flat and hier lp flows)"
# -> proto_config.tcl (for the prototyping flow)"
##########################################################################################"
global vars
set vars(version) 15.1
###############################################################################
# Define some variables to point to data, libraries, and scripts;
# script_root is required and must point to the foundation flow
# SCRIPTS directory. Recommendation is that the SCRIPTS directory
# should reside within the RUN directory
###############################################################################
set vars(design_root) <path to design data>
set vars(script_root) "./SCRIPTS"
###############################################################################
# The following variables are used to define
# the design data for the flow. Either a fp_file,
# def_file or both can be defined
# --------------------------------------------------------------------
set vars(design) <string>
set vars(netlist) <file>
set vars(fp_file) <file>
#set vars(oa_fp) "<lib> <cell> <view>"
#set vars(def_files) <list>
#set vars(fp_tcl_file) <TCL file>
#set vars(fp_tcl_proc) <TCL procedure name>
set vars(cts_spec) <list>
#set vars(scan_def) <list>
# --------------------------------------------------------------------
set vars(process) <string>
set vars(max_route_layer) <integer>
set vars(generate_tracks) <boolean> (OPTIONAL)
#set vars(honor_pitch) <boolean> (OPTIONAL)
###############################################################################
# One of cpf_file and ieee1801_file is REQUIRED for low power flows
# --------------------------------------------------------------------
#set vars(cpf_file) <file>
#set vars(ieee1801_file) <file>
# --------------------------------------------------------------------
# Optionally set the following to keep the previously defined rows
# If using IEEE 1801, replace "cpf" with "ieee1801".
#set vars(cpf_keep_rows) <boolean>
###############################################################################
# Define power/ground nets
###############################################################################
#set vars(power_nets) <list>
#set vars(ground_nets) <list>
###############################################################################
# The following are for defining user ILMs for flat or hierarchical flows.
# vars(<ilm>,lef_file) is only necessary if the ILM lef file does not
# exist in the vars(lef_files) list.
# --------------------------------------------------------------------
#set vars(ilm_list) <list>
#set vars(<ilm>,ilm_dir) <directory>
#set vars(<ilm>,lef_file) <file>
###############################################################################
# The following are REQUIRED for the ILM based
# hierarchical flow but are not necessary for
# the flat implementation flows.
# - cts spec for each partiition
# - latency sdc for each partition
# - edi config file for each (when applicable)
# --------------------------------------------------------------------
#set vars(partition_list) <list>
#set vars(<ptn1>,cts_spec) <file>
#set vars(<ptn1>,latency_sdc) <file>
#set vars(<ptn1>,<innovus_config_tcl) <file>
###############################################################################
# Define library sets ... (REQUIRED)
# --------------------------------------------------------------------
set vars(library_sets) <list>
set vars(<set1>,timing) <list>
set vars(<set1>,si) <list>
###############################################################################
# Define lef library files ... (REQUIRED)
# --------------------------------------------------------------------
set vars(lef_files) <list>
###############################################################################
# Define rc corners ... (REQUIRED)
# --------------------------------------------------------------------
set vars(rc_corners) <list>
set vars(<corner1>,T) <integer>
set vars(<corner1>,cap_table) <file>
#set vars(<corner1>,atf_file) <file>
set vars(<corner1>,qx_tech_file) <file>
# set vars(<corner>,qx_lib_file) <file>
# set vars(<corner>,qx_conf_file) <file>
###############################################################################
# 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(<corner1>,def_res_factor) <pre-route resistance scale factor>
# set vars(<corner1>,det_res_factor) <post-route resistance scale factor>
# set vars(<corner1>,def_cap_factor) <pre-route capacitance scale factor>
# set vars(<corner1>,det_cap_factor) <post-route capacitance scale factor>
# set vars(<corner1>,def_clk_res_factor) <pre-route clock resistance scale factor>
# set vars(<corner1>,det_clk_res_factor) <post-route clock resistance scale factor>
# set vars(<corner1>,def_clk_cap_factor) <pre-route clock capacitance scale factor>
# set vars(<corner1>,det_clk_cap_factor) <post-route clock capacitance scale factor>
# set vars(<corner1>,xcap_factor) <coupling capacitance scale factor>
###############################################################################
set vars(<corner1>,def_res_factor) <float>
set vars(<corner1>,det_res_factor) <float | triplet>
set vars(<corner1>,def_cap_factor) <float>
set vars(<corner1>,det_cap_factor) <float | triplet>
set vars(<corner1>,def_clk_res_factor) <float>
set vars(<corner1>,det_clk_res_factor) <float>
set vars(<corner1>,def_clk_cap_factor) <float>
set vars(<corner1>,det_clk_cap_factor) <float>
set vars(<corner1>,xcap_factor) <float | triplet>
###############################################################################
# Define operating conditions (optional)
# --------------------------------------------------------------------
# set vars(opconds) "<opcond1> <opcond2> ..."
# set vars(<opcond1>,library_file) <library file >
# set vars(<opcond1>,process) <process scale factor>
# set vars(<opcond1>,voltage) <voltage>
# set vars(<opcond1>,temperature) <temperature>
###############################################################################
###############################################################################
# Define delay corners ...
# --------------------------------------------------------------------
set vars(delay_corners) <list>
set vars(<corner1>,library_set) <string>
set vars(<corner1>,rc_corner) <string>
#---------------------------------------------------------------------
# Define derating factors for OCV here (clock and data).
# Derating factors are applied per delay corner ...
# OR, simply define vars(derate_tcl) plug-in with ALL
# your set_timing_derate commands and it will be used
#---------------------------------------------------------------------
set vars(<corner1>,data_cell_late) <float>
set vars(<corner1>,data_cell_early) <float>
set vars(<corner1>,data_net_late) <float>
set vars(<corner1>,data_net_early) <float>
set vars(<corner1>,clock_cell_late) <float>
set vars(<corner1>,clock_cell_early) <float>
set vars(<corner1>,clock_net_late) <float>
set vars(<corner1>,clock_net_early) <float>
#set vars(<corner1>,cell_check_late) <float>
#set vars(<corner1>,cell_check_early) <float>
###############################################################################
# Define constraints modes ... (REQUIRED)
# --------------------------------------------------------------------
set vars(constraint_modes) <list>
set vars(<mode1>,pre_cts_sdc) <file>
# --------------------------------------------------------------------
# The following are optional for each mode ...
# Use EITHER incremental OR full post cts sdc
# --------------------------------------------------------------------
#set vars(<mode1>,post_cts_sdc) <file>
#set vars(<mode1>,incr_cts_sdc) <file>
###############################################################################
# Define analysis views ... (REQUIRED)
# --------------------------------------------------------------------
set vars(setup_analysis_views) <list>
set vars(hold_analysis_views) <list>
set vars(<view1>,delay_corner) <string>
set vars(<view1>,constraint_mode) <string>
###############################################################################
# Define active setup and hold views and denote
# which are default (REQUIRED)
###############################################################################
set vars(default_setup_view) <string>
set vars(default_hold_view) <string>
set vars(active_setup_views) <list>
set vars(active_hold_views) <list>
set vars(power_analysis_view) <string>
###############################################################################
# Define GDS information ... (OPTIONAL)
# --------------------------------------------------------------------
#set vars(gds_files) <list>
#set vars(gds_layer_map) <file>
#set vars(qrc_layer_map) <file>
#set vars(qrc_library) <directory>
#set vars(qrc_config_file) <file>
###############################################################################
# Define extraction thresholds. Below are the recommended settings for 90nm
# and below. The are not the flow defaultsso they need to be set here.
###############################################################################
#set vars(relative_c_thresh) <float>
#set vars(total_c_thresh) <float>
#set vars(coupling_c_thresh) <float>
###############################################################################
# Define noise analysis settings. Below are the recommended settings for
# 90nm and below. They are not the flow defaults as they come with a
# run time penalty
###############################################################################
#set vars(delta_delay_threshold) <float>
#########################################################################################
# Variables for OA design import and export (OPTIONAL)
# ---------------------------------------------------------------------------------------
#set vars(oa_design_lib) <string>
#set vars(oa_design_cell) <string>
#set vars(oa_design_view) <string>
# ---------------------------------------------------------------------------------------
#set vars(oa_ref_lib) <string>
#set vars(oa_abstract_name) <string>
#set vars(oa_layout_name) <string>
#########################################################################################
#######################################################################
# Distribution setup - lsf, rsh, local, or custom
#######################################################################
#set vars(distribute) <local | custom | lsf | rsh>
#set vars(distribute_timeout) <seconds>
#set vars(custom,script) <string>
#set vars(lsf,queue) <string>
#set vars(lsf,resource) <string>
#set vars(lsf,args) <string>
#set vars(local_cpus) <integer>
#set vars(remote_hosts) <integer>
#set vars(cpus_per_remote_host) <integer>
#set vars(rsh,hosts) <list>
#set vars(rsh,hosts) <list>
#######################################################################
# Design variables to handel large designs 10+M instances
# set placement_based_ptn to 1 to get place based flow
# set abutted_design to 1 to get steps like feedthrrouh with correct
# trialRoute settings
# set insert_feedthrough to 1 to add feedthrough for channel-based
# designs (feedthrough is always inserted for channelless designs,
# i.e. those where abutted_design is 1)
#######################################################################
#set vars(placement_based_ptn) <boolean>
#set vars(abutted_design) <boolean>
#set vars(insert_feedthrough) <boolean>
#######################################################################
# Variables controlling the use of flexmodels in the top-down
# hierarchical flow.
#######################################################################
#set vars(use_flexmodels) <boolean>
#set vars(model_gen,art_based) <boolean>
#set vars(model_gen,no_hold_view) <boolean>
#set vars(model_gen,min_inst) <integer>
Puts "<FF> Finished loading setup.tcl"