blob: a4f8b35d37fe365ca4e533fdf81358ba27db1252 [file] [log] [blame]
#!/bin/sh
# the next line restarts using tclsh \
exec tclsh "$0" ${1+"$@"}
package require Tcl 8.5
package require pdn
# not available in 8.5:
proc lmap args {
set body [lindex $args end]
set args [lrange $args 0 end-1]
set n 0
set pairs [list]
foreach {varnames listval} $args {
set varlist [list]
foreach varname $varnames {
upvar 1 $varname var$n
lappend varlist var$n
incr n
}
lappend pairs $varlist $listval
}
set temp [list]
foreach {*}$pairs {
lappend temp [uplevel 1 $body]
}
set temp
}
# Input = Macro-packed DEF (currently from innovus)
# Output = Def with PDN
set ::start_time [clock clicks -milliseconds]
pdn init [lindex $argv 0]
puts "Total walltime till PDN setup = [expr {[expr {[clock clicks -milliseconds] - $::start_time}]/1000.0}] seconds"
puts "##Power Delivery Network Generator: Generating PDN DEF"
set ::start_time [clock clicks -milliseconds]
pdn power_grid
pdn output_def
puts "Total walltime to generate PDN DEF = [expr {[expr {[clock clicks -milliseconds] - $::start_time}]/1000.0}] seconds"
puts "Macro-packed input def is $FpOutDef"
puts "##TASK 8 Final DEF generation with PDN : Stitching macro-packed DEF with SPECIAL NETS"
set cmd "exec def_gen $::FpOutDef [pdn get config def_output] $::design ${::design}_post_T8.def"
eval $cmd
puts "Total walltime till final DEF stitching = [expr {[expr {[clock clicks -milliseconds] - $::start_time}]/1000.0}] seconds"