diff --git a/.gitignore b/.gitignore index 93d51eee05..63ab56e2a3 100644 --- a/.gitignore +++ b/.gitignore @@ -51,6 +51,8 @@ flow/*.opennet flow/platforms/* !flow/platforms/nangate45 +flow/private/* + # network .nfs* diff --git a/flow/Makefile b/flow/Makefile index 2978ac590b..f8fbdc1228 100644 --- a/flow/Makefile +++ b/flow/Makefile @@ -459,18 +459,12 @@ clean_all: clean_synth clean_floorplan clean_place clean_cts clean_route clean_f nuke: clean_test clean_issues rm -rf ./results ./logs ./reports ./objects rm -rf layer_*.mps macrocell.list *best.plt *_pdn.def dummy.guide run.param - rm -rf *.rpt *.rpt.old *.def.v innovus.* pin_dumper.log + rm -rf *.rpt *.rpt.old *.def.v pin_dumper.log rm -rf versions.txt # DEF/GDS viewer shortcuts #------------------------------------------------------------------------------- -$(foreach def,$(notdir $(wildcard $(RESULTS_DIR)/*.def)),innovus_$(def)): innovus_%: - innovus -execute "loadLefFile $(OBJECTS_DIR)/merged.lef ; \ - loadDefFile $(RESULTS_DIR)/$* ; \ - win" \ - -no_logv ; stty sane - RESULTS_DEF = $(notdir $(wildcard $(RESULTS_DIR)/*.def)) RESULTS_GDS = $(notdir $(wildcard $(RESULTS_DIR)/*.gds)) $(foreach file,$(RESULTS_DEF) $(RESULTS_GDS),klayout_$(file)): klayout_%: $(OBJECTS_DIR)/klayout.lyt @@ -480,3 +474,4 @@ $(foreach file,$(RESULTS_DEF) $(RESULTS_GDS),klayout_$(file)): klayout_%: $(OBJE # Utilities #------------------------------------------------------------------------------- include $(UTILS_DIR)/utils.mk +-include ./private/util/utils.mk diff --git a/flow/test/test_helper.sh b/flow/test/test_helper.sh index da94e6752e..fda62a3df4 100755 --- a/flow/test/test_helper.sh +++ b/flow/test/test_helper.sh @@ -21,10 +21,9 @@ set -o pipefail mkdir -p $TEST_DIR/logs/$PLATFORM -if which innovus &> /dev/null; then +if [ -f "./private/util/utils.mk" ]; then TARGETS="finish drc congestion" else - echo "INFO: No innovus installation detected; skipping third-party DRC" TARGETS="finish" fi diff --git a/flow/util/explore_route.tcl b/flow/util/explore_route.tcl deleted file mode 100644 index 1ad26f8650..0000000000 --- a/flow/util/explore_route.tcl +++ /dev/null @@ -1,60 +0,0 @@ -# Read process files -foreach libFile $::env(LIB_FILES) { - read_liberty $libFile -} -read_lef $::env(OBJECTS_DIR)/merged_padded.lef -read_def $::env(RESULTS_DIR)/4_cts.def - - -## Setup -set id "$::env(min_routing_layer)_$::env(max_routing_layer)_$::env(capacity_adjustment)_$::env(unidirectional_routing)_$::env(layers_adjustment1)_$::env(layers_adjustment2)_$::env(layers_adjustment3)_$::env(layers_adjustment4)_$::env(layers_adjustment5)_$::env(layers_adjustment6)_$::env(layers_adjustment7)" -puts "Run ID: $id" - -file delete -force $::env(RESULTS_DIR)/explore/$id -file mkdir $::env(RESULTS_DIR)/explore/$id - -## global_routing -set_wire_rc -layer $::env(WIRE_RC_LAYER) -fastroute -output_file $::env(RESULTS_DIR)/explore/$id/route.guide \ - -min_routing_layer $::env(min_routing_layer) \ - -max_routing_layer $::env(max_routing_layer) \ - -capacity_adjustment $::env(capacity_adjustment) \ - -unidirectional_routing $::env(unidirectional_routing) \ - -layers_adjustment [list "1 $::env(layers_adjustment1)" \ - "2 $::env(layers_adjustment2)" \ - "3 $::env(layers_adjustment3)" \ - "4 $::env(layers_adjustment4)" \ - "5 $::env(layers_adjustment5)" \ - "6 $::env(layers_adjustment6)" \ - "7 $::env(layers_adjustment7)"] - -## Create Param File -set paramFile [open "$::env(RESULTS_DIR)/explore/$id/TritonRoute.param" w] - -puts $paramFile "lef:$::env(TRITON_ROUTE_LEF)" -puts $paramFile "def:$::env(RESULTS_DIR)/4_cts.def" -puts $paramFile "guide:$::env(RESULTS_DIR)/explore/$id/route.guide" -puts $paramFile "output:$::env(RESULTS_DIR)/explore/$id/5_route.def" -puts $paramFile "outputTA:$::env(RESULTS_DIR)/explore/$id/5_route_TA.def" -puts $paramFile "outputguide:$::env(RESULTS_DIR)/explore/$id/output_guide.mod" -puts $paramFile "outputDRC:$::env(RESULTS_DIR)/explore/$id/5_route_drc.rpt" -puts $paramFile "outputMaze:$::env(RESULTS_DIR)/explore/$id/maze.log" -puts $paramFile "threads:1" -puts $paramFile "cpxthreads:1" -puts $paramFile "verbose:1" -puts $paramFile "gap:0" -puts $paramFile "timeout:2400" -close $paramFile - -## TritonRoute -exec TritonRoute $::env(RESULTS_DIR)/explore/$id/TritonRoute.param - - -## Innovus DRC Checking -exec innovus -no_gui -no_logv -execute "loadLefFile $::env(OBJECTS_DIR)/merged.lef ; \ - loadDefFile $::env(RESULTS_DIR)/explore/$id/5_route.def; \ - verify_drc -limit 10000 -report $::env(RESULTS_DIR)/explore/$id/drc.rpt; \ - exit" - - -exit diff --git a/flow/util/utils.mk b/flow/util/utils.mk index ed8d1d3e1e..695b7055f5 100644 --- a/flow/util/utils.mk +++ b/flow/util/utils.mk @@ -1,41 +1,14 @@ # Utilities #=============================================================================== -drc: $(REPORTS_DIR)/drc.rpt -$(REPORTS_DIR)/drc.rpt: finish - innovus -execute "loadLefFile $(OBJECTS_DIR)/merged.lef ; \ - loadDefFile $(RESULTS_DIR)/5_route.def; \ - verify_drc -limit 10000 -report $(REPORTS_DIR)/drc.rpt; \ - exit" \ - -no_gui -no_logv -#; stty sane here breaks gnu parallel - -congestion: $(REPORTS_DIR)/congestion.rpt -$(REPORTS_DIR)/congestion.rpt: $(RESULTS_DIR)/4_cts.def - innovus -execute "loadLefFile $(OBJECTS_DIR)/merged.lef ; \ - loadDefFile $<; \ - earlyGlobalRoute; \ - describeCongestion > $@; \ - reportCongestion -hotSpot -overflow >> $@; \ - exit" \ - -no_gui -no_logv -#; stty sane here breaks gnu parallel - - grep_cells: find ./logs/ -iname 1_1_yosys.log -exec sh -c "grep -iH 'Number of cells' {} | tail -1" \; -grep_drc: - find ./reports/ -iname drc.rpt -exec sh -c "grep -iH 'viol' {} | tail -1" \; - -grep_congestion: - find ./reports/ -iname congestion.rpt -exec sh -c "grep -iH 'congestion index' {} | tail -1" \; - grep_util: find ./reports/ -iname 6_final_report.rpt -exec sh -c "grep -iH 'Design area' {} | tail -1" \; # Run test using gnu parallel #------------------------------------------------------------------------------- -TEST_SCRIPT ?= $(TEST_DIR)/core_tests.sh +TEST_SCRIPT ?= $(TEST_DIR)/gf14.sh run_test: parallel --sshloginfile $(TEST_DIR)/nodes.txt \ --timeout 21600 \ @@ -92,6 +65,3 @@ $(foreach script,$(ISSUE_SCRIPTS),$(script)_issue): %_issue : versions.txt clean_issues: rm -rf $(foreach issue, $(ISSUE_SCRIPTS), $(issue)_*.tar.gz) rm -rf vars.sh runme.sh - -explore: - min_routing_layer=2 max_routing_layer=7 capacity_adjustment=0 unidirectional_routing=1 layers_adjustment1=0.9 layers_adjustment2=0.5 layers_adjustment3=0.5 layers_adjustment4=0.5 layers_adjustment5=0.5 layers_adjustment6=0.5 layers_adjustment7=0.5 openroad -no_init ./util/explore_route.tcl \ No newline at end of file