From 160b5fc8b1d75a9b45a77c83514dbfd79c770b75 Mon Sep 17 00:00:00 2001 From: John McMaster Date: Wed, 19 Dec 2018 18:23:29 -0800 Subject: [PATCH] masks: tidy up Signed-off-by: John McMaster --- fuzzers/025-bram-config/Makefile | 21 ++------------------- fuzzers/026-bram-data/Makefile | 31 ++----------------------------- fuzzers/030-iob/Makefile | 6 +++++- fuzzers/031-mmcm/Makefile | 11 ++--------- fuzzers/032-pll/Makefile | 11 ++--------- fuzzers/100-dsp-mskpat/Makefile | 4 ++++ fuzzers/bram.mk | 28 ++++++++++++++++++++++++++++ fuzzers/clb.mk | 16 +++++++++++++--- fuzzers/int_loop.mk | 8 ++++++++ 9 files changed, 66 insertions(+), 70 deletions(-) create mode 100644 fuzzers/bram.mk 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)