mirror of
https://github.com/openhwgroup/cvw.git
synced 2025-04-23 05:17:20 -04:00
Removed TOPO flag for synthesis; implied by tsmc28psyn
This commit is contained in:
parent
527566c38a
commit
17525b67cc
2 changed files with 9 additions and 25 deletions
|
@ -21,7 +21,6 @@ export MAXCORES ?= 1
|
|||
export MAXOPT ?= 0
|
||||
export DRIVE ?= FLOP
|
||||
export USESRAM ?= 0
|
||||
export USETOPO ?= 0
|
||||
|
||||
time := $(shell date +%F-%H-%M)
|
||||
hash := $(shell git rev-parse --short HEAD)
|
||||
|
@ -50,18 +49,6 @@ DIRS = $(DIRS32) $(DIRS64)
|
|||
|
||||
configs: $(CONFIG)
|
||||
$(CONFIG):
|
||||
ifeq ($(USETOPO), 0))
|
||||
ifeq ($(TECH), tsmc28psyn))
|
||||
@echo "Bad configuration: you cannot use physical synthesis without tsmc28psyn and usetopo (i.e., -topo)"
|
||||
exit 1
|
||||
endif
|
||||
endif
|
||||
ifeq ($(USETOPO), 1))
|
||||
ifneq ($(TECH), tsmc28psyn))
|
||||
@echo "Bad configuration: you cannot use usetopo (i.e., -topo) without tsmc28psyn"
|
||||
exit 1
|
||||
endif
|
||||
endif
|
||||
@echo $(CONFIG)
|
||||
cp -r $(OLDCONFIGDIR)/shared/*.vh $(CONFIGDIR)
|
||||
cp -r $(OLDCONFIGDIR)/$(CONFIG)/* $(CONFIGDIR)
|
||||
|
@ -138,11 +125,10 @@ mkdirecs:
|
|||
synth: mkdirecs configs rundc clean
|
||||
|
||||
rundc:
|
||||
ifeq ($(USETOPO), 0)
|
||||
dc_shell-xg-t -64bit -f scripts/$(NAME).tcl | tee $(OUTPUTDIR)/$(NAME).out
|
||||
else
|
||||
|
||||
ifeq ($(TECH), tsmc28psyn)
|
||||
dc_shell-xg-t -64bit -topographical_mode -f scripts/$(NAME).tcl | tee $(OUTPUTDIR)/$(NAME).out
|
||||
else
|
||||
dc_shell-xg-t -64bit -f scripts/$(NAME).tcl | tee $(OUTPUTDIR)/$(NAME).out
|
||||
endif
|
||||
|
||||
|
||||
|
|
|
@ -5,9 +5,9 @@ import subprocess
|
|||
from multiprocessing import Pool
|
||||
import argparse
|
||||
|
||||
def runSynth(config, mod, tech, freq, maxopt, usesram, usetopo):
|
||||
def runSynth(config, mod, tech, freq, maxopt, usesram):
|
||||
global pool
|
||||
command = "make synth DESIGN=wallypipelinedcore CONFIG={} MOD={} TECH={} DRIVE=FLOP FREQ={} MAXOPT={} USESRAM={} USETOPO={} MAXCORES=1".format(config, mod, tech, freq, maxopt, usesram, usetopo)
|
||||
command = "make synth DESIGN=wallypipelinedcore CONFIG={} MOD={} TECH={} DRIVE=FLOP FREQ={} MAXOPT={} USESRAM={} MAXCORES=1".format(config, mod, tech, freq, maxopt, usesram)
|
||||
pool.map(mask, [command])
|
||||
|
||||
def mask(command):
|
||||
|
@ -34,34 +34,32 @@ if __name__ == '__main__':
|
|||
parser.add_argument("-e", "--tech", choices=techs, help = "Technology")
|
||||
parser.add_argument("-o", "--maxopt", action='store_true', help = "Turn on MAXOPT")
|
||||
parser.add_argument("-r", "--usesram", action='store_true', help = "Use SRAM modules")
|
||||
parser.add_argument("-topo", "--usetopo", action='store_true', help = "Run physical synthesis")
|
||||
|
||||
args = parser.parse_args()
|
||||
|
||||
tech = args.tech if args.tech else 'sky90'
|
||||
maxopt = int(args.maxopt)
|
||||
usesram = int(args.usesram)
|
||||
usetopo = int(args.usetopo)
|
||||
mod = 'orig'
|
||||
|
||||
if args.freqsweep:
|
||||
sc = args.freqsweep
|
||||
config = args.version if args.version else 'rv32e'
|
||||
for freq in [round(sc+sc*x/100) for x in freqVaryPct]: # rv32e freq sweep
|
||||
runSynth(config, mod, tech, freq, maxopt, usesram, usetopo)
|
||||
runSynth(config, mod, tech, freq, maxopt, usesram)
|
||||
elif args.configsweep:
|
||||
defaultfreq = 1500 if tech == 'sky90' else 5000
|
||||
freq = args.targetfreq if args.targetfreq else defaultfreq
|
||||
for config in ['rv32i', 'rv64gc', 'rv64i', 'rv32gc', 'rv32imc', 'rv32e']: #configs
|
||||
runSynth(config, mod, tech, freq, maxopt, usesram, usetopo)
|
||||
runSynth(config, mod, tech, freq, maxopt, usesram)
|
||||
elif args.featuresweep:
|
||||
defaultfreq = 500 if tech == 'sky90' else 1500
|
||||
freq = args.targetfreq if args.targetfreq else defaultfreq
|
||||
config = args.version if args.version else 'rv64gc'
|
||||
for mod in ['noFPU', 'noMulDiv', 'noPriv', 'PMP0', 'orig']:
|
||||
runSynth(config, mod, tech, freq, maxopt, usesram, usetopo)
|
||||
runSynth(config, mod, tech, freq, maxopt, usesram)
|
||||
else:
|
||||
defaultfreq = 500 if tech == 'sky90' else 1500
|
||||
freq = args.targetfreq if args.targetfreq else defaultfreq
|
||||
config = args.version if args.version else 'rv64gc'
|
||||
runSynth(config, mod, tech, freq, maxopt, usesram, usetopo)
|
||||
runSynth(config, mod, tech, freq, maxopt, usesram)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue