mirror of
https://github.com/The-OpenROAD-Project/OpenLane.git
synced 2026-06-14 00:00:25 +08:00
The best thing to happen to OpenLane since OpenLane.
Variables related to output files: i.e. logs, results and reports, are becoming more uniform.
* Variables now point to folders
* Variables now called `{stage}_{type}s`
* All variables renamed to be tool-generic
* magic, klayout, cvc and lvs all unified, renamed "finishing"
* Better flow runtime calculation
* All step runtimes are now stored in a yaml file, which can easily be read by a human or parsed by a computer.
* Better step indexing
* You have to increment the step index explicitly using `increment_index`.
* Functions that take log arguments now require you to not use an indexed file, it's their responsibility to index them.
* Changed names for many logs to make more sense
* A plethora of files being moved and/or renamed
* Yosys scripts were moved into their own folder
* All references to OpenLANE that are not a published paper have been replaced with OpenLane
* Copyright dates updated on some files
30 lines
796 B
Tcl
Executable File
30 lines
796 B
Tcl
Executable File
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
|
|
}
|
|
}
|
|
|
|
load $::env(finishing_results)/$::env(DESIGN_NAME).mag -dereference
|
|
|
|
cellname filepath $::env(DESIGN_NAME) $::env(finishing_results)
|
|
|
|
# Write LEF
|
|
if { $::env(MAGIC_WRITE_FULL_LEF) } {
|
|
puts "\[INFO\]: Writing non-abstract (full) LEF"
|
|
lef write $::env(finishing_results)/$::env(DESIGN_NAME).lef
|
|
} else {
|
|
puts "\[INFO\]: Writing abstract LEF"
|
|
if { [info exists ::env(FP_PDN_CORE_RING)] && $::env(FP_PDN_CORE_RING) == 1 } {
|
|
set tolerance 0.3
|
|
lef write $::env(finishing_results)/$::env(DESIGN_NAME).lef -hide
|
|
} else {
|
|
lef write $::env(finishing_results)/$::env(DESIGN_NAME).lef -hide
|
|
}
|
|
}
|
|
puts "\[INFO\]: LEF Write Complete"
|