diff --git a/fuzzers/055-gnd/.gitignore b/fuzzers/055-gnd/.gitignore index 145bd747..a747a2b4 100644 --- a/fuzzers/055-gnd/.gitignore +++ b/fuzzers/055-gnd/.gitignore @@ -1,14 +1,3 @@ -/filtered_seg_int_l.segbits -/filtered_seg_int_r.segbits -/pattern_l.txt -/pattern_r.txt -/piplist.dcp -/piplist/ -/pips_int_l.txt -/pips_int_r.txt -/seg_int_l.segbits -/seg_int_r.segbits -/specimen_[0-9][0-9][0-9]/ -/todo.txt -/vivado* -/run.ok +build +run.ok +todo diff --git a/fuzzers/055-gnd/Makefile b/fuzzers/055-gnd/Makefile index 1e6e6cf8..95d310eb 100644 --- a/fuzzers/055-gnd/Makefile +++ b/fuzzers/055-gnd/Makefile @@ -1,37 +1,47 @@ - +ifeq ($(QUICK),Y) +N := 1 +else N := 10 -SPECIMENS := $(addprefix specimen_,$(shell seq -f '%03.0f' $(N))) +endif + +SPECIMENS := $(addprefix build/specimen_,$(shell seq -f '%03.0f' $(N))) SPECIMENS_OK := $(addsuffix /OK,$(SPECIMENS)) database: $(SPECIMENS_OK) - ${XRAY_SEGMATCH} -m 5 -M 15 -o segbits_int_l.db $(addsuffix /segdata_int_l.txt,$(SPECIMENS)) - ${XRAY_SEGMATCH} -m 5 -M 15 -o segbits_int_r.db $(addsuffix /segdata_int_r.txt,$(SPECIMENS)) + ${XRAY_SEGMATCH} -m 5 -M 15 -o build/segbits_int_l.db $(addsuffix /segdata_int_l.txt,$(SPECIMENS)) + ${XRAY_SEGMATCH} -m 5 -M 15 -o build/segbits_int_r.db $(addsuffix /segdata_int_r.txt,$(SPECIMENS)) +# May be undersolved +ifneq ($(QUICK),Y) + ${XRAY_DBFIXUP} --db-root build --clb-int +endif pushdb: - ${XRAY_DBFIXUP} --db-root . --clb-int - ${XRAY_MERGEDB} int_l segbits_int_l.db - ${XRAY_MERGEDB} int_r segbits_int_r.db + ${XRAY_MERGEDB} int_l build/segbits_int_l.db + ${XRAY_MERGEDB} int_r build/segbits_int_r.db $(SPECIMENS_OK): todo.txt + mkdir -p build bash generate.sh $(subst /OK,,$@) touch $@ todo.txt: - echo "INT_L.GFAN0.GND_WIRE" > todo.txt - echo "INT_L.GFAN1.GND_WIRE" >> todo.txt - echo "INT_R.GFAN0.GND_WIRE" >> todo.txt - echo "INT_R.GFAN1.GND_WIRE" >> todo.txt + mkdir -p build + echo "INT_L.GFAN0.GND_WIRE" > build/todo.txt + echo "INT_L.GFAN1.GND_WIRE" >> build/todo.txt + echo "INT_R.GFAN0.GND_WIRE" >> build/todo.txt + echo "INT_R.GFAN1.GND_WIRE" >> build/todo.txt run: $(MAKE) clean $(MAKE) database +# May be undersolved +ifneq ($(QUICK),Y) $(MAKE) pushdb +endif touch run.ok clean: - rm -rf .Xil/ .cache/ filtered_seg_int_[lr].db run.ok - rm -rf todo.txt vivado* pattern_[lr].txt pips_int_[lr].txt - rm -rf specimen_[0-9][0-9][0-9]/ segbits_int_[lr].db mask_clbl[lm]_[lr].segbits + rm -rf build OK .PHONY: database pushdb run clean diff --git a/fuzzers/055-gnd/generate.sh b/fuzzers/055-gnd/generate.sh index 9f904105..f42f840c 100644 --- a/fuzzers/055-gnd/generate.sh +++ b/fuzzers/055-gnd/generate.sh @@ -1,9 +1,5 @@ #!/bin/bash -source ${XRAY_GENHEADER} - -vivado -mode batch -source ../generate.tcl - -${XRAY_BITREAD} -F $XRAY_ROI_FRAMES -o design.bits -z -y design.bit -python3 ../generate.py +set -ex +source ${XRAY_DIR}/utils/top_generate.sh diff --git a/fuzzers/055-gnd/generate.tcl b/fuzzers/055-gnd/generate.tcl index 80afe949..a0b1ee42 100644 --- a/fuzzers/055-gnd/generate.tcl +++ b/fuzzers/055-gnd/generate.tcl @@ -1,6 +1,8 @@ +source "$::env(XRAY_DIR)/utils/utils.tcl" + create_project -force -part $::env(XRAY_PART) design design -read_verilog ../top.v +read_verilog $::env(FUZDIR)/top.v synth_design -top top set_property -dict "PACKAGE_PIN $::env(XRAY_PIN_00) IOSTANDARD LVCMOS33" [get_ports i] @@ -19,8 +21,6 @@ route_design # write_checkpoint -force design.dcp -source ../../../utils/utils.tcl - set fp [open "../todo.txt" r] set todo_lines {} for {gets $fp line} {$line != ""} {gets $fp line} {