You are on page 1of 2

#!

/usr/bin/tclsh
set input [open "timing.rpt" r]
set cell {}
set lib {}
while {[gets $input line] >= 0} {
if {[regep {!"#} $line] > 0} {
#cut the p$rentheses
set %$r& [lin'e $line &]
set %$r( [split $%$r& )*]
set %$r+ [lin'e $%$r( en']
set %$r, [split $%$r+ )-]
l$ppen' lib [lin'e $%$r, 0]
l$ppen' cell [lin'e $line 0]
}
}
set newlib {}
set newcell {}
#remo%e the s$me lib
set nu [llength $cell]
for {set i 0} {$i . [epr $nu /&]} {incr i} {
set chec0 [lin'e $lib $i]
set netchec0 [lin'e $lib [epr $i/&]]
if {$chec0 != $netchec0} {
l$ppen' newlib $chec0
l$ppen' newcell [lin'e $cell $i]
}
}
#puts $newlib
#puts $newcell
set newcell+ {}
fore$ch ncell $newcell {
set newcell( {}
set n& [split $ncell "/"]
set nu+ [llength $n&]
for {set i 0} {$i . [epr $nu+ 1 &]} {incr i} {
l$ppen' newcell( [lin'e $n& $i]
}
set newcell+ [2oin $newcell( "/"]
l$ppen' newcell, $newcell+
}
#puts $newcell,
close $input
set nu( [llength $newlib]
set output [open "cell3inform$tion.tt" w]
for {set i 0} {$i . $nu(} {incr i} {
set cell& [lin'e $newcell, $i]
set lib& [lin'e $newlib $i]
puts $output "$cell& )t $lib&"
}
close $output
regsub 1$ll {!"#} $newlib {4"#} libnew
set output [open "'oping.eco" w]
for {set i 0} {$i . $nu(} {incr i} {
set ol' [lin'e $newlib $i]
set new [lin'e $libnew $i]
set cell( [lin'e $newcell, $i]
puts $output "si5e3cell $cell( $new 6# $ol'"
}
close $output

You might also like