SOFA/SNPS_DC/SCRIPTS/dc_template.tcl

52 lines
1.4 KiB
Tcl

##########################################################
# Template scripts to synthesize a combinational circuit
# using Design Compiler
# Author: Xifan Tang
# Organization: University of Utah
# Date: September 4th, 2020
##########################################################
# Variable declaration
set CTRITICAL_PATH 1; # [ns]
# Make sure a clean start
remove_design -all
set DB_FILE "/research/ece/lnis/CAD_TOOLS/DKITS/skywater/skywater-pdk/vendor/synopsys/results/lib/sky130_fd_sc_hd/db_nldm/sky130_fd_sc_hd__tt_025C_1v80.db"
# Read standard cell library
# Here we consider the Skywater 130nm High Density(HD) cell library
read_db ${DB_FILE}
set target_library ${DB_FILE}
set link_library ${DB_FILE}
set DESIGN_NAME DESIGN_NAME_VAR
set RTL_NETLIST RTL_NETLIST_VAR
# Parse the HDL
analyze -f verilog ${RTL_NETLIST}
elaborate ${DESIGN_NAME}
# Set constraints
# Push to 0 for the minimum area
set_max_area 0
# Link to technology library and start compilation
link
compile -map_effort high
# Output netlist
write -format Verilog -output ../GATE_NETLISTS/${DESIGN_NAME}_post_synth.v
# Report results
report_unit > ../RPT/${DESIGN_NAME}_unit.rpt
report_area > ../RPT/${DESIGN_NAME}_area.rpt
report_timing > ../RPT/${DESIGN_NAME}_timing.rpt
report_power > ../RPT/${DESIGN_NAME}_power.rpt
report_reference > ../RPT/${DESIGN_NAME}_reference.rpt
# Finish here
exit