blob: e7c967cb23cb0266d30ff38cc862683875f6abf8 [file] [log] [blame]
# Copyright (C) 2017-2020 The Project X-Ray Authors.
#
# Use of this source code is governed by a ISC-style
# license that can be found in the LICENSE file or at
# https://opensource.org/licenses/ISC
#
# SPDX-License-Identifier: ISC
export FUZDIR=$(shell pwd)
PIP_TYPE?=bram_pips_int
PIPLIST_TCL=$(FUZDIR)/bram_pip_list.tcl
MAKETODO_FLAGS=--pip-type ${PIP_TYPE} --seg-type bram --re "BRAM_.\.BRAM_(?!LOGIC_OUTS).*"
N = 50
# These PIPs all appear to be either a 0 or 2 bit solution.
SEGMATCH_FLAGS=-m 20 -M 45 -c 2
include ../pip_loop.mk
#
# Specimens from current run must complete, but previous iterations may exist
database: $(SPECIMENS_OK)
${XRAY_SEGMATCH} $(SEGMATCH_FLAGS) -o build/segbits_bram_x.rdb \
$(shell find build -name segdata_bram_l.txt) \
$(shell find build -name segdata_bram_r.txt)
# Keep a copy to track iter progress
# Also is pre-fixup, which drops and converts
cp build/segbits_bram_x.rdb build/$(ITER)/segbits_bram_x.rdb
${XRAY_DBFIXUP} --db-root build \
--verbose \
--zero-db bits.dbf \
--seg-fn-in build/segbits_bram_x.rdb \
--seg-fn-out build/segbits_bram_x.db
python3 unmanagle_pips.py \
--bram_x build/segbits_bram_x.db \
--bram_l build/segbits_bram_l.db \
--bram_r build/segbits_bram_r.db
# Clobber existing .db to eliminate potential conflicts
cp ${XRAY_DATABASE_DIR}/${XRAY_DATABASE}/segbits*.db build/database/${XRAY_DATABASE}
XRAY_DATABASE_DIR=${FUZDIR}/build/database ${XRAY_MERGEDB} bram_l build/segbits_bram_l.db
XRAY_DATABASE_DIR=${FUZDIR}/build/database ${XRAY_MERGEDB} bram_r build/segbits_bram_r.db
# Final pushdb to real repo
pushdb: database
${XRAY_MERGEDB} bram_l build/segbits_bram_l.db
${XRAY_MERGEDB} bram_r build/segbits_bram_r.db