You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

67 lines
1.7 KiB
Tcl

# Performs RTL-to-GDS in a single script
# No checkpointing is performed
set standalone 0
# Synthesis
source -verbose $::env(SCRIPTS_DIR)/yosys.tcl
# Read process / design
# Read lef
read_lef $::env(TECH_LEF)
read_lef $::env(SC_LEF)
if {[info exist ::env(ADDITIONAL_LEFS)]} {
foreach lef $::env(ADDITIONAL_LEFS) {
read_lef $lef
}
}
# Read liberty files
foreach libFile $::env(LIB_FILES) {
read_liberty $libFile
}
read_verilog $::env(RESULTS_DIR)/1_1_yosys.v
link_design $::env(DESIGN_NAME)
read_sdc $::env(SDC_FILE)
if [file exists $::env(PLATFORM_DIR)/derate.tcl] {
source $::env(PLATFORM_DIR)/derate.tcl
}
if [file exists $::env(PLATFORM_DIR)/setRC.tcl] {
source $::env(PLATFORM_DIR)/setRC.tcl
}
# Floorplan
source -verbose $::env(SCRIPTS_DIR)/floorplan.tcl
source -verbose $::env(SCRIPTS_DIR)/io_placement_random.tcl
source -verbose $::env(SCRIPTS_DIR)/tdms_place.tcl
source -verbose $::env(SCRIPTS_DIR)/macro_place.tcl
source -verbose $::env(SCRIPTS_DIR)/tapcell.tcl
source -verbose $::env(SCRIPTS_DIR)/pdn.tcl
# Place
source -verbose $::env(SCRIPTS_DIR)/global_place.tcl
source -verbose $::env(SCRIPTS_DIR)/io_placement.tcl
source -verbose $::env(SCRIPTS_DIR)/resize.tcl
source -verbose $::env(SCRIPTS_DIR)/detail_place.tcl
# CTS
source -verbose $::env(SCRIPTS_DIR)/cts.tcl
source -verbose $::env(SCRIPTS_DIR)/fillcell.tcl
# Route
source -verbose $::env(SCRIPTS_DIR)/global_route.tcl
source -verbose $::env(SCRIPTS_DIR)/detail_route.tcl
# Finishing
if {[info exists ::env(USE_FILL)]} {
source -verbose $::env(SCRIPTS_DIR)/density_fill.tcl
}
# Finishing
source -verbose $::env(SCRIPTS_DIR)/final_report.tcl
source -verbose $::env(SCRIPTS_DIR)/klayout.tcl
exit