blob: 6ba329d495fbb5f37a73e193c5ff366d3f6f509d [file] [log] [blame]
#set olddir [pwd]
#cd $::env(RESULTS_DIR)/magic
drc off
lef read $::env(TECH_LEF)
if { [info exist ::env(EXTRA_LEFS)] } {
set lefs_in $::env(EXTRA_LEFS)
foreach lef_file $lefs_in {
lef read $lef_file
}
}
# Read def and load design
def read $::env(CURRENT_DEF)
gds readonly true
gds rescale false
if { [info exist ::env(EXTRA_GDS_FILES)] } {
set gds_files_in $::env(EXTRA_GDS_FILES)
foreach gds_file $gds_files_in {
gds read $gds_file
}
}
load $::env(DESIGN_NAME)
select top cell
# padding
if { $::env(MAGIC_PAD) } {
puts "padding lefs"
# assuming scalegrid 1 2
# use um
select top cell
box grow right [expr 100*($::env(PLACE_SITE_WIDTH))]
box grow left [expr 100*($::env(PLACE_SITE_WIDTH))]
box grow up [expr 100*($::env(PLACE_SITE_HEIGHT))]
box grow down [expr 100*($::env(PLACE_SITE_HEIGHT))]
property FIXED_BBOX [box values]
}
if { $::env(MAGIC_ZEROIZE_ORIGIN) } {
# assuming scalegrid 1 2
# makes origin zero based on the selection
puts "zeroizing origin"
set bbox [box values]
set offset_x [lindex $bbox 0]
set offset_y [lindex $bbox 1]
move origin [expr {$offset_x/2}] [expr {$offset_y/2}]
puts "current box values: [box values]"
property FIXED_BBOX [box values]
}
select top cell
puts "saving box values: [box values]"
save $::env(magic_result_file_tag).mag
puts "saved box values: [box values]"
# Write gds
if { $::env(MAGIC_GENERATE_GDS) } {
cif *hier write disable
gds write $::env(magic_result_file_tag).gds
puts "GDS write complete"
}
if { $::env(MAGIC_GENERATE_LEF) } {
lef write $::env(magic_result_file_tag).lef -hide
lef write $::env(magic_result_file_tag).full.lef
puts "LEF write complete"
}
puts "MAGIC TAPEOUT STEP DONE"
#cd $olddir
exit 0