Merge pull request #278 from mcmasterg/seg_segbits

seg_ => segbits_
This commit is contained in:
John McMaster 2018-11-28 13:49:47 -08:00 committed by GitHub
commit 8385636ebb
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
13 changed files with 65 additions and 58 deletions

View File

@ -1,3 +1,2 @@
/specimen_[0-9][0-9][0-9]/ build
/seg_clbl[lm].segbits run.ok
/run.ok

View File

@ -1,21 +1,22 @@
# NOt using clb.mk: 0-2 segmatch # Not using clb.mk: 0-2 segmatch
# Could probably change segmatch to re though # Could probably change segmatch to re though
N := 1 N := 1
SPECIMENS := $(addprefix specimen_,$(shell seq -f '%03.0f' $(N))) SPECIMENS := $(addprefix build/specimen_,$(shell seq -f '%03.0f' $(N)))
SPECIMENS_OK := $(addsuffix /OK,$(SPECIMENS)) SPECIMENS_OK := $(addsuffix /OK,$(SPECIMENS))
database: $(SPECIMENS_OK) database: $(SPECIMENS_OK)
${XRAY_SEGMATCH} -o seg_clbll.db $(addsuffix /segdata_clbll_[lr]_[012].txt,$(SPECIMENS)) ${XRAY_SEGMATCH} -o build/segbits_clbll.db $(addsuffix /segdata_clbll_[lr]_[012].txt,$(SPECIMENS))
${XRAY_SEGMATCH} -o seg_clblm.db $(addsuffix /segdata_clblm_[lr]_[012].txt,$(SPECIMENS)) ${XRAY_SEGMATCH} -o build/segbits_clblm.db $(addsuffix /segdata_clblm_[lr]_[012].txt,$(SPECIMENS))
pushdb: pushdb:
${XRAY_MERGEDB} clbll_l seg_clbll.db ${XRAY_MERGEDB} clbll_l build/segbits_clbll.db
${XRAY_MERGEDB} clbll_r seg_clbll.db ${XRAY_MERGEDB} clbll_r build/segbits_clbll.db
${XRAY_MERGEDB} clblm_l seg_clblm.db ${XRAY_MERGEDB} clblm_l build/segbits_clblm.db
${XRAY_MERGEDB} clblm_r seg_clblm.db ${XRAY_MERGEDB} clblm_r build/segbits_clblm.db
$(SPECIMENS_OK): $(SPECIMENS_OK):
mkdir -p build
bash generate.sh $(subst /OK,,$@) bash generate.sh $(subst /OK,,$@)
touch $@ touch $@
@ -26,7 +27,7 @@ run:
touch run.ok touch run.ok
clean: clean:
rm -rf specimen_[0-9][0-9][0-9]/ seg_clbll.db seg_clblm.segbits run.ok rm -rf build run.ok
.PHONY: database pushdb run clean .PHONY: database pushdb run clean

View File

@ -1,16 +1,17 @@
#!/bin/bash #!/bin/bash
FUZDIR=$PWD
source ${XRAY_GENHEADER} source ${XRAY_GENHEADER}
echo '`define SEED 32'"'h$(echo $1 | md5sum | cut -c1-8)" > setseed.vh echo '`define SEED 32'"'h$(echo $1 | md5sum | cut -c1-8)" > setseed.vh
vivado -mode batch -source ../generate.tcl vivado -mode batch -source $FUZDIR/generate.tcl
for i in 0 1 2; do for i in 0 1 2; do
${XRAY_BITREAD} -F $XRAY_ROI_FRAMES -o design_$i.bits -z -y design_$i.bit ${XRAY_BITREAD} -F $XRAY_ROI_FRAMES -o design_$i.bits -z -y design_$i.bit
done done
for i in 0 1 2; do for i in 0 1 2; do
python3 ../generate.py $i python3 $FUZDIR/generate.py $i
done done

View File

@ -1,6 +1,6 @@
create_project -force -part $::env(XRAY_PART) design design create_project -force -part $::env(XRAY_PART) design design
read_verilog ../top.v read_verilog ../../top.v
synth_design -top top synth_design -top top
set_property -dict "PACKAGE_PIN $::env(XRAY_PIN_00) IOSTANDARD LVCMOS33" [get_ports clk] set_property -dict "PACKAGE_PIN $::env(XRAY_PIN_00) IOSTANDARD LVCMOS33" [get_ports clk]

View File

@ -4,13 +4,13 @@ SPECIMENS := $(addprefix specimen_,$(shell seq -f '%03.0f' $(N)))
SPECIMENS_OK := $(addsuffix /OK,$(SPECIMENS)) SPECIMENS_OK := $(addsuffix /OK,$(SPECIMENS))
database: $(SPECIMENS_OK) database: $(SPECIMENS_OK)
${XRAY_SEGMATCH} -m 5 -M 15 -o seg_int_l.db $(addsuffix /segdata_int_l.txt,$(SPECIMENS)) ${XRAY_SEGMATCH} -m 5 -M 15 -o segbits_int_l.db $(addsuffix /segdata_int_l.txt,$(SPECIMENS))
${XRAY_SEGMATCH} -m 5 -M 15 -o seg_int_r.db $(addsuffix /segdata_int_r.txt,$(SPECIMENS)) ${XRAY_SEGMATCH} -m 5 -M 15 -o segbits_int_r.db $(addsuffix /segdata_int_r.txt,$(SPECIMENS))
pushdb: pushdb:
${XRAY_DBFIXUP} --db-root . --clb-int ${XRAY_DBFIXUP} --db-root . --clb-int
${XRAY_MERGEDB} int_l seg_int_l.db ${XRAY_MERGEDB} int_l segbits_int_l.db
${XRAY_MERGEDB} int_r seg_int_r.db ${XRAY_MERGEDB} int_r segbits_int_r.db
$(SPECIMENS_OK): todo.txt $(SPECIMENS_OK): todo.txt
bash generate.sh $(subst /OK,,$@) bash generate.sh $(subst /OK,,$@)
@ -25,9 +25,9 @@ run:
touch run.ok touch run.ok
clean: clean:
rm -rf .Xil/ .cache/ filtered_seg_int_[lr].db run.ok rm -rf .Xil/ .cache/ run.ok
rm -rf todo.txt vivado* piplist/ piplist.dcp pattern_[lr].txt pips_int_[lr].txt rm -rf todo.txt vivado* piplist/ piplist.dcp pattern_[lr].txt pips_int_[lr].txt
rm -rf specimen_[0-9][0-9][0-9]/ seg_int_[lr].db mask_clbl[lm]_[lr].segbits rm -rf specimen_[0-9][0-9][0-9]/ segbits_int_[lr].db mask_clbl[lm]_[lr].segbits
.PHONY: database pushdb run clean .PHONY: database pushdb run clean

View File

@ -4,13 +4,13 @@ SPECIMENS := $(addprefix specimen_,$(shell seq -f '%03.0f' $(N)))
SPECIMENS_OK := $(addsuffix /OK,$(SPECIMENS)) SPECIMENS_OK := $(addsuffix /OK,$(SPECIMENS))
database: $(SPECIMENS_OK) database: $(SPECIMENS_OK)
${XRAY_SEGMATCH} -m 5 -M 15 -o seg_int_l.db $(addsuffix /segdata_int_l.txt,$(SPECIMENS)) ${XRAY_SEGMATCH} -m 5 -M 15 -o segbits_int_l.db $(addsuffix /segdata_int_l.txt,$(SPECIMENS))
${XRAY_SEGMATCH} -m 5 -M 15 -o seg_int_r.db $(addsuffix /segdata_int_r.txt,$(SPECIMENS)) ${XRAY_SEGMATCH} -m 5 -M 15 -o segbits_int_r.db $(addsuffix /segdata_int_r.txt,$(SPECIMENS))
pushdb: pushdb:
${XRAY_DBFIXUP} --db-root . --clb-int ${XRAY_DBFIXUP} --db-root . --clb-int
${XRAY_MERGEDB} int_l seg_int_l.db ${XRAY_MERGEDB} int_l segbits_int_l.db
${XRAY_MERGEDB} int_r seg_int_r.db ${XRAY_MERGEDB} int_r segbits_int_r.db
$(SPECIMENS_OK): todo.txt $(SPECIMENS_OK): todo.txt
bash generate.sh $(subst /OK,,$@) bash generate.sh $(subst /OK,,$@)
@ -27,7 +27,7 @@ run:
clean: clean:
rm -rf .Xil/ .cache/ filtered_seg_int_[lr].db run.ok rm -rf .Xil/ .cache/ filtered_seg_int_[lr].db run.ok
rm -rf todo.txt vivado* piplist/ piplist.dcp pattern_[lr].txt pips_int_[lr].txt rm -rf todo.txt vivado* piplist/ piplist.dcp pattern_[lr].txt pips_int_[lr].txt
rm -rf specimen_[0-9][0-9][0-9]/ seg_int_[lr].db mask_clbl[lm]_[lr].segbits rm -rf specimen_[0-9][0-9][0-9]/ segbits_int_[lr].db mask_clbl[lm]_[lr].segbits
.PHONY: database pushdb run clean .PHONY: database pushdb run clean

View File

@ -4,13 +4,13 @@ SPECIMENS := $(addprefix specimen_,$(shell seq -f '%03.0f' $(N)))
SPECIMENS_OK := $(addsuffix /OK,$(SPECIMENS)) SPECIMENS_OK := $(addsuffix /OK,$(SPECIMENS))
database: $(SPECIMENS_OK) database: $(SPECIMENS_OK)
${XRAY_SEGMATCH} -m 5 -M 15 -o seg_int_l.db $(addsuffix /segdata_int_l.txt,$(SPECIMENS)) ${XRAY_SEGMATCH} -m 5 -M 15 -o segbits_int_l.db $(addsuffix /segdata_int_l.txt,$(SPECIMENS))
${XRAY_SEGMATCH} -m 5 -M 15 -o seg_int_r.db $(addsuffix /segdata_int_r.txt,$(SPECIMENS)) ${XRAY_SEGMATCH} -m 5 -M 15 -o segbits_int_r.db $(addsuffix /segdata_int_r.txt,$(SPECIMENS))
pushdb: pushdb:
${XRAY_DBFIXUP} --db-root . --clb-int ${XRAY_DBFIXUP} --db-root . --clb-int
${XRAY_MERGEDB} int_l seg_int_l.db ${XRAY_MERGEDB} int_l segbits_int_l.db
${XRAY_MERGEDB} int_r seg_int_r.db ${XRAY_MERGEDB} int_r segbits_int_r.db
$(SPECIMENS_OK): todo.txt $(SPECIMENS_OK): todo.txt
bash generate.sh $(subst /OK,,$@) bash generate.sh $(subst /OK,,$@)
@ -27,7 +27,7 @@ run:
clean: clean:
rm -rf .Xil/ .cache/ filtered_seg_int_[lr].db run.ok rm -rf .Xil/ .cache/ filtered_seg_int_[lr].db run.ok
rm -rf todo.txt vivado* piplist/ piplist.dcp pattern_[lr].txt pips_int_[lr].txt rm -rf todo.txt vivado* piplist/ piplist.dcp pattern_[lr].txt pips_int_[lr].txt
rm -rf specimen_[0-9][0-9][0-9]/ seg_int_[lr].db mask_clbl[lm]_[lr].segbits rm -rf specimen_[0-9][0-9][0-9]/ segbits_int_[lr].db mask_clbl[lm]_[lr].segbits
.PHONY: database pushdb run clean .PHONY: database pushdb run clean

View File

@ -4,13 +4,13 @@ SPECIMENS := $(addprefix specimen_,$(shell seq -f '%03.0f' $(N)))
SPECIMENS_OK := $(addsuffix /OK,$(SPECIMENS)) SPECIMENS_OK := $(addsuffix /OK,$(SPECIMENS))
database: $(SPECIMENS_OK) database: $(SPECIMENS_OK)
${XRAY_SEGMATCH} -m 5 -M 15 -o seg_int_l.db $(addsuffix /segdata_int_l.txt,$(SPECIMENS)) ${XRAY_SEGMATCH} -m 5 -M 15 -o segbits_int_l.db $(addsuffix /segdata_int_l.txt,$(SPECIMENS))
${XRAY_SEGMATCH} -m 5 -M 15 -o seg_int_r.db $(addsuffix /segdata_int_r.txt,$(SPECIMENS)) ${XRAY_SEGMATCH} -m 5 -M 15 -o segbits_int_r.db $(addsuffix /segdata_int_r.txt,$(SPECIMENS))
pushdb: pushdb:
${XRAY_DBFIXUP} --db-root . --clb-int ${XRAY_DBFIXUP} --db-root . --clb-int
${XRAY_MERGEDB} int_l seg_int_l.db ${XRAY_MERGEDB} int_l segbits_int_l.db
${XRAY_MERGEDB} int_r seg_int_r.db ${XRAY_MERGEDB} int_r segbits_int_r.db
$(SPECIMENS_OK): todo.txt $(SPECIMENS_OK): todo.txt
bash generate.sh $(subst /OK,,$@) bash generate.sh $(subst /OK,,$@)
@ -27,7 +27,7 @@ run:
clean: clean:
rm -rf .Xil/ .cache/ filtered_seg_int_[lr].db run.ok rm -rf .Xil/ .cache/ filtered_seg_int_[lr].db run.ok
rm -rf todo.txt vivado* piplist/ piplist.dcp pattern_[lr].txt pips_int_[lr].txt rm -rf todo.txt vivado* piplist/ piplist.dcp pattern_[lr].txt pips_int_[lr].txt
rm -rf specimen_[0-9][0-9][0-9]/ seg_int_[lr].db mask_clbl[lm]_[lr].segbits rm -rf specimen_[0-9][0-9][0-9]/ segbits_int_[lr].db mask_clbl[lm]_[lr].segbits
.PHONY: database pushdb run clean .PHONY: database pushdb run clean

View File

@ -4,13 +4,13 @@ SPECIMENS := $(addprefix specimen_,$(shell seq -f '%03.0f' $(N)))
SPECIMENS_OK := $(addsuffix /OK,$(SPECIMENS)) SPECIMENS_OK := $(addsuffix /OK,$(SPECIMENS))
database: $(SPECIMENS_OK) database: $(SPECIMENS_OK)
${XRAY_SEGMATCH} -m 5 -M 15 -o seg_int_l.db $(addsuffix /segdata_int_l.txt,$(SPECIMENS)) ${XRAY_SEGMATCH} -m 5 -M 15 -o segbits_int_l.db $(addsuffix /segdata_int_l.txt,$(SPECIMENS))
${XRAY_SEGMATCH} -m 5 -M 15 -o seg_int_r.db $(addsuffix /segdata_int_r.txt,$(SPECIMENS)) ${XRAY_SEGMATCH} -m 5 -M 15 -o segbits_int_r.db $(addsuffix /segdata_int_r.txt,$(SPECIMENS))
pushdb: pushdb:
${XRAY_DBFIXUP} --db-root . --clb-int ${XRAY_DBFIXUP} --db-root . --clb-int
${XRAY_MERGEDB} int_l seg_int_l.db ${XRAY_MERGEDB} int_l segbits_int_l.db
${XRAY_MERGEDB} int_r seg_int_r.db ${XRAY_MERGEDB} int_r segbits_int_r.db
$(SPECIMENS_OK): todo.txt $(SPECIMENS_OK): todo.txt
bash generate.sh $(subst /OK,,$@) bash generate.sh $(subst /OK,,$@)
@ -31,7 +31,7 @@ run:
clean: clean:
rm -rf .Xil/ .cache/ filtered_seg_int_[lr].db run.ok rm -rf .Xil/ .cache/ filtered_seg_int_[lr].db run.ok
rm -rf todo.txt vivado* piplist/ piplist.dcp pattern_[lr].txt pips_int_[lr].txt rm -rf todo.txt vivado* piplist/ piplist.dcp pattern_[lr].txt pips_int_[lr].txt
rm -rf specimen_[0-9][0-9][0-9]/ seg_int_[lr].db mask_clbl[lm]_[lr].segbits rm -rf specimen_[0-9][0-9][0-9]/ segbits_int_[lr].db mask_clbl[lm]_[lr].segbits
.PHONY: database pushdb run clean .PHONY: database pushdb run clean

View File

@ -2,6 +2,8 @@
from prjxray.segmaker import Segmaker from prjxray.segmaker import Segmaker
verbose = 1
segmk = Segmaker("design.bits") segmk = Segmaker("design.bits")
tiledata = dict() tiledata = dict()
@ -13,6 +15,7 @@ print("Loading todo from ../todo.txt.")
with open("../todo.txt", "r") as f: with open("../todo.txt", "r") as f:
for line in f: for line in f:
line = tuple(line.strip().split(".")) line = tuple(line.strip().split("."))
verbose and print('todo', line)
todo.add(line) todo.add(line)
print("Loading tags from design.txt.") print("Loading tags from design.txt.")
@ -42,9 +45,12 @@ with open("design.txt", "r") as f:
tiledata[tile]["dsts"].add(src) tiledata[tile]["dsts"].add(src)
if pnum == 1 or pdir == 0: if pnum == 1 or pdir == 0:
verbose and print('ignore pnum == 1 or pdir == 0: ', pip)
ignpip.add(pip) ignpip.add(pip)
if ("_".join(tile.split("_")[0:2]), dst, src) not in todo: t = ("_".join(tile.split("_")[0:2]), dst, src)
if t not in todo:
verbose and print('ignore not todo: ', t)
ignpip.add(pip) ignpip.add(pip)
for tile, pips_srcs_dsts in tiledata.items(): for tile, pips_srcs_dsts in tiledata.items():

View File

@ -4,13 +4,13 @@ SPECIMENS := $(addprefix specimen_,$(shell seq -f '%03.0f' $(N)))
SPECIMENS_OK := $(addsuffix /OK,$(SPECIMENS)) SPECIMENS_OK := $(addsuffix /OK,$(SPECIMENS))
database: $(SPECIMENS_OK) database: $(SPECIMENS_OK)
${XRAY_SEGMATCH} -m 5 -M 15 -o seg_int_l.db $(addsuffix /segdata_int_l.txt,$(SPECIMENS)) ${XRAY_SEGMATCH} -m 5 -M 15 -o segbits_int_l.db $(addsuffix /segdata_int_l.txt,$(SPECIMENS))
${XRAY_SEGMATCH} -m 5 -M 15 -o seg_int_r.db $(addsuffix /segdata_int_r.txt,$(SPECIMENS)) ${XRAY_SEGMATCH} -m 5 -M 15 -o segbits_int_r.db $(addsuffix /segdata_int_r.txt,$(SPECIMENS))
pushdb: pushdb:
${XRAY_DBFIXUP} --db-root . --clb-int ${XRAY_DBFIXUP} --db-root . --clb-int
${XRAY_MERGEDB} int_l seg_int_l.db ${XRAY_MERGEDB} int_l segbits_int_l.db
${XRAY_MERGEDB} int_r seg_int_r.db ${XRAY_MERGEDB} int_r segbits_int_r.db
$(SPECIMENS_OK): todo.txt $(SPECIMENS_OK): todo.txt
bash generate.sh $(subst /OK,,$@) bash generate.sh $(subst /OK,,$@)
@ -27,7 +27,7 @@ run:
clean: clean:
rm -rf .Xil/ .cache/ vivado* todo.txt run.ok rm -rf .Xil/ .cache/ vivado* todo.txt run.ok
rm -rf bipiplist/ bipiplist.dcp bipips_int_[lr].txt rm -rf bipiplist/ bipiplist.dcp bipips_int_[lr].txt
rm -rf specimen_[0-9][0-9][0-9]/ seg_int_[lr].db rm -rf specimen_[0-9][0-9][0-9]/ segbits_int_[lr].db
.PHONY: database pushdb run clean .PHONY: database pushdb run clean

View File

@ -4,17 +4,17 @@ SPECIMENS := $(addprefix specimen_,$(shell seq -f '%03.0f' $(N)))
SPECIMENS_OK := $(addsuffix /OK,$(SPECIMENS)) SPECIMENS_OK := $(addsuffix /OK,$(SPECIMENS))
database: $(SPECIMENS_OK) database: $(SPECIMENS_OK)
${XRAY_SEGMATCH} -o seg_hclk_l.db $(addsuffix /segdata_hclk_l_design_*.txt,$(SPECIMENS)) ${XRAY_SEGMATCH} -o segbits_hclk_l.db $(addsuffix /segdata_hclk_l_design_*.txt,$(SPECIMENS))
${XRAY_SEGMATCH} -o seg_hclk_r.db $(addsuffix /segdata_hclk_r_design_*.txt,$(SPECIMENS)) ${XRAY_SEGMATCH} -o segbits_hclk_r.db $(addsuffix /segdata_hclk_r_design_*.txt,$(SPECIMENS))
${XRAY_MASKMERGE} mask_hclk_l.db $(addsuffix /segdata_hclk_l_design_*.txt,$(SPECIMENS)) ${XRAY_MASKMERGE} mask_hclk_l.db $(addsuffix /segdata_hclk_l_design_*.txt,$(SPECIMENS))
${XRAY_MASKMERGE} mask_hclk_r.db $(addsuffix /segdata_hclk_r_design_*.txt,$(SPECIMENS)) ${XRAY_MASKMERGE} mask_hclk_r.db $(addsuffix /segdata_hclk_r_design_*.txt,$(SPECIMENS))
grep CK_INOUT seg_hclk_l.db | sed 's, .*, always,' > ppips_hclk_l.txt grep CK_INOUT segbits_hclk_l.db | sed 's, .*, always,' > ppips_hclk_l.txt
grep CK_INOUT seg_hclk_r.db | sed 's, .*, always,' > ppips_hclk_r.txt grep CK_INOUT segbits_hclk_r.db | sed 's, .*, always,' > ppips_hclk_r.txt
pushdb: pushdb:
${XRAY_DBFIXUP} --db-root . --clb-int ${XRAY_DBFIXUP} --db-root . --clb-int
${XRAY_MERGEDB} hclk_l seg_hclk_l.db ${XRAY_MERGEDB} hclk_l segbits_hclk_l.db
${XRAY_MERGEDB} hclk_r seg_hclk_r.db ${XRAY_MERGEDB} hclk_r segbits_hclk_r.db
${XRAY_MERGEDB} mask_hclk_l mask_hclk_l.db ${XRAY_MERGEDB} mask_hclk_l mask_hclk_l.db
${XRAY_MERGEDB} mask_hclk_r mask_hclk_r.db ${XRAY_MERGEDB} mask_hclk_r mask_hclk_r.db
cp ppips_hclk_l.txt ${XRAY_DATABASE_DIR}/$(XRAY_DATABASE)/ppips_hclk_l.db cp ppips_hclk_l.txt ${XRAY_DATABASE_DIR}/$(XRAY_DATABASE)/ppips_hclk_l.db

View File

@ -4,13 +4,13 @@ SPECIMENS := $(addprefix specimen_,$(shell seq -f '%03.0f' $(N)))
SPECIMENS_OK := $(addsuffix /OK,$(SPECIMENS)) SPECIMENS_OK := $(addsuffix /OK,$(SPECIMENS))
database: $(SPECIMENS_OK) database: $(SPECIMENS_OK)
${XRAY_SEGMATCH} -o seg_dsp_l.db $(addsuffix /segdata_dsp_l_*.txt,$(SPECIMENS)) ${XRAY_SEGMATCH} -o segbits_dsp_l.db $(addsuffix /segdata_dsp_l_*.txt,$(SPECIMENS))
${XRAY_SEGMATCH} -o seg_dsp_r.db $(addsuffix /segdata_dsp_r_*.txt,$(SPECIMENS)) ${XRAY_SEGMATCH} -o segbits_dsp_r.db $(addsuffix /segdata_dsp_r_*.txt,$(SPECIMENS))
pushdb: pushdb:
${XRAY_DBFIXUP} --db-root . --clb-int ${XRAY_DBFIXUP} --db-root . --clb-int
${XRAY_MERGEDB} dsp_l seg_dsp_l.db ${XRAY_MERGEDB} dsp_l segbits_dsp_l.db
${XRAY_MERGEDB} dsp_r seg_dsp_r.db ${XRAY_MERGEDB} dsp_r segbits_dsp_r.db
$(SPECIMENS_OK): $(SPECIMENS_OK):
bash generate.sh $(subst /OK,,$@) bash generate.sh $(subst /OK,,$@)
@ -23,7 +23,7 @@ run:
touch run.ok touch run.ok
clean: clean:
rm -rf specimen_[0-9][0-9][0-9]/ seg_dsp_l.db seg_dsp_r.segbits run.ok rm -rf specimen_[0-9][0-9][0-9]/ segbits_dsp_l.db segbits_dsp_r.db run.ok
.PHONY: database pushdb run clean .PHONY: database pushdb run clean