diff --git a/fuzzers/030-iob/Makefile b/fuzzers/030-iob/Makefile index 3c7a4289..24e5cfd1 100644 --- a/fuzzers/030-iob/Makefile +++ b/fuzzers/030-iob/Makefile @@ -1,26 +1,16 @@ N := 1 -SPECIMENS := $(addprefix build/specimen_,$(shell seq -f '%03.0f' $(N))) -SPECIMENS_OK := $(addsuffix /OK,$(SPECIMENS)) +include ../fuzzer.mk -database: $(SPECIMENS_OK) - ${XRAY_SEGMATCH} -o build/segbits_ioblx.db $(addsuffix /segdata_liob33.txt,$(SPECIMENS)) +database: build/segbits_liob33.db -#pushdb: -# ${XRAY_MERGEDB} ioblm_l build/segbits_ioblx.db -# ${XRAY_MERGEDB} ioblm_r build/segbits_ioblx.db +build/segbits_liob33.rdb: + ${XRAY_SEGMATCH} -o build/segbits_liob33.rdb $(addsuffix /segdata_liob33.txt,$(SPECIMENS)) -$(SPECIMENS_OK): - bash generate.sh $(subst /OK,,$@) - touch $@ +build/segbits_liob33.db: build/segbits_liob33.rdb + ${XRAY_DBFIXUP} --db-root build --zero-db bits.dbf --seg-fn-in $^ --seg-fn-out $@ -run: - $(MAKE) clean - $(MAKE) database - $(MAKE) pushdb - touch run.ok +pushdb: + ${XRAY_MERGEDB} liob33 build/segbits_liob33.db -clean: - rm -rf build - -.PHONY: database pushdb run clean +.PHONY: database pushdb diff --git a/fuzzers/030-iob/bits.dbf b/fuzzers/030-iob/bits.dbf new file mode 100644 index 00000000..57741c98 --- /dev/null +++ b/fuzzers/030-iob/bits.dbf @@ -0,0 +1 @@ +38_98 39_97 39_99,LIOB33.IOB_Y1.PULLTYPE.PULLDOWN diff --git a/fuzzers/030-iob/generate.py b/fuzzers/030-iob/generate.py index 53d41f3f..a7055d1c 100644 --- a/fuzzers/030-iob/generate.py +++ b/fuzzers/030-iob/generate.py @@ -1,6 +1,7 @@ #!/usr/bin/env python3 from prjxray.segmaker import Segmaker +from prjxray import segmaker segmk = Segmaker("design.bits") @@ -22,7 +23,11 @@ for l in f: PULLDOWN PULLUP X X ''' - segmk.add_site_tag(site, "PULL.NONE", val in ("", "KEEPER", "PULLUP")) + if val == "": + val = "NONE" + segmaker.add_site_group_zero( + segmk, site, "PULLTYPE.", ("NONE", "KEEPER", "PULLDOWN", "PULLUP"), + "PULLDOWN", val) segmk.compile() segmk.write() diff --git a/fuzzers/030-iob/generate.tcl b/fuzzers/030-iob/generate.tcl index 7d111506..171fec1a 100644 --- a/fuzzers/030-iob/generate.tcl +++ b/fuzzers/030-iob/generate.tcl @@ -55,10 +55,10 @@ proc loc_pins {} { set_property -dict "PACKAGE_PIN $pin IOSTANDARD LVCMOS33" $port - # list_property isn't working + # list_property isn't working (maybe due to empty?) # set keys [list_property_value PULLTYPE $port] - set keys "PULLUP PULLDOWN KEEPER" - # set keys "NONE KEEPER" + # NONE placeholder for "" + set keys "NONE PULLUP PULLDOWN KEEPER" set val [randsample_list 1 $keys] if { $val == "NONE" } { set val ""