tilegrid iob: factor out generic code

Signed-off-by: John McMaster <johndmcmaster@gmail.com>
This commit is contained in:
John McMaster 2018-12-17 19:45:43 -08:00
parent 1182359f60
commit 6177c4c58d
6 changed files with 37 additions and 39 deletions

View File

@ -0,0 +1,25 @@
N ?= 10
GENERATE_ARGS ?=
SPECIMENS := $(addprefix build/specimen_,$(shell seq -f '%03.0f' $(N)))
SPECIMENS_OK := $(addsuffix /OK,$(SPECIMENS))
database: build/segbits_tilegrid.tdb
build/segbits_tilegrid.tdb: $(SPECIMENS_OK)
${XRAY_SEGMATCH} -o build/segbits_tilegrid.tdb $$(find build -name "segdata_tilegrid.txt")
$(SPECIMENS_OK):
GENERATE_ARGS=${GENERATE_ARGS} bash ../fuzzaddr/generate.sh $(subst /OK,,$@)
touch $@
run:
$(MAKE) clean
$(MAKE) database
$(MAKE) pushdb
touch run.ok
clean:
rm -rf build
.PHONY: database pushdb run clean

View File

@ -1,9 +1,8 @@
#!/usr/bin/env python3
import bitsmaker
from prjxray import bitsmaker
def run(bits_fn, design_fn, fnout, verbose=False):
def run(bits_fn, design_fn, fnout, oneval, verbose=False):
# Raw: IOB_X0Y101 00020027_003_03
metastr = "DFRAME:27.DWORD:3.DBIT:3"
@ -12,15 +11,9 @@ def run(bits_fn, design_fn, fnout, verbose=False):
f.readline()
for l in f:
l = l.strip()
port, site, tile, pin, val = l.split(',')
'''
PULLTYPE 28 29 30
NONE X
KEEPER X X
PULLDOWN
PULLUP X X
'''
tags["%s.%s" % (tile, metastr)] = val == "KEEPER"
# Additional values reserved / for debugging
tile, val = l.split(',')[0:2]
tags["%s.%s" % (tile, metastr)] = val == oneval
bitsmaker.write(bits_fn, fnout, tags)
@ -35,9 +28,10 @@ def main():
parser.add_argument("--verbose", action="store_true", help="")
parser.add_argument("--design", default="design.csv", help="")
parser.add_argument("--fnout", default="/dev/stdout", help="")
parser.add_argument("--oneval", required=True, help="")
args = parser.parse_args()
run(args.bits_file, args.design, args.fnout, args.verbose)
run(args.bits_file, args.design, args.fnout, oneval=args.oneval, verbose=args.verbose)
if __name__ == "__main__":

View File

@ -17,5 +17,5 @@ for x in design*.bit; do
${XRAY_BITREAD} -F $XRAY_ROI_FRAMES -o ${x}s -z -y $x
done
python3 $FUZDIR/generate.py >segdata_tilegrid.txt
python3 $FUZDIR/../fuzzaddr/generate.py $GENERATE_ARGS >segdata_tilegrid.txt

View File

@ -1,24 +1,3 @@
N := 15
SPECIMENS := $(addprefix build/specimen_,$(shell seq -f '%03.0f' $(N)))
SPECIMENS_OK := $(addsuffix /OK,$(SPECIMENS))
database: build/segbits_tilegrid.tdb
build/segbits_tilegrid.tdb: $(SPECIMENS_OK)
${XRAY_SEGMATCH} -o build/segbits_tilegrid.tdb $$(find build -name "segdata_tilegrid.txt")
$(SPECIMENS_OK):
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
N ?= 15
GENERATE_ARGS?="--oneval KEEPER"
include ../fuzzaddr/common.mk

View File

@ -73,7 +73,7 @@ proc loc_pins {} {
}
set_property PULLTYPE $val $port
# puts "IOB $port $site $tile $pin $val"
puts $fp "$port,$site,$tile,$pin,$val"
puts $fp "$tile,$val,$site,$port,$pin"
}
close $fp
}