diff --git a/.gitignore b/.gitignore index eae7c79e8..09761c023 100644 --- a/.gitignore +++ b/.gitignore @@ -52,7 +52,12 @@ examples/asm/sumtest/sumtest examples/asm/example/example examples/C/sum/sum examples/C/fir/fir -synthDC/hdl/*.sv linux/devicetree/debug/* !linux/devicetree/debug/dumpdts.sh *.dtb +synthDC/WORK +synthDC/alib-52 +synthDC/*.log +synthDC/*.svf +synthDC/runs/ +synthDC/hdl diff --git a/synthDC/Makefile b/synthDC/Makefile index 3af767878..33670429b 100755 --- a/synthDC/Makefile +++ b/synthDC/Makefile @@ -3,15 +3,16 @@ # NAME := synth -#instead of variant can we select 130nm, 90nm, or 28nm? +# *** instead of variant can we select 130nm, 90nm, or 28nm? VARIANT := 18T_ms # defaults export DESIGN ?= wallypipelinedcore export FREQ ?= 500 +export CONFIG ?= rv32e time := $(shell date +%F-%H-%M) hash := $(shell git rev-parse --short HEAD) -export OUTPUTDIR := runs/$(DESIGN)_$(FREQ)_MHz_$(time)_$(hash) +export OUTPUTDIR := runs/$(DESIGN)_$(CONFIG)_$(FREQ)_MHz_$(time)_$(hash) default: @echo "Basic synthesis procedure for OSU/HMC/UNLV:" @@ -22,19 +23,19 @@ synth: # @sed -i 's/18T_ms/${VARIANT}/g' scripts/synth.tcl # @sed -i 's/18T_ms/${VARIANT}/g' .synopsys_dc.setup @echo "DC Synthesis" + @mkdir -p hdl/ @mkdir -p $(OUTPUTDIR) @mkdir -p $(OUTPUTDIR)/reports @mkdir -p $(OUTPUTDIR)/mapped @mkdir -p $(OUTPUTDIR)/unmapped - dc_shell-xg-t -64bit -f scripts/$(NAME).tcl | tee $(NAME).out + dc_shell-xg-t -64bit -f scripts/$(NAME).tcl | tee $(OUTPUTDIR)/$(NAME).out # @cp mapped/*.sdc ../../outputs/ # @cp mapped/*.vh ../../outputs/ # @sed -i 's/${VARIANT}/18T_ms/g' scripts/synth.tcl # @sed -i 's/${VARIANT}/18T_ms/g' .synopsys_dc.setup clean: - rm -rf alib-52 WORK mapped unmapped reports analyzed $(NAME).out - mkdir mapped unmapped reports + rm -rf alib-52 WORK analyzed $(NAME).out rm -f hdl/* rm -f default.svf rm -f command.log diff --git a/synthDC/scripts/synth.tcl b/synthDC/scripts/synth.tcl index dc2763ac7..18d12494f 100755 --- a/synthDC/scripts/synth.tcl +++ b/synthDC/scripts/synth.tcl @@ -4,10 +4,10 @@ # # get outputDir from environment (Makefile) set outputDir $::env(OUTPUTDIR) - +set cfgName $::env(CONFIG) # Config set hdl_src "../pipelined/src" -set cfg "${hdl_src}/../config/rv32e/wally-config.vh" +set cfg "${hdl_src}/../config/${cfgName}/wally-config.vh" eval file copy -force ${cfg} {hdl/} eval file copy -force ${cfg} $outputDir