Compiled C
Compiled C
#######################################################################
# The following part needs no modifications
#######################################################################
####################################
# Use multiple cores #
####################################
set_host_options -max_cores 16
####################################
# Setup library #
####################################
# allows files to be read in without specifying the directory path
set search_path ". /project/linuxlab/synopsys/syncore/libraries /project/linuxla
b/synopsys/syncore/minpower/syn /project/linuxlab/synopsys/syncore/dw/syn_ver /p
roject/linuxlab/synopsys/syncore/dw/sin_ver /project/linuxlab/cadence/vendors/VT
VT/vtvt_tsmc180/Synopsys_Libraries/libs"
# Technology cell symbol library
set symbol_lib "vtvt_tsmc180.sdb"
# Technology cell files
set target_library "vtvt_tsmc180.db"
# Used during design linking
set link_library "* dw_foundation.sldb vtvt_tsmc180.db"
# Library of designware components
set synthetic_library "dw_foundation.sldb"
# Directory where DC placed intermediate files
define_design_lib WORK -path ./WORK
# removing high drive inverter
# set_dont_use inv_4
#######################################
# Read in Verilog Source Files #
#######################################
# This command does the same work of analyze+elaborate
# read_verilog $my_verilog_files
# Translates HDL to intermediate format
analyze -f verilog $my_verilog_files
# Buids generic technology database
elaborate $my_toplevel
# Designate the design to synthesize
current_design $my_toplevel
#######################################
# Verilog (?) Compiler settings #
#######################################
# to make DC not use the assign statement in its output netlist
set verilogout_no_tri true
# assume this means DC will ignore the case of the letters in net and module nam
es
#set verilogout_ignore_case true
# unconnected nets will be marked by adding a prefix to its name
set verilogout_unconnected_prefix "UNCONNECTED"
# show unconnected pins when creating module ports
set verilogout_show_unconnected_pins true
# make sure that vectored ports don't get split up into single bits
set verilogout_single_bit false
# generate a netlist without creating an EDIF schematic
set edifout_netlist_only true
#######################################
# Define constraints #
#######################################
# setting the approximate skew
set CLK_SKEW [expr 0.025 * $CLK_PERIOD]
# constraint design area units depends on the technology library
# set MAX_AREA 20000.0
# set_max_area $MAX_AREA
# power constraints
# set MAX_LEAKAGE_POWER 0.0
# set_max_leakage_power $MAX_LEAKAGE_POWER
# set MAX_DYNAMIC_POWER 0.0
# set_max_dynamic_power $MAX_DYNAMIC_POWER
# make sure ports aren't connected together
set_fix_multiple_port_nets -all
# setting the port of clock
create_clock -period $CLK_PERIOD $CLOCK_INPUT
## Design Rule Constraints
set DRIVINGCELL inv_1
set DRIVE_PIN {Y}
# set input driving cell strength / Max fanout for all design
# set_driving_cell -lib_cell $DRIVINGCELL -pin $DRIVE_PIN [all_inputs]
set_driving_cell -lib_cell $DRIVINGCELL [all_inputs]
# largest fanout allowed
#set MAX_FANOUT 8
#set_max_fanout $MAX_FANOUT
# models load on output ports
#set MAX_OUTPUT_LOAD [load_of ssc_core/buf1a2/A]
#set_load $MAX_OUTPUT_load [all_outputs]
set MAX_OUTPUT_load 57.462
set_load $MAX_OUTPUT_load [all_outputs]
# incase of variable load at each output port
# set_load <loadvalue> [get_ports {<portnames>}]