mirror of
https://github.com/YosysHQ/yosys
synced 2026-07-17 20:55:45 +00:00
Adds a new pass, `splitlarge`, that recursively divides $add/$sub cells into smaller cells until each cell's width doesn't exceed a given max_width (128 by default.) An $add/$sub cell's width for this purpose is defined as the higher of the widths of its two inputs. A test was written in Tcl for it, which tests this matrix: - cell: $add/$sub - b: unsigned, signed - a: unsigned, signed This is the first test for a Silimate pass in Tcl and thus `run-test.sh` was modified to include it.
37 lines
1.5 KiB
Makefile
37 lines
1.5 KiB
Makefile
|
|
OBJS += passes/silimate/activity.o
|
|
OBJS += passes/silimate/annotate_cell_fanout.o
|
|
OBJS += passes/silimate/annotate_logic_depth.o
|
|
OBJS += passes/silimate/annotate_unqcoef.o
|
|
OBJS += passes/silimate/breakreduce.o
|
|
OBJS += passes/silimate/breaksop.o
|
|
OBJS += passes/silimate/bus_rebuild.o
|
|
OBJS += passes/silimate/longloop_select.o
|
|
OBJS += passes/silimate/lut2bmux.o
|
|
OBJS += passes/silimate/obs_clean.o
|
|
OBJS += passes/silimate/opt_balance_tree.o
|
|
OBJS += passes/silimate/segv.o
|
|
OBJS += passes/silimate/splitfanout.o
|
|
OBJS += passes/silimate/splitlarge.o
|
|
OBJS += passes/silimate/splitnetlist.o
|
|
|
|
OBJS += passes/silimate/opt_expand.o
|
|
GENFILES += passes/silimate/peepopt_expand.h
|
|
passes/silimate/opt_expand.o: passes/silimate/peepopt_expand.h
|
|
$(eval $(call add_extra_objs,passes/silimate/peepopt_expand.h))
|
|
|
|
PEEPOPT_PATTERN = passes/silimate/peepopt_expand.pmg
|
|
|
|
passes/silimate/peepopt_expand.h: passes/pmgen/pmgen.py $(PEEPOPT_PATTERN)
|
|
$(P) mkdir -p $(dir $@) && $(PYTHON_EXECUTABLE) $< -o $@ -p peepopt $(filter-out $<,$^)
|
|
|
|
OBJS += passes/silimate/muxmode.o
|
|
GENFILES += passes/silimate/peepopt_muxmode.h
|
|
passes/silimate/muxmode.o: passes/silimate/peepopt_muxmode.h
|
|
$(eval $(call add_extra_objs,passes/silimate/peepopt_muxmode.h))
|
|
|
|
PEEPOPT_PATTERN = passes/silimate/peepopt_muxmode.pmg
|
|
PEEPOPT_PATTERN += passes/silimate/peepopt_muxinvprop.pmg
|
|
|
|
passes/silimate/peepopt_muxmode.h: passes/pmgen/pmgen.py $(PEEPOPT_PATTERN)
|
|
$(P) mkdir -p $(dir $@) && $(PYTHON_EXECUTABLE) $< -o $@ -p peepopt $(filter-out $<,$^)
|