mirror of
https://github.com/YosysHQ/yosys
synced 2026-05-25 19:36:21 +00:00
Update CI scripts for CMake
This commit is contained in:
parent
9b087b4aa7
commit
b206c16347
31 changed files with 307 additions and 319 deletions
|
|
@ -1,3 +1,5 @@
|
|||
include common.mk
|
||||
|
||||
# Makefile for Sphinx documentation
|
||||
#
|
||||
|
||||
|
|
@ -46,10 +48,10 @@ help:
|
|||
|
||||
.PHONY: clean
|
||||
clean: clean-examples
|
||||
rm -rf $(BUILDDIR)/*
|
||||
rm -rf util/__pycache__
|
||||
rm -rf source/generated
|
||||
$(MAKE) -C source/_images clean
|
||||
@rm -rf $(BUILDDIR)/*
|
||||
@rm -rf util/__pycache__
|
||||
@rm -rf source/generated
|
||||
@$(MAKE) -C source/_images clean
|
||||
|
||||
.PHONY: html
|
||||
html:
|
||||
|
|
@ -235,7 +237,7 @@ test: test-examples test-macros
|
|||
|
||||
FORCE:
|
||||
Makefile-%: FORCE
|
||||
$(MAKE) -C $(@D) $(*F)
|
||||
@$(MAKE) -C $(@D) $(*F)
|
||||
|
||||
CODE_EXAMPLES := $(wildcard source/code_examples/*/Makefile)
|
||||
TEST_EXAMPLES := $(addsuffix -examples,$(CODE_EXAMPLES))
|
||||
|
|
@ -245,45 +247,42 @@ clean-examples: $(CLEAN_EXAMPLES)
|
|||
examples: $(TEST_EXAMPLES)
|
||||
|
||||
test-macros:
|
||||
$(PYTHON) tests/macro_commands.py
|
||||
@$(PYTHON) tests/macro_commands.py
|
||||
|
||||
.PHONY: images
|
||||
images:
|
||||
$(MAKE) -C source/_images
|
||||
$(MAKE) -C source/_images convert
|
||||
|
||||
BUILD_DIR ?= ..
|
||||
BUILD_CMD := $(BUILD_DIR)/$(PROGRAM_PREFIX)
|
||||
@$(MAKE) -C source/_images
|
||||
@$(MAKE) -C source/_images convert
|
||||
|
||||
.PHONY: extract
|
||||
extract:
|
||||
mkdir -p source/generated
|
||||
$(BUILD_CMD)yosys -q -p 'help -dump-cmds-json source/generated/cmds.json'
|
||||
$(BUILD_CMD)yosys -q -p 'help -dump-cells-json source/generated/cells.json'
|
||||
@mkdir -p source/generated
|
||||
@$(BUILD_CMD)yosys -q -p 'help -dump-cmds-json source/generated/cmds.json'
|
||||
@$(BUILD_CMD)yosys -q -p 'help -dump-cells-json source/generated/cells.json'
|
||||
|
||||
cp ../passes/cmds/chformal.cc source/generated/
|
||||
$(BUILD_CMD)yosys -qQT -h 'chformal' -l source/generated/chformal.log
|
||||
@cp ../passes/cmds/chformal.cc source/generated/
|
||||
@$(BUILD_CMD)yosys -qQT -h 'chformal' -l source/generated/chformal.log
|
||||
|
||||
mkdir -p source/generated/functional
|
||||
cp ../backends/functional/smtlib.cc source/generated/functional/
|
||||
-cd .. && diff -U 20 backends/functional/smtlib.cc backends/functional/smtlib_rosette.cc \
|
||||
> docs/source/generated/functional/rosette.diff
|
||||
@mkdir -p source/generated/functional
|
||||
@cp ../backends/functional/smtlib.cc source/generated/functional/
|
||||
-@cd .. && diff -U 20 backends/functional/smtlib.cc backends/functional/smtlib_rosette.cc \
|
||||
> docs/source/generated/functional/rosette.diff || true
|
||||
|
||||
$(BUILD_CMD)yosys --help >source/generated/yosys
|
||||
$(BUILD_CMD)yosys-smtbmc --help >source/generated/yosys-smtbmc
|
||||
$(BUILD_CMD)yosys-witness --help >source/generated/yosys-witness
|
||||
$(BUILD_CMD)yosys-config --help >source/generated/yosys-config
|
||||
-$(BUILD_CMD)yosys-filterlib --help 2>source/generated/yosys-filterlib
|
||||
@$(BUILD_CMD)yosys --help >source/generated/yosys
|
||||
@$(BUILD_CMD)yosys-smtbmc --help >source/generated/yosys-smtbmc
|
||||
@$(BUILD_CMD)yosys-witness --help >source/generated/yosys-witness
|
||||
@$(BUILD_CMD)yosys-config --help >source/generated/yosys-config
|
||||
-@$(BUILD_CMD)yosys-filterlib --help 2>source/generated/yosys-filterlib || true
|
||||
ifeq ($(ABCEXTERNAL),)
|
||||
-$(BUILD_CMD)yosys-abc --help 2>source/generated/yosys-abc
|
||||
-@$(BUILD_CMD)yosys-abc --help 2>source/generated/yosys-abc > /dev/null || true
|
||||
endif
|
||||
|
||||
.PHONY: gen
|
||||
gen:
|
||||
$(MAKE) examples
|
||||
$(MAKE) images
|
||||
$(MAKE) extract
|
||||
@$(MAKE) examples
|
||||
@$(MAKE) images
|
||||
@$(MAKE) extract
|
||||
|
||||
.PHONY: reqs
|
||||
reqs:
|
||||
$(PYTHON) -m pip install -r source/requirements.txt
|
||||
@$(PYTHON) -m pip install -r source/requirements.txt
|
||||
|
|
|
|||
9
docs/common.mk
Normal file
9
docs/common.mk
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
ROOT_DIR := $(abspath $(dir $(lastword $(MAKEFILE_LIST))))
|
||||
BUILD_DIR ?= $(ROOT_DIR)/../build
|
||||
BUILD_CMD := $(BUILD_DIR)/$(PROGRAM_PREFIX)
|
||||
|
||||
YOSYS ?= $(BUILD_CMD)yosys
|
||||
YOSYS_CONFIG ?= $(BUILD_CMD)yosys-config
|
||||
|
||||
export YOSYS
|
||||
export YOSYS_CONFIG
|
||||
|
|
@ -34,18 +34,18 @@ all_tex: $(TEX_FILES:.tex=.pdf) $(TEX_FILES:.tex=.svg)
|
|||
|
||||
# limit output size to US letter (same as latexpdf output) to avoid oversize error
|
||||
%.pdf: %.dot
|
||||
$(FAKETIME) dot -Tpdf -Gsize="8.5,11" -o $@ $<
|
||||
@$(FAKETIME) dot -Tpdf -Gsize="8.5,11" -o $@ $< >/dev/null 2>&1
|
||||
|
||||
%.pdf: %.tex
|
||||
cd $(@D) && $(FAKETIME) pdflatex $(<F) --interaction=nonstopmode
|
||||
@cd $(@D) && $(FAKETIME) pdflatex $(<F) --interaction=nonstopmode >/dev/null 2>&1
|
||||
|
||||
%.svg: %.pdf
|
||||
pdf2svg $< $@
|
||||
@pdf2svg $< $@ >/dev/null 2>&1
|
||||
|
||||
.PHONY: clean tidy
|
||||
tidy:
|
||||
rm -f **/*.log **/*.aux
|
||||
@rm -f **/*.log **/*.aux
|
||||
|
||||
clean: tidy
|
||||
rm -rf code_examples
|
||||
rm -f **/*.pdf **/*.svg
|
||||
@rm -rf code_examples
|
||||
@rm -f **/*.pdf **/*.svg
|
||||
|
|
|
|||
|
|
@ -1,6 +1,4 @@
|
|||
PROGRAM_PREFIX :=
|
||||
|
||||
YOSYS ?= ../../../../$(PROGRAM_PREFIX)yosys
|
||||
include ../../../common.mk
|
||||
|
||||
.PHONY: all dots examples
|
||||
all: dots examples
|
||||
|
|
@ -8,23 +6,23 @@ dots: test1.dot my_cmd.so
|
|||
examples: test0.log test1.log test2.log my_cmd.so
|
||||
|
||||
my_cmd.so: my_cmd.cc
|
||||
$(YOSYS)-config --exec --cxx --cxxflags --ldflags -o my_cmd.so -shared my_cmd.cc --ldlibs
|
||||
@$(YOSYS_CONFIG) --exec --cxx --cxxflags --ldflags -o my_cmd.so -shared my_cmd.cc --ldlibs
|
||||
|
||||
test0.log: my_cmd.so
|
||||
$(YOSYS) -QTl test0.log_new -m ./my_cmd.so -p 'my_cmd foo bar' -f verilog absval_ref.v
|
||||
mv test0.log_new test0.log
|
||||
@$(YOSYS) -QTl test0.log_new -m ./my_cmd.so -p 'my_cmd foo bar' -f verilog absval_ref.v >/dev/null 2>&1
|
||||
@mv test0.log_new test0.log
|
||||
|
||||
test1.log: my_cmd.so
|
||||
$(YOSYS) -QTl test1.log_new -m ./my_cmd.so -p 'clean; test1; dump' -f verilog absval_ref.v
|
||||
mv test1.log_new test1.log
|
||||
@$(YOSYS) -QTl test1.log_new -m ./my_cmd.so -p 'clean; test1; dump' -f verilog absval_ref.v >/dev/null 2>&1
|
||||
@mv test1.log_new test1.log
|
||||
|
||||
test1.dot: my_cmd.so
|
||||
$(YOSYS) -m ./my_cmd.so -p 'test1; show -format dot -prefix test1'
|
||||
@$(YOSYS) -m ./my_cmd.so -p 'test1; show -format dot -prefix test1' >/dev/null 2>&1
|
||||
|
||||
test2.log: my_cmd.so
|
||||
$(YOSYS) -QTl test2.log_new -m ./my_cmd.so -p 'hierarchy -top test; test2' -f verilog sigmap_test.v
|
||||
mv test2.log_new test2.log
|
||||
@$(YOSYS) -QTl test2.log_new -m ./my_cmd.so -p 'hierarchy -top test; test2' -f verilog sigmap_test.v >/dev/null 2>&1
|
||||
@mv test2.log_new test2.log
|
||||
|
||||
.PHONY: clean
|
||||
clean:
|
||||
rm -f *.d *.so *.dot
|
||||
@rm -f *.d *.so *.dot
|
||||
|
|
|
|||
|
|
@ -1,6 +1,4 @@
|
|||
PROGRAM_PREFIX :=
|
||||
|
||||
YOSYS ?= ../../../../$(PROGRAM_PREFIX)yosys
|
||||
include ../../../common.mk
|
||||
|
||||
DOT_NAMES = addr_gen_hier addr_gen_proc addr_gen_clean
|
||||
DOT_NAMES += rdata_proc rdata_flat rdata_adffe rdata_memrdv2 rdata_alumacc rdata_coarse
|
||||
|
|
@ -16,12 +14,12 @@ dots: $(DOTS) $(MAPDOTS)
|
|||
examples: fifo.out fifo.stat
|
||||
|
||||
$(DOTS) fifo.out: fifo.v fifo.ys
|
||||
$(YOSYS) fifo.ys -l fifo.out -Q -T
|
||||
@$(YOSYS) fifo.ys -l fifo.out -Q -T >/dev/null 2>&1
|
||||
|
||||
$(MAPDOTS) fifo.stat: fifo.v fifo_map.ys
|
||||
$(YOSYS) fifo_map.ys
|
||||
@$(YOSYS) fifo_map.ys >/dev/null 2>&1
|
||||
|
||||
.PHONY: clean
|
||||
clean:
|
||||
rm -f *.dot
|
||||
rm -f fifo.out fifo.stat
|
||||
@rm -f *.dot
|
||||
@rm -f fifo.out fifo.stat
|
||||
|
|
|
|||
|
|
@ -1,6 +1,4 @@
|
|||
PROGRAM_PREFIX :=
|
||||
|
||||
YOSYS ?= ../../../../$(PROGRAM_PREFIX)yosys
|
||||
include ../../../common.mk
|
||||
|
||||
DOTS = counter_00.dot counter_01.dot counter_02.dot counter_03.dot
|
||||
|
||||
|
|
@ -10,8 +8,8 @@ dots: $(DOTS)
|
|||
examples:
|
||||
|
||||
$(DOTS): counter.v counter.ys mycells.lib
|
||||
$(YOSYS) counter.ys
|
||||
@$(YOSYS) counter.ys >/dev/null 2>&1
|
||||
|
||||
.PHONY: clean
|
||||
clean:
|
||||
rm -f *.dot
|
||||
@rm -f *.dot
|
||||
|
|
|
|||
|
|
@ -1,6 +1,4 @@
|
|||
PROGRAM_PREFIX :=
|
||||
|
||||
YOSYS ?= ../../../../$(PROGRAM_PREFIX)yosys
|
||||
include ../../../common.mk
|
||||
|
||||
DOTS = macc_simple_xmap.dot macc_xilinx_xmap.dot
|
||||
|
||||
|
|
@ -10,12 +8,12 @@ dots: $(DOTS)
|
|||
examples:
|
||||
|
||||
macc_simple_xmap.dot: macc_simple_*.v macc_simple_test.ys
|
||||
$(YOSYS) macc_simple_test.ys
|
||||
@$(YOSYS) macc_simple_test.ys >/dev/null 2>&1
|
||||
|
||||
macc_xilinx_xmap.dot: macc_xilinx_*.v macc_xilinx_test.ys
|
||||
$(YOSYS) macc_xilinx_test.ys
|
||||
@$(YOSYS) macc_xilinx_test.ys >/dev/null 2>&1
|
||||
|
||||
.PHONY: clean
|
||||
clean:
|
||||
rm -f *.dot
|
||||
@rm -f *.dot
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +1,4 @@
|
|||
PROGRAM_PREFIX :=
|
||||
|
||||
YOSYS ?= ../../../../$(PROGRAM_PREFIX)yosys
|
||||
include ../../../common.mk
|
||||
|
||||
DOT_NAMES = opt_share opt_muxtree opt_merge opt_expr
|
||||
|
||||
|
|
@ -12,9 +10,9 @@ dots: $(DOTS)
|
|||
examples:
|
||||
|
||||
%.dot: %.ys
|
||||
$(YOSYS) $<
|
||||
gvpack -u -o $@ $*_full.dot
|
||||
@$(YOSYS) $< >/dev/null 2>&1
|
||||
@gvpack -u -o $@ $*_full.dot >/dev/null 2>&1
|
||||
|
||||
.PHONY: clean
|
||||
clean:
|
||||
rm -f *.dot
|
||||
@rm -f *.dot
|
||||
|
|
|
|||
|
|
@ -1,6 +1,4 @@
|
|||
PROGRAM_PREFIX :=
|
||||
|
||||
YOSYS ?= ../../../../$(PROGRAM_PREFIX)yosys
|
||||
include ../../../common.mk
|
||||
|
||||
.PHONY: all dots examples
|
||||
all: dots examples
|
||||
|
|
@ -8,8 +6,8 @@ dots: scrambler_p01.dot scrambler_p02.dot
|
|||
examples:
|
||||
|
||||
scrambler_p01.dot scrambler_p02.dot: scrambler.ys scrambler.v
|
||||
$(YOSYS) scrambler.ys
|
||||
@$(YOSYS) scrambler.ys >/dev/null 2>&1
|
||||
|
||||
.PHONY: clean
|
||||
clean:
|
||||
rm -f *.dot
|
||||
@rm -f *.dot
|
||||
|
|
|
|||
|
|
@ -1,6 +1,4 @@
|
|||
PROGRAM_PREFIX :=
|
||||
|
||||
YOSYS ?= ../../../../$(PROGRAM_PREFIX)yosys
|
||||
include ../../../common.mk
|
||||
|
||||
SUMPROD = sumprod_00 sumprod_01 sumprod_02 sumprod_03 sumprod_04 sumprod_05
|
||||
SUMPROD_DOTS := $(addsuffix .dot,$(SUMPROD))
|
||||
|
|
@ -17,18 +15,18 @@ dots: select.dot $(SUMPROD_DOTS) $(MEMDEMO_DOTS) $(SUBMOD_DOTS)
|
|||
examples: sumprod.out
|
||||
|
||||
select.dot: select.v select.ys
|
||||
$(YOSYS) select.ys
|
||||
@$(YOSYS) select.ys >/dev/null 2>&1
|
||||
|
||||
$(SUMPROD_DOTS) sumprod.out: sumprod.v sumprod.ys
|
||||
$(YOSYS) sumprod.ys
|
||||
@$(YOSYS) sumprod.ys >/dev/null 2>&1
|
||||
|
||||
$(MEMDEMO_DOTS): memdemo.v memdemo.ys
|
||||
$(YOSYS) memdemo.ys
|
||||
@$(YOSYS) memdemo.ys >/dev/null 2>&1
|
||||
|
||||
$(SUBMOD_DOTS): memdemo.v submod.ys
|
||||
$(YOSYS) submod.ys
|
||||
@$(YOSYS) submod.ys >/dev/null 2>&1
|
||||
|
||||
.PHONY: clean
|
||||
clean:
|
||||
rm -rf *.dot
|
||||
rm -f sumprod.out
|
||||
@rm -rf *.dot
|
||||
@rm -f sumprod.out
|
||||
|
|
|
|||
|
|
@ -1,6 +1,4 @@
|
|||
PROGRAM_PREFIX :=
|
||||
|
||||
YOSYS ?= ../../../../$(PROGRAM_PREFIX)yosys
|
||||
include ../../../common.mk
|
||||
|
||||
EXAMPLE = example_first example_second example_third
|
||||
EXAMPLE_DOTS := $(addsuffix .dot,$(EXAMPLE))
|
||||
|
|
@ -14,18 +12,18 @@ dots: splice.dot $(EXAMPLE_DOTS) $(CMOS_DOTS)
|
|||
examples: example.out
|
||||
|
||||
splice.dot: splice.v
|
||||
$(YOSYS) -p 'prep -top splice_demo; show -format dot -prefix splice' splice.v
|
||||
@$(YOSYS) -p 'prep -top splice_demo; show -format dot -prefix splice' splice.v >/dev/null 2>&1
|
||||
|
||||
$(EXAMPLE_DOTS): example.v example.ys
|
||||
$(YOSYS) example.ys
|
||||
@$(YOSYS) example.ys >/dev/null 2>&1
|
||||
|
||||
example.out: example_lscd.ys example.v
|
||||
$(YOSYS) $< -l $@ -Q -T
|
||||
@$(YOSYS) $< -l $@ -Q -T >/dev/null 2>&1
|
||||
|
||||
$(CMOS_DOTS): cmos.v cmos.ys
|
||||
$(YOSYS) cmos.ys
|
||||
@$(YOSYS) cmos.ys >/dev/null 2>&1
|
||||
|
||||
.PHONY: clean
|
||||
clean:
|
||||
rm -rf *.dot
|
||||
rm -f example.out
|
||||
@rm -rf *.dot
|
||||
@rm -f example.out
|
||||
|
|
|
|||
|
|
@ -1,6 +1,4 @@
|
|||
PROGRAM_PREFIX :=
|
||||
|
||||
YOSYS ?= ../../../../$(PROGRAM_PREFIX)yosys
|
||||
include ../../../common.mk
|
||||
|
||||
.PHONY: all dots examples
|
||||
all: dots examples
|
||||
|
|
@ -9,15 +7,15 @@ examples:
|
|||
|
||||
.PHONY: test
|
||||
test: stubnets.so
|
||||
$(YOSYS) -ql test1.log -m ./stubnets.so test.v -p "stubnets"
|
||||
$(YOSYS) -ql test2.log -m ./stubnets.so test.v -p "opt; stubnets"
|
||||
$(YOSYS) -ql test3.log -m ./stubnets.so test.v -p "techmap; opt; stubnets -report_bits"
|
||||
tail test1.log test2.log test3.log
|
||||
@$(YOSYS) -ql test1.log -m ./stubnets.so test.v -p "stubnets" >/dev/null 2>&1
|
||||
@$(YOSYS) -ql test2.log -m ./stubnets.so test.v -p "opt; stubnets" >/dev/null 2>&1
|
||||
@$(YOSYS) -ql test3.log -m ./stubnets.so test.v -p "techmap; opt; stubnets -report_bits" >/dev/null 2>&1
|
||||
@tail test1.log test2.log test3.log
|
||||
|
||||
stubnets.so: stubnets.cc
|
||||
$(YOSYS)-config --exec --cxx --cxxflags --ldflags -o $@ -shared $^ --ldlibs
|
||||
@$(YOSYS)-config --exec --cxx --cxxflags --ldflags -o $@ -shared $^ --ldlibs >/dev/null 2>&1
|
||||
|
||||
.PHONY: clean
|
||||
clean:
|
||||
rm -f test1.log test2.log test3.log
|
||||
rm -f stubnets.so stubnets.d
|
||||
@rm -f test1.log test2.log test3.log
|
||||
@rm -f stubnets.so stubnets.d
|
||||
|
|
|
|||
|
|
@ -1,12 +1,9 @@
|
|||
include ../../../common.mk
|
||||
|
||||
DOT_TARGETS += proc_01 proc_02 proc_03
|
||||
DOT_TARGETS += memory_01 memory_02
|
||||
DOT_TARGETS += techmap_01
|
||||
|
||||
PROGRAM_PREFIX :=
|
||||
|
||||
YOSYS ?= ../../../../$(PROGRAM_PREFIX)yosys
|
||||
|
||||
DOTS = $(addsuffix .dot,$(DOT_TARGETS))
|
||||
|
||||
.PHONY: all dots examples
|
||||
|
|
@ -15,9 +12,9 @@ dots: $(DOTS)
|
|||
examples:
|
||||
|
||||
%.dot: %.v %.ys
|
||||
$(YOSYS) -p 'script $*.ys; show -notitle -prefix $* -format dot'
|
||||
@$(YOSYS) -p 'script $*.ys; show -notitle -prefix $* -format dot' >/dev/null 2>&1
|
||||
|
||||
.PHONY: clean
|
||||
clean:
|
||||
rm -f *.dot
|
||||
@rm -f *.dot
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +1,4 @@
|
|||
PROGRAM_PREFIX :=
|
||||
|
||||
YOSYS ?= ../../../../$(PROGRAM_PREFIX)yosys
|
||||
include ../../../common.mk
|
||||
|
||||
.PHONY: all dots examples
|
||||
all: dots examples
|
||||
|
|
@ -8,20 +6,20 @@ dots: red_or3x1.dot sym_mul.dot mymul.dot mulshift.dot addshift.dot
|
|||
examples:
|
||||
|
||||
red_or3x1.dot: red_or3x1_*
|
||||
$(YOSYS) red_or3x1_test.ys
|
||||
@$(YOSYS) red_or3x1_test.ys >/dev/null 2>&1
|
||||
|
||||
sym_mul.dot: sym_mul_*
|
||||
$(YOSYS) sym_mul_test.ys
|
||||
@$(YOSYS) sym_mul_test.ys >/dev/null 2>&1
|
||||
|
||||
mymul.dot: mymul_*
|
||||
$(YOSYS) mymul_test.ys
|
||||
@$(YOSYS) mymul_test.ys >/dev/null 2>&1
|
||||
|
||||
mulshift.dot: mulshift_*
|
||||
$(YOSYS) mulshift_test.ys
|
||||
@$(YOSYS) mulshift_test.ys >/dev/null 2>&1
|
||||
|
||||
addshift.dot: addshift_*
|
||||
$(YOSYS) addshift_test.ys
|
||||
@$(YOSYS) addshift_test.ys >/dev/null 2>&1
|
||||
|
||||
.PHONY: clean
|
||||
clean:
|
||||
rm -f *.dot
|
||||
@rm -f *.dot
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ from pathlib import Path
|
|||
import re
|
||||
import subprocess
|
||||
import sys
|
||||
import os
|
||||
|
||||
# basic logging setup
|
||||
logging.basicConfig(level=logging.INFO)
|
||||
|
|
@ -17,7 +18,7 @@ THIS_FILE = (TESTS_DIR / "macro_commands.py").relative_to(ROOT_DIR)
|
|||
MACRO_SOURCE = TESTS_DIR.parent / "source" / "code_examples" / "macro_commands"
|
||||
assert MACRO_SOURCE.exists(), f"can't find macro_commands in {MACRO_SOURCE}"
|
||||
|
||||
YOSYS = ROOT_DIR / "yosys"
|
||||
YOSYS = Path(os.environ.get("YOSYS", ROOT_DIR / "yosys"))
|
||||
assert YOSYS.exists(), f"can't find yosys executable in {YOSYS}"
|
||||
|
||||
raise_error = False
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue