diff --git a/fuzzers/035-iob-ilogic/Makefile b/fuzzers/035-iob-ilogic/Makefile index e6a26e88..39842133 100644 --- a/fuzzers/035-iob-ilogic/Makefile +++ b/fuzzers/035-iob-ilogic/Makefile @@ -19,7 +19,7 @@ build/segbits_xioi3.rdb: build/segbits_xioi3.rdb2 grep -v ".ISERDES." $^ | grep -v "DYN_" >$@ build/segbits_xioi3.db: build/segbits_xioi3.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 --groups tag_groups.txt --seg-fn-in $^ --seg-fn-out $@ ${XRAY_MASKMERGE} build/mask_xioi3.db $$(find -name segdata_*) pushdb: diff --git a/fuzzers/035-iob-ilogic/tag_groups.txt b/fuzzers/035-iob-ilogic/tag_groups.txt new file mode 100644 index 00000000..d4525fbd --- /dev/null +++ b/fuzzers/035-iob-ilogic/tag_groups.txt @@ -0,0 +1,13 @@ +IOI3.ILOGIC_Y0.IDELMUXE3.P0 IOI3.ILOGIC_Y0.IDELMUXE3.P1 + +IOI3.ILOGIC_Y0.IFF.SRTYPE.ASYNC IOI3.ILOGIC_Y0.IFF.SRTYPE.SYNC + +IOI3.ILOGIC_Y0.IFF.DDR_CLK_EDGE.OPPOSITE_EDGE IOI3.ILOGIC_Y0.IFF.DDR_CLK_EDGE.SAME_EDGE + +IOI3.ILOGIC_Y1.IDELMUXE3.P0 IOI3.ILOGIC_Y1.IDELMUXE3.P1 + +IOI3.ILOGIC_Y1.IFF.SRTYPE.ASYNC IOI3.ILOGIC_Y1.IFF.SRTYPE.SYNC + +IOI3.ILOGIC_Y1.IFF.DDR_CLK_EDGE.OPPOSITE_EDGE IOI3.ILOGIC_Y1.IFF.DDR_CLK_EDGE.SAME_EDGE + + diff --git a/fuzzers/035b-iob-iserdes/Makefile b/fuzzers/035b-iob-iserdes/Makefile index 784dc9d6..80d386fb 100644 --- a/fuzzers/035b-iob-iserdes/Makefile +++ b/fuzzers/035b-iob-iserdes/Makefile @@ -1,24 +1,32 @@ N := 50 include ../fuzzer.mk -database: build/segbits_xiob33.db +database: build/segbits_xioi3.db -build/segbits_xiob33.rdb2: $(SPECIMENS_OK) - ${XRAY_SEGMATCH} -c 20 -m 1 -M 1 -o build/segbits_xiob33.rdb2 $$(find -name segdata_*.txt) +build/segbits_xioi3.rdb2: $(SPECIMENS_OK) + ${XRAY_SEGMATCH} -c 20 -m 1 -M 1 -o build/segbits_xioi3.rdb2 $$(find -name segdata_*.txt) -build/segbits_xiob33.rdb: build/segbits_xiob33.rdb2 +build/segbits_xioi3.rdb: build/segbits_xioi3.rdb2 # Keep only solution for ISERDES related features. grep -e ".ISERDES." $^ >$@ -build/segbits_xiob33.db: build/segbits_xiob33.rdb - ${XRAY_DBFIXUP} --db-root build --zero-db bits.dbf --seg-fn-in $^ --seg-fn-out $@ - ${XRAY_MASKMERGE} build/mask_xiob33.db $$(find -name segdata_*.txt) +build/segbits_xioi3.db: build/segbits_xioi3.rdb + ${XRAY_DBFIXUP} --db-root build --zero-db bits.dbf --groups tag_groups.txt --seg-fn-in $^ --seg-fn-out $@ + ${XRAY_MASKMERGE} build/mask_xioi3.db $$(find -name segdata_*.txt) pushdb: - ${XRAY_MERGEDB} liob33 build/segbits_xiob33.db - ${XRAY_MERGEDB} riob33 build/segbits_xiob33.db - ${XRAY_MERGEDB} mask_liob33 build/mask_xiob33.db - ${XRAY_MERGEDB} mask_riob33 build/mask_xiob33.db + ${XRAY_MERGEDB} lioi3 build/segbits_xioi3.db + ${XRAY_MERGEDB} lioi3_tbytesrc build/segbits_xioi3.db + ${XRAY_MERGEDB} lioi3_tbyteterm build/segbits_xioi3.db + ${XRAY_MERGEDB} rioi3 build/segbits_xioi3.db + ${XRAY_MERGEDB} rioi3_tbytesrc build/segbits_xioi3.db + ${XRAY_MERGEDB} rioi3_tbyteterm build/segbits_xioi3.db + ${XRAY_MERGEDB} mask_lioi3 build/mask_xioi3.db + ${XRAY_MERGEDB} mask_lioi3_tbytesrc build/mask_xioi3.db + ${XRAY_MERGEDB} mask_lioi3_tbyteterm build/mask_xioi3.db + ${XRAY_MERGEDB} mask_rioi3 build/mask_xioi3.db + ${XRAY_MERGEDB} mask_rioi3_tbytesrc build/mask_xioi3.db + ${XRAY_MERGEDB} mask_rioi3_tbyteterm build/mask_xioi3.db .PHONY: database pushdb diff --git a/fuzzers/035b-iob-iserdes/bits.dbf b/fuzzers/035b-iob-iserdes/bits.dbf index 63a90990..820e8441 100644 --- a/fuzzers/035b-iob-iserdes/bits.dbf +++ b/fuzzers/035b-iob-iserdes/bits.dbf @@ -1,12 +1,2 @@ -IOI3.ILOGIC_Y0.IDELMUXE3.P0 ^ IOI3.ILOGIC_Y0.IDELMUXE3.P1 -IOI3.ILOGIC_Y0.IFFDELMUXE3.P0 ^ IOI3.ILOGIC_Y0.IFFDELMUXE3.P1 -IOI3.ILOGIC_Y1.IDELMUXE3.P0 ^ IOI3.ILOGIC_Y1.IDELMUXE3.P1 -IOI3.ILOGIC_Y1.IFFDELMUXE3.P0 ^ IOI3.ILOGIC_Y1.IFFDELMUXE3.P1 - -26_99 27_98 ,IOI3.ILOGIC_Y0.IFF.DDR_CLK_EDGE.OPPOSITE_EDGE -26_99 27_98 ,IOI3.ILOGIC_Y0.IFF.DDR_CLK_EDGE.SAME_EDGE -26_29 27_28 ,IOI3.ILOGIC_Y1.IFF.DDR_CLK_EDGE.OPPOSITE_EDGE -26_29 27_28 ,IOI3.ILOGIC_Y1.IFF.DDR_CLK_EDGE.SAME_EDGE - 26_101 26_107 26_109 26_111 26_115 26_117 26_121 27_108 27_110 27_112 26_15 26_17 26_19 27_6 27_10 27_12 27_16 27_18 27_20 27_26 diff --git a/fuzzers/035b-iob-iserdes/tag_groups.txt b/fuzzers/035b-iob-iserdes/tag_groups.txt new file mode 100644 index 00000000..c6461d82 --- /dev/null +++ b/fuzzers/035b-iob-iserdes/tag_groups.txt @@ -0,0 +1,11 @@ +IOI3.ILOGIC_Y0.ISERDES.MEMORY.DDR.4 IOI3.ILOGIC_Y0.ISERDES.MEMORY_DDR3.DDR.4 IOI3.ILOGIC_Y0.ISERDES.MEMORY_QDR.DDR.4 IOI3.ILOGIC_Y0.ISERDES.NETWORKING.DDR.10 IOI3.ILOGIC_Y0.ISERDES.NETWORKING.DDR.14 IOI3.ILOGIC_Y0.ISERDES.NETWORKING.DDR.4 IOI3.ILOGIC_Y0.ISERDES.NETWORKING.DDR.6 IOI3.ILOGIC_Y0.ISERDES.NETWORKING.DDR.8 IOI3.ILOGIC_Y0.ISERDES.NETWORKING.SDR.2 IOI3.ILOGIC_Y0.ISERDES.NETWORKING.SDR.3 IOI3.ILOGIC_Y0.ISERDES.NETWORKING.SDR.4 IOI3.ILOGIC_Y0.ISERDES.NETWORKING.SDR.5 IOI3.ILOGIC_Y0.ISERDES.NETWORKING.SDR.6 IOI3.ILOGIC_Y0.ISERDES.NETWORKING.SDR.7 IOI3.ILOGIC_Y0.ISERDES.NETWORKING.SDR.8 IOI3.ILOGIC_Y0.ISERDES.OVERSAMPLE.DDR.4 + +IOI3.ILOGIC_Y0.ISERDES.MODE.MASTER IOI3.ILOGIC_Y0.ISERDES.MODE.SLAVE + +IOI3.ILOGIC_Y0.ISERDES.NUM_CE.N1 IOI3.ILOGIC_Y0.ISERDES.NUM_CE.N2 + +IOI3.ILOGIC_Y1.ISERDES.MEMORY.DDR.4 IOI3.ILOGIC_Y1.ISERDES.MEMORY_DDR3.DDR.4 IOI3.ILOGIC_Y1.ISERDES.MEMORY_QDR.DDR.4 IOI3.ILOGIC_Y1.ISERDES.NETWORKING.DDR.10 IOI3.ILOGIC_Y1.ISERDES.NETWORKING.DDR.14 IOI3.ILOGIC_Y1.ISERDES.NETWORKING.DDR.4 IOI3.ILOGIC_Y1.ISERDES.NETWORKING.DDR.6 IOI3.ILOGIC_Y1.ISERDES.NETWORKING.DDR.8 IOI3.ILOGIC_Y1.ISERDES.NETWORKING.SDR.2 IOI3.ILOGIC_Y1.ISERDES.NETWORKING.SDR.3 IOI3.ILOGIC_Y1.ISERDES.NETWORKING.SDR.4 IOI3.ILOGIC_Y1.ISERDES.NETWORKING.SDR.5 IOI3.ILOGIC_Y1.ISERDES.NETWORKING.SDR.6 IOI3.ILOGIC_Y1.ISERDES.NETWORKING.SDR.7 IOI3.ILOGIC_Y1.ISERDES.NETWORKING.SDR.8 IOI3.ILOGIC_Y1.ISERDES.OVERSAMPLE.DDR.4 + +IOI3.ILOGIC_Y1.ISERDES.MODE.MASTER IOI3.ILOGIC_Y1.ISERDES.MODE.SLAVE + +IOI3.ILOGIC_Y1.ISERDES.NUM_CE.N1 IOI3.ILOGIC_Y1.ISERDES.NUM_CE.N2 diff --git a/fuzzers/035b-iob-iserdes/top.py b/fuzzers/035b-iob-iserdes/top.py index e1add6cb..cc61036a 100644 --- a/fuzzers/035b-iob-iserdes/top.py +++ b/fuzzers/035b-iob-iserdes/top.py @@ -14,7 +14,7 @@ from prjxray.db import Database def gen_sites(): - db = Database(util.get_db_root()) + db = Database(util.get_db_root(), util.get_part()) grid = db.grid() tile_list = []