Cleaned up synthesis flow.

This commit is contained in:
Ross Thompson 2022-02-09 15:18:49 -06:00
parent 04cf60a6bf
commit ed4e912413
3 changed files with 14 additions and 8 deletions

7
.gitignore vendored
View File

@ -52,7 +52,12 @@ examples/asm/sumtest/sumtest
examples/asm/example/example examples/asm/example/example
examples/C/sum/sum examples/C/sum/sum
examples/C/fir/fir examples/C/fir/fir
synthDC/hdl/*.sv
linux/devicetree/debug/* linux/devicetree/debug/*
!linux/devicetree/debug/dumpdts.sh !linux/devicetree/debug/dumpdts.sh
*.dtb *.dtb
synthDC/WORK
synthDC/alib-52
synthDC/*.log
synthDC/*.svf
synthDC/runs/
synthDC/hdl

View File

@ -3,15 +3,16 @@
# #
NAME := synth 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 VARIANT := 18T_ms
# defaults # defaults
export DESIGN ?= wallypipelinedcore export DESIGN ?= wallypipelinedcore
export FREQ ?= 500 export FREQ ?= 500
export CONFIG ?= rv32e
time := $(shell date +%F-%H-%M) time := $(shell date +%F-%H-%M)
hash := $(shell git rev-parse --short HEAD) 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: default:
@echo "Basic synthesis procedure for OSU/HMC/UNLV:" @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' scripts/synth.tcl
# @sed -i 's/18T_ms/${VARIANT}/g' .synopsys_dc.setup # @sed -i 's/18T_ms/${VARIANT}/g' .synopsys_dc.setup
@echo "DC Synthesis" @echo "DC Synthesis"
@mkdir -p hdl/
@mkdir -p $(OUTPUTDIR) @mkdir -p $(OUTPUTDIR)
@mkdir -p $(OUTPUTDIR)/reports @mkdir -p $(OUTPUTDIR)/reports
@mkdir -p $(OUTPUTDIR)/mapped @mkdir -p $(OUTPUTDIR)/mapped
@mkdir -p $(OUTPUTDIR)/unmapped @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/*.sdc ../../outputs/
# @cp mapped/*.vh ../../outputs/ # @cp mapped/*.vh ../../outputs/
# @sed -i 's/${VARIANT}/18T_ms/g' scripts/synth.tcl # @sed -i 's/${VARIANT}/18T_ms/g' scripts/synth.tcl
# @sed -i 's/${VARIANT}/18T_ms/g' .synopsys_dc.setup # @sed -i 's/${VARIANT}/18T_ms/g' .synopsys_dc.setup
clean: clean:
rm -rf alib-52 WORK mapped unmapped reports analyzed $(NAME).out rm -rf alib-52 WORK analyzed $(NAME).out
mkdir mapped unmapped reports
rm -f hdl/* rm -f hdl/*
rm -f default.svf rm -f default.svf
rm -f command.log rm -f command.log

View File

@ -4,10 +4,10 @@
# #
# get outputDir from environment (Makefile) # get outputDir from environment (Makefile)
set outputDir $::env(OUTPUTDIR) set outputDir $::env(OUTPUTDIR)
set cfgName $::env(CONFIG)
# Config # Config
set hdl_src "../pipelined/src" 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} {hdl/}
eval file copy -force ${cfg} $outputDir eval file copy -force ${cfg} $outputDir