diff --git a/fuzzers/000-init-db/Makefile b/fuzzers/000-init-db/Makefile new file mode 100644 index 00000000..54be7358 --- /dev/null +++ b/fuzzers/000-init-db/Makefile @@ -0,0 +1,74 @@ + +MASKS=\ + bram \ + clbll \ + clblm \ + dsp \ + hclk \ + +PPIPS=\ + bram \ + bram_int_interface \ + clbll \ + clblm \ + dsp \ + hclk \ + int \ + +SEGBITS=\ + bram \ + clbll \ + clblm \ + dsp \ + hclk \ + int \ + +DB_SIMPLE=$(addprefix mask_,$(MASKS)) $(addprefix ppips_,$(PPIPS)) $(addprefix segbits_,$(SEGBITS)) + +# Extra (segbits|mask)_bram_(l|r).block_ram.db files +# FIXME: Are these things also needed for the DSP blocks? +BLOCK_RAM_EXTRA_FOR=mask_bram segbits_bram +BLOCK_RAM_EXTRA_DB_FILES=$(addsuffix .block_ram.db,$(addsuffix _l,$(BLOCK_RAM_EXTRA_FOR)) $(addsuffix _r,$(BLOCK_RAM_EXTRA_FOR))) + +DB_FILES=$(sort $(addsuffix _l.db,$(DB_SIMPLE)) $(addsuffix _r.db,$(DB_SIMPLE)) $(BLOCK_RAM_EXTRA_DB_FILES)) +DB_FILES_PATH=$(addprefix $(XRAY_DATABASE_DIR)/$(XRAY_DATABASE)/,$(DB_FILES)) + +check: + @mkdir -p build + @rm -f build/existing.txt + @for DB_FILE in $(sort $(notdir $(wildcard $(XRAY_DATABASE_DIR)/$(XRAY_DATABASE)/*.db))); do \ + echo $$DB_FILE >> build/existing.txt; \ + done + @rm -f build/tocreate.txt + @for DB_FILE in $(sort $(DB_FILES)); do \ + echo $$DB_FILE >> build/tocreate.txt; \ + done + diff -u build/existing.txt build/tocreate.txt + +status: + @echo $(DB_FILES_PATH) + @for DB_FILE in $(DB_FILES_PATH); do \ + echo -n "$$(basename $$DB_FILE) "; \ + if [ -e "$$DB_FILE" ]; then \ + echo -n "Exists! - "; \ + else \ + echo -n "Missing! - "; \ + fi; \ + echo "$$DB_FILE"; \ + done + +$(DB_FILES_PATH): + touch $@ + +pushdb: $(DB_FILES_PATH) + @true + +run: + $(MAKE) clean + $(MAKE) pushdb + touch run.ok + +clean: + rm -rf build run.ok + +.PHONY: pushdb clean run diff --git a/fuzzers/Makefile b/fuzzers/Makefile index 9684404d..f1001003 100644 --- a/fuzzers/Makefile +++ b/fuzzers/Makefile @@ -18,8 +18,10 @@ $(1)/run.ok: $(addsuffix /run.ok,$(2)) $$(MAKE) -C $(1) run endef +$(eval $(call fuzzer,000-init-db,)) + ifneq ($(FUZZONLY),Y) -$(eval $(call fuzzer,001-part-yaml,)) +$(eval $(call fuzzer,001-part-yaml,000-init-db)) $(eval $(call fuzzer,005-tilegrid,001-part-yaml)) else all:: 005-tilegrid/run.ok diff --git a/settings/artix7.sh b/settings/artix7.sh index 78db509a..b6d90a2f 100644 --- a/settings/artix7.sh +++ b/settings/artix7.sh @@ -24,4 +24,3 @@ export XRAY_PIN_05="G22" export XRAY_PIN_06="F21" source $(dirname ${BASH_SOURCE[0]})/../utils/environment.sh -init_db diff --git a/settings/kintex7.sh b/settings/kintex7.sh index 152286ae..acd366a3 100644 --- a/settings/kintex7.sh +++ b/settings/kintex7.sh @@ -24,4 +24,3 @@ export XRAY_PIN_05="M20" export XRAY_PIN_06="M21" source $(dirname ${BASH_SOURCE[0]})/../utils/environment.sh -init_db diff --git a/settings/zynq7.sh b/settings/zynq7.sh index 40bca91e..ef652fcd 100644 --- a/settings/zynq7.sh +++ b/settings/zynq7.sh @@ -24,4 +24,3 @@ export XRAY_PIN_05="J16" export XRAY_PIN_06="J15" source $(dirname ${BASH_SOURCE[0]})/../utils/environment.sh -init_db diff --git a/utils/environment.sh b/utils/environment.sh index e5e76da8..90b328b7 100644 --- a/utils/environment.sh +++ b/utils/environment.sh @@ -45,41 +45,3 @@ if [ $(${XRAY_VIVADO} -h |grep Vivado |cut -d\ -f 2) != "v2017.2" ] ; then export XRAY_DIR="/bad/vivado/version" return fi - -function init_db -{ - # Check if database files exist. If don't, create empty ones - db_files="mask_clbll_l.db \ - mask_clbll_r.db \ - mask_clblm_l.db \ - mask_clblm_r.db \ - mask_hclk_l.db \ - mask_hclk_r.db \ - ppips_clbll_l.db \ - ppips_clbll_r.db \ - ppips_clblm_l.db \ - ppips_clblm_r.db \ - ppips_hclk_l.db \ - ppips_hclk_r.db \ - ppips_int_l.db \ - ppips_int_r.db \ - segbits_bram_l.block_ram.db \ - segbits_bram_l.db \ - segbits_bram_r.block_ram.db \ - segbits_bram_r.db \ - segbits_clbll_l.db \ - segbits_clbll_r.db \ - segbits_clblm_l.db \ - segbits_clblm_r.db \ - segbits_hclk_l.db \ - segbits_hclk_r.db \ - segbits_int_l.db \ - segbits_int_r.db" - - for db in $db_files - do - if [ ! -f ${XRAY_DATABASE_DIR}/${XRAY_DATABASE}/$db ]; then - touch ${XRAY_DATABASE_DIR}/${XRAY_DATABASE}/$db - fi - done -}