3
0
Fork 0
mirror of https://github.com/YosysHQ/yosys synced 2026-05-29 13:26:31 +00:00

Migrate build system to CMake

See #5895 for details.

This commit does not include CI or documentation changes.
This commit is contained in:
Catherine 2026-05-12 05:33:04 +00:00
parent 9d0cdb8551
commit 9b087b4aa7
207 changed files with 5202 additions and 2294 deletions

View file

@ -1 +0,0 @@
/peepopt*_pm.h

96
passes/opt/CMakeLists.txt Normal file
View file

@ -0,0 +1,96 @@
add_subdirectory(opt_clean)
yosys_pass(opt_merge
opt_merge.cc
)
yosys_pass(opt_mem_widen
opt_mem_widen.cc
)
yosys_pass(opt_muxtree
opt_muxtree.cc
)
yosys_pass(opt_reduce
opt_reduce.cc
)
yosys_pass(opt_dff
opt_dff.cc
REQUIRES
simplemap
)
yosys_pass(opt_share
opt_share.cc
)
yosys_pass(opt_expr
opt_expr.cc
)
yosys_pass(opt_hier
opt_hier.cc
)
yosys_pass(opt
opt.cc
REQUIRES
opt_clean
opt_dff
opt_expr
opt_hier
opt_merge
opt_muxtree
opt_reduce
opt_share
)
yosys_pass(opt_mem
opt_mem.cc
)
yosys_pass(opt_mem_feedback
opt_mem_feedback.cc
)
yosys_pass(opt_mem_priority
opt_mem_priority.cc
)
yosys_pass(share
share.cc
)
yosys_pass(wreduce
wreduce.cc
)
yosys_pass(opt_demorgan
opt_demorgan.cc
)
yosys_pass(rmports
rmports.cc
)
yosys_pass(opt_lut
opt_lut.cc
)
yosys_pass(opt_lut_ins
opt_lut_ins.cc
)
yosys_pass(opt_ffinv
opt_ffinv.cc
)
yosys_pass(pmux2shiftx
pmux2shiftx.cc
)
yosys_pass(muxpack
muxpack.cc
)
yosys_pass(opt_balance_tree
opt_balance_tree.cc
)
pmgen_command(peepopt
peepopt_shiftmul_right.pmg
peepopt_shiftmul_left.pmg
peepopt_shiftadd.pmg
peepopt_muldiv.pmg
peepopt_muldiv_c.pmg
peepopt_formal_clockgateff.pmg
PREFIX
peepopt
)
yosys_pass(peepopt
peepopt.cc
${PMGEN_peepopt_OUTPUT}
)

View file

@ -1,43 +0,0 @@
OBJS += passes/opt/opt.o
OBJS += passes/opt/opt_merge.o
OBJS += passes/opt/opt_mem.o
OBJS += passes/opt/opt_mem_feedback.o
OBJS += passes/opt/opt_mem_priority.o
OBJS += passes/opt/opt_mem_widen.o
OBJS += passes/opt/opt_muxtree.o
OBJS += passes/opt/opt_reduce.o
OBJS += passes/opt/opt_dff.o
OBJS += passes/opt/opt_share.o
OBJS += passes/opt/opt_expr.o
OBJS += passes/opt/opt_hier.o
ifneq ($(SMALL),1)
OBJS += passes/opt/share.o
OBJS += passes/opt/wreduce.o
OBJS += passes/opt/opt_demorgan.o
OBJS += passes/opt/rmports.o
OBJS += passes/opt/opt_lut.o
OBJS += passes/opt/opt_lut_ins.o
OBJS += passes/opt/opt_ffinv.o
OBJS += passes/opt/pmux2shiftx.o
OBJS += passes/opt/muxpack.o
OBJS += passes/opt/opt_balance_tree.o
OBJS += passes/opt/peepopt.o
GENFILES += passes/opt/peepopt_pm.h
passes/opt/peepopt.o: passes/opt/peepopt_pm.h
$(eval $(call add_extra_objs,passes/opt/peepopt_pm.h))
PEEPOPT_PATTERN = passes/opt/peepopt_shiftmul_right.pmg
PEEPOPT_PATTERN += passes/opt/peepopt_shiftmul_left.pmg
PEEPOPT_PATTERN += passes/opt/peepopt_shiftadd.pmg
PEEPOPT_PATTERN += passes/opt/peepopt_muldiv.pmg
PEEPOPT_PATTERN += passes/opt/peepopt_muldiv_c.pmg
PEEPOPT_PATTERN += passes/opt/peepopt_formal_clockgateff.pmg
passes/opt/peepopt_pm.h: passes/pmgen/pmgen.py $(PEEPOPT_PATTERN)
$(P) mkdir -p $(dir $@) && $(PYTHON_EXECUTABLE) $< -o $@ -p peepopt $(filter-out $<,$^)
endif
include $(YOSYS_SRC)/passes/opt/opt_clean/Makefile.inc

View file

@ -0,0 +1,11 @@
yosys_pass(opt_clean
cells_all.cc
cells_temp.cc
wires.cc
inits.cc
opt_clean.cc
opt_clean.h
keep_cache.h
PROVIDES
clean
)

View file

@ -1,10 +0,0 @@
OPT_CLEAN_OBJS =
OPT_CLEAN_OBJS += passes/opt/opt_clean/cells_all.o
OPT_CLEAN_OBJS += passes/opt/opt_clean/cells_temp.o
OPT_CLEAN_OBJS += passes/opt/opt_clean/wires.o
OPT_CLEAN_OBJS += passes/opt/opt_clean/inits.o
OPT_CLEAN_OBJS += passes/opt/opt_clean/opt_clean.o
$(OPT_CLEAN_OBJS): passes/opt/opt_clean/opt_clean.h
OBJS += $(OPT_CLEAN_OBJS)