2020-04-16 10:15:28 +02:00
|
|
|
# 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
|
2019-03-05 19:45:50 +01:00
|
|
|
MAKETODO_FLAGS=--re ".*" --not-endswith ".VCC_WIRE"
|
2018-12-12 01:35:24 +01:00
|
|
|
ifeq ($(QUICK),Y)
|
2018-12-12 22:54:26 +01:00
|
|
|
N ?= 1
|
|
|
|
|
SEGMATCH_FLAGS=
|
2018-12-12 01:35:24 +01:00
|
|
|
else
|
2019-05-20 11:30:55 +02:00
|
|
|
N ?= 60
|
2018-12-12 01:05:08 +01:00
|
|
|
# Do relatively large batch to keep parallelism high
|
|
|
|
|
# LCM between 12 (CPUs on my system) and 16, a common CPU count
|
2018-12-12 22:54:26 +01:00
|
|
|
SEGMATCH_FLAGS=-m 15 -M 45
|
2018-12-12 01:35:24 +01:00
|
|
|
endif
|
2017-11-16 21:21:36 +01:00
|
|
|
|
2019-03-05 22:41:24 +01:00
|
|
|
CHECK_ARGS=--max-iters 12 --min-progress 50
|
2019-03-05 19:45:50 +01:00
|
|
|
|
|
|
|
|
include ../pip_loop.mk
|
2018-12-21 23:23:02 +01:00
|
|
|
|
2019-03-05 19:45:50 +01:00
|
|
|
# Specimens from current run must complete, but previous iterations may exist
|
|
|
|
|
database: build/segbits_int_l.db build/segbits_int_r.db build/mask_clbll_l.db build/mask_clbll_r.db build/mask_clblm_l.db build/mask_clblm_r.db
|
2018-12-20 00:06:53 +01:00
|
|
|
# Keep a copy to track iter progress
|
|
|
|
|
# Also is pre-fixup, which drops and converts
|
|
|
|
|
cp build/segbits_int_l.db build/$(ITER)/segbits_int_l.db
|
|
|
|
|
cp build/segbits_int_r.db build/$(ITER)/segbits_int_r.db
|
2018-12-12 04:22:16 +01:00
|
|
|
# May be undersolved
|
|
|
|
|
ifneq ($(QUICK),Y)
|
2018-11-14 20:42:23 +01:00
|
|
|
${XRAY_DBFIXUP} --db-root build --clb-int
|
2019-03-05 19:45:50 +01:00
|
|
|
# https://github.com/SymbiFlow/prjxray/issues/399
|
|
|
|
|
# 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} int_l build/segbits_int_l.db
|
|
|
|
|
XRAY_DATABASE_DIR=${FUZDIR}/build/database ${XRAY_MERGEDB} int_r build/segbits_int_r.db
|
2018-12-12 04:22:16 +01:00
|
|
|
endif
|
2018-12-21 23:23:02 +01:00
|
|
|
|
|
|
|
|
build/segbits_int_l.db: $(SPECIMENS_OK)
|
2019-03-05 19:45:50 +01:00
|
|
|
${XRAY_SEGMATCH} $(SEGMATCH_FLAGS) -o build/segbits_int_l.db \
|
|
|
|
|
$(shell find build -name segdata_int_l.txt |sort)
|
2018-12-21 23:23:02 +01:00
|
|
|
|
|
|
|
|
build/segbits_int_r.db: $(SPECIMENS_OK)
|
2019-03-05 19:45:50 +01:00
|
|
|
${XRAY_SEGMATCH} $(SEGMATCH_FLAGS) -o build/segbits_int_r.db \
|
|
|
|
|
$(shell find build -name segdata_int_r.txt |sort)
|
2018-12-21 23:23:02 +01:00
|
|
|
|
|
|
|
|
build/mask_clbll_l.db: $(SPECIMENS_OK)
|
2019-03-05 19:45:50 +01:00
|
|
|
${XRAY_MASKMERGE} build/mask_clbll_l.db \
|
|
|
|
|
$(shell find build -name segdata_int_l.txt |sort)
|
2018-12-21 23:23:02 +01:00
|
|
|
|
|
|
|
|
build/mask_clbll_r.db: $(SPECIMENS_OK)
|
2019-03-05 19:45:50 +01:00
|
|
|
${XRAY_MASKMERGE} build/mask_clbll_r.db \
|
|
|
|
|
$(shell find build -name segdata_int_r.txt |sort)
|
2018-12-21 23:23:02 +01:00
|
|
|
|
|
|
|
|
build/mask_clblm_l.db: $(SPECIMENS_OK)
|
2019-03-05 19:45:50 +01:00
|
|
|
${XRAY_MASKMERGE} build/mask_clblm_l.db \
|
|
|
|
|
$(shell find build -name segdata_int_l.txt |sort)
|
2018-12-21 23:23:02 +01:00
|
|
|
|
|
|
|
|
build/mask_clblm_r.db: $(SPECIMENS_OK)
|
2019-03-05 19:45:50 +01:00
|
|
|
${XRAY_MASKMERGE} build/mask_clblm_r.db \
|
|
|
|
|
$(shell find build -name segdata_int_r.txt |sort)
|
2017-11-16 21:21:36 +01:00
|
|
|
|
|
|
|
|
pushdb:
|
2018-11-14 21:01:35 +01:00
|
|
|
${XRAY_MERGEDB} int_l build/segbits_int_l.db
|
|
|
|
|
${XRAY_MERGEDB} int_r build/segbits_int_r.db
|
2018-11-14 20:42:23 +01:00
|
|
|
${XRAY_MERGEDB} mask_clbll_l build/mask_clbll_l.db
|
|
|
|
|
${XRAY_MERGEDB} mask_clbll_r build/mask_clbll_r.db
|
|
|
|
|
${XRAY_MERGEDB} mask_clblm_l build/mask_clblm_l.db
|
|
|
|
|
${XRAY_MERGEDB} mask_clblm_r build/mask_clblm_r.db
|