Merge pull request #30 from SymbiFlow/makerun

Add fuzzers "make run"
This commit is contained in:
Tim Ansell 2018-01-05 10:33:03 +00:00 committed by GitHub
commit 7752bd6034
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
27 changed files with 173 additions and 49 deletions

View File

@ -1,17 +1,23 @@
N := 1
SPECIMENS := $(addprefix specimen_,$(shell seq -f '%03.0f' $(N)))
.PHONY: database pushdb clean $(SPECIMENS)
database: $(SPECIMENS)
cp specimen_001/part.yaml ${XRAY_PART}.yaml
$(SPECIMENS): Makefile.specimen
mkdir -p $@
$(MAKE) -C $@ -f ../Makefile.specimen
database: $(SPECIMENS)
cp specimen_001/part.yaml ${XRAY_PART}.yaml
pushdb:
cp ${XRAY_PART}.yaml ${XRAY_DATABASE_DIR}/$(XRAY_DATABASE)
run:
$(MAKE) clean
$(MAKE) database
$(MAKE) pushdb
touch run.ok
clean:
rm -rf specimen_[0-9][0-9][0-9]/ *.yaml
rm -rf specimen_[0-9][0-9][0-9]/ *.yaml run.ok
.PHONY: database pushdb clean run $(SPECIMENS)

View File

@ -13,8 +13,14 @@ $(SPECIMENS_OK):
bash generate.sh $(subst /OK,,$@)
touch $@
run:
$(MAKE) clean
$(MAKE) database
$(MAKE) pushdb
touch run.ok
clean:
rm -rf specimen_[0-9][0-9][0-9]/ tilegrid.json
rm -rf specimen_[0-9][0-9][0-9]/ tilegrid.json run.ok
.PHONY: database pushdb clean
.PHONY: database pushdb clean run

0
fuzzers/005-tilegrid/generate.sh Executable file → Normal file
View File

View File

@ -17,8 +17,14 @@ $(SPECIMENS_OK):
bash generate.sh $(subst /OK,,$@)
touch $@
run:
$(MAKE) clean
$(MAKE) database
$(MAKE) pushdb
touch run.ok
clean:
rm -rf specimen_[0-9][0-9][0-9]/ seg_clbll.segbits seg_clblm.segbits
rm -rf specimen_[0-9][0-9][0-9]/ seg_clbll.segbits seg_clblm.segbits run.ok
.PHONY: database pushdb clean
.PHONY: database pushdb run clean

View File

@ -15,8 +15,15 @@ $(SPECIMENS_OK):
bash generate.sh $(subst /OK,,$@)
touch $@
run:
$(MAKE) clean
$(MAKE) database
$(MAKE) pushdb
touch run.ok
clean:
rm -rf specimen_[0-9][0-9][0-9]/ seg_clblx.segbits vivado*.log vivado_*.str vivado*.jou design *.bits *.dcp *.bit top.v
rm -rf specimen_[0-9][0-9][0-9]/ seg_clblx.segbits __pycache__ run.ok
rm -rf vivado*.log vivado_*.str vivado*.jou design *.bits *.dcp *.bit top.v
.PHONY: database pushdb clean
.PHONY: database pushdb run clean

View File

@ -15,8 +15,14 @@ $(SPECIMENS_OK):
bash generate.sh $(subst /OK,,$@)
touch $@
run:
$(MAKE) clean
$(MAKE) database
$(MAKE) pushdb
touch run.ok
clean:
rm -rf specimen_[0-9][0-9][0-9]/ seg_clblx.segbits vivado*.log vivado_*.str vivado*.jou design *.bits *.dcp *.bit top.v
rm -rf specimen_[0-9][0-9][0-9]/ seg_clblx.segbits vivado*.log vivado_*.str vivado*.jou design *.bits *.dcp *.bit top.v run.ok
.PHONY: database pushdb clean
.PHONY: database pushdb run clean

View File

@ -15,8 +15,14 @@ $(SPECIMENS_OK):
bash generate.sh $(subst /OK,,$@)
touch $@
run:
$(MAKE) clean
$(MAKE) database
$(MAKE) pushdb
touch run.ok
clean:
rm -rf specimen_[0-9][0-9][0-9]/ seg_clblx.segbits vivado*.log vivado_*.str vivado*.jou design *.bits *.dcp *.bit top.v
rm -rf specimen_[0-9][0-9][0-9]/ seg_clblx.segbits vivado*.log vivado_*.str vivado*.jou design *.bits *.dcp *.bit top.v run.ok
.PHONY: database pushdb clean
.PHONY: database pushdb run clean

View File

@ -15,8 +15,14 @@ $(SPECIMENS_OK):
bash generate.sh $(subst /OK,,$@)
touch $@
run:
$(MAKE) clean
$(MAKE) database
$(MAKE) pushdb
touch run.ok
clean:
rm -rf specimen_[0-9][0-9][0-9]/ seg_clblx.segbits vivado*.log vivado_*.str vivado*.jou design *.bits *.dcp *.bit top.v
rm -rf specimen_[0-9][0-9][0-9]/ seg_clblx.segbits vivado*.log vivado_*.str vivado*.jou design *.bits *.dcp *.bit top.v run.ok
.PHONY: database pushdb clean
.PHONY: database pushdb run clean

View File

@ -16,8 +16,14 @@ $(SPECIMENS_OK):
bash generate.sh $(subst /OK,,$@)
touch $@
run:
$(MAKE) clean
$(MAKE) database
$(MAKE) pushdb
touch run.ok
clean:
rm -rf specimen_[0-9][0-9][0-9]/ seg_clblx.segbits vivado*.log vivado_*.str vivado*.jou design *.bits *.dcp *.bit top.v
rm -rf specimen_[0-9][0-9][0-9]/ seg_clblx.segbits vivado*.log vivado_*.str vivado*.jou design *.bits *.dcp *.bit top.v run.ok
.PHONY: database pushdb clean
.PHONY: database pushdb run clean

View File

@ -16,8 +16,14 @@ $(SPECIMENS_OK):
bash generate.sh $(subst /OK,,$@)
touch $@
run:
$(MAKE) clean
$(MAKE) database
$(MAKE) pushdb
touch run.ok
clean:
rm -rf specimen_[0-9][0-9][0-9]/ *.segbits vivado*.log vivado_*.str vivado*.jou design *.bits *.dcp *.bit top.v
rm -rf specimen_[0-9][0-9][0-9]/ *.segbits vivado*.log vivado_*.str vivado*.jou design *.bits *.dcp *.bit top.v run.ok
.PHONY: database pushdb clean
.PHONY: database pushdb run clean

View File

@ -16,8 +16,14 @@ $(SPECIMENS_OK):
bash generate.sh $(subst /OK,,$@)
touch $@
run:
$(MAKE) clean
$(MAKE) database
$(MAKE) pushdb
touch run.ok
clean:
rm -rf specimen_[0-9][0-9][0-9]/ seg_clblx.segbits vivado*.log vivado_*.str vivado*.jou design *.bits *.dcp *.bit top.v
rm -rf specimen_[0-9][0-9][0-9]/ seg_clblx.segbits vivado*.log vivado_*.str vivado*.jou design *.bits *.dcp *.bit top.v run.ok
.PHONY: database pushdb clean
.PHONY: database pushdb run clean

View File

@ -15,8 +15,14 @@ $(SPECIMENS_OK):
bash generate.sh $(subst /OK,,$@)
touch $@
run:
$(MAKE) clean
$(MAKE) database
$(MAKE) pushdb
touch run.ok
clean:
rm -rf specimen_[0-9][0-9][0-9]/ seg_clblx.segbits vivado*.log vivado_*.str vivado*.jou design *.bits *.dcp *.bit top.v
rm -rf specimen_[0-9][0-9][0-9]/ seg_clblx.segbits vivado*.log vivado_*.str vivado*.jou design *.bits *.dcp *.bit top.v run.ok
.PHONY: database pushdb clean
.PHONY: database pushdb run clean

View File

@ -15,8 +15,14 @@ $(SPECIMENS_OK):
bash generate.sh $(subst /OK,,$@)
touch $@
run:
$(MAKE) clean
$(MAKE) database
$(MAKE) pushdb
touch run.ok
clean:
rm -rf specimen_[0-9][0-9][0-9]/ seg_clblx.segbits vivado*.log vivado_*.str vivado*.jou design *.bits *.dcp *.bit top.v
rm -rf specimen_[0-9][0-9][0-9]/ seg_clblx.segbits vivado*.log vivado_*.str vivado*.jou design *.bits *.dcp *.bit top.v run.ok
.PHONY: database pushdb clean
.PHONY: database pushdb run clean

View File

@ -25,10 +25,13 @@ $(SPECIMENS_OK):
touch $@
run:
+set -ex; make clean; make; make pushdb
$(MAKE) clean
$(MAKE) database
$(MAKE) pushdb
touch run.ok
clean:
rm -rf specimen_[0-9][0-9][0-9]/ seg_int_[lr].segbits mask_clbl[lm]_[lr].segbits
rm -rf specimen_[0-9][0-9][0-9]/ seg_int_[lr].segbits mask_clbl[lm]_[lr].segbits run.ok
.PHONY: database pushdb run clean

View File

@ -21,10 +21,11 @@ todo.txt:
python3 maketodo.py > todo.txt
run:
+set -ex; while make clean; make todo.txt; test -s todo.txt; do make; make pushdb; done; true
+set -ex; while make clean; make todo.txt; test -s todo.txt; do make database; make pushdb; done; true
touch run.ok
clean:
rm -rf .Xil/ .cache/ filtered_seg_int_[lr].segbits
rm -rf .Xil/ .cache/ filtered_seg_int_[lr].segbits run.ok
rm -rf todo.txt vivado* piplist/ piplist.dcp pattern_[lr].txt pips_int_[lr].txt
rm -rf specimen_[0-9][0-9][0-9]/ seg_int_[lr].segbits mask_clbl[lm]_[lr].segbits

View File

@ -21,10 +21,11 @@ todo.txt:
python3 maketodo.py | sort -R | head -n10 > todo.txt
run:
+set -ex; while make clean; make todo.txt; test -s todo.txt; do make; make pushdb; done; true
+set -ex; while make clean; make todo.txt; test -s todo.txt; do make database; make pushdb; done; true
touch run.ok
clean:
rm -rf .Xil/ .cache/ filtered_seg_int_[lr].segbits
rm -rf .Xil/ .cache/ filtered_seg_int_[lr].segbits run.ok
rm -rf todo.txt vivado* piplist/ piplist.dcp pattern_[lr].txt pips_int_[lr].txt
rm -rf specimen_[0-9][0-9][0-9]/ seg_int_[lr].segbits mask_clbl[lm]_[lr].segbits

View File

@ -21,10 +21,11 @@ todo.txt:
python3 maketodo.py | sort -R | head -n10 > todo.txt
run:
+set -ex; while make clean; make todo.txt; test -s todo.txt; do make; make pushdb; done; true
+set -ex; while make clean; make todo.txt; test -s todo.txt; do make database; make pushdb; done; true
touch run.ok
clean:
rm -rf .Xil/ .cache/ filtered_seg_int_[lr].segbits
rm -rf .Xil/ .cache/ filtered_seg_int_[lr].segbits run.ok
rm -rf todo.txt vivado* piplist/ piplist.dcp pattern_[lr].txt pips_int_[lr].txt
rm -rf specimen_[0-9][0-9][0-9]/ seg_int_[lr].segbits mask_clbl[lm]_[lr].segbits

View File

@ -21,10 +21,11 @@ todo.txt:
python3 maketodo.py | sort -R | head -n10 > todo.txt
run:
+set -ex; while make clean; make todo.txt; test -s todo.txt; do make; make pushdb; done; true
+set -ex; while make clean; make todo.txt; test -s todo.txt; do make database; make pushdb; done; true
touch run.ok
clean:
rm -rf .Xil/ .cache/ filtered_seg_int_[lr].segbits
rm -rf .Xil/ .cache/ filtered_seg_int_[lr].segbits run.ok
rm -rf todo.txt vivado* piplist/ piplist.dcp pattern_[lr].txt pips_int_[lr].txt
rm -rf specimen_[0-9][0-9][0-9]/ seg_int_[lr].segbits mask_clbl[lm]_[lr].segbits

View File

@ -23,10 +23,13 @@ todo.txt:
echo "INT_R.GFAN1.GND_WIRE" >> todo.txt
run:
+set -ex; make clean; make; make pushdb
$(MAKE) clean
$(MAKE) database
$(MAKE) pushdb
touch run.ok
clean:
rm -rf .Xil/ .cache/ filtered_seg_int_[lr].segbits
rm -rf .Xil/ .cache/ filtered_seg_int_[lr].segbits run.ok
rm -rf todo.txt vivado* piplist/ piplist.dcp pattern_[lr].txt pips_int_[lr].txt
rm -rf specimen_[0-9][0-9][0-9]/ seg_int_[lr].segbits mask_clbl[lm]_[lr].segbits

View File

@ -21,10 +21,11 @@ todo.txt:
python3 maketodo.py | sort -R | head -n10 > todo.txt
run:
+set -ex; while make clean; make todo.txt; test -s todo.txt; do if make; then make pushdb; fi; done; true
+set -ex; while make clean; make todo.txt; test -s todo.txt; do if make database; then make pushdb; fi; done; true
touch run.ok
clean:
rm -rf .Xil/ .cache/ filtered_seg_int_[lr].segbits
rm -rf .Xil/ .cache/ filtered_seg_int_[lr].segbits run.ok
rm -rf todo.txt vivado* piplist/ piplist.dcp pattern_[lr].txt pips_int_[lr].txt
rm -rf specimen_[0-9][0-9][0-9]/ seg_int_[lr].segbits

View File

@ -21,10 +21,11 @@ todo.txt:
python3 maketodo.py | sort -R | head -n5 > todo.txt
run:
+set -ex; while make clean; make todo.txt; test -s todo.txt; do make; make pushdb; done; true
+set -ex; while make clean; make todo.txt; test -s todo.txt; do make database; make pushdb; done; true
touch run.ok
clean:
rm -rf .Xil/ .cache/ vivado* todo.txt
rm -rf .Xil/ .cache/ vivado* todo.txt run.ok
rm -rf bipiplist/ bipiplist.dcp bipips_int_[lr].txt
rm -rf specimen_[0-9][0-9][0-9]/ seg_int_[lr].segbits

View File

@ -25,10 +25,12 @@ $(SPECIMENS_OK):
touch $@
run:
+set -ex; make clean; make; make pushdb
$(MAKE) clean
$(MAKE) database
$(MAKE) pushdb
clean:
rm -rf specimen_[0-9][0-9][0-9]/ seg_hclk_[lr].segbits mask_hclk_[lr].segbits ppips_hclk_[lr].txt
rm -rf specimen_[0-9][0-9][0-9]/ seg_hclk_[lr].segbits mask_hclk_[lr].segbits ppips_hclk_[lr].txt run.ok
.PHONY: database pushdb run clean

View File

@ -14,10 +14,13 @@ $(SPECIMENS_OK):
touch $@
run:
+set -ex; make clean; make; make pushdb
$(MAKE) clean
$(MAKE) database
$(MAKE) pushdb
touch run.ok
clean:
rm -rf specimen_[0-9][0-9][0-9]/ tileconn.json
rm -rf specimen_[0-9][0-9][0-9]/ tileconn.json run.ok
.PHONY: database pushdb run clean

0
fuzzers/070-tileconn/generate.sh Executable file → Normal file
View File

View File

@ -24,10 +24,13 @@ $(SPECIMENS_OK):
touch $@
run:
+set -ex; make clean; make; make pushdb
$(MAKE) clean
$(MAKE) database
$(MAKE) pushdb
touch run.ok
clean:
rm -rf specimen_[0-9][0-9][0-9]/ ppips_clbl[ml]_[lr].txt ppips_int_[lr].txt
rm -rf specimen_[0-9][0-9][0-9]/ ppips_clbl[ml]_[lr].txt ppips_int_[lr].txt run.ok
.PHONY: database pushdb run clean

0
fuzzers/071-ppips/generate.sh Executable file → Normal file
View File

31
fuzzers/Makefile Normal file
View File

@ -0,0 +1,31 @@
define fuzzer
all:: $(1)/run.ok
clean::
$(MAKE) -C $(1) clean
$(1)/run.ok: $(addsuffix /run.ok,$(2))
$(MAKE) -C $(1) run
endef
$(eval $(call fuzzer,001-part-yaml,))
$(eval $(call fuzzer,005-tilegrid,))
$(eval $(call fuzzer,010-lutinit,005-tilegrid))
$(eval $(call fuzzer,011-ffconfig,005-tilegrid))
$(eval $(call fuzzer,012-clbn5ffmux,005-tilegrid))
$(eval $(call fuzzer,013-clbncy0,005-tilegrid))
$(eval $(call fuzzer,014-ffsrcemux,005-tilegrid))
$(eval $(call fuzzer,015-clbnffmux,005-tilegrid))
$(eval $(call fuzzer,016-clbnoutmux,005-tilegrid))
$(eval $(call fuzzer,017-clbprecyinit,005-tilegrid))
$(eval $(call fuzzer,018-clbram,005-tilegrid))
$(eval $(call fuzzer,019-ndi1mux,005-tilegrid))
$(eval $(call fuzzer,050-intpips,005-tilegrid))
$(eval $(call fuzzer,051-imuxlout,050-intpips))
$(eval $(call fuzzer,052-clkin,050-intpips))
$(eval $(call fuzzer,053-ctrlin,050-intpips))
$(eval $(call fuzzer,054-gfan,050-intpips))
$(eval $(call fuzzer,055-gnd,050-intpips))
$(eval $(call fuzzer,056-rempips,051-imuxlout 052-clkin 053-ctrlin 054-gfan 055-gnd))
$(eval $(call fuzzer,057-bipips,056-rempips))
$(eval $(call fuzzer,058-hclkpips,056-rempips))
$(eval $(call fuzzer,070-tileconn,005-tilegrid))
$(eval $(call fuzzer,071-ppips,057-bipips 058-hclkpips))