2019-08-15 18:34:36 +02:00
|
|
|
%_pm.h: passes/pmgen/pmgen.py %.pmg
|
2023-12-05 18:29:14 +01:00
|
|
|
$(P) mkdir -p $(dir $@) && $(PYTHON_EXECUTABLE) $< -o $@ -p $(subst _pm.h,,$(notdir $@)) $(filter-out $<,$^)
|
2019-04-29 13:38:56 +02:00
|
|
|
|
|
|
|
|
# --------------------------------------
|
2019-01-13 10:57:11 +01:00
|
|
|
|
2019-08-19 13:04:06 +02:00
|
|
|
OBJS += passes/pmgen/test_pmgen.o
|
2021-03-11 15:56:32 +01:00
|
|
|
GENFILES += passes/pmgen/test_pmgen_pm.h
|
2019-08-30 23:00:40 +02:00
|
|
|
passes/pmgen/test_pmgen.o: passes/pmgen/test_pmgen_pm.h passes/pmgen/ice40_dsp_pm.h passes/pmgen/peepopt_pm.h passes/pmgen/xilinx_srl_pm.h
|
2019-08-19 13:04:06 +02:00
|
|
|
$(eval $(call add_extra_objs,passes/pmgen/test_pmgen_pm.h))
|
2019-04-29 13:38:56 +02:00
|
|
|
|
|
|
|
|
# --------------------------------------
|
2019-01-13 10:57:11 +01:00
|
|
|
|
2019-08-15 18:34:36 +02:00
|
|
|
OBJS += passes/pmgen/ice40_dsp.o
|
2021-03-11 15:56:32 +01:00
|
|
|
GENFILES += passes/pmgen/ice40_dsp_pm.h
|
2019-01-13 10:57:11 +01:00
|
|
|
passes/pmgen/ice40_dsp.o: passes/pmgen/ice40_dsp_pm.h
|
2019-08-15 18:34:36 +02:00
|
|
|
$(eval $(call add_extra_objs,passes/pmgen/ice40_dsp_pm.h))
|
2019-01-13 10:57:11 +01:00
|
|
|
|
2019-04-29 13:38:56 +02:00
|
|
|
# --------------------------------------
|
|
|
|
|
|
2019-08-19 13:04:06 +02:00
|
|
|
OBJS += passes/pmgen/ice40_wrapcarry.o
|
2021-03-11 15:56:32 +01:00
|
|
|
GENFILES += passes/pmgen/ice40_wrapcarry_pm.h
|
2019-08-12 21:06:45 +02:00
|
|
|
passes/pmgen/ice40_wrapcarry.o: passes/pmgen/ice40_wrapcarry_pm.h
|
2019-08-21 05:18:51 +02:00
|
|
|
$(eval $(call add_extra_objs,passes/pmgen/ice40_wrapcarry_pm.h))
|
2019-08-15 18:35:00 +02:00
|
|
|
|
|
|
|
|
# --------------------------------------
|
|
|
|
|
|
2019-08-30 14:57:15 +02:00
|
|
|
OBJS += passes/pmgen/xilinx_dsp.o
|
2021-03-11 15:56:32 +01:00
|
|
|
GENFILES += passes/pmgen/xilinx_dsp_pm.h
|
|
|
|
|
GENFILES += passes/pmgen/xilinx_dsp48a_pm.h
|
|
|
|
|
GENFILES += passes/pmgen/xilinx_dsp_CREG_pm.h
|
|
|
|
|
GENFILES += passes/pmgen/xilinx_dsp_cascade_pm.h
|
2019-12-22 20:43:39 +01:00
|
|
|
passes/pmgen/xilinx_dsp.o: passes/pmgen/xilinx_dsp_pm.h passes/pmgen/xilinx_dsp48a_pm.h passes/pmgen/xilinx_dsp_CREG_pm.h passes/pmgen/xilinx_dsp_cascade_pm.h
|
2019-08-30 14:57:15 +02:00
|
|
|
$(eval $(call add_extra_objs,passes/pmgen/xilinx_dsp_pm.h))
|
2019-12-22 20:43:39 +01:00
|
|
|
$(eval $(call add_extra_objs,passes/pmgen/xilinx_dsp48a_pm.h))
|
2019-09-23 22:27:10 +02:00
|
|
|
$(eval $(call add_extra_objs,passes/pmgen/xilinx_dsp_CREG_pm.h))
|
2019-09-20 19:00:09 +02:00
|
|
|
$(eval $(call add_extra_objs,passes/pmgen/xilinx_dsp_cascade_pm.h))
|
2019-04-29 13:38:56 +02:00
|
|
|
|
|
|
|
|
# --------------------------------------
|
|
|
|
|
|
2024-07-04 18:33:58 +02:00
|
|
|
OBJS += passes/pmgen/microchip_dsp.o
|
2024-07-04 17:53:41 +02:00
|
|
|
GENFILES += passes/pmgen/microchip_dsp_pm.h
|
|
|
|
|
GENFILES += passes/pmgen/microchip_dsp_CREG_pm.h
|
|
|
|
|
GENFILES += passes/pmgen/microchip_dsp_cascade_pm.h
|
|
|
|
|
passes/pmgen/microchip_dsp.o: passes/pmgen/microchip_dsp_pm.h passes/pmgen/microchip_dsp_CREG_pm.h passes/pmgen/microchip_dsp_cascade_pm.h
|
|
|
|
|
$(eval $(call add_extra_objs,passes/pmgen/microchip_dsp_pm.h))
|
|
|
|
|
$(eval $(call add_extra_objs,passes/pmgen/microchip_dsp_CREG_pm.h))
|
|
|
|
|
$(eval $(call add_extra_objs,passes/pmgen/microchip_dsp_cascade_pm.h))
|
2024-07-02 21:44:30 +02:00
|
|
|
|
|
|
|
|
# --------------------------------------
|
|
|
|
|
|
2019-08-15 18:34:36 +02:00
|
|
|
OBJS += passes/pmgen/peepopt.o
|
2021-03-11 15:56:32 +01:00
|
|
|
GENFILES += passes/pmgen/peepopt_pm.h
|
2019-04-29 13:38:56 +02:00
|
|
|
passes/pmgen/peepopt.o: passes/pmgen/peepopt_pm.h
|
2019-08-15 18:34:36 +02:00
|
|
|
$(eval $(call add_extra_objs,passes/pmgen/peepopt_pm.h))
|
2019-04-29 13:38:56 +02:00
|
|
|
|
2023-08-02 18:04:54 +02:00
|
|
|
PEEPOPT_PATTERN = passes/pmgen/peepopt_shiftmul_right.pmg
|
|
|
|
|
PEEPOPT_PATTERN += passes/pmgen/peepopt_shiftmul_left.pmg
|
2023-11-06 14:01:37 +01:00
|
|
|
PEEPOPT_PATTERN += passes/pmgen/peepopt_shiftadd.pmg
|
2019-04-30 11:25:15 +02:00
|
|
|
PEEPOPT_PATTERN += passes/pmgen/peepopt_muldiv.pmg
|
2024-08-06 17:32:26 +02:00
|
|
|
PEEPOPT_PATTERN += passes/pmgen/peepopt_formal_clockgateff.pmg
|
2019-04-30 08:04:22 +02:00
|
|
|
|
|
|
|
|
passes/pmgen/peepopt_pm.h: passes/pmgen/pmgen.py $(PEEPOPT_PATTERN)
|
2019-10-19 08:04:52 +02:00
|
|
|
$(P) mkdir -p passes/pmgen && $(PYTHON_EXECUTABLE) $< -o $@ -p peepopt $(filter-out $<,$^)
|
2019-08-21 21:50:49 +02:00
|
|
|
|
|
|
|
|
# --------------------------------------
|
|
|
|
|
|
|
|
|
|
OBJS += passes/pmgen/xilinx_srl.o
|
2021-03-11 15:56:32 +01:00
|
|
|
GENFILES += passes/pmgen/xilinx_srl_pm.h
|
2019-08-21 21:50:49 +02:00
|
|
|
passes/pmgen/xilinx_srl.o: passes/pmgen/xilinx_srl_pm.h
|
|
|
|
|
$(eval $(call add_extra_objs,passes/pmgen/xilinx_srl_pm.h))
|