diff --git a/fuzzers/025-bram-config/Makefile b/fuzzers/025-bram-config/Makefile index bfbe7b23..0fb57ca7 100644 --- a/fuzzers/025-bram-config/Makefile +++ b/fuzzers/025-bram-config/Makefile @@ -1,19 +1,2 @@ -# read/write width is relatively slow to resolve -# Even slower with multi bit masks... -N := 8 -include ../fuzzer.mk - -database: build/segbits_bramx.db - -build/segbits_bramx.rdb: $(SPECIMENS_OK) - ${XRAY_SEGMATCH} -o build/segbits_bramx.rdb $(addsuffix /segdata_bram_[lr].txt,$(SPECIMENS)) - -build/segbits_bramx.db: build/segbits_bramx.rdb - ${XRAY_DBFIXUP} --db-root build --zero-db bits.dbf --seg-fn-in $^ --seg-fn-out $@ - -pushdb: - ${XRAY_MERGEDB} bram_l build/segbits_bramx.db - ${XRAY_MERGEDB} bram_r build/segbits_bramx.db - -.PHONY: database pushdb - +N ?= 8 +include ../bram.mk diff --git a/fuzzers/026-bram-data/Makefile b/fuzzers/026-bram-data/Makefile index 0eb8fdb1..0fb57ca7 100644 --- a/fuzzers/026-bram-data/Makefile +++ b/fuzzers/026-bram-data/Makefile @@ -1,29 +1,2 @@ -N := 8 -SPECIMENS := $(addprefix build/specimen_,$(shell seq -f '%03.0f' $(N))) -SPECIMENS_OK := $(addsuffix /OK,$(SPECIMENS)) - -database: $(SPECIMENS_OK) - ${XRAY_SEGMATCH} -o build/segbits_bramx.block_ram.db $(addsuffix /segdata_bram_[lr].txt,$(SPECIMENS)) - -pushdb: - ${XRAY_MERGEDB} bram_l.block_ram build/segbits_bramx.block_ram.db - ${XRAY_MERGEDB} bram_r.block_ram build/segbits_bramx.block_ram.db - -build: - mkdir build - -$(SPECIMENS_OK): build - bash generate.sh $(subst /OK,,$@) - touch $@ - -run: - $(MAKE) clean - $(MAKE) database - $(MAKE) pushdb - touch run.ok - -clean: - rm -rf build - -.PHONY: database pushdb clean - +N ?= 8 +include ../bram.mk diff --git a/fuzzers/030-iob/Makefile b/fuzzers/030-iob/Makefile index 24e5cfd1..6cb898c1 100644 --- a/fuzzers/030-iob/Makefile +++ b/fuzzers/030-iob/Makefile @@ -1,16 +1,20 @@ N := 1 include ../fuzzer.mk +SEGDATAS=$(addsuffix /segdata_liob33.txt,$(SPECIMENS)) + database: build/segbits_liob33.db build/segbits_liob33.rdb: - ${XRAY_SEGMATCH} -o build/segbits_liob33.rdb $(addsuffix /segdata_liob33.txt,$(SPECIMENS)) + ${XRAY_SEGMATCH} -o build/segbits_liob33.rdb $(SEGDATAS) build/segbits_liob33.db: build/segbits_liob33.rdb ${XRAY_DBFIXUP} --db-root build --zero-db bits.dbf --seg-fn-in $^ --seg-fn-out $@ + ${XRAY_MASKMERGE} build/mask_liob33.db $(SEGDATAS) pushdb: ${XRAY_MERGEDB} liob33 build/segbits_liob33.db + ${XRAY_MERGEDB} mask_liob33 build/mask_liob33.db .PHONY: database pushdb diff --git a/fuzzers/031-mmcm/Makefile b/fuzzers/031-mmcm/Makefile index bfbe7b23..9007ec88 100644 --- a/fuzzers/031-mmcm/Makefile +++ b/fuzzers/031-mmcm/Makefile @@ -3,17 +3,10 @@ N := 8 include ../fuzzer.mk -database: build/segbits_bramx.db - -build/segbits_bramx.rdb: $(SPECIMENS_OK) - ${XRAY_SEGMATCH} -o build/segbits_bramx.rdb $(addsuffix /segdata_bram_[lr].txt,$(SPECIMENS)) - -build/segbits_bramx.db: build/segbits_bramx.rdb - ${XRAY_DBFIXUP} --db-root build --zero-db bits.dbf --seg-fn-in $^ --seg-fn-out $@ +database: $(SPECIMENS_OK) pushdb: - ${XRAY_MERGEDB} bram_l build/segbits_bramx.db - ${XRAY_MERGEDB} bram_r build/segbits_bramx.db + echo "FIXME" && false .PHONY: database pushdb diff --git a/fuzzers/032-pll/Makefile b/fuzzers/032-pll/Makefile index bfbe7b23..9007ec88 100644 --- a/fuzzers/032-pll/Makefile +++ b/fuzzers/032-pll/Makefile @@ -3,17 +3,10 @@ N := 8 include ../fuzzer.mk -database: build/segbits_bramx.db - -build/segbits_bramx.rdb: $(SPECIMENS_OK) - ${XRAY_SEGMATCH} -o build/segbits_bramx.rdb $(addsuffix /segdata_bram_[lr].txt,$(SPECIMENS)) - -build/segbits_bramx.db: build/segbits_bramx.rdb - ${XRAY_DBFIXUP} --db-root build --zero-db bits.dbf --seg-fn-in $^ --seg-fn-out $@ +database: $(SPECIMENS_OK) pushdb: - ${XRAY_MERGEDB} bram_l build/segbits_bramx.db - ${XRAY_MERGEDB} bram_r build/segbits_bramx.db + echo "FIXME" && false .PHONY: database pushdb diff --git a/fuzzers/100-dsp-mskpat/Makefile b/fuzzers/100-dsp-mskpat/Makefile index 588ecc38..18e10f77 100644 --- a/fuzzers/100-dsp-mskpat/Makefile +++ b/fuzzers/100-dsp-mskpat/Makefile @@ -7,10 +7,14 @@ database: $(SPECIMENS_OK) ${XRAY_SEGMATCH} -o build/segbits_dsp_l.db $(addsuffix /segdata_dsp_l_*.txt,$(SPECIMENS)) ${XRAY_SEGMATCH} -o build/segbits_dsp_r.db $(addsuffix /segdata_dsp_r_*.txt,$(SPECIMENS)) ${XRAY_DBFIXUP} --db-root build --clb-int + ${XRAY_MASKMERGE} build/mask_dsp_l.db $(addsuffix /segdata_dsp_l_*.txt,$(SPECIMENS)) + ${XRAY_MASKMERGE} build/mask_dsp_r.db $(addsuffix /segdata_dsp_r_*.txt,$(SPECIMENS)) pushdb: ${XRAY_MERGEDB} dsp_l build/segbits_dsp_l.db ${XRAY_MERGEDB} dsp_r build/segbits_dsp_r.db + ${XRAY_MERGEDB} mask_dsp_l build/segbits_dsp_l.db + ${XRAY_MERGEDB} mask_dsp_r build/segbits_dsp_r.db $(SPECIMENS_OK): bash generate.sh $(subst /OK,,$@) diff --git a/fuzzers/bram.mk b/fuzzers/bram.mk new file mode 100644 index 00000000..7d916fe4 --- /dev/null +++ b/fuzzers/bram.mk @@ -0,0 +1,28 @@ +# read/write width is relatively slow to resolve +# Even slower with multi bit masks... +N ?= 8 +DO_DBFIXUP?=N + +include ../fuzzer.mk + +database: build/segbits_bramx.db + +build/segbits_bramx.rdb: $(SPECIMENS_OK) + ${XRAY_SEGMATCH} -o build/segbits_bramx.rdb $(addsuffix /segdata_bram_[lr].txt,$(SPECIMENS)) + +build/segbits_bramx.db: build/segbits_bramx.rdb +ifeq ($(DO_DBFIXUP),Y) + ${XRAY_DBFIXUP} --db-root build --zero-db bits.dbf --seg-fn-in $^ --seg-fn-out $@ +else + cp $^ $@ +endif + ${XRAY_MASKMERGE} build/mask_bramx.db $(addsuffix /segdata_bram_[lr].txt,$(SPECIMENS)) + +pushdb: + ${XRAY_MERGEDB} bram_l build/segbits_bramx.db + ${XRAY_MERGEDB} bram_r build/segbits_bramx.db + ${XRAY_MERGEDB} mask_bram_l build/mask_bramx.db + ${XRAY_MERGEDB} mask_bram_r build/mask_bramx.db + +.PHONY: database pushdb + diff --git a/fuzzers/clb.mk b/fuzzers/clb.mk index 139a625b..08dbacb3 100644 --- a/fuzzers/clb.mk +++ b/fuzzers/clb.mk @@ -1,32 +1,42 @@ N ?= 1 CLB_DBFIXUP ?= +# Fuzzer that can accept SLICEL data +# ie set to N if only for SLICEM SLICEL ?= Y include ../fuzzer.mk database: build/segbits_clbx.db -build/segbits_clbx.rdb: $(SPECIMENS_OK) ifeq ($(SLICEL),Y) - ${XRAY_SEGMATCH} -o build/segbits_clbx.rdb $(addsuffix /segdata_clbl[lm]_[lr].txt,$(SPECIMENS)) +SEGDATAS=$(addsuffix /segdata_clbl[lm]_[lr].txt,$(SPECIMENS)) else - ${XRAY_SEGMATCH} -o build/segbits_clbx.rdb $(addsuffix /segdata_clblm_[lr].txt,$(SPECIMENS)) +SEGDATAS=$(addsuffix /segdata_clblm_[lr].txt,$(SPECIMENS)) endif + +build/segbits_clbx.rdb: $(SPECIMENS_OK) + ${XRAY_SEGMATCH} -o build/segbits_clbx.rdb $(SEGDATAS) + build/segbits_clbx.db: build/segbits_clbx.rdb ifeq ($(CLB_DBFIXUP),Y) ${XRAY_DBFIXUP} --db-root build --zero-db bits.dbf --seg-fn-in $^ --seg-fn-out $@ else cp $^ $@ endif + ${XRAY_MASKMERGE} build/mask_clbx.db $(SEGDATAS) pushdb: ifeq ($(SLICEL),Y) ${XRAY_MERGEDB} clbll_l build/segbits_clbx.db ${XRAY_MERGEDB} clbll_r build/segbits_clbx.db + ${XRAY_MERGEDB} mask_clbll_l build/mask_clbx.db + ${XRAY_MERGEDB} mask_clbll_r build/mask_clbx.db endif ${XRAY_MERGEDB} clblm_l build/segbits_clbx.db ${XRAY_MERGEDB} clblm_r build/segbits_clbx.db + ${XRAY_MERGEDB} mask_clblm_l build/mask_clbx.db + ${XRAY_MERGEDB} mask_clblm_r build/mask_clbx.db .PHONY: database pushdb diff --git a/fuzzers/int_loop.mk b/fuzzers/int_loop.mk index e8ae2a3e..3fcaf3c6 100644 --- a/fuzzers/int_loop.mk +++ b/fuzzers/int_loop.mk @@ -27,6 +27,10 @@ export FUZDIR=$(shell pwd) database: $(SPECIMENS_OK) ${XRAY_SEGMATCH} $(SEGMATCH_FLAGS) -o build/segbits_int_l.db $(shell find build -name segdata_int_l.txt) ${XRAY_SEGMATCH} $(SEGMATCH_FLAGS) -o build/segbits_int_r.db $(shell find build -name segdata_int_r.txt) + ${XRAY_MASKMERGE} build/mask_clbll_l.db $(shell find build -name segdata_int_l.txt) + ${XRAY_MASKMERGE} build/mask_clbll_r.db $(shell find build -name segdata_int_r.txt) + ${XRAY_MASKMERGE} build/mask_clblm_l.db $(shell find build -name segdata_int_l.txt) + ${XRAY_MASKMERGE} build/mask_clblm_r.db $(shell find build -name segdata_int_r.txt) # Keep a copy to track iter progress # Also is pre-fixup, which drops and converts cp build/segbits_int_l.db build/$(ITER)/segbits_int_l.db @@ -39,6 +43,10 @@ endif pushdb: ${XRAY_MERGEDB} int_l build/segbits_int_l.db ${XRAY_MERGEDB} int_r build/segbits_int_r.db + ${XRAY_MERGEDB} mask_clbll_l build/mask_clbll_l.db + ${XRAY_MERGEDB} mask_clbll_r build/mask_clbll_r.db + ${XRAY_MERGEDB} mask_clblm_l build/mask_clblm_l.db + ${XRAY_MERGEDB} mask_clblm_r build/mask_clblm_r.db $(SPECIMENS_OK): build/todo.txt mkdir -p build/$(ITER)