iob: PULLTYPE

Signed-off-by: John McMaster <johndmcmaster@gmail.com>
This commit is contained in:
John McMaster 2018-12-17 17:52:16 -08:00
parent 7e25affa0e
commit 2dee2b329b
4 changed files with 19 additions and 23 deletions

View File

@ -1,26 +1,16 @@
N := 1 N := 1
SPECIMENS := $(addprefix build/specimen_,$(shell seq -f '%03.0f' $(N))) include ../fuzzer.mk
SPECIMENS_OK := $(addsuffix /OK,$(SPECIMENS))
database: $(SPECIMENS_OK) database: build/segbits_liob33.db
${XRAY_SEGMATCH} -o build/segbits_ioblx.db $(addsuffix /segdata_liob33.txt,$(SPECIMENS))
#pushdb: build/segbits_liob33.rdb:
# ${XRAY_MERGEDB} ioblm_l build/segbits_ioblx.db ${XRAY_SEGMATCH} -o build/segbits_liob33.rdb $(addsuffix /segdata_liob33.txt,$(SPECIMENS))
# ${XRAY_MERGEDB} ioblm_r build/segbits_ioblx.db
$(SPECIMENS_OK): build/segbits_liob33.db: build/segbits_liob33.rdb
bash generate.sh $(subst /OK,,$@) ${XRAY_DBFIXUP} --db-root build --zero-db bits.dbf --seg-fn-in $^ --seg-fn-out $@
touch $@
run: pushdb:
$(MAKE) clean ${XRAY_MERGEDB} liob33 build/segbits_liob33.db
$(MAKE) database
$(MAKE) pushdb
touch run.ok
clean: .PHONY: database pushdb
rm -rf build
.PHONY: database pushdb run clean

1
fuzzers/030-iob/bits.dbf Normal file
View File

@ -0,0 +1 @@
38_98 39_97 39_99,LIOB33.IOB_Y1.PULLTYPE.PULLDOWN

View File

@ -1,6 +1,7 @@
#!/usr/bin/env python3 #!/usr/bin/env python3
from prjxray.segmaker import Segmaker from prjxray.segmaker import Segmaker
from prjxray import segmaker
segmk = Segmaker("design.bits") segmk = Segmaker("design.bits")
@ -22,7 +23,11 @@ for l in f:
PULLDOWN PULLDOWN
PULLUP X X 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.compile()
segmk.write() segmk.write()

View File

@ -55,10 +55,10 @@ proc loc_pins {} {
set_property -dict "PACKAGE_PIN $pin IOSTANDARD LVCMOS33" $port 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 [list_property_value PULLTYPE $port]
set keys "PULLUP PULLDOWN KEEPER" # NONE placeholder for ""
# set keys "NONE KEEPER" set keys "NONE PULLUP PULLDOWN KEEPER"
set val [randsample_list 1 $keys] set val [randsample_list 1 $keys]
if { $val == "NONE" } { if { $val == "NONE" } {
set val "" set val ""