From 6c352f5a305373e79dca8e386ae1788c782c65f9 Mon Sep 17 00:00:00 2001 From: Clifford Wolf Date: Thu, 4 Jan 2018 13:49:50 +0100 Subject: [PATCH 1/7] Add "make run" to fuzzers that did not have it yet Signed-off-by: Clifford Wolf --- fuzzers/001-part-yaml/Makefile | 16 +++++++++++----- fuzzers/005-tilegrid/Makefile | 10 ++++++++-- fuzzers/010-lutinit/Makefile | 10 ++++++++-- fuzzers/011-ffconfig/Makefile | 10 ++++++++-- fuzzers/012-clbn5ffmux/Makefile | 10 ++++++++-- fuzzers/013-clbncy0/Makefile | 10 ++++++++-- fuzzers/014-ffsrcemux/Makefile | 10 ++++++++-- fuzzers/015-clbnffmux/Makefile | 10 ++++++++-- fuzzers/016-clbnoutmux/Makefile | 10 ++++++++-- fuzzers/017-clbprecyinit/Makefile | 10 ++++++++-- fuzzers/018-clbram/Makefile | 10 ++++++++-- fuzzers/019-ndi1mux/Makefile | 10 ++++++++-- 12 files changed, 99 insertions(+), 27 deletions(-) diff --git a/fuzzers/001-part-yaml/Makefile b/fuzzers/001-part-yaml/Makefile index d66ec913..3e049293 100644 --- a/fuzzers/001-part-yaml/Makefile +++ b/fuzzers/001-part-yaml/Makefile @@ -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) diff --git a/fuzzers/005-tilegrid/Makefile b/fuzzers/005-tilegrid/Makefile index df8671b9..c59f83bf 100644 --- a/fuzzers/005-tilegrid/Makefile +++ b/fuzzers/005-tilegrid/Makefile @@ -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 diff --git a/fuzzers/010-lutinit/Makefile b/fuzzers/010-lutinit/Makefile index dafe5067..7ef252ff 100644 --- a/fuzzers/010-lutinit/Makefile +++ b/fuzzers/010-lutinit/Makefile @@ -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 diff --git a/fuzzers/011-ffconfig/Makefile b/fuzzers/011-ffconfig/Makefile index cdd3cf23..1a7faa6e 100644 --- a/fuzzers/011-ffconfig/Makefile +++ b/fuzzers/011-ffconfig/Makefile @@ -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 diff --git a/fuzzers/012-clbn5ffmux/Makefile b/fuzzers/012-clbn5ffmux/Makefile index cdd3cf23..1a7faa6e 100644 --- a/fuzzers/012-clbn5ffmux/Makefile +++ b/fuzzers/012-clbn5ffmux/Makefile @@ -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 diff --git a/fuzzers/013-clbncy0/Makefile b/fuzzers/013-clbncy0/Makefile index cdd3cf23..1a7faa6e 100644 --- a/fuzzers/013-clbncy0/Makefile +++ b/fuzzers/013-clbncy0/Makefile @@ -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 diff --git a/fuzzers/014-ffsrcemux/Makefile b/fuzzers/014-ffsrcemux/Makefile index cdd3cf23..1a7faa6e 100644 --- a/fuzzers/014-ffsrcemux/Makefile +++ b/fuzzers/014-ffsrcemux/Makefile @@ -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 diff --git a/fuzzers/015-clbnffmux/Makefile b/fuzzers/015-clbnffmux/Makefile index 8e623c60..f8fedf89 100644 --- a/fuzzers/015-clbnffmux/Makefile +++ b/fuzzers/015-clbnffmux/Makefile @@ -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 diff --git a/fuzzers/016-clbnoutmux/Makefile b/fuzzers/016-clbnoutmux/Makefile index 6c52b6b5..b4d9daa1 100644 --- a/fuzzers/016-clbnoutmux/Makefile +++ b/fuzzers/016-clbnoutmux/Makefile @@ -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 diff --git a/fuzzers/017-clbprecyinit/Makefile b/fuzzers/017-clbprecyinit/Makefile index 8e623c60..f8fedf89 100644 --- a/fuzzers/017-clbprecyinit/Makefile +++ b/fuzzers/017-clbprecyinit/Makefile @@ -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 diff --git a/fuzzers/018-clbram/Makefile b/fuzzers/018-clbram/Makefile index cdd3cf23..1a7faa6e 100644 --- a/fuzzers/018-clbram/Makefile +++ b/fuzzers/018-clbram/Makefile @@ -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 diff --git a/fuzzers/019-ndi1mux/Makefile b/fuzzers/019-ndi1mux/Makefile index cdd3cf23..1a7faa6e 100644 --- a/fuzzers/019-ndi1mux/Makefile +++ b/fuzzers/019-ndi1mux/Makefile @@ -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 From 672208189905901cb279321a7e9abe6ae3023234 Mon Sep 17 00:00:00 2001 From: Clifford Wolf Date: Thu, 4 Jan 2018 13:55:50 +0100 Subject: [PATCH 2/7] Update "make run" target in fuzzers that had one for a while Signed-off-by: Clifford Wolf --- fuzzers/050-intpips/Makefile | 7 +++++-- fuzzers/051-imuxlout/Makefile | 5 +++-- fuzzers/052-clkin/Makefile | 5 +++-- fuzzers/053-ctrlin/Makefile | 5 +++-- fuzzers/054-gfan/Makefile | 5 +++-- fuzzers/055-gnd/Makefile | 7 +++++-- fuzzers/056-rempips/Makefile | 5 +++-- fuzzers/057-bipips/Makefile | 5 +++-- fuzzers/058-hclkpips/Makefile | 6 ++++-- fuzzers/070-tileconn/Makefile | 7 +++++-- fuzzers/071-ppips/Makefile | 7 +++++-- 11 files changed, 42 insertions(+), 22 deletions(-) diff --git a/fuzzers/050-intpips/Makefile b/fuzzers/050-intpips/Makefile index eccb2cd3..6e3b0f05 100644 --- a/fuzzers/050-intpips/Makefile +++ b/fuzzers/050-intpips/Makefile @@ -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 diff --git a/fuzzers/051-imuxlout/Makefile b/fuzzers/051-imuxlout/Makefile index e9a4c82f..da59695b 100644 --- a/fuzzers/051-imuxlout/Makefile +++ b/fuzzers/051-imuxlout/Makefile @@ -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 diff --git a/fuzzers/052-clkin/Makefile b/fuzzers/052-clkin/Makefile index d8f82463..5d71a14a 100644 --- a/fuzzers/052-clkin/Makefile +++ b/fuzzers/052-clkin/Makefile @@ -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 diff --git a/fuzzers/053-ctrlin/Makefile b/fuzzers/053-ctrlin/Makefile index d8f82463..5d71a14a 100644 --- a/fuzzers/053-ctrlin/Makefile +++ b/fuzzers/053-ctrlin/Makefile @@ -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 diff --git a/fuzzers/054-gfan/Makefile b/fuzzers/054-gfan/Makefile index d8f82463..5d71a14a 100644 --- a/fuzzers/054-gfan/Makefile +++ b/fuzzers/054-gfan/Makefile @@ -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 diff --git a/fuzzers/055-gnd/Makefile b/fuzzers/055-gnd/Makefile index 7ff0abff..069063e0 100644 --- a/fuzzers/055-gnd/Makefile +++ b/fuzzers/055-gnd/Makefile @@ -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 diff --git a/fuzzers/056-rempips/Makefile b/fuzzers/056-rempips/Makefile index 339a1cff..9c96fe66 100644 --- a/fuzzers/056-rempips/Makefile +++ b/fuzzers/056-rempips/Makefile @@ -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 diff --git a/fuzzers/057-bipips/Makefile b/fuzzers/057-bipips/Makefile index 4cf12810..4ade5699 100644 --- a/fuzzers/057-bipips/Makefile +++ b/fuzzers/057-bipips/Makefile @@ -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 diff --git a/fuzzers/058-hclkpips/Makefile b/fuzzers/058-hclkpips/Makefile index 477b9a06..df6a8fd4 100644 --- a/fuzzers/058-hclkpips/Makefile +++ b/fuzzers/058-hclkpips/Makefile @@ -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 diff --git a/fuzzers/070-tileconn/Makefile b/fuzzers/070-tileconn/Makefile index 40eec548..73b0a649 100644 --- a/fuzzers/070-tileconn/Makefile +++ b/fuzzers/070-tileconn/Makefile @@ -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 diff --git a/fuzzers/071-ppips/Makefile b/fuzzers/071-ppips/Makefile index a0064299..d6583293 100644 --- a/fuzzers/071-ppips/Makefile +++ b/fuzzers/071-ppips/Makefile @@ -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 From f00f9c27b4fafedaaec4bbc485386e863daa7649 Mon Sep 17 00:00:00 2001 From: Clifford Wolf Date: Thu, 4 Jan 2018 14:02:25 +0100 Subject: [PATCH 3/7] Add top-level fuzzers Makefile Signed-off-by: Clifford Wolf --- fuzzers/Makefile | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 fuzzers/Makefile diff --git a/fuzzers/Makefile b/fuzzers/Makefile new file mode 100644 index 00000000..8ce11142 --- /dev/null +++ b/fuzzers/Makefile @@ -0,0 +1,29 @@ +define fuzzer +all:: $(1)/run.ok +$(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)) From 77933f7212259623d1c67a9da5340f63367c01d2 Mon Sep 17 00:00:00 2001 From: Clifford Wolf Date: Thu, 4 Jan 2018 16:31:31 +0100 Subject: [PATCH 4/7] Add fuzzers top-level "make clean" Signed-off-by: Clifford Wolf --- fuzzers/005-tilegrid/generate.sh | 0 fuzzers/070-tileconn/generate.sh | 0 fuzzers/071-ppips/generate.sh | 0 fuzzers/Makefile | 2 ++ 4 files changed, 2 insertions(+) mode change 100755 => 100644 fuzzers/005-tilegrid/generate.sh mode change 100755 => 100644 fuzzers/070-tileconn/generate.sh mode change 100755 => 100644 fuzzers/071-ppips/generate.sh diff --git a/fuzzers/005-tilegrid/generate.sh b/fuzzers/005-tilegrid/generate.sh old mode 100755 new mode 100644 diff --git a/fuzzers/070-tileconn/generate.sh b/fuzzers/070-tileconn/generate.sh old mode 100755 new mode 100644 diff --git a/fuzzers/071-ppips/generate.sh b/fuzzers/071-ppips/generate.sh old mode 100755 new mode 100644 diff --git a/fuzzers/Makefile b/fuzzers/Makefile index 8ce11142..48e0ad0a 100644 --- a/fuzzers/Makefile +++ b/fuzzers/Makefile @@ -1,5 +1,7 @@ define fuzzer all:: $(1)/run.ok +clean:: + $(MAKE) -C $(1) clean $(1)/run.ok: $(addsuffix /run.ok,$(2)) $(MAKE) -C $(1) run endef From a891d1548e4c262e82591949e18d56a9b2a5b135 Mon Sep 17 00:00:00 2001 From: Clifford Wolf Date: Thu, 4 Jan 2018 16:58:54 +0100 Subject: [PATCH 5/7] Add __pycache__ to 011-ffconfig "make clean" Signed-off-by: Clifford Wolf --- fuzzers/011-ffconfig/Makefile | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/fuzzers/011-ffconfig/Makefile b/fuzzers/011-ffconfig/Makefile index 1a7faa6e..cf669fbf 100644 --- a/fuzzers/011-ffconfig/Makefile +++ b/fuzzers/011-ffconfig/Makefile @@ -22,7 +22,8 @@ run: 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 run.ok + 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 run clean From 36b16c8e0bfb6d018cc7199e646d6d1cb3f3c9ff Mon Sep 17 00:00:00 2001 From: Clifford Wolf Date: Thu, 4 Jan 2018 17:30:36 +0100 Subject: [PATCH 6/7] Add tileconnwire.py utils script Signed-off-by: Clifford Wolf --- utils/tileconnwire.py | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 utils/tileconnwire.py diff --git a/utils/tileconnwire.py b/utils/tileconnwire.py new file mode 100644 index 00000000..edddc605 --- /dev/null +++ b/utils/tileconnwire.py @@ -0,0 +1,34 @@ +#!/usr/bin/env python3 + +import os, sys, json + +if len(sys.argv) != 3: + print("Usage example: python3 %s HCLK_R HCLK_SW6E3" % sys.argv[0]) + sys.exit(1) + +with open("%s/%s/tileconn.json" % (os.getenv("XRAY_DATABASE_DIR"), os.getenv("XRAY_DATABASE")), "r") as f: + tileconn = json.load(f) + +outdata = list() +max_tiletype_len = 1 + +for entry in tileconn: + if entry["tile_types"][0] == sys.argv[1]: + this_idx, other_idx = 0, 1 + delta_x, delta_y = entry["grid_deltas"] + elif entry["tile_types"][1] == sys.argv[1]: + this_idx, other_idx = 1, 0 + delta_x, delta_y = -entry["grid_deltas"][0], -entry["grid_deltas"][1] + else: + continue + + for wire_pair in entry["wire_pairs"]: + if wire_pair[this_idx] != sys.argv[2]: + continue + + outdata.append((delta_x, delta_y, entry["tile_types"][other_idx], wire_pair[other_idx])) + max_tiletype_len = max(max_tiletype_len, len(entry["tile_types"][other_idx])) + +for entry in outdata: + print("%3d %3d %-*s %s" % (entry[0], entry[1], max_tiletype_len, entry[2], entry[3])) + From 0a9d0aafab3df9a6b23a49002193bf6079ce1051 Mon Sep 17 00:00:00 2001 From: Clifford Wolf Date: Thu, 4 Jan 2018 18:07:01 +0100 Subject: [PATCH 7/7] Add HCLK wire pair filter to tileconn fuzzer Signed-off-by: Clifford Wolf --- fuzzers/070-tileconn/generate.py | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/fuzzers/070-tileconn/generate.py b/fuzzers/070-tileconn/generate.py index 29787eee..2fda59e7 100644 --- a/fuzzers/070-tileconn/generate.py +++ b/fuzzers/070-tileconn/generate.py @@ -24,6 +24,22 @@ with open("nodewires.txt") as f: tilenodes[wire_tile] = dict() tilenodes[wire_tile][node] = wire_name +def filter_pair(type1, type2, wire1, wire2, delta_x, delta_y): + if type1 in ["HCLK_L", "HCLK_R"]: + is_vertical_wire = False + if wire1.startswith("HCLK_S"): is_vertical_wire = True + if wire1.startswith("HCLK_N"): is_vertical_wire = True + if wire1.startswith("HCLK_W"): is_vertical_wire = True + if wire1.startswith("HCLK_E"): is_vertical_wire = True + if wire1.startswith("HCLK_LV"): is_vertical_wire = True + if wire1.startswith("HCLK_BYP"): is_vertical_wire = True + if wire1.startswith("HCLK_FAN"): is_vertical_wire = True + if wire1.startswith("HCLK_LEAF_CLK_"): is_vertical_wire = True + if is_vertical_wire and delta_y == 0: return True + if not is_vertical_wire and delta_x == 0: return True + + return False + def handle_pair(tile1, tile2): if tile1 not in tilenodes: return if tile2 not in tilenodes: return @@ -44,6 +60,10 @@ def handle_pair(tile1, tile2): for node, wire1 in tilenodes[tile1].items(): if node in tilenodes[tile2]: wire2 = tilenodes[tile2][node] + if filter_pair(key[0], key[1], wire1, wire2, key[2], key[3]): + continue + if filter_pair(key[1], key[0], wire2, wire1, -key[2], -key[3]): + continue wire_pairs.add((wire1, wire2)) if key not in database: