Hi all,
I have been using following tcl script for flattening data and deleting unused cell references
But it is taking more then 10 hours to complete the process for some reason.
The gds I am using is top level Chip cell. But not so big.
Please help me to detect what is wrong with this script which might be causing this long run time.
I am using following command to run the tcl script.
calibredrv /tools/cad/bin/flattenGds.tcl -gds chipTop_tmp.gds -output chipTop_plot.gds >> calibreDRV.log
TCL script is as follows:
# Script flattens data and deletes unused cell references
# Intended for use with nodePlot.
# Procedure to define the options for the run
proc get_options { argv } {
global option
set option(gds) " "
set option(output) " "
set len [ llength $argv ]
set ptr 0
while { $ptr < $len } {
set opt [ lindex $argv $ptr ]
switch -exact -- $opt {
-gds { set option(gds) [ lindex $argv [ expr $ptr + 1 ] ] }
-output { set option(output) [ lindex $argv [ expr $ptr + 1 ] ] }
default {
puts "ILLEGAL OPTION: $opt"
exit
}
}
set ptr [ expr $ptr + 2 ]
}
}
# get command line options
get_options $argv
# ABORT job if gds files do not exist
if { ![ file exists $option(gds) ] } {
puts "ERROR: gds file $option(gds) not found"
exit
}
# Open GDS
set DB1 [ layout create $option(gds) -dt_expand ]
# Get topcell
set topcell [$DB1 topcell]
# Get cell name list
set cell_list [$DB1 cells]
# Flatten each cell and delete unused cells
foreach cell $cell_list {
$DB1 expand cell $cell
if { $cell != $topcell } {
$DB1 delete cell $cell
}
}
# Create New GDS
$DB1 gdsout $option(output) "-noEmptyCells" "noRefs"
puts "##### Flattening GDS Has Completed ##### \n\n\n"
Please guide. I appreciate your help.
Thanks
Sanket