mirror of https://github.com/openXC7/prjxray.git
commit
8385636ebb
|
|
@ -1,3 +1,2 @@
|
|||
/specimen_[0-9][0-9][0-9]/
|
||||
/seg_clbl[lm].segbits
|
||||
/run.ok
|
||||
build
|
||||
run.ok
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
||||
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))
|
||||
|
||||
database: $(SPECIMENS_OK)
|
||||
${XRAY_SEGMATCH} -o seg_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_clbll.db $(addsuffix /segdata_clbll_[lr]_[012].txt,$(SPECIMENS))
|
||||
${XRAY_SEGMATCH} -o build/segbits_clblm.db $(addsuffix /segdata_clblm_[lr]_[012].txt,$(SPECIMENS))
|
||||
|
||||
pushdb:
|
||||
${XRAY_MERGEDB} clbll_l seg_clbll.db
|
||||
${XRAY_MERGEDB} clbll_r seg_clbll.db
|
||||
${XRAY_MERGEDB} clblm_l seg_clblm.db
|
||||
${XRAY_MERGEDB} clblm_r seg_clblm.db
|
||||
${XRAY_MERGEDB} clbll_l build/segbits_clbll.db
|
||||
${XRAY_MERGEDB} clbll_r build/segbits_clbll.db
|
||||
${XRAY_MERGEDB} clblm_l build/segbits_clblm.db
|
||||
${XRAY_MERGEDB} clblm_r build/segbits_clblm.db
|
||||
|
||||
$(SPECIMENS_OK):
|
||||
mkdir -p build
|
||||
bash generate.sh $(subst /OK,,$@)
|
||||
touch $@
|
||||
|
||||
|
|
@ -26,7 +27,7 @@ run:
|
|||
touch run.ok
|
||||
|
||||
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
|
||||
|
||||
|
|
|
|||
|
|
@ -1,16 +1,17 @@
|
|||
#!/bin/bash
|
||||
|
||||
FUZDIR=$PWD
|
||||
source ${XRAY_GENHEADER}
|
||||
|
||||
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
|
||||
${XRAY_BITREAD} -F $XRAY_ROI_FRAMES -o design_$i.bits -z -y design_$i.bit
|
||||
done
|
||||
|
||||
for i in 0 1 2; do
|
||||
python3 ../generate.py $i
|
||||
python3 $FUZDIR/generate.py $i
|
||||
done
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
create_project -force -part $::env(XRAY_PART) design design
|
||||
|
||||
read_verilog ../top.v
|
||||
read_verilog ../../top.v
|
||||
synth_design -top top
|
||||
|
||||
set_property -dict "PACKAGE_PIN $::env(XRAY_PIN_00) IOSTANDARD LVCMOS33" [get_ports clk]
|
||||
|
|
|
|||
|
|
@ -4,13 +4,13 @@ SPECIMENS := $(addprefix specimen_,$(shell seq -f '%03.0f' $(N)))
|
|||
SPECIMENS_OK := $(addsuffix /OK,$(SPECIMENS))
|
||||
|
||||
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 seg_int_r.db $(addsuffix /segdata_int_r.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 segbits_int_r.db $(addsuffix /segdata_int_r.txt,$(SPECIMENS))
|
||||
|
||||
pushdb:
|
||||
${XRAY_DBFIXUP} --db-root . --clb-int
|
||||
${XRAY_MERGEDB} int_l seg_int_l.db
|
||||
${XRAY_MERGEDB} int_r seg_int_r.db
|
||||
${XRAY_MERGEDB} int_l segbits_int_l.db
|
||||
${XRAY_MERGEDB} int_r segbits_int_r.db
|
||||
|
||||
$(SPECIMENS_OK): todo.txt
|
||||
bash generate.sh $(subst /OK,,$@)
|
||||
|
|
@ -25,9 +25,9 @@ run:
|
|||
touch run.ok
|
||||
|
||||
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 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
|
||||
|
||||
|
|
|
|||
|
|
@ -4,13 +4,13 @@ SPECIMENS := $(addprefix specimen_,$(shell seq -f '%03.0f' $(N)))
|
|||
SPECIMENS_OK := $(addsuffix /OK,$(SPECIMENS))
|
||||
|
||||
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 seg_int_r.db $(addsuffix /segdata_int_r.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 segbits_int_r.db $(addsuffix /segdata_int_r.txt,$(SPECIMENS))
|
||||
|
||||
pushdb:
|
||||
${XRAY_DBFIXUP} --db-root . --clb-int
|
||||
${XRAY_MERGEDB} int_l seg_int_l.db
|
||||
${XRAY_MERGEDB} int_r seg_int_r.db
|
||||
${XRAY_MERGEDB} int_l segbits_int_l.db
|
||||
${XRAY_MERGEDB} int_r segbits_int_r.db
|
||||
|
||||
$(SPECIMENS_OK): todo.txt
|
||||
bash generate.sh $(subst /OK,,$@)
|
||||
|
|
@ -27,7 +27,7 @@ run:
|
|||
clean:
|
||||
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 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
|
||||
|
||||
|
|
|
|||
|
|
@ -4,13 +4,13 @@ SPECIMENS := $(addprefix specimen_,$(shell seq -f '%03.0f' $(N)))
|
|||
SPECIMENS_OK := $(addsuffix /OK,$(SPECIMENS))
|
||||
|
||||
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 seg_int_r.db $(addsuffix /segdata_int_r.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 segbits_int_r.db $(addsuffix /segdata_int_r.txt,$(SPECIMENS))
|
||||
|
||||
pushdb:
|
||||
${XRAY_DBFIXUP} --db-root . --clb-int
|
||||
${XRAY_MERGEDB} int_l seg_int_l.db
|
||||
${XRAY_MERGEDB} int_r seg_int_r.db
|
||||
${XRAY_MERGEDB} int_l segbits_int_l.db
|
||||
${XRAY_MERGEDB} int_r segbits_int_r.db
|
||||
|
||||
$(SPECIMENS_OK): todo.txt
|
||||
bash generate.sh $(subst /OK,,$@)
|
||||
|
|
@ -27,7 +27,7 @@ run:
|
|||
clean:
|
||||
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 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
|
||||
|
||||
|
|
|
|||
|
|
@ -4,13 +4,13 @@ SPECIMENS := $(addprefix specimen_,$(shell seq -f '%03.0f' $(N)))
|
|||
SPECIMENS_OK := $(addsuffix /OK,$(SPECIMENS))
|
||||
|
||||
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 seg_int_r.db $(addsuffix /segdata_int_r.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 segbits_int_r.db $(addsuffix /segdata_int_r.txt,$(SPECIMENS))
|
||||
|
||||
pushdb:
|
||||
${XRAY_DBFIXUP} --db-root . --clb-int
|
||||
${XRAY_MERGEDB} int_l seg_int_l.db
|
||||
${XRAY_MERGEDB} int_r seg_int_r.db
|
||||
${XRAY_MERGEDB} int_l segbits_int_l.db
|
||||
${XRAY_MERGEDB} int_r segbits_int_r.db
|
||||
|
||||
$(SPECIMENS_OK): todo.txt
|
||||
bash generate.sh $(subst /OK,,$@)
|
||||
|
|
@ -27,7 +27,7 @@ run:
|
|||
clean:
|
||||
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 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
|
||||
|
||||
|
|
|
|||
|
|
@ -4,13 +4,13 @@ SPECIMENS := $(addprefix specimen_,$(shell seq -f '%03.0f' $(N)))
|
|||
SPECIMENS_OK := $(addsuffix /OK,$(SPECIMENS))
|
||||
|
||||
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 seg_int_r.db $(addsuffix /segdata_int_r.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 segbits_int_r.db $(addsuffix /segdata_int_r.txt,$(SPECIMENS))
|
||||
|
||||
pushdb:
|
||||
${XRAY_DBFIXUP} --db-root . --clb-int
|
||||
${XRAY_MERGEDB} int_l seg_int_l.db
|
||||
${XRAY_MERGEDB} int_r seg_int_r.db
|
||||
${XRAY_MERGEDB} int_l segbits_int_l.db
|
||||
${XRAY_MERGEDB} int_r segbits_int_r.db
|
||||
|
||||
$(SPECIMENS_OK): todo.txt
|
||||
bash generate.sh $(subst /OK,,$@)
|
||||
|
|
@ -31,7 +31,7 @@ run:
|
|||
clean:
|
||||
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 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
|
||||
|
||||
|
|
|
|||
|
|
@ -2,6 +2,8 @@
|
|||
|
||||
from prjxray.segmaker import Segmaker
|
||||
|
||||
verbose = 1
|
||||
|
||||
segmk = Segmaker("design.bits")
|
||||
|
||||
tiledata = dict()
|
||||
|
|
@ -13,6 +15,7 @@ print("Loading todo from ../todo.txt.")
|
|||
with open("../todo.txt", "r") as f:
|
||||
for line in f:
|
||||
line = tuple(line.strip().split("."))
|
||||
verbose and print('todo', line)
|
||||
todo.add(line)
|
||||
|
||||
print("Loading tags from design.txt.")
|
||||
|
|
@ -42,9 +45,12 @@ with open("design.txt", "r") as f:
|
|||
tiledata[tile]["dsts"].add(src)
|
||||
|
||||
if pnum == 1 or pdir == 0:
|
||||
verbose and print('ignore pnum == 1 or pdir == 0: ', 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)
|
||||
|
||||
for tile, pips_srcs_dsts in tiledata.items():
|
||||
|
|
|
|||
|
|
@ -4,13 +4,13 @@ SPECIMENS := $(addprefix specimen_,$(shell seq -f '%03.0f' $(N)))
|
|||
SPECIMENS_OK := $(addsuffix /OK,$(SPECIMENS))
|
||||
|
||||
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 seg_int_r.db $(addsuffix /segdata_int_r.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 segbits_int_r.db $(addsuffix /segdata_int_r.txt,$(SPECIMENS))
|
||||
|
||||
pushdb:
|
||||
${XRAY_DBFIXUP} --db-root . --clb-int
|
||||
${XRAY_MERGEDB} int_l seg_int_l.db
|
||||
${XRAY_MERGEDB} int_r seg_int_r.db
|
||||
${XRAY_MERGEDB} int_l segbits_int_l.db
|
||||
${XRAY_MERGEDB} int_r segbits_int_r.db
|
||||
|
||||
$(SPECIMENS_OK): todo.txt
|
||||
bash generate.sh $(subst /OK,,$@)
|
||||
|
|
@ -27,7 +27,7 @@ run:
|
|||
clean:
|
||||
rm -rf .Xil/ .cache/ vivado* todo.txt run.ok
|
||||
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
|
||||
|
||||
|
|
|
|||
|
|
@ -4,17 +4,17 @@ SPECIMENS := $(addprefix specimen_,$(shell seq -f '%03.0f' $(N)))
|
|||
SPECIMENS_OK := $(addsuffix /OK,$(SPECIMENS))
|
||||
|
||||
database: $(SPECIMENS_OK)
|
||||
${XRAY_SEGMATCH} -o seg_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_l.db $(addsuffix /segdata_hclk_l_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_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 seg_hclk_r.db | sed 's, .*, always,' > ppips_hclk_r.txt
|
||||
grep CK_INOUT segbits_hclk_l.db | sed 's, .*, always,' > ppips_hclk_l.txt
|
||||
grep CK_INOUT segbits_hclk_r.db | sed 's, .*, always,' > ppips_hclk_r.txt
|
||||
|
||||
pushdb:
|
||||
${XRAY_DBFIXUP} --db-root . --clb-int
|
||||
${XRAY_MERGEDB} hclk_l seg_hclk_l.db
|
||||
${XRAY_MERGEDB} hclk_r seg_hclk_r.db
|
||||
${XRAY_MERGEDB} hclk_l segbits_hclk_l.db
|
||||
${XRAY_MERGEDB} hclk_r segbits_hclk_r.db
|
||||
${XRAY_MERGEDB} mask_hclk_l mask_hclk_l.db
|
||||
${XRAY_MERGEDB} mask_hclk_r mask_hclk_r.db
|
||||
cp ppips_hclk_l.txt ${XRAY_DATABASE_DIR}/$(XRAY_DATABASE)/ppips_hclk_l.db
|
||||
|
|
|
|||
|
|
@ -4,13 +4,13 @@ SPECIMENS := $(addprefix specimen_,$(shell seq -f '%03.0f' $(N)))
|
|||
SPECIMENS_OK := $(addsuffix /OK,$(SPECIMENS))
|
||||
|
||||
database: $(SPECIMENS_OK)
|
||||
${XRAY_SEGMATCH} -o seg_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_l.db $(addsuffix /segdata_dsp_l_*.txt,$(SPECIMENS))
|
||||
${XRAY_SEGMATCH} -o segbits_dsp_r.db $(addsuffix /segdata_dsp_r_*.txt,$(SPECIMENS))
|
||||
|
||||
pushdb:
|
||||
${XRAY_DBFIXUP} --db-root . --clb-int
|
||||
${XRAY_MERGEDB} dsp_l seg_dsp_l.db
|
||||
${XRAY_MERGEDB} dsp_r seg_dsp_r.db
|
||||
${XRAY_MERGEDB} dsp_l segbits_dsp_l.db
|
||||
${XRAY_MERGEDB} dsp_r segbits_dsp_r.db
|
||||
|
||||
$(SPECIMENS_OK):
|
||||
bash generate.sh $(subst /OK,,$@)
|
||||
|
|
@ -23,7 +23,7 @@ run:
|
|||
touch run.ok
|
||||
|
||||
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
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue