diff --git a/fuzzers/015-clbnffmux/.gitignore b/fuzzers/015-clbnffmux/.gitignore index 93b5bef8..378eac25 100644 --- a/fuzzers/015-clbnffmux/.gitignore +++ b/fuzzers/015-clbnffmux/.gitignore @@ -1,4 +1 @@ -/specimen_*/ -/*.segbits -/vivado.log -/vivado.jou +build diff --git a/fuzzers/015-clbnffmux/Makefile b/fuzzers/015-clbnffmux/Makefile index 8c74d1ae..f5f5a631 100644 --- a/fuzzers/015-clbnffmux/Makefile +++ b/fuzzers/015-clbnffmux/Makefile @@ -1,29 +1,3 @@ N := 1 -SPECIMENS := $(addprefix specimen_,$(shell seq -f '%03.0f' $(N))) -SPECIMENS_OK := $(addsuffix /OK,$(SPECIMENS)) - -database: $(SPECIMENS_OK) - ${XRAY_SEGMATCH} -o seg_clblx.segbits $(addsuffix /segdata_clbl[lm]_[lr].txt,$(SPECIMENS)) - -pushdb: - ${XRAY_MERGEDB} clbll_l seg_clblx.segbits - ${XRAY_MERGEDB} clbll_r seg_clblx.segbits - ${XRAY_MERGEDB} clblm_l seg_clblx.segbits - ${XRAY_MERGEDB} clblm_r seg_clblx.segbits - ${XRAY_DBFIXUP} --clb-int - -$(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 run.ok - -.PHONY: database pushdb run clean +include ../clb.mk diff --git a/fuzzers/015-clbnffmux/generate.sh b/fuzzers/015-clbnffmux/generate.sh index 8bfd1d47..50e0e763 100644 --- a/fuzzers/015-clbnffmux/generate.sh +++ b/fuzzers/015-clbnffmux/generate.sh @@ -2,18 +2,5 @@ set -ex if [ $(vivado -h |grep Vivado |cut -d\ -f 2) != "v2017.2" ] ; then echo "FIXME: requires Vivado 2017.2. See https://github.com/SymbiFlow/prjxray/issues/14"; exit 1; fi - -source ${XRAY_GENHEADER} - -#echo '`define SEED 32'"'h$(echo $1 | md5sum | cut -c1-8)" > setseed.vh - -python3 ../top.py >top.v -vivado -mode batch -source ../generate.tcl -test -z "$(fgrep CRITICAL vivado.log)" - -for x in design*.bit; do - ${XRAY_BITREAD} -F $XRAY_ROI_FRAMES -o ${x}s -z -y $x -done - -python3 ../generate.py +source ${XRAY_DIR}/utils/top_generate.sh diff --git a/fuzzers/016-clbnoutmux/.gitignore b/fuzzers/016-clbnoutmux/.gitignore index 826eddb4..9ef96044 100644 --- a/fuzzers/016-clbnoutmux/.gitignore +++ b/fuzzers/016-clbnoutmux/.gitignore @@ -1,5 +1,2 @@ -/specimen_*/ -/*.segbits -!/o6.segbits -/vivado.log -/vivado.jou +build + diff --git a/fuzzers/016-clbnoutmux/Makefile b/fuzzers/016-clbnoutmux/Makefile index edc58e2e..f5f5a631 100644 --- a/fuzzers/016-clbnoutmux/Makefile +++ b/fuzzers/016-clbnoutmux/Makefile @@ -1,29 +1,3 @@ N := 1 -SPECIMENS := $(addprefix specimen_,$(shell seq -f '%03.0f' $(N))) -SPECIMENS_OK := $(addsuffix /OK,$(SPECIMENS)) - -database: $(SPECIMENS_OK) - ${XRAY_SEGMATCH} -o seg_clblx.segbits $(addsuffix /segdata_clbl[lm]_[lr].txt,$(SPECIMENS)) - -pushdb: - ${XRAY_MERGEDB} clbll_l seg_clblx.segbits - ${XRAY_MERGEDB} clbll_r seg_clblx.segbits - ${XRAY_MERGEDB} clblm_l seg_clblx.segbits - ${XRAY_MERGEDB} clblm_r seg_clblx.segbits - ${XRAY_DBFIXUP} --clb-int - -$(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 run.ok - -.PHONY: database pushdb run clean +include ../clb.mk diff --git a/fuzzers/016-clbnoutmux/generate.sh b/fuzzers/016-clbnoutmux/generate.sh index 8bfd1d47..50e0e763 100644 --- a/fuzzers/016-clbnoutmux/generate.sh +++ b/fuzzers/016-clbnoutmux/generate.sh @@ -2,18 +2,5 @@ set -ex if [ $(vivado -h |grep Vivado |cut -d\ -f 2) != "v2017.2" ] ; then echo "FIXME: requires Vivado 2017.2. See https://github.com/SymbiFlow/prjxray/issues/14"; exit 1; fi - -source ${XRAY_GENHEADER} - -#echo '`define SEED 32'"'h$(echo $1 | md5sum | cut -c1-8)" > setseed.vh - -python3 ../top.py >top.v -vivado -mode batch -source ../generate.tcl -test -z "$(fgrep CRITICAL vivado.log)" - -for x in design*.bit; do - ${XRAY_BITREAD} -F $XRAY_ROI_FRAMES -o ${x}s -z -y $x -done - -python3 ../generate.py +source ${XRAY_DIR}/utils/top_generate.sh diff --git a/fuzzers/017-clbprecyinit/.gitignore b/fuzzers/017-clbprecyinit/.gitignore index 93a7f16a..9ef96044 100644 --- a/fuzzers/017-clbprecyinit/.gitignore +++ b/fuzzers/017-clbprecyinit/.gitignore @@ -1,5 +1,2 @@ -/specimen_*/ -/*.segbits -/vivado.log -/vivado.jou -/run.ok +build + diff --git a/fuzzers/017-clbprecyinit/Makefile b/fuzzers/017-clbprecyinit/Makefile index 8c74d1ae..f5f5a631 100644 --- a/fuzzers/017-clbprecyinit/Makefile +++ b/fuzzers/017-clbprecyinit/Makefile @@ -1,29 +1,3 @@ N := 1 -SPECIMENS := $(addprefix specimen_,$(shell seq -f '%03.0f' $(N))) -SPECIMENS_OK := $(addsuffix /OK,$(SPECIMENS)) - -database: $(SPECIMENS_OK) - ${XRAY_SEGMATCH} -o seg_clblx.segbits $(addsuffix /segdata_clbl[lm]_[lr].txt,$(SPECIMENS)) - -pushdb: - ${XRAY_MERGEDB} clbll_l seg_clblx.segbits - ${XRAY_MERGEDB} clbll_r seg_clblx.segbits - ${XRAY_MERGEDB} clblm_l seg_clblx.segbits - ${XRAY_MERGEDB} clblm_r seg_clblx.segbits - ${XRAY_DBFIXUP} --clb-int - -$(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 run.ok - -.PHONY: database pushdb run clean +include ../clb.mk diff --git a/fuzzers/017-clbprecyinit/generate.sh b/fuzzers/017-clbprecyinit/generate.sh index 54774bf8..f42f840c 100644 --- a/fuzzers/017-clbprecyinit/generate.sh +++ b/fuzzers/017-clbprecyinit/generate.sh @@ -1,18 +1,5 @@ #!/bin/bash set -ex - -source ${XRAY_GENHEADER} - -#echo '`define SEED 32'"'h$(echo $1 | md5sum | cut -c1-8)" > setseed.vh - -python3 ../top.py >top.v -vivado -mode batch -source ../generate.tcl -test -z "$(fgrep CRITICAL vivado.log)" - -for x in design*.bit; do - ${XRAY_BITREAD} -F $XRAY_ROI_FRAMES -o ${x}s -z -y $x -done - -python3 ../generate.py +source ${XRAY_DIR}/utils/top_generate.sh diff --git a/fuzzers/025-bram-config/Makefile b/fuzzers/025-bram-config/Makefile index 01b733c4..46c9ba13 100644 --- a/fuzzers/025-bram-config/Makefile +++ b/fuzzers/025-bram-config/Makefile @@ -14,7 +14,7 @@ build: mkdir build $(SPECIMENS_OK): build - bash generate.sh $(subst /OK,,$@) + bash ${XRAY_DIR}/utils/top_generate.sh $(subst /OK,,$@) touch $@ run: diff --git a/fuzzers/050-intpips/Makefile b/fuzzers/050-intpips/Makefile index 2570d491..4bc41c16 100644 --- a/fuzzers/050-intpips/Makefile +++ b/fuzzers/050-intpips/Makefile @@ -12,13 +12,13 @@ database: $(SPECIMENS_OK) ${XRAY_MASKMERGE} mask_clblm_r.segbits $(addsuffix /segdata_int_r.txt,$(SPECIMENS)) pushdb: + ${XRAY_DBFIXUP} --db-dir . --clb-int ${XRAY_MERGEDB} int_l seg_int_l.segbits ${XRAY_MERGEDB} int_r seg_int_r.segbits ${XRAY_MERGEDB} mask_clbll_l mask_clbll_l.segbits ${XRAY_MERGEDB} mask_clbll_r mask_clbll_r.segbits ${XRAY_MERGEDB} mask_clblm_l mask_clblm_l.segbits ${XRAY_MERGEDB} mask_clblm_r mask_clblm_r.segbits - ${XRAY_DBFIXUP} --clb-int $(SPECIMENS_OK): bash generate.sh $(subst /OK,,$@) diff --git a/fuzzers/051-imuxlout/Makefile b/fuzzers/051-imuxlout/Makefile index a2704db4..46a1e5e8 100644 --- a/fuzzers/051-imuxlout/Makefile +++ b/fuzzers/051-imuxlout/Makefile @@ -8,9 +8,9 @@ database: $(SPECIMENS_OK) ${XRAY_SEGMATCH} -m 5 -M 15 -o seg_int_r.segbits $(addsuffix /segdata_int_r.txt,$(SPECIMENS)) pushdb: + ${XRAY_DBFIXUP} --db-dir . --clb-int ${XRAY_MERGEDB} int_l seg_int_l.segbits ${XRAY_MERGEDB} int_r seg_int_r.segbits - ${XRAY_DBFIXUP} --clb-int $(SPECIMENS_OK): todo.txt bash generate.sh $(subst /OK,,$@) diff --git a/fuzzers/052-clkin/Makefile b/fuzzers/052-clkin/Makefile index 848e0de4..12edecb2 100644 --- a/fuzzers/052-clkin/Makefile +++ b/fuzzers/052-clkin/Makefile @@ -8,9 +8,9 @@ database: $(SPECIMENS_OK) ${XRAY_SEGMATCH} -m 5 -M 15 -o seg_int_r.segbits $(addsuffix /segdata_int_r.txt,$(SPECIMENS)) pushdb: + ${XRAY_DBFIXUP} --db-dir . --clb-int ${XRAY_MERGEDB} int_l seg_int_l.segbits ${XRAY_MERGEDB} int_r seg_int_r.segbits - ${XRAY_DBFIXUP} --clb-int $(SPECIMENS_OK): todo.txt bash generate.sh $(subst /OK,,$@) diff --git a/fuzzers/053-ctrlin/Makefile b/fuzzers/053-ctrlin/Makefile index 848e0de4..12edecb2 100644 --- a/fuzzers/053-ctrlin/Makefile +++ b/fuzzers/053-ctrlin/Makefile @@ -8,9 +8,9 @@ database: $(SPECIMENS_OK) ${XRAY_SEGMATCH} -m 5 -M 15 -o seg_int_r.segbits $(addsuffix /segdata_int_r.txt,$(SPECIMENS)) pushdb: + ${XRAY_DBFIXUP} --db-dir . --clb-int ${XRAY_MERGEDB} int_l seg_int_l.segbits ${XRAY_MERGEDB} int_r seg_int_r.segbits - ${XRAY_DBFIXUP} --clb-int $(SPECIMENS_OK): todo.txt bash generate.sh $(subst /OK,,$@) diff --git a/fuzzers/054-gfan/Makefile b/fuzzers/054-gfan/Makefile index 848e0de4..12edecb2 100644 --- a/fuzzers/054-gfan/Makefile +++ b/fuzzers/054-gfan/Makefile @@ -8,9 +8,9 @@ database: $(SPECIMENS_OK) ${XRAY_SEGMATCH} -m 5 -M 15 -o seg_int_r.segbits $(addsuffix /segdata_int_r.txt,$(SPECIMENS)) pushdb: + ${XRAY_DBFIXUP} --db-dir . --clb-int ${XRAY_MERGEDB} int_l seg_int_l.segbits ${XRAY_MERGEDB} int_r seg_int_r.segbits - ${XRAY_DBFIXUP} --clb-int $(SPECIMENS_OK): todo.txt bash generate.sh $(subst /OK,,$@) diff --git a/fuzzers/055-gnd/Makefile b/fuzzers/055-gnd/Makefile index 611626f7..e92d2497 100644 --- a/fuzzers/055-gnd/Makefile +++ b/fuzzers/055-gnd/Makefile @@ -8,9 +8,9 @@ database: $(SPECIMENS_OK) ${XRAY_SEGMATCH} -m 5 -M 15 -o seg_int_r.segbits $(addsuffix /segdata_int_r.txt,$(SPECIMENS)) pushdb: + ${XRAY_DBFIXUP} --db-dir . --clb-int ${XRAY_MERGEDB} int_l seg_int_l.segbits ${XRAY_MERGEDB} int_r seg_int_r.segbits - ${XRAY_DBFIXUP} --clb-int $(SPECIMENS_OK): todo.txt bash generate.sh $(subst /OK,,$@) diff --git a/fuzzers/056-rempips/Makefile b/fuzzers/056-rempips/Makefile index daf82238..ccf3ceb4 100644 --- a/fuzzers/056-rempips/Makefile +++ b/fuzzers/056-rempips/Makefile @@ -8,9 +8,9 @@ database: $(SPECIMENS_OK) ${XRAY_SEGMATCH} -m 5 -M 15 -o seg_int_r.segbits $(addsuffix /segdata_int_r.txt,$(SPECIMENS)) pushdb: + ${XRAY_DBFIXUP} --db-dir . --clb-int ${XRAY_MERGEDB} int_l seg_int_l.segbits ${XRAY_MERGEDB} int_r seg_int_r.segbits - ${XRAY_DBFIXUP} --clb-int $(SPECIMENS_OK): todo.txt bash generate.sh $(subst /OK,,$@) diff --git a/fuzzers/057-bipips/Makefile b/fuzzers/057-bipips/Makefile index e5fd419b..7c2d5ad1 100644 --- a/fuzzers/057-bipips/Makefile +++ b/fuzzers/057-bipips/Makefile @@ -8,9 +8,9 @@ database: $(SPECIMENS_OK) ${XRAY_SEGMATCH} -m 5 -M 15 -o seg_int_r.segbits $(addsuffix /segdata_int_r.txt,$(SPECIMENS)) pushdb: + ${XRAY_DBFIXUP} --db-dir . --clb-int ${XRAY_MERGEDB} int_l seg_int_l.segbits ${XRAY_MERGEDB} int_r seg_int_r.segbits - ${XRAY_DBFIXUP} --clb-int $(SPECIMENS_OK): todo.txt bash generate.sh $(subst /OK,,$@) diff --git a/fuzzers/058-hclkpips/Makefile b/fuzzers/058-hclkpips/Makefile index 59cdcdd5..09f8b019 100644 --- a/fuzzers/058-hclkpips/Makefile +++ b/fuzzers/058-hclkpips/Makefile @@ -12,13 +12,13 @@ database: $(SPECIMENS_OK) grep CK_INOUT seg_hclk_r.segbits | sed 's, .*, always,' > ppips_hclk_r.txt pushdb: + ${XRAY_DBFIXUP} --db-dir . --clb-int ${XRAY_MERGEDB} hclk_l seg_hclk_l.segbits ${XRAY_MERGEDB} hclk_r seg_hclk_r.segbits ${XRAY_MERGEDB} mask_hclk_l mask_hclk_l.segbits ${XRAY_MERGEDB} mask_hclk_r mask_hclk_r.segbits cp ppips_hclk_l.txt ${XRAY_DATABASE_DIR}/$(XRAY_DATABASE)/ppips_hclk_l.db cp ppips_hclk_r.txt ${XRAY_DATABASE_DIR}/$(XRAY_DATABASE)/ppips_hclk_r.db - ${XRAY_DBFIXUP} --clb-int $(SPECIMENS_OK): bash generate.sh $(subst /OK,,$@) diff --git a/fuzzers/100-dsp-mskpat/Makefile b/fuzzers/100-dsp-mskpat/Makefile index 18c24803..c4d099c6 100644 --- a/fuzzers/100-dsp-mskpat/Makefile +++ b/fuzzers/100-dsp-mskpat/Makefile @@ -8,9 +8,9 @@ database: $(SPECIMENS_OK) ${XRAY_SEGMATCH} -o seg_dsp_r.segbits $(addsuffix /segdata_dsp_r_*.txt,$(SPECIMENS)) pushdb: + ${XRAY_DBFIXUP} --db-dir . --clb-int ${XRAY_MERGEDB} dsp_l seg_dsp_l.segbits ${XRAY_MERGEDB} dsp_r seg_dsp_r.segbits - ${XRAY_DBFIXUP} --clb-int $(SPECIMENS_OK): bash generate.sh $(subst /OK,,$@) diff --git a/fuzzers/clb.mk b/fuzzers/clb.mk new file mode 100644 index 00000000..dd8f6d0d --- /dev/null +++ b/fuzzers/clb.mk @@ -0,0 +1,32 @@ +N := 1 +SPECIMENS := $(addprefix build/specimen_,$(shell seq -f '%03.0f' $(N))) +SPECIMENS_OK := $(addsuffix /OK,$(SPECIMENS)) + +database: $(SPECIMENS_OK) + ${XRAY_SEGMATCH} -o build/seg_clblx.segbits $(addsuffix /segdata_clbl[lm]_[lr].txt,$(SPECIMENS)) + +pushdb: + ${XRAY_DBFIXUP} --db-dir build --clb-int + ${XRAY_MERGEDB} clbll_l build/seg_clblx.segbits + ${XRAY_MERGEDB} clbll_r build/seg_clblx.segbits + ${XRAY_MERGEDB} clblm_l build/seg_clblx.segbits + ${XRAY_MERGEDB} clblm_r build/seg_clblx.segbits + +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 run clean + diff --git a/fuzzers/025-bram-config/generate.sh b/utils/top_generate.sh similarity index 71% rename from fuzzers/025-bram-config/generate.sh rename to utils/top_generate.sh index abebd98c..f07384aa 100644 --- a/fuzzers/025-bram-config/generate.sh +++ b/utils/top_generate.sh @@ -1,11 +1,12 @@ #!/bin/bash +# Generic generate.sh for scripts that use top.py to generate top.v +# and then use generate.py for segment generation set -ex FUZDIR=$PWD source ${XRAY_GENHEADER} - python3 $FUZDIR/top.py >top.v vivado -mode batch -source $FUZDIR/generate.tcl test -z "$(fgrep CRITICAL vivado.log)"