mirror of
https://github.com/YosysHQ/yosys
synced 2026-05-25 19:36:21 +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:
parent
9d0cdb8551
commit
9b087b4aa7
207 changed files with 5202 additions and 2294 deletions
11
passes/CMakeLists.txt
Normal file
11
passes/CMakeLists.txt
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
add_subdirectory(cmds)
|
||||
add_subdirectory(equiv)
|
||||
add_subdirectory(fsm)
|
||||
add_subdirectory(hierarchy)
|
||||
add_subdirectory(memory)
|
||||
add_subdirectory(opt)
|
||||
add_subdirectory(pmgen)
|
||||
add_subdirectory(proc)
|
||||
add_subdirectory(sat)
|
||||
add_subdirectory(techmap)
|
||||
add_subdirectory(tests)
|
||||
213
passes/cmds/CMakeLists.txt
Normal file
213
passes/cmds/CMakeLists.txt
Normal file
|
|
@ -0,0 +1,213 @@
|
|||
add_subdirectory(sdc)
|
||||
|
||||
yosys_pass(exec
|
||||
exec.cc
|
||||
ENABLE_IF
|
||||
YOSYS_ENABLE_SPAWN
|
||||
)
|
||||
yosys_pass(add
|
||||
add.cc
|
||||
)
|
||||
yosys_pass(delete
|
||||
delete.cc
|
||||
)
|
||||
yosys_pass(design
|
||||
design.cc
|
||||
ESSENTIAL
|
||||
)
|
||||
yosys_pass(design_equal
|
||||
design_equal.cc
|
||||
)
|
||||
yosys_pass(select
|
||||
select.cc
|
||||
PROVIDES
|
||||
cd
|
||||
ls
|
||||
ESSENTIAL
|
||||
)
|
||||
yosys_pass(show
|
||||
show.cc
|
||||
LIBRARIES
|
||||
$<${YOSYS_ENABLE_READLINE}:PkgConfig::readline>
|
||||
$<${YOSYS_ENABLE_EDITLINE}:PkgConfig::editline>
|
||||
REQUIRES
|
||||
read_rtlil
|
||||
read_verilog
|
||||
)
|
||||
yosys_pass(viz
|
||||
viz.cc
|
||||
)
|
||||
yosys_pass(rename
|
||||
rename.cc
|
||||
REQUIRES
|
||||
write_verilog
|
||||
)
|
||||
yosys_pass(autoname
|
||||
autoname.cc
|
||||
)
|
||||
yosys_pass(connect
|
||||
connect.cc
|
||||
)
|
||||
yosys_pass(scatter
|
||||
scatter.cc
|
||||
)
|
||||
yosys_pass(setundef
|
||||
setundef.cc
|
||||
)
|
||||
yosys_pass(splitnets
|
||||
splitnets.cc
|
||||
)
|
||||
yosys_pass(splitcells
|
||||
splitcells.cc
|
||||
)
|
||||
yosys_pass(stat
|
||||
stat.cc
|
||||
REQUIRES
|
||||
libparse
|
||||
)
|
||||
yosys_pass(internal_stats
|
||||
internal_stats.cc
|
||||
REQUIRES
|
||||
libparse
|
||||
)
|
||||
yosys_pass(setattr
|
||||
setattr.cc
|
||||
PROVIDES
|
||||
wbflip
|
||||
setparam
|
||||
chparam
|
||||
)
|
||||
yosys_pass(copy
|
||||
copy.cc
|
||||
)
|
||||
yosys_pass(splice
|
||||
splice.cc
|
||||
)
|
||||
yosys_pass(scc
|
||||
scc.cc
|
||||
)
|
||||
yosys_pass(glift
|
||||
glift.cc
|
||||
)
|
||||
yosys_pass(torder
|
||||
torder.cc
|
||||
)
|
||||
yosys_pass(logcmd
|
||||
logcmd.cc
|
||||
)
|
||||
yosys_pass(tee
|
||||
tee.cc
|
||||
)
|
||||
yosys_pass(write_file
|
||||
write_file.cc
|
||||
)
|
||||
yosys_pass(connwrappers
|
||||
connwrappers.cc
|
||||
)
|
||||
yosys_pass(trace
|
||||
trace.cc
|
||||
PROVIDES
|
||||
debug
|
||||
)
|
||||
yosys_pass(plugin
|
||||
plugin.cc
|
||||
INCLUDE_DIRS
|
||||
${pybind11_INCLUDE_DIR}
|
||||
LIBRARIES
|
||||
$<${YOSYS_ENABLE_PLUGINS}:${Dlfcn_LIBRARIES}>
|
||||
$<${YOSYS_ENABLE_PYTHON}:Python3::Python>
|
||||
ESSENTIAL
|
||||
)
|
||||
yosys_pass(check
|
||||
check.cc
|
||||
)
|
||||
yosys_pass(edgetypes
|
||||
edgetypes.cc
|
||||
)
|
||||
yosys_pass(portlist
|
||||
portlist.cc
|
||||
)
|
||||
yosys_pass(chformal
|
||||
chformal.cc
|
||||
)
|
||||
yosys_pass(chtype
|
||||
chtype.cc
|
||||
)
|
||||
yosys_pass(blackbox
|
||||
blackbox.cc
|
||||
)
|
||||
yosys_pass(ltp
|
||||
ltp.cc
|
||||
)
|
||||
yosys_pass(linux_perf
|
||||
linux_perf.cc
|
||||
)
|
||||
yosys_pass(bugpoint
|
||||
bugpoint.cc
|
||||
REQUIRES
|
||||
proc_clean
|
||||
opt_clean
|
||||
design
|
||||
ENABLE_IF
|
||||
YOSYS_ENABLE_SPAWN
|
||||
)
|
||||
yosys_pass(scratchpad
|
||||
scratchpad.cc
|
||||
)
|
||||
yosys_pass(logger
|
||||
logger.cc
|
||||
)
|
||||
yosys_pass(printattrs
|
||||
printattrs.cc
|
||||
)
|
||||
yosys_pass(sta
|
||||
sta.cc
|
||||
)
|
||||
yosys_pass(clean_zerowidth
|
||||
clean_zerowidth.cc
|
||||
)
|
||||
yosys_pass(xprop
|
||||
xprop.cc
|
||||
REQUIRES
|
||||
bmuxmap
|
||||
demuxmap
|
||||
)
|
||||
yosys_pass(dft_tag
|
||||
dft_tag.cc
|
||||
)
|
||||
yosys_pass(future
|
||||
future.cc
|
||||
)
|
||||
yosys_pass(box_derive
|
||||
box_derive.cc
|
||||
)
|
||||
yosys_pass(example_dt
|
||||
example_dt.cc
|
||||
)
|
||||
yosys_pass(portarcs
|
||||
portarcs.cc
|
||||
)
|
||||
yosys_pass(wrapcell
|
||||
wrapcell.cc
|
||||
)
|
||||
yosys_pass(setenv
|
||||
setenv.cc
|
||||
)
|
||||
yosys_pass(abstract
|
||||
abstract.cc
|
||||
)
|
||||
yosys_pass(test_select
|
||||
test_select.cc
|
||||
)
|
||||
yosys_pass(timeest
|
||||
timeest.cc
|
||||
)
|
||||
yosys_pass(linecoverage
|
||||
linecoverage.cc
|
||||
)
|
||||
yosys_pass(sort
|
||||
sort.cc
|
||||
)
|
||||
yosys_pass(icell_liberty
|
||||
icell_liberty.cc
|
||||
)
|
||||
|
|
@ -1,64 +0,0 @@
|
|||
|
||||
ifeq ($(DISABLE_SPAWN),0)
|
||||
OBJS += passes/cmds/exec.o
|
||||
endif
|
||||
OBJS += passes/cmds/add.o
|
||||
OBJS += passes/cmds/delete.o
|
||||
OBJS += passes/cmds/design.o
|
||||
OBJS += passes/cmds/design_equal.o
|
||||
OBJS += passes/cmds/select.o
|
||||
OBJS += passes/cmds/show.o
|
||||
OBJS += passes/cmds/viz.o
|
||||
OBJS += passes/cmds/rename.o
|
||||
OBJS += passes/cmds/autoname.o
|
||||
OBJS += passes/cmds/connect.o
|
||||
OBJS += passes/cmds/scatter.o
|
||||
OBJS += passes/cmds/setundef.o
|
||||
OBJS += passes/cmds/splitnets.o
|
||||
OBJS += passes/cmds/splitcells.o
|
||||
OBJS += passes/cmds/stat.o
|
||||
OBJS += passes/cmds/internal_stats.o
|
||||
OBJS += passes/cmds/setattr.o
|
||||
OBJS += passes/cmds/copy.o
|
||||
OBJS += passes/cmds/splice.o
|
||||
OBJS += passes/cmds/scc.o
|
||||
OBJS += passes/cmds/glift.o
|
||||
OBJS += passes/cmds/torder.o
|
||||
OBJS += passes/cmds/logcmd.o
|
||||
OBJS += passes/cmds/tee.o
|
||||
OBJS += passes/cmds/write_file.o
|
||||
OBJS += passes/cmds/connwrappers.o
|
||||
OBJS += passes/cmds/trace.o
|
||||
OBJS += passes/cmds/plugin.o
|
||||
OBJS += passes/cmds/check.o
|
||||
OBJS += passes/cmds/edgetypes.o
|
||||
OBJS += passes/cmds/portlist.o
|
||||
OBJS += passes/cmds/chformal.o
|
||||
OBJS += passes/cmds/chtype.o
|
||||
OBJS += passes/cmds/blackbox.o
|
||||
OBJS += passes/cmds/ltp.o
|
||||
OBJS += passes/cmds/linux_perf.o
|
||||
ifeq ($(DISABLE_SPAWN),0)
|
||||
OBJS += passes/cmds/bugpoint.o
|
||||
endif
|
||||
OBJS += passes/cmds/scratchpad.o
|
||||
OBJS += passes/cmds/logger.o
|
||||
OBJS += passes/cmds/printattrs.o
|
||||
OBJS += passes/cmds/sta.o
|
||||
OBJS += passes/cmds/clean_zerowidth.o
|
||||
OBJS += passes/cmds/xprop.o
|
||||
OBJS += passes/cmds/dft_tag.o
|
||||
OBJS += passes/cmds/future.o
|
||||
OBJS += passes/cmds/box_derive.o
|
||||
OBJS += passes/cmds/example_dt.o
|
||||
OBJS += passes/cmds/portarcs.o
|
||||
OBJS += passes/cmds/wrapcell.o
|
||||
OBJS += passes/cmds/setenv.o
|
||||
OBJS += passes/cmds/abstract.o
|
||||
OBJS += passes/cmds/test_select.o
|
||||
OBJS += passes/cmds/timeest.o
|
||||
OBJS += passes/cmds/linecoverage.o
|
||||
OBJS += passes/cmds/sort.o
|
||||
OBJS += passes/cmds/icell_liberty.o
|
||||
|
||||
include $(YOSYS_SRC)/passes/cmds/sdc/Makefile.inc
|
||||
9
passes/cmds/sdc/CMakeLists.txt
Normal file
9
passes/cmds/sdc/CMakeLists.txt
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
yosys_pass(sdc
|
||||
sdc.cc
|
||||
LIBRARIES
|
||||
$<${YOSYS_ENABLE_TCL}:PkgConfig::tcl>
|
||||
DATA_DIR
|
||||
sdc
|
||||
DATA_FILES
|
||||
graph-stubs.sdc
|
||||
)
|
||||
|
|
@ -1,3 +0,0 @@
|
|||
OBJS += passes/cmds/sdc/sdc.o
|
||||
|
||||
$(eval $(call add_share_file,share/sdc,passes/cmds/sdc/graph-stubs.sdc))
|
||||
|
|
@ -1,3 +1,4 @@
|
|||
#include "kernel/yosys_config.h"
|
||||
#ifdef YOSYS_ENABLE_TCL
|
||||
|
||||
#include "kernel/register.h"
|
||||
|
|
|
|||
|
|
@ -442,7 +442,7 @@ struct ShowWorker
|
|||
id2num(wire->name), shape.c_str(), is_borderless? " margin=0, width=0" : "", findLabel(wire->name.str()),
|
||||
is_borderless
|
||||
? "color=\"none\", fontcolor=\"black\""
|
||||
: nextColor(RTLIL::SigSpec(wire), "color=\"black\", fontcolor=\"black\"").c_str(),
|
||||
: nextColor(RTLIL::SigSpec(wire), "color=\"black\", fontcolor=\"black\"").c_str(),
|
||||
src_href.c_str());
|
||||
if (wire->port_input)
|
||||
all_sources.insert(stringf("n%d", id2num(wire->name)));
|
||||
|
|
@ -770,7 +770,7 @@ struct ShowPass : public Pass {
|
|||
std::vector<std::pair<std::string, RTLIL::Selection>> color_selections;
|
||||
std::vector<std::pair<std::string, RTLIL::Selection>> label_selections;
|
||||
|
||||
#if defined(_WIN32) || defined(YOSYS_DISABLE_SPAWN)
|
||||
#if defined(_WIN32) || !defined(YOSYS_ENABLE_SPAWN)
|
||||
std::string format = "dot";
|
||||
std::string prefix = "show";
|
||||
#else
|
||||
|
|
@ -948,13 +948,13 @@ struct ShowPass : public Pass {
|
|||
std::string cmd = stringf(DOT_CMD, format, dot_file, out_file, out_file, out_file);
|
||||
#undef DOT_CMD
|
||||
log("Exec: %s\n", cmd);
|
||||
#if !defined(YOSYS_DISABLE_SPAWN)
|
||||
#if defined(YOSYS_ENABLE_SPAWN)
|
||||
if (run_command(cmd) != 0)
|
||||
log_cmd_error("Shell command failed!\n");
|
||||
#endif
|
||||
}
|
||||
|
||||
#if defined(YOSYS_DISABLE_SPAWN)
|
||||
#if !defined(YOSYS_ENABLE_SPAWN)
|
||||
log_assert(viewer_exe.empty() && !format.empty());
|
||||
#else
|
||||
if (viewer_exe != "none") {
|
||||
|
|
|
|||
|
|
@ -898,7 +898,7 @@ struct VizPass : public Pass {
|
|||
log_header(design, "Generating Graphviz representation of design.\n");
|
||||
log_push();
|
||||
|
||||
#if defined(_WIN32) || defined(YOSYS_DISABLE_SPAWN)
|
||||
#if defined(_WIN32) || !defined(YOSYS_ENABLE_SPAWN)
|
||||
std::string format = "dot";
|
||||
std::string prefix = "show";
|
||||
#else
|
||||
|
|
@ -1029,13 +1029,13 @@ struct VizPass : public Pass {
|
|||
std::string cmd = stringf(DOT_CMD, format, dot_file, out_file, out_file, out_file);
|
||||
#undef DOT_CMD
|
||||
log("Exec: %s\n", cmd);
|
||||
#if !defined(YOSYS_DISABLE_SPAWN)
|
||||
#if defined(YOSYS_ENABLE_SPAWN)
|
||||
if (run_command(cmd) != 0)
|
||||
log_cmd_error("Shell command failed!\n");
|
||||
#endif
|
||||
}
|
||||
|
||||
#if defined(YOSYS_DISABLE_SPAWN)
|
||||
#if !defined(YOSYS_ENABLE_SPAWN)
|
||||
log_assert(viewer_exe.empty() && !format.empty());
|
||||
#else
|
||||
if (!viewer_exe.empty()) {
|
||||
|
|
|
|||
54
passes/equiv/CMakeLists.txt
Normal file
54
passes/equiv/CMakeLists.txt
Normal file
|
|
@ -0,0 +1,54 @@
|
|||
yosys_pass(equiv_make
|
||||
equiv_make.cc
|
||||
equiv.h
|
||||
)
|
||||
yosys_pass(equiv_miter
|
||||
equiv_miter.cc
|
||||
equiv.h
|
||||
)
|
||||
yosys_pass(equiv_simple
|
||||
equiv_simple.cc
|
||||
equiv.h
|
||||
)
|
||||
yosys_pass(equiv_status
|
||||
equiv_status.cc
|
||||
equiv.h
|
||||
)
|
||||
yosys_pass(equiv_add
|
||||
equiv_add.cc
|
||||
equiv.h
|
||||
)
|
||||
yosys_pass(equiv_remove
|
||||
equiv_remove.cc
|
||||
equiv.h
|
||||
)
|
||||
yosys_pass(equiv_induct
|
||||
equiv_induct.cc
|
||||
equiv.h
|
||||
)
|
||||
yosys_pass(equiv_struct
|
||||
equiv_struct.cc
|
||||
equiv.h
|
||||
)
|
||||
yosys_pass(equiv_purge
|
||||
equiv_purge.cc
|
||||
equiv.h
|
||||
)
|
||||
yosys_pass(equiv_mark
|
||||
equiv_mark.cc
|
||||
equiv.h
|
||||
)
|
||||
yosys_pass(equiv_opt
|
||||
equiv_opt.cc
|
||||
equiv.h
|
||||
REQUIRES
|
||||
async2sync
|
||||
check
|
||||
clk2fflogic
|
||||
design
|
||||
equiv_induct
|
||||
equiv_make
|
||||
equiv_status
|
||||
hierarchy
|
||||
techmap
|
||||
)
|
||||
|
|
@ -1,12 +0,0 @@
|
|||
|
||||
OBJS += passes/equiv/equiv_make.o
|
||||
OBJS += passes/equiv/equiv_miter.o
|
||||
OBJS += passes/equiv/equiv_simple.o
|
||||
OBJS += passes/equiv/equiv_status.o
|
||||
OBJS += passes/equiv/equiv_add.o
|
||||
OBJS += passes/equiv/equiv_remove.o
|
||||
OBJS += passes/equiv/equiv_induct.o
|
||||
OBJS += passes/equiv/equiv_struct.o
|
||||
OBJS += passes/equiv/equiv_purge.o
|
||||
OBJS += passes/equiv/equiv_mark.o
|
||||
OBJS += passes/equiv/equiv_opt.o
|
||||
52
passes/fsm/CMakeLists.txt
Normal file
52
passes/fsm/CMakeLists.txt
Normal file
|
|
@ -0,0 +1,52 @@
|
|||
yosys_core(fsmdata INTERFACE
|
||||
fsmdata.h
|
||||
DATA_DIR
|
||||
include/passes/fsm
|
||||
DATA_FILES
|
||||
fsmdata.h
|
||||
)
|
||||
|
||||
function(yosys_fsm_pass)
|
||||
yosys_pass(${ARGV} REQUIRES fsmdata)
|
||||
endfunction()
|
||||
|
||||
yosys_fsm_pass(fsm_detect
|
||||
fsm_detect.cc
|
||||
)
|
||||
yosys_fsm_pass(fsm_extract
|
||||
fsm_extract.cc
|
||||
)
|
||||
yosys_fsm_pass(fsm_opt
|
||||
fsm_opt.cc
|
||||
)
|
||||
yosys_fsm_pass(fsm_expand
|
||||
fsm_expand.cc
|
||||
REQUIRES
|
||||
fsm_opt
|
||||
)
|
||||
yosys_fsm_pass(fsm_recode
|
||||
fsm_recode.cc
|
||||
)
|
||||
yosys_fsm_pass(fsm_info
|
||||
fsm_info.cc
|
||||
)
|
||||
yosys_fsm_pass(fsm_export
|
||||
fsm_export.cc
|
||||
)
|
||||
yosys_fsm_pass(fsm_map
|
||||
fsm_map.cc
|
||||
)
|
||||
|
||||
yosys_pass(fsm
|
||||
fsm.cc
|
||||
REQUIRES
|
||||
fsm_detect
|
||||
fsm_expand
|
||||
fsm_export
|
||||
fsm_extract
|
||||
fsm_info
|
||||
fsm_map
|
||||
fsm_opt
|
||||
fsm_recode
|
||||
opt_clean
|
||||
)
|
||||
|
|
@ -1,11 +0,0 @@
|
|||
|
||||
OBJS += passes/fsm/fsm.o
|
||||
OBJS += passes/fsm/fsm_detect.o
|
||||
OBJS += passes/fsm/fsm_extract.o
|
||||
OBJS += passes/fsm/fsm_opt.o
|
||||
OBJS += passes/fsm/fsm_expand.o
|
||||
OBJS += passes/fsm/fsm_recode.o
|
||||
OBJS += passes/fsm/fsm_info.o
|
||||
OBJS += passes/fsm/fsm_export.o
|
||||
OBJS += passes/fsm/fsm_map.o
|
||||
|
||||
22
passes/hierarchy/CMakeLists.txt
Normal file
22
passes/hierarchy/CMakeLists.txt
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
yosys_pass(flatten
|
||||
flatten.cc
|
||||
)
|
||||
yosys_pass(hierarchy
|
||||
hierarchy.cc
|
||||
LIBRARIES
|
||||
verific
|
||||
REQUIRES
|
||||
read_rtlil
|
||||
read_verilog
|
||||
)
|
||||
yosys_pass(keep_hierarchy
|
||||
keep_hierarchy.cc
|
||||
)
|
||||
yosys_pass(submod
|
||||
submod.cc
|
||||
REQUIRES
|
||||
opt_clean
|
||||
)
|
||||
yosys_pass(uniquify
|
||||
uniquify.cc
|
||||
)
|
||||
|
|
@ -1,7 +0,0 @@
|
|||
|
||||
OBJS += passes/hierarchy/flatten.o
|
||||
OBJS += passes/hierarchy/hierarchy.o
|
||||
OBJS += passes/hierarchy/uniquify.o
|
||||
OBJS += passes/hierarchy/submod.o
|
||||
OBJS += passes/hierarchy/keep_hierarchy.o
|
||||
|
||||
59
passes/memory/CMakeLists.txt
Normal file
59
passes/memory/CMakeLists.txt
Normal file
|
|
@ -0,0 +1,59 @@
|
|||
yosys_core(memlib
|
||||
memlib.cc
|
||||
memlib.h
|
||||
)
|
||||
|
||||
function(yosys_memory_pass)
|
||||
yosys_pass(${ARGV} REQUIRES memlib)
|
||||
endfunction()
|
||||
|
||||
yosys_memory_pass(memory_dff
|
||||
memory_dff.cc
|
||||
)
|
||||
yosys_memory_pass(memory_share
|
||||
memory_share.cc
|
||||
)
|
||||
yosys_memory_pass(memory_collect
|
||||
memory_collect.cc
|
||||
)
|
||||
yosys_memory_pass(memory_unpack
|
||||
memory_unpack.cc
|
||||
)
|
||||
yosys_memory_pass(memory_bram
|
||||
memory_bram.cc
|
||||
)
|
||||
yosys_memory_pass(memory_map
|
||||
memory_map.cc
|
||||
)
|
||||
yosys_memory_pass(memory_memx
|
||||
memory_memx.cc
|
||||
)
|
||||
yosys_memory_pass(memory_nordff
|
||||
memory_nordff.cc
|
||||
)
|
||||
yosys_memory_pass(memory_narrow
|
||||
memory_narrow.cc
|
||||
)
|
||||
yosys_memory_pass(memory_libmap
|
||||
memory_libmap.cc
|
||||
)
|
||||
yosys_memory_pass(memory_bmux2rom
|
||||
memory_bmux2rom.cc
|
||||
)
|
||||
|
||||
yosys_pass(memory
|
||||
memory.cc
|
||||
REQUIRES
|
||||
memory_bmux2rom
|
||||
memory_bram
|
||||
memory_collect
|
||||
memory_dff
|
||||
memory_map
|
||||
memory_memx
|
||||
memory_share
|
||||
opt_clean
|
||||
opt_mem
|
||||
opt_mem_feedback
|
||||
opt_mem_priority
|
||||
opt_mem_widen
|
||||
)
|
||||
|
|
@ -1,15 +0,0 @@
|
|||
|
||||
OBJS += passes/memory/memory.o
|
||||
OBJS += passes/memory/memory_dff.o
|
||||
OBJS += passes/memory/memory_share.o
|
||||
OBJS += passes/memory/memory_collect.o
|
||||
OBJS += passes/memory/memory_unpack.o
|
||||
OBJS += passes/memory/memory_bram.o
|
||||
OBJS += passes/memory/memory_map.o
|
||||
OBJS += passes/memory/memory_memx.o
|
||||
OBJS += passes/memory/memory_nordff.o
|
||||
OBJS += passes/memory/memory_narrow.o
|
||||
OBJS += passes/memory/memory_libmap.o
|
||||
OBJS += passes/memory/memory_bmux2rom.o
|
||||
|
||||
OBJS += passes/memory/memlib.o
|
||||
1
passes/opt/.gitignore
vendored
1
passes/opt/.gitignore
vendored
|
|
@ -1 +0,0 @@
|
|||
/peepopt*_pm.h
|
||||
96
passes/opt/CMakeLists.txt
Normal file
96
passes/opt/CMakeLists.txt
Normal 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}
|
||||
)
|
||||
|
|
@ -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
|
||||
11
passes/opt/opt_clean/CMakeLists.txt
Normal file
11
passes/opt/opt_clean/CMakeLists.txt
Normal 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
|
||||
)
|
||||
|
|
@ -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)
|
||||
1
passes/pmgen/.gitignore
vendored
1
passes/pmgen/.gitignore
vendored
|
|
@ -1 +0,0 @@
|
|||
/*_pm.h
|
||||
15
passes/pmgen/CMakeLists.txt
Normal file
15
passes/pmgen/CMakeLists.txt
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
pmgen_command(test_pmgen
|
||||
test_pmgen.pmg
|
||||
)
|
||||
yosys_test_pass(pmgen
|
||||
test_pmgen.cc
|
||||
${PMGEN_test_pmgen_OUTPUT}
|
||||
REQUIRES
|
||||
synth_ice40
|
||||
synth_xilinx
|
||||
)
|
||||
# Test implementation directly depends on generated files from these passes.
|
||||
add_dependencies(yosys_test_pmgen
|
||||
yosys_ice40_dsp
|
||||
yosys_xilinx_srl
|
||||
)
|
||||
|
|
@ -1,10 +0,0 @@
|
|||
passes/pmgen/%_pm.h: passes/pmgen/pmgen.py passes/pmgen/%.pmg
|
||||
$(P) mkdir -p $(dir $@) && $(PYTHON_EXECUTABLE) $< -o $@ -p $(notdir $*) $(filter-out $<,$^)
|
||||
|
||||
# --------------------------------------
|
||||
|
||||
OBJS += passes/pmgen/test_pmgen.o
|
||||
GENFILES += passes/pmgen/test_pmgen_pm.h
|
||||
passes/pmgen/test_pmgen.o: passes/pmgen/test_pmgen_pm.h techlibs/ice40/ice40_dsp_pm.h techlibs/xilinx/xilinx_srl_pm.h
|
||||
$(eval $(call add_extra_objs,passes/pmgen/test_pmgen_pm.h))
|
||||
|
||||
47
passes/proc/CMakeLists.txt
Normal file
47
passes/proc/CMakeLists.txt
Normal file
|
|
@ -0,0 +1,47 @@
|
|||
yosys_pass(proc_prune
|
||||
proc_prune.cc
|
||||
)
|
||||
yosys_pass(proc_clean
|
||||
proc_clean.cc
|
||||
)
|
||||
yosys_pass(proc_rmdead
|
||||
proc_rmdead.cc
|
||||
)
|
||||
yosys_pass(proc_init
|
||||
proc_init.cc
|
||||
)
|
||||
yosys_pass(proc_arst
|
||||
proc_arst.cc
|
||||
REQUIRES
|
||||
proc_clean
|
||||
)
|
||||
yosys_pass(proc_rom
|
||||
proc_rom.cc
|
||||
)
|
||||
yosys_pass(proc_mux
|
||||
proc_mux.cc
|
||||
)
|
||||
yosys_pass(proc_dlatch
|
||||
proc_dlatch.cc
|
||||
)
|
||||
yosys_pass(proc_dff
|
||||
proc_dff.cc
|
||||
)
|
||||
yosys_pass(proc_memwr
|
||||
proc_memwr.cc
|
||||
)
|
||||
yosys_pass(proc
|
||||
proc.cc
|
||||
REQUIRES
|
||||
proc_prune
|
||||
proc_clean
|
||||
proc_rmdead
|
||||
proc_init
|
||||
proc_arst
|
||||
proc_rom
|
||||
proc_mux
|
||||
proc_dlatch
|
||||
proc_dff
|
||||
proc_memwr
|
||||
opt_expr
|
||||
)
|
||||
|
|
@ -1,12 +0,0 @@
|
|||
|
||||
OBJS += passes/proc/proc.o
|
||||
OBJS += passes/proc/proc_prune.o
|
||||
OBJS += passes/proc/proc_clean.o
|
||||
OBJS += passes/proc/proc_rmdead.o
|
||||
OBJS += passes/proc/proc_init.o
|
||||
OBJS += passes/proc/proc_arst.o
|
||||
OBJS += passes/proc/proc_rom.o
|
||||
OBJS += passes/proc/proc_mux.o
|
||||
OBJS += passes/proc/proc_dlatch.o
|
||||
OBJS += passes/proc/proc_dff.o
|
||||
OBJS += passes/proc/proc_memwr.o
|
||||
74
passes/sat/CMakeLists.txt
Normal file
74
passes/sat/CMakeLists.txt
Normal file
|
|
@ -0,0 +1,74 @@
|
|||
yosys_pass(sat
|
||||
sat.cc
|
||||
)
|
||||
yosys_pass(freduce
|
||||
freduce.cc
|
||||
)
|
||||
yosys_pass(eval
|
||||
eval.cc
|
||||
)
|
||||
yosys_pass(sim
|
||||
sim.cc
|
||||
REQUIRES
|
||||
fstdata
|
||||
PROVIDES
|
||||
fst2tb
|
||||
)
|
||||
yosys_pass(miter
|
||||
miter.cc
|
||||
REQUIRES
|
||||
flatten
|
||||
opt_expr
|
||||
)
|
||||
yosys_pass(expose
|
||||
expose.cc
|
||||
)
|
||||
yosys_pass(assertpmux
|
||||
assertpmux.cc
|
||||
)
|
||||
yosys_pass(clk2fflogic
|
||||
clk2fflogic.cc
|
||||
REQUIRES
|
||||
chformal
|
||||
peepopt
|
||||
)
|
||||
yosys_pass(async2sync
|
||||
async2sync.cc
|
||||
REQUIRES
|
||||
chformal
|
||||
)
|
||||
yosys_pass(formalff
|
||||
formalff.cc
|
||||
)
|
||||
yosys_pass(supercover
|
||||
supercover.cc
|
||||
)
|
||||
yosys_pass(fmcombine
|
||||
fmcombine.cc
|
||||
)
|
||||
yosys_pass(mutate
|
||||
mutate.cc
|
||||
)
|
||||
yosys_pass(cutpoint
|
||||
cutpoint.cc
|
||||
)
|
||||
yosys_pass(fminit
|
||||
fminit.cc
|
||||
)
|
||||
yosys_pass(recover_names
|
||||
recover_names.cc
|
||||
REQUIRES
|
||||
flatten
|
||||
)
|
||||
yosys_pass(qbfsat
|
||||
qbfsat.cc
|
||||
REQUIRES
|
||||
abc
|
||||
opt
|
||||
techmap
|
||||
ENABLE_IF
|
||||
YOSYS_ENABLE_SPAWN
|
||||
)
|
||||
yosys_pass(synthprop
|
||||
synthprop.cc
|
||||
)
|
||||
|
|
@ -1,23 +0,0 @@
|
|||
|
||||
OBJS += passes/sat/sat.o
|
||||
OBJS += passes/sat/freduce.o
|
||||
OBJS += passes/sat/eval.o
|
||||
ifeq ($(ENABLE_ZLIB),1)
|
||||
OBJS += passes/sat/sim.o
|
||||
endif
|
||||
OBJS += passes/sat/miter.o
|
||||
OBJS += passes/sat/expose.o
|
||||
OBJS += passes/sat/assertpmux.o
|
||||
OBJS += passes/sat/clk2fflogic.o
|
||||
OBJS += passes/sat/async2sync.o
|
||||
OBJS += passes/sat/formalff.o
|
||||
OBJS += passes/sat/supercover.o
|
||||
OBJS += passes/sat/fmcombine.o
|
||||
OBJS += passes/sat/mutate.o
|
||||
OBJS += passes/sat/cutpoint.o
|
||||
OBJS += passes/sat/fminit.o
|
||||
OBJS += passes/sat/recover_names.o
|
||||
ifeq ($(DISABLE_SPAWN),0)
|
||||
OBJS += passes/sat/qbfsat.o
|
||||
endif
|
||||
OBJS += passes/sat/synthprop.o
|
||||
225
passes/techmap/CMakeLists.txt
Normal file
225
passes/techmap/CMakeLists.txt
Normal file
|
|
@ -0,0 +1,225 @@
|
|||
yosys_core(libparse
|
||||
libparse.cc
|
||||
libparse.h
|
||||
DATA_DIR
|
||||
include/passes/techmap
|
||||
DATA_FILES
|
||||
libparse.h
|
||||
)
|
||||
|
||||
yosys_pass(techmap
|
||||
techmap.cc
|
||||
REQUIRES
|
||||
maccmap
|
||||
proc
|
||||
read_rtlil
|
||||
read_verilog
|
||||
sha1
|
||||
simplemap
|
||||
)
|
||||
yosys_pass(simplemap
|
||||
simplemap.cc
|
||||
)
|
||||
yosys_pass(dfflibmap
|
||||
dfflibmap.cc
|
||||
REQUIRES
|
||||
dfflegalize
|
||||
libparse
|
||||
)
|
||||
yosys_pass(maccmap
|
||||
maccmap.cc
|
||||
)
|
||||
yosys_pass(booth
|
||||
booth.cc
|
||||
)
|
||||
yosys_pass(libcache
|
||||
libcache.cc
|
||||
REQUIRES
|
||||
libparse
|
||||
)
|
||||
|
||||
set(abc_definitions
|
||||
"$<$<BOOL:${YOSYS_ABC_EXECUTABLE}>:ABCEXTERNAL=\"${YOSYS_ABC_EXECUTABLE}\">"
|
||||
$<${YOSYS_LINK_ABC}:YOSYS_LINK_ABC>
|
||||
)
|
||||
yosys_pass(abc
|
||||
abc.cc
|
||||
DEFINITIONS
|
||||
${abc_definitions}
|
||||
LIBRARIES
|
||||
$<${YOSYS_LINK_ABC}:libyosys-abc>
|
||||
REQUIRES
|
||||
read_blif
|
||||
ENABLE_IF
|
||||
YOSYS_ENABLE_ABC
|
||||
)
|
||||
yosys_pass(abc9_exe
|
||||
abc9_exe.cc
|
||||
DEFINITIONS
|
||||
${abc_definitions}
|
||||
LIBRARIES
|
||||
$<${YOSYS_LINK_ABC}:libyosys-abc>
|
||||
ENABLE_IF
|
||||
YOSYS_ENABLE_ABC
|
||||
)
|
||||
yosys_pass(abc9_ops
|
||||
abc9_ops.cc
|
||||
REQUIRES
|
||||
proc
|
||||
)
|
||||
yosys_pass(abc9
|
||||
abc9.cc
|
||||
DEFINITIONS
|
||||
${abc_definitions}
|
||||
REQUIRES
|
||||
abc9_exe
|
||||
abc9_ops
|
||||
aigmap
|
||||
delete
|
||||
design
|
||||
opt
|
||||
portarcs
|
||||
read_verilog
|
||||
scc
|
||||
select
|
||||
setattr
|
||||
submod
|
||||
techmap
|
||||
wbflip
|
||||
)
|
||||
yosys_pass(abc_new
|
||||
abc_new.cc
|
||||
REQUIRES
|
||||
abc9_exe
|
||||
abc9_ops
|
||||
box_derive
|
||||
read_xaiger2
|
||||
write_xaiger2
|
||||
)
|
||||
|
||||
yosys_pass(iopadmap
|
||||
iopadmap.cc
|
||||
)
|
||||
yosys_pass(clkbufmap
|
||||
clkbufmap.cc
|
||||
)
|
||||
yosys_pass(hilomap
|
||||
hilomap.cc
|
||||
)
|
||||
yosys_pass(extract
|
||||
extract.cc
|
||||
REQUIRES
|
||||
opt_clean
|
||||
proc
|
||||
read_rtlil
|
||||
read_verilog
|
||||
subcircuit
|
||||
write_rtlil
|
||||
)
|
||||
yosys_pass(extract_fa
|
||||
extract_fa.cc
|
||||
)
|
||||
yosys_pass(extract_counter
|
||||
extract_counter.cc
|
||||
)
|
||||
yosys_pass(extract_reduce
|
||||
extract_reduce.cc
|
||||
)
|
||||
yosys_pass(alumacc
|
||||
alumacc.cc
|
||||
)
|
||||
yosys_pass(dffinit
|
||||
dffinit.cc
|
||||
)
|
||||
yosys_pass(pmuxtree
|
||||
pmuxtree.cc
|
||||
)
|
||||
yosys_pass(bmuxmap
|
||||
bmuxmap.cc
|
||||
)
|
||||
yosys_pass(demuxmap
|
||||
demuxmap.cc
|
||||
)
|
||||
yosys_pass(bwmuxmap
|
||||
bwmuxmap.cc
|
||||
)
|
||||
yosys_pass(muxcover
|
||||
muxcover.cc
|
||||
)
|
||||
yosys_pass(aigmap
|
||||
aigmap.cc
|
||||
)
|
||||
yosys_pass(tribuf
|
||||
tribuf.cc
|
||||
)
|
||||
yosys_pass(lut2mux
|
||||
lut2mux.cc
|
||||
)
|
||||
yosys_pass(lut2bmux
|
||||
lut2bmux.cc
|
||||
)
|
||||
yosys_pass(nlutmap
|
||||
nlutmap.cc
|
||||
REQUIRES
|
||||
abc
|
||||
lut2mux
|
||||
opt_clean
|
||||
)
|
||||
yosys_pass(shregmap
|
||||
shregmap.cc
|
||||
)
|
||||
yosys_pass(deminout
|
||||
deminout.cc
|
||||
)
|
||||
yosys_pass(insbuf
|
||||
insbuf.cc
|
||||
)
|
||||
yosys_pass(bufnorm
|
||||
bufnorm.cc
|
||||
)
|
||||
yosys_pass(attrmvcp
|
||||
attrmvcp.cc
|
||||
)
|
||||
yosys_pass(attrmap
|
||||
attrmap.cc
|
||||
PROVIDES
|
||||
paramap
|
||||
)
|
||||
yosys_pass(zinit
|
||||
zinit.cc
|
||||
)
|
||||
yosys_pass(dfflegalize
|
||||
dfflegalize.cc
|
||||
)
|
||||
yosys_pass(dffunmap
|
||||
dffunmap.cc
|
||||
)
|
||||
yosys_pass(flowmap
|
||||
flowmap.cc
|
||||
)
|
||||
yosys_pass(extractinv
|
||||
extractinv.cc
|
||||
)
|
||||
yosys_pass(cellmatch
|
||||
cellmatch.cc
|
||||
)
|
||||
yosys_pass(clockgate
|
||||
clockgate.cc
|
||||
REQUIRES
|
||||
libparse
|
||||
)
|
||||
yosys_pass(constmap
|
||||
constmap.cc
|
||||
)
|
||||
yosys_pass(arith_tree
|
||||
arith_tree.cc
|
||||
)
|
||||
|
||||
if (YOSYS_ENABLE_SPAWN)
|
||||
yosys_cxx_executable(yosys-filterlib
|
||||
OUTPUT_NAME yosys-filterlib
|
||||
INCLUDE_IN_ALL
|
||||
)
|
||||
target_sources(yosys-filterlib PRIVATE filterlib.cc)
|
||||
target_link_libraries(yosys-filterlib PRIVATE yosys_common)
|
||||
endif()
|
||||
|
|
@ -1,68 +0,0 @@
|
|||
|
||||
OBJS += passes/techmap/techmap.o
|
||||
OBJS += passes/techmap/simplemap.o
|
||||
OBJS += passes/techmap/dfflibmap.o
|
||||
OBJS += passes/techmap/maccmap.o
|
||||
OBJS += passes/techmap/booth.o
|
||||
OBJS += passes/techmap/libparse.o
|
||||
OBJS += passes/techmap/libcache.o
|
||||
|
||||
ifeq ($(ENABLE_ABC),1)
|
||||
OBJS += passes/techmap/abc.o
|
||||
OBJS += passes/techmap/abc9.o
|
||||
OBJS += passes/techmap/abc9_exe.o
|
||||
OBJS += passes/techmap/abc9_ops.o
|
||||
OBJS += passes/techmap/abc_new.o
|
||||
ifneq ($(ABCEXTERNAL),)
|
||||
passes/techmap/abc.o: CXXFLAGS += -DABCEXTERNAL='"$(ABCEXTERNAL)"'
|
||||
passes/techmap/abc9.o: CXXFLAGS += -DABCEXTERNAL='"$(ABCEXTERNAL)"'
|
||||
passes/techmap/abc9_exe.o: CXXFLAGS += -DABCEXTERNAL='"$(ABCEXTERNAL)"'
|
||||
passes/techmap/abc_new.o: CXXFLAGS += -DABCEXTERNAL='"$(ABCEXTERNAL)"'
|
||||
endif
|
||||
endif
|
||||
|
||||
ifneq ($(SMALL),1)
|
||||
OBJS += passes/techmap/iopadmap.o
|
||||
OBJS += passes/techmap/clkbufmap.o
|
||||
OBJS += passes/techmap/hilomap.o
|
||||
OBJS += passes/techmap/extract.o
|
||||
OBJS += passes/techmap/extract_fa.o
|
||||
OBJS += passes/techmap/extract_counter.o
|
||||
OBJS += passes/techmap/extract_reduce.o
|
||||
OBJS += passes/techmap/alumacc.o
|
||||
OBJS += passes/techmap/dffinit.o
|
||||
OBJS += passes/techmap/pmuxtree.o
|
||||
OBJS += passes/techmap/bmuxmap.o
|
||||
OBJS += passes/techmap/demuxmap.o
|
||||
OBJS += passes/techmap/bwmuxmap.o
|
||||
OBJS += passes/techmap/muxcover.o
|
||||
OBJS += passes/techmap/aigmap.o
|
||||
OBJS += passes/techmap/tribuf.o
|
||||
OBJS += passes/techmap/lut2mux.o
|
||||
OBJS += passes/techmap/lut2bmux.o
|
||||
OBJS += passes/techmap/nlutmap.o
|
||||
OBJS += passes/techmap/shregmap.o
|
||||
OBJS += passes/techmap/deminout.o
|
||||
OBJS += passes/techmap/insbuf.o
|
||||
OBJS += passes/techmap/bufnorm.o
|
||||
OBJS += passes/techmap/attrmvcp.o
|
||||
OBJS += passes/techmap/attrmap.o
|
||||
OBJS += passes/techmap/zinit.o
|
||||
OBJS += passes/techmap/dfflegalize.o
|
||||
OBJS += passes/techmap/dffunmap.o
|
||||
OBJS += passes/techmap/flowmap.o
|
||||
OBJS += passes/techmap/extractinv.o
|
||||
OBJS += passes/techmap/cellmatch.o
|
||||
OBJS += passes/techmap/clockgate.o
|
||||
OBJS += passes/techmap/constmap.o
|
||||
OBJS += passes/techmap/arith_tree.o
|
||||
endif
|
||||
|
||||
ifeq ($(DISABLE_SPAWN),0)
|
||||
TARGETS += $(PROGRAM_PREFIX)yosys-filterlib$(EXE)
|
||||
EXTRA_OBJS += passes/techmap/filterlib.o
|
||||
|
||||
$(PROGRAM_PREFIX)yosys-filterlib$(EXE): passes/techmap/filterlib.o
|
||||
$(Q) mkdir -p $(dir $@)
|
||||
$(P) $(CXX) -o $(PROGRAM_PREFIX)yosys-filterlib$(EXE) $(LINKFLAGS) $^ $(EXE_LIBS) $(LIBS)
|
||||
endif
|
||||
|
|
@ -170,7 +170,7 @@ struct AbcSigVal {
|
|||
};
|
||||
|
||||
// REUSE_YOSYS_ABC_PROCESSES only works when ABC is built with ENABLE_READLINE.
|
||||
#if defined(__linux__) && !defined(YOSYS_DISABLE_SPAWN) && defined(YOSYS_ENABLE_READLINE)
|
||||
#if defined(__linux__) && defined(YOSYS_ENABLE_SPAWN) && defined(YOSYS_ENABLE_READLINE)
|
||||
#define REUSE_YOSYS_ABC_PROCESSES
|
||||
#endif
|
||||
|
||||
|
|
|
|||
13
passes/tests/CMakeLists.txt
Normal file
13
passes/tests/CMakeLists.txt
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
yosys_test_pass(autotb
|
||||
test_autotb.cc
|
||||
)
|
||||
yosys_test_pass(cell
|
||||
test_cell.cc
|
||||
)
|
||||
yosys_test_pass(abcloop
|
||||
test_abcloop.cc
|
||||
)
|
||||
|
||||
yosys_pass(raise_error
|
||||
raise_error.cc
|
||||
)
|
||||
|
|
@ -1,6 +0,0 @@
|
|||
|
||||
OBJS += passes/tests/test_autotb.o
|
||||
OBJS += passes/tests/test_cell.o
|
||||
OBJS += passes/tests/test_abcloop.o
|
||||
OBJS += passes/tests/raise_error.o
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue