Restore IOB fuzzer and add _Y0 bits.

Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
This commit is contained in:
Keith Rothman 2019-02-14 11:01:46 -08:00
parent 7f7c3bb564
commit 04011d477c
3 changed files with 26 additions and 9 deletions

View File

@ -1,20 +1,30 @@
N := 1 N := 1
include ../fuzzer.mk include ../fuzzer.mk
SEGDATAS=$(addsuffix /segdata_liob33.txt,$(SPECIMENS)) SEGDATAS_L=$(addsuffix /segdata_liob33.txt,$(SPECIMENS))
SEGDATAS_R=$(addsuffix /segdata_riob33.txt,$(SPECIMENS))
database: build/segbits_liob33.db database: build/segbits_liob33.db build/segbits_riob33.db
build/segbits_liob33.rdb: $(SPECIMENS_OK) build/segbits_liob33.rdb: $(SPECIMENS_OK)
${XRAY_SEGMATCH} -o build/segbits_liob33.rdb $(SEGDATAS) ${XRAY_SEGMATCH} -o build/segbits_liob33.rdb $(SEGDATAS_L)
build/segbits_liob33.db: build/segbits_liob33.rdb build/segbits_liob33.db: build/segbits_liob33.rdb
${XRAY_DBFIXUP} --db-root build --zero-db bits.dbf --seg-fn-in $^ --seg-fn-out $@ ${XRAY_DBFIXUP} --db-root build --zero-db bits.dbf --seg-fn-in $^ --seg-fn-out $@
${XRAY_MASKMERGE} build/mask_liob33.db $(SEGDATAS) ${XRAY_MASKMERGE} build/mask_liob33.db $(SEGDATAS_L)
build/segbits_riob33.rdb: $(SPECIMENS_OK)
${XRAY_SEGMATCH} -o build/segbits_riob33.rdb $(SEGDATAS_R)
build/segbits_riob33.db: build/segbits_riob33.rdb
${XRAY_DBFIXUP} --db-root build --zero-db bits.dbf --seg-fn-in $^ --seg-fn-out $@
${XRAY_MASKMERGE} build/mask_riob33.db $(SEGDATAS_R)
pushdb: pushdb:
${XRAY_MERGEDB} liob33 build/segbits_liob33.db ${XRAY_MERGEDB} liob33 build/segbits_liob33.db
${XRAY_MERGEDB} riob33 build/segbits_riob33.db
${XRAY_MERGEDB} mask_liob33 build/mask_liob33.db ${XRAY_MERGEDB} mask_liob33 build/mask_liob33.db
${XRAY_MERGEDB} mask_riob33 build/mask_riob33.db
.PHONY: database pushdb .PHONY: database pushdb

View File

@ -1 +1,2 @@
38_98 39_97 39_99,LIOB33.IOB_Y1.PULLTYPE.PULLDOWN 38_92 39_93 38_94,LIOB33.IOB_Y0.PULLTYPE.PULLDOWN
39_33 38_34 39_35,LIOB33.IOB_Y1.PULLTYPE.PULLDOWN

View File

@ -8,6 +8,7 @@ import random
random.seed(int(os.getenv("SEED"), 16)) random.seed(int(os.getenv("SEED"), 16))
from prjxray import util from prjxray import util
from prjxray import verilog from prjxray import verilog
from prjxray.db import Database
def gen_iobs(): def gen_iobs():
@ -17,10 +18,15 @@ def gen_iobs():
IOB33: not a diff pair. Relatively rare (at least in ROI...2 of them?) IOB33: not a diff pair. Relatively rare (at least in ROI...2 of them?)
Focus on IOB33S to start Focus on IOB33S to start
''' '''
for _tile_name, site_name, site_type in util.get_roi().gen_sites( db = Database(util.get_db_root())
#['IOB33', 'IOB33S', 'IOB33M']): grid = db.grid()
['IOB33S']): for tile_name in sorted(grid.tiles()):
yield site_name, site_type loc = grid.loc_of_tilename(tile_name)
gridinfo = grid.gridinfo_at_loc(loc)
for site_name, site_type in gridinfo.sites.items():
if site_type in ['IOB33S', 'IOB33M']:
yield site_name, site_type
def write_pins(ports): def write_pins(ports):