mirror of https://github.com/openXC7/prjxray.git
Merge pull request #533 from antmicro/05x-piplist
Generate piplist once
This commit is contained in:
commit
1e2f1c6ae1
|
|
@ -10,6 +10,7 @@ endif
|
|||
# Driven by int_loop.sh
|
||||
ITER := 1
|
||||
MAKETODO_FLAGS=--re ".*" --not-endswith ".VCC_WIRE"
|
||||
PIPLIST_TCL=$(XRAY_FUZZERS_DIR)/piplist/piplist.tcl
|
||||
# See int_loop_check.py
|
||||
# Original did 200 specimins open loop
|
||||
CHECK_ARGS := --max-iters 12 --stable-iters 2
|
||||
|
|
@ -63,12 +64,13 @@ $(SPECIMENS_OK): build/todo.txt
|
|||
bash generate.sh $(subst /OK,,$@)
|
||||
touch $@
|
||||
|
||||
build/pips_int_l.txt: $(XRAY_DIR)/fuzzers/piplist.tcl
|
||||
mkdir -p build/$(ITER)
|
||||
cd build && ${XRAY_VIVADO} -mode batch -source $(XRAY_DIR)/fuzzers/piplist.tcl
|
||||
$(XRAY_FUZZERS_DIR)/piplist/build/pips_int_l.txt: $(XRAY_FUZZERS_DIR)/piplist/piplist.tcl
|
||||
mkdir -p $(XRAY_FUZZERS_DIR)/piplist/build
|
||||
cd $(XRAY_FUZZERS_DIR)/piplist/build && ${XRAY_VIVADO} -mode batch -source $(PIPLIST_TCL)
|
||||
|
||||
build/todo.txt: build/pips_int_l.txt $(XRAY_DIR)/fuzzers/int_maketodo.py
|
||||
# Doesn't pushdb until very end. Compare against db so far
|
||||
build/todo.txt: $(XRAY_FUZZERS_DIR)/piplist/build/pips_int_l.txt $(XRAY_DIR)/fuzzers/int_maketodo.py
|
||||
# Doesn't pushdb until very end. Compare against db so far
|
||||
mkdir -p build/$(ITER)
|
||||
python3 $(XRAY_DIR)/fuzzers/int_maketodo.py --db-dir build $(MAKETODO_FLAGS) |sort >build/todo_all.txt
|
||||
cat build/todo_all.txt | sort -R > build/todo.txt.tmp
|
||||
mv build/todo.txt.tmp build/todo.txt
|
||||
|
|
@ -92,5 +94,8 @@ clean:
|
|||
cleaniter:
|
||||
rm -rf build/$(ITER) build/todo.txt
|
||||
|
||||
.PHONY: database pushdb run clean cleaniter
|
||||
# Remove piplist build files in piplist directory
|
||||
cleanpiplist:
|
||||
rm -rf $(XRAY_FUZZERS_DIR)/piplist/build
|
||||
|
||||
.PHONY: database pushdb run clean cleaniter cleanpiplist
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
create_project -force -part $::env(XRAY_PART) bipiplist bipiplist
|
||||
|
||||
read_verilog $::env(XRAY_DIR)/fuzzers/piplist.v
|
||||
read_verilog $::env(XRAY_FUZZERS_DIR)/piplist/piplist.v
|
||||
synth_design -top top
|
||||
|
||||
set_property -dict "PACKAGE_PIN $::env(XRAY_PIN_00) IOSTANDARD LVCMOS33" [get_ports i]
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@ endif
|
|||
ITER ?= 1
|
||||
MAKETODO_FLAGS ?=
|
||||
PIP_TYPE?=pips_int
|
||||
PIPLIST_TCL?=$(XRAY_DIR)/fuzzers/piplist.tcl
|
||||
PIPLIST_TCL?=$(XRAY_FUZZERS_DIR)/piplist/piplist.tcl
|
||||
|
||||
# See int_loop_check.py
|
||||
# rempips took 35 iters once, so set 50 as a good start point
|
||||
|
|
@ -61,12 +61,12 @@ $(SPECIMENS_OK): build/todo.txt
|
|||
bash ${XRAY_DIR}/utils/top_generate.sh $(subst /OK,,$@)
|
||||
touch $@
|
||||
|
||||
build/$(PIP_TYPE)_l.txt: $(XRAY_DIR)/fuzzers/piplist.tcl
|
||||
mkdir -p build/$(ITER)
|
||||
cd build && ${XRAY_VIVADO} -mode batch -source $(PIPLIST_TCL)
|
||||
$(XRAY_FUZZERS_DIR)/piplist/build/$(PIP_TYPE)_l.txt: $(PIPLIST_TCL)
|
||||
mkdir -p $(XRAY_FUZZERS_DIR)/piplist/build
|
||||
cd $(XRAY_FUZZERS_DIR)/piplist/build && ${XRAY_VIVADO} -mode batch -source $(PIPLIST_TCL)
|
||||
|
||||
# Used 1) to see if we are done 2) pips to try in generate.tcl
|
||||
build/todo.txt: build/$(PIP_TYPE)_l.txt $(XRAY_DIR)/fuzzers/int_maketodo.py build/database/seeded
|
||||
build/todo.txt: $(XRAY_FUZZERS_DIR)/piplist/build/$(PIP_TYPE)_l.txt $(XRAY_DIR)/fuzzers/int_maketodo.py build/database/seeded
|
||||
XRAY_DATABASE_DIR=${FUZDIR}/build/database python3 $(XRAY_DIR)/fuzzers/int_maketodo.py --pip-type $(PIP_TYPE) $(MAKETODO_FLAGS) |sort >build/todo_all.txt
|
||||
cat build/todo_all.txt | sort -R | head -n$(TODO_N) > build/todo.txt.tmp
|
||||
mv build/todo.txt.tmp build/todo.txt
|
||||
|
|
@ -97,5 +97,8 @@ clean:
|
|||
cleaniter:
|
||||
rm -rf build/$(ITER) build/todo.txt
|
||||
|
||||
.PHONY: database pushdb run clean cleaniter
|
||||
cleanpiplist:
|
||||
rm -rf $(XRAY_FUZZERS_DIR)/piplist/build
|
||||
|
||||
.PHONY: database pushdb run clean cleaniter cleanpiplist
|
||||
|
||||
|
|
|
|||
|
|
@ -85,20 +85,30 @@ def maketodo(pipfile, dbfile, intre, not_endswith=None, verbose=False):
|
|||
verbose and print('Print %u entries w/ %u drops' % (lines, drops))
|
||||
|
||||
|
||||
def run(build_dir, db_dir, intre, pip_type, not_endswith=None, verbose=False):
|
||||
def run(
|
||||
build_dir,
|
||||
db_dir,
|
||||
pip_dir,
|
||||
intre,
|
||||
pip_type,
|
||||
not_endswith=None,
|
||||
verbose=False):
|
||||
if db_dir is None:
|
||||
db_dir = "%s/%s" % (
|
||||
os.getenv("XRAY_DATABASE_DIR"), os.getenv("XRAY_DATABASE"))
|
||||
|
||||
if pip_dir is None:
|
||||
pip_dir = "%s/piplist/build" % (os.getenv("XRAY_FUZZERS_DIR"))
|
||||
|
||||
assert intre, "RE is required"
|
||||
maketodo(
|
||||
"%s/%s_l.txt" % (build_dir, pip_type),
|
||||
"%s/%s_l.txt" % (pip_dir, pip_type),
|
||||
"%s/segbits_int_l.db" % db_dir,
|
||||
intre,
|
||||
not_endswith,
|
||||
verbose=verbose)
|
||||
maketodo(
|
||||
"%s/%s_r.txt" % (build_dir, pip_type),
|
||||
"%s/%s_r.txt" % (pip_dir, pip_type),
|
||||
"%s/segbits_int_r.db" % db_dir,
|
||||
intre,
|
||||
not_endswith,
|
||||
|
|
@ -114,6 +124,7 @@ def main():
|
|||
parser.add_argument('--verbose', action='store_true', help='')
|
||||
parser.add_argument('--build-dir', default="build", help='')
|
||||
parser.add_argument('--db-dir', default=None, help='')
|
||||
parser.add_argument('--pip-dir', default=None, help='')
|
||||
parser.add_argument('--re', required=True, help='')
|
||||
parser.add_argument('--pip-type', default="pips_int", help='')
|
||||
parser.add_argument(
|
||||
|
|
@ -123,6 +134,7 @@ def main():
|
|||
run(
|
||||
build_dir=args.build_dir,
|
||||
db_dir=args.db_dir,
|
||||
pip_dir=args.pip_dir,
|
||||
intre=args.re,
|
||||
pip_type=args.pip_type,
|
||||
not_endswith=args.not_endswith,
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@ source "$::env(XRAY_DIR)/utils/utils.tcl"
|
|||
proc build_project {} {
|
||||
create_project -force -part $::env(XRAY_PART) piplist piplist
|
||||
|
||||
read_verilog $::env(XRAY_DIR)/fuzzers/piplist.v
|
||||
read_verilog $::env(XRAY_FUZZERS_DIR)/piplist/piplist.v
|
||||
synth_design -top top
|
||||
|
||||
set_property -dict "PACKAGE_PIN $::env(XRAY_PIN_00) IOSTANDARD LVCMOS33" [get_ports i]
|
||||
|
|
@ -9,6 +9,7 @@ export XRAY_UTILS_DIR="$( cd -P "$( dirname "$XRAY_ENV_PATH" )" && pwd )"
|
|||
export XRAY_DIR="$( dirname "$XRAY_UTILS_DIR" )"
|
||||
export XRAY_DATABASE_DIR="${XRAY_DIR}/database"
|
||||
export XRAY_TOOLS_DIR="${XRAY_DIR}/build/tools"
|
||||
export XRAY_FUZZERS_DIR="${XRAY_DIR}/fuzzers"
|
||||
|
||||
if [ -e "${XRAY_DIR}/env/bin/activate" ]; then
|
||||
source "${XRAY_DIR}/env/bin/activate"
|
||||
|
|
|
|||
Loading…
Reference in New Issue