blob: 46d7b1e30e88a63b6d0e43b5e73eb82a38f803f6 [file] [log] [blame] [edit]
QUICK_DESIGNS = openmsp430 aes_5cycle_2stage softusb_navre verilog-pong bch_verilog
DESIGNS = amber23 lm32 elliptic_curve_group reed_solomon_decoder $(QUICK_DESIGNS)
default:
@echo "Usage: make [-j8] { quick | full }"
quick: $(addsuffix /gen/test.ok,$(QUICK_DESIGNS))
@echo ""
@echo " ALL QUICK TESTS PASSED."
@echo ""
full: $(addsuffix /gen/test.ok,$(DESIGNS)) softusb_navre/gen/equiv.ok
@echo ""
@echo " ALL TESTS PASSED."
@echo ""
# setting .SECONDARY to empty prohibits deletion of all intermediate targets
.SECONDARY:
softusb_navre/gen/equiv.log:
yosys -v1 -l softusb_navre/gen/equiv.log softusb_navre/sim/equiv.ys
softusb_navre/gen/equiv.ok: softusb_navre/gen/equiv.log
grep -q "^End of script." softusb_navre/gen/equiv.log
%/gen/sim_rtl.out:
bash scripts/sim_rtl.sh $(subst /gen/sim_rtl.out,,$@)
%/gen/sim_synth.out:
bash scripts/sim_synth.sh $(subst /gen/sim_synth.out,,$@)
%/gen/test.ok: %/gen/sim_rtl.out %/gen/sim_synth.out
cmp $(word 1,$^) $(word 2,$^)
timing:
$(MAKE) clean
echo; for d in $(DESIGNS); do \
echo "--------------------------------------"; echo; \
( set -x; time bash -c "bash scripts/sim_rtl.sh $$d > /dev/null 2>&1" ); echo; \
( set -x; time bash -c "bash scripts/sim_synth.sh $$d > /dev/null 2>&1" ); echo; \
done; echo "--------------------------------------"; echo
$(MAKE) full
clean:
rm -rf */gen/