You are on page 1of 6

#########################################################################

################TO INITIATE THE


DESIGN##################################################################
##########################################################
set init_gnd_net VSS

######set_lef_files###########
set init_lef_file
{/home/sumpd26/srikanth_pudhari/alu_project/pnr/inputs/pnr_inputs/lef/gpdk090_9lm.lef
/home/sumpd26/srikanth_pudhari/alu_project/pnr/inputs/pnr_inputs/lef/gsclib090_fromOA.lef
/home/sumpd26/srikanth_pudhari/alu_project/pnr/inputs/pnr_inputs/lef/gsclib090_macro.lef}

######set_netlist_file#########
set init_verilog
/home/sumpd26/srikanth_pudhari/alu_project/synthesis/ALU/mappednewalumul.vg

#######set_viewdefinition_file######
set init_mmmc_file
/home/sumpd26/srikanth_pudhari/alu_project/pnr/inputs/pnr_inputs/viewDefinition.tcl
set init_pwr_net VDD
init_design

########SANITY_CHECKS############
checkDesign -netlist
checkDesign -PhysicalLibrary
checkdesign -timingLibrary
check_timing
timeDesign -preplace

###############
floorPlan -site gsclib090site -r 0.958384332925 0.699976 2 2 2 2

checkDesign -floorplan

#########PIN_PLACEMENT###########
editPin -fixOverlap 1 -unit MICRON -spreadDirection clockwise -side Top -layer 8
-spreadType start -spacing 0.2 -start 0.0 0.0 -pin {{a[0]} {a[1]} {a[2]} {a[3]} {a[4]} {a[5]} {a[6]}
{a[7]} {a[8]} {adda[0]} {adda[1]} {adda[2]} {adda[3]} {adda[4]} {adda[5]} {adda[6]} {adda[7]}
{adda[8]} {addb[0]} {addb[1]} {addb[2]} {addb[3]} {addb[4]} {addb[5]} {addb[6]} {addb[7]}
{addb[8]} {b[0]} {b[1]} {b[2]} {b[3]} {b[4]} {b[5]} {b[6]} {b[7]} {b[8]} {c[0]} {c[1]} {c[2]} {c[3]} {c[4]}
{c[5]} {c[6]} {c[7]} {c[8]} ci clk co {d[0]} {d[1]} {d[2]} {d[3]} {d[4]} {d[5]} {d[6]} {d[7]} {d[8]} I1 I2
orAll_r powerDwn {q[0]} {q[1]} {q[2]} {q[3]} {q[4]} {q[5]} {q[6]} {q[7]} {q[8]} {q[9]} {q[10]} {q[11]}
{q[12]} {q[13]} {q[14]} {q[15]} {q[16]} {q[17]} rst se si so {sumab[0]} {sumab[1]} {sumab[2]}
{sumab[3]} {sumab[4]} {sumab[5]} {sumab[6]} {sumab[7]} {sumab[8]} {sumab[9]} taiwan TE
TRI}
#legalize_Pin########
legalizePin

########TO_VERIFY_PIN_PLACEMENT#######
checkPinAssignment

#########adding Global_nets########
globalNetConnect VDD -type pgpin -pin VDD
globalNetConnect VSS -type pgpin -pin VSS

######special routes########
sroute

#######TO_ADD_METAL_LAYERS#########
addStripe -nets {VDD VSS} -layer Metal9 -direction horizontal -width 0.7 -spacing 0.7
-set_to_set_distance 13.1 -start_offset 5.34
setAddStripeMode -stacked_via_bottom_layer M8 -stacked_via_top_layer M9

addStripe -nets {VDD VSS} -layer Metal8 -direction vertical -width 0.7 -spacing 0.7
-set_to_set_distance 18 -start_offset 6
setAddStripeMode -stacked_via_bottom_layer M7 -stacked_via_top_layer M8

addStripe -nets {VDD VSS} -layer Metal7 -direction horizontal -width 0.465 -spacing 0.465
-set_to_set_distance 8.55 -start_offset 3.2
setAddStripeMode -stacked_via_bottom_layer M6 -stacked_via_top_layer M7

addStripe -nets {VDD VSS} -layer Metal6 -direction vertical -width 0.465 -spacing 0.465
-set_to_set_distance 12 -start_offset 4
setAddStripeMode -stacked_via_bottom_layer M5 -stacked_via_top_layer M6

addStripe -nets {VDD VSS} -layer Metal5 -direction horizontal -width 0.24 -spacing 0.24
-set_to_set_distance 6 -start_offset 1.8
setAddStripeMode -stacked_via_bottom_layer M4 -stacked_via_top_layer M5

#########TO_ENDCAP#####
addEndCap -preCap FILL4 -postCap FILL4 -prefix ENDCAP

########setting max layer############


setMaxRouteLayer 5

#########palce_design####
placeDesign -noPrePlaceOpt

##########verify_PG_short####
verify_PG_short
verifyConnectivity
verify_drc

report_timing
reportRoute
reportSpecialRoute

############check_timing_slacks_pre_cts#########
#####setup_slack######
timeDesign -preCTS

#######hold_slack#####
timeDesign -preCTS -hold

#####congestion###
describeCongestion
reportCongestion
reportCongestion -hotspot
reportCongestion -overflow
reportDensityMap

############TO_opt_design###################
place_opt_design

verify_PG_short
verifyConnectivity
verify_drc

report_timing
reportRoute
reportSpecialRoute

#####congestion###
describeCongestion
reportCongestion
reportCongestion -hotspot
reportCongestion -overflow
reportDensityMap

############check_timing_slacks_pre_cts#########
#####setup_slack######
timeDesign -preCTS

#######hold_slack#####
timeDesign -preCTS -hold
#########################################################################
#################CTS#####################################################
#########################################################################
##################

###########Non_Default_Rules Adding#####################
add_ndr -width_multiplier {M9:M8 2} -spacing_multiplier {M9:M8 2} -name top_route_ndr
add_ndr -width_multiplier {M7:M6 2} -spacing_multiplier {M7:M6 2} -name trunk_route_ndr
add_ndr -width_multiplier {M5:M4 2} -spacing_multiplier {M5:M4 2} -name leaf_route_ndr

create_route_type -name top_route_type -non_default_rule top_route_ndr


create_route_type -name trunk_route_type -non_default_rule trunk_route_ndr
create_route_type -name leaf_route_type -non_default_rule leaf_route_ndr

set_ccopt_property -route_type top_route_type -net_type top


set_ccopt_property -route_type trunk_route_type -net_type trunk
set_ccopt_property -route_type leaf_route_type -net_type leaf

set_ccopt_property target_skew 200ps


set_ccopt_property target_max_trans 0.196ns
set_ccopt_property buffer_cells CLKBUFX4

create_ccopt_clock_tree_spec -file alu.spec

source alu.spec
ccopt_design -cts

###########setup&hold checking###############
timeDesign -postCTS
timeDesign -postCTs -hold

####check_timing_reports if any violation check_again


#####hold optmizing#####
optDesign -postCTS -hold

##sanity checks##

report_ccopt_clock_tree_convergence > myalureports/cts/convergence.rpt


report_ccopt_clock_tree_structure > myalureports/cts/clocktreestruct.rpt
report_ccopt_clock_trees > myalureports/cts/clocktree.rpt
report_ccopt_skew_groups > myalureports/cts/skewgropus.rpt
report_ccopt_worst_chain > myalureports/cts/Wchain.rpt
#report_timing -path_group r2r -max_paths > myalureports/cts/r2r.rpt
#report_timing -path_group r2o -max_paths 486 > myalureports/cts/r2o.rpt
#report_timing -path_group i2r -max_paths 321 > myalureports/cts/i2r.rpt
report_area > myalureports/cts/area.rpt
report_power > myalureports/cts/power.rpt
checkDesign -netlist > myalureports/cts/netlist.rpt
saveNetlist myalureports/cts/myalunetlist.v

timeDesign -slackReports -expandedViews -drvReports -postCTS

#########################################################################
################ROUTING#################################################
#########################################################################
###################

routeDesign > myalureports/route/routedesign.rpt


checkRoute > myalureports/route/routereport.rpt
report_timing
#report_timing -path_group r2r -max_paths 11166 > myalureports/route/r2r.rpt
#report_timing -path_group r2o -max_paths 486 > myalureports/route/r2o.rpt
#report_timing -path_group i2r -max_paths 321 > myalureports/route/i2r.rpt
report_area > myalureports/route/area.rpt
report_power > myalureports/route/power.rpt
verify_PG_short > myalureports/route/pgshort.rpt
verify_connectivity -allPGPinPort > myalureports/route/connectivity.rpt
verify_drc > myalureports/route/drc.rpt
checkDesign -netlist > myalureports/route/netlist.rpt
saveNetlist myalureports/route/myalunetlist.v

#######################ENABLE_CPPR########
setAnalysisMode -analysisType onChipVariation -cppr both

optDesign -postRoute > myalureports/postroute/setupreport.rpt


optDesign -postRoute -hold > myalureports/postroute/holdreport.rpt
report_timing
#report_timing -path_group r2r -max_paths 11166 > myalureports/postroute/r2r.rpt
#report_timing -path_group r2o -max_paths 486 > myalureports/postroute/r2o.rpt
#report_timing -path_group i2r -max_paths 321 > myalureports/postroute/i2r.rpt

###########setup&hold checking###############
timeDesign -postCTS
timeDesign -postCTs -hold

#check_timing_reports if any violation check_again


#####hold optmizing#####
optDesign -postRoute -hold

report_area > myalureports/postroute/area.rpt


report_power > myalureports/postroute/power.rpt
verify_PG_short > myalureports/postroute/pgshort.rpt
verify_connectivity -allPGPinPort > myalureports/postroute/connectivity.rpt
verify_drc > myalureports/postroute/drc.rpt
describeCongestion > myalureports/postroute/describe.rpt
checkDesign -netlist > myalureports/postroute/netlist.rpt
saveNetlist myalureports/postroute/myalunetlist.vg

###########Generating_def#######
defOut myAlu.def

########Generating_SPEF#########
rcOut -spef myalu.spef

#########Generating_GDS#########
streamOut myalu

You might also like