3
0
Fork 0
mirror of https://github.com/YosysHQ/yosys synced 2026-05-25 11:26:22 +00:00

Update CI scripts for CMake

This commit is contained in:
Miodrag Milanovic 2026-05-22 12:31:30 +02:00
parent cad5353a2a
commit ba6083da16
30 changed files with 315 additions and 327 deletions

View file

@ -1,7 +1,3 @@
ifneq ($(wildcard ../Makefile.conf),)
include ../Makefile.conf
endif
OVERRIDE_MAIN=1
include ./common.mk
@ -125,3 +121,16 @@ clean:
@rm -f ./tools/cmp_tbdata
@rm -f $(addsuffix /Makefile,$(MK_TEST_DIRS))
@find . -name '*.result' -type f -exec rm -f {} +
.PHONY: coverage
coverage:
@echo "Creating coverage HTML"
@$(YOSYS) -qp 'help; help -all'
@rm -rf $(COVERAGE_HTML)
@llvm-profdata merge -sparse $(COVERAGE_DIR)/coverage_*.profraw -o $(COVERAGE_DIR)/yosys.profdata
@llvm-cov show $(YOSYS) -instr-profile=$(COVERAGE_DIR)/yosys.profdata -format=html -output-dir=$(COVERAGE_HTML) --compilation-dir=$(SRC_DIR) --ignore-filename-regex='(^|.*/)libs/.*|/usr/include/.*|$(subst /,\/,$(VERIFIC_DIR))/.*'
.PHONY: clean_coverage
clean_coverage:
@echo "Clean coverage"
@rm -rf $(COVERAGE_DIR)

View file

@ -1,5 +1,6 @@
ROOT_DIR := $(abspath $(dir $(lastword $(MAKEFILE_LIST))))
BUILD_DIR ?= $(ROOT_DIR)/..
BUILD_DIR ?= $(realpath $(ROOT_DIR)/../build)
SRC_DIR := $(realpath $(ROOT_DIR)/..)
SBY ?= sby
YOSYS ?= $(BUILD_DIR)/yosys
@ -8,13 +9,20 @@ YOSYS_FILTERLIB ?= $(BUILD_DIR)/yosys-filterlib
YOSYS_CONFIG ?= $(BUILD_DIR)/yosys-config
YOSYS_SMTBMC ?= $(BUILD_DIR)/yosys-smtbmc
YOSYS_MAX_THREADS ?= 4
COVERAGE_DIR ?= $(realpath $(ROOT_DIR)/..)/coverage
COVERAGE_HTML ?= $(realpath $(ROOT_DIR)/..)/coverage_html
LLVM_PROFILE_FILE ?= $(COVERAGE_DIR)/coverage_%p.profraw
VERIFIC_DIR ?= /usr/local/src/verific_lib
export BUILD_DIR
export YOSYS
export YOSYS_CONFIG
export YOSYS_SMTBMC
export ABC
export SBY
export YOSYS_MAX_THREADS
export LLVM_PROFILE_FILE
export LLVM_PROFILE_FILE_BUFFER_SIZE=0
all:

View file

@ -7,6 +7,6 @@ chmod +x "$DIR/ezcmdline_dummy_solver"
CXXFLAGS=$(${YOSYS_CONFIG} --cxxflags)
DATDIR=$(${YOSYS_CONFIG} --datdir)
DATDIR=${DATDIR//\//\\\/}
CXXFLAGS=${CXXFLAGS//$DATDIR/..\/..\/share}
CXXFLAGS=${CXXFLAGS//$DATDIR/$BUILD_DIR/share}
${YOSYS_CONFIG} --exec --cxx ${CXXFLAGS} -I"$BASEDIR" --ldflags -shared -o "$DIR/ezcmdline_plugin.so" "$DIR/ezcmdline_plugin.cc"
${YOSYS} -m "$DIR/ezcmdline_plugin.so" -p "ezcmdline_test -cmd $DIR/ezcmdline_dummy_solver" | grep -q "ezcmdline_test passed!"

View file

@ -4,7 +4,7 @@ rm -rf plugin_search
CXXFLAGS=$(${YOSYS_CONFIG} --cxxflags)
DATDIR=$(${YOSYS_CONFIG} --datdir)
DATDIR=${DATDIR//\//\\\/}
CXXFLAGS=${CXXFLAGS//$DATDIR/..\/..\/share}
CXXFLAGS=${CXXFLAGS//$DATDIR/$BUILD_DIR/share}
${YOSYS_CONFIG} --exec --cxx ${CXXFLAGS} --ldflags -shared -o plugin.so plugin.cc
${YOSYS} -m ./plugin.so -p "test" | grep -q "Plugin test passed!"
mkdir -p plugin_search

View file

@ -122,7 +122,7 @@ def vcdextract(signals, on_change, file, output, limit=None):
print(*values[:len(signals)], file=output)
share = Path(__file__).parent / ".." / ".." / "share"
share = Path(os.environ.get("BUILD_DIR", "../..")) / "share"
simlibs = [str(share / "simlib.v"), str(share / "simcells.v")]