diff --git a/docs/finn/source_code/finn.transformation.fpgadataflow.rst b/docs/finn/source_code/finn.transformation.fpgadataflow.rst
index e57314ea1c8bd2751a6d22ec4bd7ca58ced82f38..968587535408995cf5f6fcf8905cafe2cf897cd5 100644
--- a/docs/finn/source_code/finn.transformation.fpgadataflow.rst
+++ b/docs/finn/source_code/finn.transformation.fpgadataflow.rst
@@ -64,7 +64,7 @@ finn.transformation.fpgadataflow.create\_dataflow\_partition
 finn.transformation.fpgadataflow.hlssynth\_ipgen
 ------------------------------------------------
 
-.. automodule:: finn.transformation.fpgadataflow.hlssynth_ipgen
+.. automodule:: finn.transformation.fpgadataflow.hlssynth_ip
    :members:
    :undoc-members:
    :show-inheritance:
diff --git a/notebooks/advanced/1_custom_transformation_pass.ipynb b/notebooks/advanced/1_custom_transformation_pass.ipynb
index 3f8de434d7b99d14d12f9d631202cc844e2d4216..7ff850e7b79bf1a8f2206d5f0fbab4cac5767f10 100644
--- a/notebooks/advanced/1_custom_transformation_pass.ipynb
+++ b/notebooks/advanced/1_custom_transformation_pass.ipynb
@@ -442,7 +442,7 @@
    "source": [
     "At the moment FINN supports parallelization for the following transformations:\n",
     "* `CompileCppSim` (Compilation of the generated c++ code for each node)\n",
-    "* `HLSSynth_IPGen` (Synthesis and ip block generation of the hls code for each node)\n",
+    "* `HLSSynthIP` (Synthesis and ip block generation of the hls code for each node)\n",
     "* `PrepareRTLSim` (Creation of the files to emulate a node using PyVerilator)"
    ]
   }
diff --git a/notebooks/end2end_example/cnv_end2end_example.ipynb b/notebooks/end2end_example/cnv_end2end_example.ipynb
index 2c1e269a54468dc65b27db87bc1408e4a2c6cae5..adb34f6d12ab9177490c07d67fbabc446eeb46ab 100644
--- a/notebooks/end2end_example/cnv_end2end_example.ipynb
+++ b/notebooks/end2end_example/cnv_end2end_example.ipynb
@@ -463,7 +463,7 @@
    "outputs": [],
    "source": [
     "from finn.transformation.fpgadataflow.prepare_ip import PrepareIP\n",
-    "from finn.transformation.fpgadataflow.hlssynth_ipgen import HLSSynth_IPGen\n",
+    "from finn.transformation.fpgadataflow.hlssynth_ip import HLSSynthIP\n",
     "from finn.util.basic import pynq_part_map\n",
     "\n",
     "test_pynq_board = \"Pynq-Z1\"\n",
@@ -472,7 +472,7 @@
     "\n",
     "model = ModelWrapper(build_dir + \"/end2end_cnv_w1a1_folded.onnx\")\n",
     "model = model.transform(PrepareIP(test_fpga_part, target_clk_ns))\n",
-    "model = model.transform(HLSSynth_IPGen())\n",
+    "model = model.transform(HLSSynthIP())\n",
     "model.save(build_dir + \"/end2end_cnv_w1a1_ipgen.onnx\")"
    ]
   },
diff --git a/notebooks/end2end_example/tfc_end2end_example.ipynb b/notebooks/end2end_example/tfc_end2end_example.ipynb
index 83c7ec4a62255136278b64bd03bd53e37cf4db6b..bcb54adf2357f71fe110530baf9ded87637d488f 100644
--- a/notebooks/end2end_example/tfc_end2end_example.ipynb
+++ b/notebooks/end2end_example/tfc_end2end_example.ipynb
@@ -949,7 +949,7 @@
    "source": [
     "Two transformations are required to generate HLS IP blocks for each layer: \n",
     "* `PrepareIP` which generates the HLS C++ code for the node and a tcl-script which starts the HLS synthesis and exports the design as IP. \n",
-    "* `HLSSynth_IPGen` which passes the tcl-script to Vivado HLS and thus performs the actual IP generation. \n",
+    "* `HLSSynthIP` which passes the tcl-script to Vivado HLS and thus performs the actual IP generation. \n",
     "\n",
     "We start off by giving unique node names using the basic transformation `GiveUniqueNodeNames`, and then proceed with the HLS C++ code generation with `PrepareIP`."
    ]
@@ -973,7 +973,7 @@
    "source": [
     "### Synthesizing HLS to IP Blocks <a id='hls_synth'></a>\n",
     "\n",
-    "Now that we have generated the HLS code for each layer, we can call the `HLSSynth_IPGen` transformation to convert the generated HLS into Vivado IP blocks. **As this involves calling HLS synthesis, this transformation will run for some time (several minutes).**"
+    "Now that we have generated the HLS code for each layer, we can call the `HLSSynthIP` transformation to convert the generated HLS into Vivado IP blocks. **As this involves calling HLS synthesis, this transformation will run for some time (several minutes).**"
    ]
   },
   {
@@ -982,9 +982,9 @@
    "metadata": {},
    "outputs": [],
    "source": [
-    "from finn.transformation.fpgadataflow.hlssynth_ipgen import HLSSynth_IPGen\n",
+    "from finn.transformation.fpgadataflow.hlssynth_ip import HLSSynthIP\n",
     "\n",
-    "model = model.transform(HLSSynth_IPGen())\n",
+    "model = model.transform(HLSSynthIP())\n",
     "model.save(build_dir+\"/tfc_w1_a1_ipgen.onnx\")"
    ]
   },
@@ -1160,7 +1160,7 @@
    "source": [
     "### IP Stitching <a id='ip_stitching'></a>\n",
     "\n",
-    "We now have IP blocks for each of our layers, and will stitch them together into a larger IP that implements the whole network using the `CreateStitchedIP` transformation. Bear in mind that this transformation can only be applied on a graph that only contains HLS nodes that already have been through the `HLSSynth_IPGen` transformation, which is the last step we performed. Prior to calling IP stitching, we'll also use the `ReplaceVerilogRelPaths` transformation to convert any relative `$readmemh` paths in the generated IP blocks to absolute ones, which prevents errors later on. **This step invokes Vivado and may take a few minutes to run.**"
+    "We now have IP blocks for each of our layers, and will stitch them together into a larger IP that implements the whole network using the `CreateStitchedIP` transformation. Bear in mind that this transformation can only be applied on a graph that only contains HLS nodes that already have been through the `HLSSynthIP` transformation, which is the last step we performed. Prior to calling IP stitching, we'll also use the `ReplaceVerilogRelPaths` transformation to convert any relative `$readmemh` paths in the generated IP blocks to absolute ones, which prevents errors later on. **This step invokes Vivado and may take a few minutes to run.**"
    ]
   },
   {
diff --git a/src/finn/analysis/fpgadataflow/hls_synth_res_estimation.py b/src/finn/analysis/fpgadataflow/hls_synth_res_estimation.py
index 968e09263499338eeaaff38c3f39e597a965c43a..ad30282d93034f8d043a05a2172790349c31ec83 100644
--- a/src/finn/analysis/fpgadataflow/hls_synth_res_estimation.py
+++ b/src/finn/analysis/fpgadataflow/hls_synth_res_estimation.py
@@ -55,7 +55,7 @@ def hls_synth_res_estimation(model):
                 warnings.warn(
                     """Could not find report files, values will be set to zero
                     for this node. Please run "PrepareIP" transformation and
-                    "HLSSynth_IPGen" first to generate the report files"""
+                    "HLSSynthIP" first to generate the report files"""
                 )
             else:
                 xmlfile = "{}/project_{}/sol1/syn/report/{}_csynth.xml".format(
@@ -72,6 +72,6 @@ def hls_synth_res_estimation(model):
                     warnings.warn(
                         """Could not find report files, values will be set to zero
                         for this node. Please run "PrepareIP" transformation and
-                        "HLSSynth_IPGen" first to generate the report files"""
+                        "HLSSynthIP" first to generate the report files"""
                     )
     return res_dict
diff --git a/src/finn/custom_op/fpgadataflow/__init__.py b/src/finn/custom_op/fpgadataflow/__init__.py
index 8e61b362d41a0e3ebbeb1ec3564465b0abee958a..65ad469ca13fd3bead01110c540b27015ab538a9 100644
--- a/src/finn/custom_op/fpgadataflow/__init__.py
+++ b/src/finn/custom_op/fpgadataflow/__init__.py
@@ -121,7 +121,7 @@ class HLSCustomOp(CustomOp):
         assert (
             code_gen_dir != ""
         ), """Node attribute "code_gen_dir_ipgen" is
-        not set. Please run HLSSynth_IPGen first."""
+        not set. Please run HLSSynthIP first."""
         verilog_file = self.get_verilog_top_filename()
         assert os.path.isfile(verilog_file), "Cannot find top-level Verilog file."
         # build the Verilator emu library
diff --git a/src/finn/transformation/fpgadataflow/annotate_resources.py b/src/finn/transformation/fpgadataflow/annotate_resources.py
index d192372a7d9c1f6ee2f088c6a058b994d21f6c99..207075b00de1871da19ea78472125d435449ed6e 100644
--- a/src/finn/transformation/fpgadataflow/annotate_resources.py
+++ b/src/finn/transformation/fpgadataflow/annotate_resources.py
@@ -41,7 +41,7 @@ class AnnotateResources(Transformation):
     * 'hls' -- use results from the HLS synthesis report
 
     No annotations can be provided unless the relevant transformation for the
-    chosen mode (e.g. HLSSynth_IPGen for hls) was previously run.
+    chosen mode (e.g. HLSSynthIP for hls) was previously run.
     """
 
     def __init__(self, mode):
diff --git a/src/finn/transformation/fpgadataflow/hlssynth_ipgen.py b/src/finn/transformation/fpgadataflow/hlssynth_ip.py
similarity index 96%
rename from src/finn/transformation/fpgadataflow/hlssynth_ipgen.py
rename to src/finn/transformation/fpgadataflow/hlssynth_ip.py
index f895b81c2e10e6e1d0a65e3b82b1b26ad2f5e4fb..6d7c4025653948d6958672177ae5e36ab08bf279 100644
--- a/src/finn/transformation/fpgadataflow/hlssynth_ipgen.py
+++ b/src/finn/transformation/fpgadataflow/hlssynth_ip.py
@@ -31,7 +31,7 @@ from finn.util.fpgadataflow import is_fpgadataflow_node
 from finn.transformation import NodeLocalTransformation
 
 
-class HLSSynth_IPGen(NodeLocalTransformation):
+class HLSSynthIP(NodeLocalTransformation):
     """For each node: generate IP block from code in folder
     that is referenced in node attribute "code_gen_dir_ipgen"
     and save path of generated project in node attribute "ipgen_path".
@@ -65,7 +65,7 @@ class HLSSynth_IPGen(NodeLocalTransformation):
                 assert (
                     inst.get_nodeattr("ipgen_path") != ""
                 ), """Transformation
-                HLSSynth_IPGen was not successful. Node attribute "ipgen_path"
+                HLSSynthIP was not successful. Node attribute "ipgen_path"
                 is empty."""
             except KeyError:
                 # exception if op_type is not supported
diff --git a/src/finn/transformation/fpgadataflow/prepare_ip.py b/src/finn/transformation/fpgadataflow/prepare_ip.py
index 1e2062e3b032d3da4da79174de4ea08adc84675a..00182773558ec30ab0271de6599615233785bdd7 100644
--- a/src/finn/transformation/fpgadataflow/prepare_ip.py
+++ b/src/finn/transformation/fpgadataflow/prepare_ip.py
@@ -69,7 +69,7 @@ class PrepareIP(Transformation):
 
     Outcome if succesful: Node attribute "code_gen_dir_ipgen" contains path to folder
     that contains generated C++ code that can be used to generate a Vivado IP block.
-    The subsequent transformation is HLSSynth_IPGen"""
+    The subsequent transformation is HLSSynthIP"""
 
     def __init__(self, fpgapart, clk):
         super().__init__()
diff --git a/src/finn/transformation/fpgadataflow/prepare_rtlsim.py b/src/finn/transformation/fpgadataflow/prepare_rtlsim.py
index baac3e7bdf5ac936a963ac8346f01638657b042c..5f0b89e85dc5f33319f64ef885db20ed9c4046af 100644
--- a/src/finn/transformation/fpgadataflow/prepare_rtlsim.py
+++ b/src/finn/transformation/fpgadataflow/prepare_rtlsim.py
@@ -38,7 +38,7 @@ except ModuleNotFoundError:
 
 
 class PrepareRTLSim(NodeLocalTransformation):
-    """For a graph with generated RTL sources (after HLSSynth_IPGen), create a
+    """For a graph with generated RTL sources (after HLSSynthIP), create a
     Verilator emulation library for each node to prepare for rtlsim
     execution and set the rtlsim_so property to the path to the generated
     emulation library.
diff --git a/tests/end2end/test_end2end_cnv_w1a1.py b/tests/end2end/test_end2end_cnv_w1a1.py
index c8c8bc3114cb82b4d26dcdf37ef5fcdc9fd702db..94358ae48503e6a6facf50213634caff10f50a29 100644
--- a/tests/end2end/test_end2end_cnv_w1a1.py
+++ b/tests/end2end/test_end2end_cnv_w1a1.py
@@ -56,7 +56,7 @@ from finn.transformation.fpgadataflow.create_dataflow_partition import (
 from finn.transformation.fpgadataflow.insert_dwc import InsertDWC
 from finn.transformation.fpgadataflow.insert_tlastmarker import InsertTLastMarker
 from finn.transformation.fpgadataflow.prepare_ip import PrepareIP
-from finn.transformation.fpgadataflow.hlssynth_ipgen import HLSSynth_IPGen
+from finn.transformation.fpgadataflow.hlssynth_ip import HLSSynthIP
 from finn.transformation.fpgadataflow.replace_verilog_relpaths import (
     ReplaceVerilogRelPaths,
 )
@@ -170,7 +170,7 @@ def test_end2end_cnv_w1a1_fold_and_tlastmarker():
 def test_end2end_cnv_w1a1_gen_hls_ip():
     model = ModelWrapper(build_dir + "/end2end_cnv_w1a1_folded.onnx")
     model = model.transform(PrepareIP(test_fpga_part, target_clk_ns))
-    model = model.transform(HLSSynth_IPGen())
+    model = model.transform(HLSSynthIP())
     model = model.transform(AnnotateResources("hls"))
     model.save(build_dir + "/end2end_cnv_w1a1_ipgen.onnx")
 
diff --git a/tests/end2end/test_end2end_tfc_w1a1_throughput_test.py b/tests/end2end/test_end2end_tfc_w1a1_throughput_test.py
index e413b753265fdb989e747bf35746f32f9ee0c98a..80bfb0ee07aa91e64b31961292d32c0006dc3627 100644
--- a/tests/end2end/test_end2end_tfc_w1a1_throughput_test.py
+++ b/tests/end2end/test_end2end_tfc_w1a1_throughput_test.py
@@ -53,7 +53,7 @@ from finn.transformation.fpgadataflow.compile_cppsim import CompileCppSim
 from finn.transformation.fpgadataflow.create_dataflow_partition import (
     CreateDataflowPartition,
 )
-from finn.transformation.fpgadataflow.hlssynth_ipgen import HLSSynth_IPGen
+from finn.transformation.fpgadataflow.hlssynth_ip import HLSSynthIP
 from finn.transformation.fpgadataflow.insert_dwc import InsertDWC
 from finn.transformation.fpgadataflow.insert_tlastmarker import InsertTLastMarker
 from finn.transformation.fpgadataflow.insert_fifo import InsertFIFO
@@ -156,7 +156,7 @@ def test_end2end_tfc_w1a1_fold_and_tlastmarker():
 def test_end2end_tfc_w1a1_gen_hls_ip():
     model = ModelWrapper(build_dir + "/end2end_tfc_w1a1_folded.onnx")
     model = model.transform(PrepareIP(test_fpga_part, target_clk_ns))
-    model = model.transform(HLSSynth_IPGen())
+    model = model.transform(HLSSynthIP())
     model = model.transform(AnnotateResources("hls"))
     model.save(build_dir + "/end2end_tfc_w1a1_ipgen.onnx")
 
diff --git a/tests/end2end/test_end2end_tfc_w1a2.py b/tests/end2end/test_end2end_tfc_w1a2.py
index ec4d862957e2d99bc4c6311931d574372620d5b7..996d5dbccc30b5fb2382fda93feb108da7a32ee5 100644
--- a/tests/end2end/test_end2end_tfc_w1a2.py
+++ b/tests/end2end/test_end2end_tfc_w1a2.py
@@ -50,7 +50,7 @@ from finn.transformation.fpgadataflow.compile_cppsim import CompileCppSim
 from finn.transformation.fpgadataflow.create_dataflow_partition import (
     CreateDataflowPartition,
 )
-from finn.transformation.fpgadataflow.hlssynth_ipgen import HLSSynth_IPGen
+from finn.transformation.fpgadataflow.hlssynth_ip import HLSSynthIP
 from finn.transformation.fpgadataflow.insert_dwc import InsertDWC
 from finn.transformation.fpgadataflow.insert_fifo import InsertFIFO
 from finn.transformation.fpgadataflow.insert_tlastmarker import InsertTLastMarker
@@ -148,7 +148,7 @@ def test_end2end_tfc_w1a2_fold_and_tlastmarker():
 def test_end2end_tfc_w1a2_gen_hls_ip():
     model = ModelWrapper(build_dir + "/end2end_tfc_w1a2_folded.onnx")
     model = model.transform(PrepareIP(test_fpga_part, target_clk_ns))
-    model = model.transform(HLSSynth_IPGen())
+    model = model.transform(HLSSynthIP())
     model = model.transform(AnnotateResources("hls"))
     model.save(build_dir + "/end2end_tfc_w1a2_ipgen.onnx")
 
diff --git a/tests/end2end/test_end2end_tfc_w2a2.py b/tests/end2end/test_end2end_tfc_w2a2.py
index 7d0f0287eac656cdf46c6241e00b6a18f14de353..fa0a3db2dd563534dffaacb9466a0e48e813e7ac 100644
--- a/tests/end2end/test_end2end_tfc_w2a2.py
+++ b/tests/end2end/test_end2end_tfc_w2a2.py
@@ -50,7 +50,7 @@ from finn.transformation.fpgadataflow.compile_cppsim import CompileCppSim
 from finn.transformation.fpgadataflow.create_dataflow_partition import (
     CreateDataflowPartition,
 )
-from finn.transformation.fpgadataflow.hlssynth_ipgen import HLSSynth_IPGen
+from finn.transformation.fpgadataflow.hlssynth_ip import HLSSynthIP
 from finn.transformation.fpgadataflow.insert_tlastmarker import InsertTLastMarker
 from finn.transformation.fpgadataflow.insert_dwc import InsertDWC
 from finn.transformation.fpgadataflow.insert_fifo import InsertFIFO
@@ -148,7 +148,7 @@ def test_end2end_tfc_w2a2_fold_and_tlastmarker():
 def test_end2end_tfc_w2a2_gen_hls_ip():
     model = ModelWrapper(build_dir + "/end2end_tfc_w2a2_folded.onnx")
     model = model.transform(PrepareIP(test_fpga_part, target_clk_ns))
-    model = model.transform(HLSSynth_IPGen())
+    model = model.transform(HLSSynthIP())
     model = model.transform(AnnotateResources("hls"))
     model.save(build_dir + "/end2end_tfc_w2a2_ipgen.onnx")
 
diff --git a/tests/fpgadataflow/test_fpgadataflow_convinputgenerator.py b/tests/fpgadataflow/test_fpgadataflow_convinputgenerator.py
index 46cc78e3d7ba293e11395dfa64aacc6fe796ca3b..067bc228caa6320f1fc505833077e8b63463d9b1 100644
--- a/tests/fpgadataflow/test_fpgadataflow_convinputgenerator.py
+++ b/tests/fpgadataflow/test_fpgadataflow_convinputgenerator.py
@@ -36,7 +36,7 @@ from finn.core.modelwrapper import ModelWrapper
 from finn.transformation.fpgadataflow.prepare_ip import PrepareIP
 from finn.transformation.fpgadataflow.prepare_cppsim import PrepareCppSim
 from finn.transformation.fpgadataflow.compile_cppsim import CompileCppSim
-from finn.transformation.fpgadataflow.hlssynth_ipgen import HLSSynth_IPGen
+from finn.transformation.fpgadataflow.hlssynth_ip import HLSSynthIP
 from finn.transformation.fpgadataflow.set_exec_mode import SetExecMode
 from finn.transformation.fpgadataflow.prepare_rtlsim import PrepareRTLSim
 from finn.transformation.general import GiveUniqueNodeNames
@@ -153,7 +153,7 @@ def test_fpgadataflow_slidingwindow(idt, k, ifm_dim, ifm_ch, stride, exec_mode,
         model = model.transform(SetExecMode("rtlsim"))
         model = model.transform(GiveUniqueNodeNames())
         model = model.transform(PrepareIP("xc7z020clg400-1", 5))
-        model = model.transform(HLSSynth_IPGen())
+        model = model.transform(HLSSynthIP())
         model = model.transform(PrepareRTLSim())
     else:
         raise Exception("Unknown exec_mode in test_fpgadataflow_slidingwindow")
diff --git a/tests/fpgadataflow/test_fpgadataflow_dwc.py b/tests/fpgadataflow/test_fpgadataflow_dwc.py
index 0a35b78324b69bbb668b7041d4bd49b1d0e98029..a230fb4201673e3bf0a31cf9ec82f21250fd9e40 100644
--- a/tests/fpgadataflow/test_fpgadataflow_dwc.py
+++ b/tests/fpgadataflow/test_fpgadataflow_dwc.py
@@ -5,7 +5,7 @@ from onnx import TensorProto, helper
 from finn.core.datatype import DataType
 from finn.core.modelwrapper import ModelWrapper
 from finn.transformation.fpgadataflow.prepare_ip import PrepareIP
-from finn.transformation.fpgadataflow.hlssynth_ipgen import HLSSynth_IPGen
+from finn.transformation.fpgadataflow.hlssynth_ip import HLSSynthIP
 from finn.transformation.fpgadataflow.set_exec_mode import SetExecMode
 from finn.transformation.fpgadataflow.prepare_rtlsim import PrepareRTLSim
 from finn.transformation.general import GiveUniqueNodeNames
@@ -66,7 +66,7 @@ def test_fpgadataflow_dwc_rtlsim(Shape, INWidth, OUTWidth, finn_dtype):
     model = model.transform(SetExecMode("rtlsim"))
     model = model.transform(GiveUniqueNodeNames())
     model = model.transform(PrepareIP("xc7z020clg400-1", 5))
-    model = model.transform(HLSSynth_IPGen())
+    model = model.transform(HLSSynthIP())
     model = model.transform(PrepareRTLSim())
     y = oxe.execute_onnx(model, input_dict)["outp"]
 
diff --git a/tests/fpgadataflow/test_fpgadataflow_fclayer.py b/tests/fpgadataflow/test_fpgadataflow_fclayer.py
index 127053828969eee0296cdb1c42f1e39b6f83d474..f0484895da1ee9fb9690398a6a4d28df832912cb 100644
--- a/tests/fpgadataflow/test_fpgadataflow_fclayer.py
+++ b/tests/fpgadataflow/test_fpgadataflow_fclayer.py
@@ -41,7 +41,7 @@ from finn.custom_op.multithreshold import multithreshold
 from finn.transformation.fpgadataflow.prepare_ip import PrepareIP
 from finn.transformation.fpgadataflow.prepare_cppsim import PrepareCppSim
 from finn.transformation.fpgadataflow.compile_cppsim import CompileCppSim
-from finn.transformation.fpgadataflow.hlssynth_ipgen import HLSSynth_IPGen
+from finn.transformation.fpgadataflow.hlssynth_ip import HLSSynthIP
 from finn.transformation.fpgadataflow.set_exec_mode import SetExecMode
 from finn.transformation.general import GiveUniqueNodeNames
 from finn.transformation.fpgadataflow.prepare_rtlsim import PrepareRTLSim
@@ -298,7 +298,7 @@ def test_fpgadataflow_fclayer_rtlsim(mem_mode, idt, wdt, act, nf, sf, mw, mh):
     model = model.transform(SetExecMode("rtlsim"))
     model = model.transform(GiveUniqueNodeNames())
     model = model.transform(PrepareIP("xc7z020clg400-1", 5))
-    model = model.transform(HLSSynth_IPGen())
+    model = model.transform(HLSSynthIP())
     model = model.transform(ReplaceVerilogRelPaths())
     model = model.transform(PrepareRTLSim())
     y_produced = oxe.execute_onnx(model, input_dict)["outp"]
@@ -390,7 +390,7 @@ def test_fpgadataflow_fclayer_large_depth_decoupled_mode(
     model = model.transform(SetExecMode("rtlsim"))
     model = model.transform(GiveUniqueNodeNames())
     model = model.transform(PrepareIP("xc7z020clg400-1", 5))
-    model = model.transform(HLSSynth_IPGen())
+    model = model.transform(HLSSynthIP())
     model = model.transform(ReplaceVerilogRelPaths())
     model = model.transform(PrepareRTLSim())
     y_produced = oxe.execute_onnx(model, input_dict)["outp"]
diff --git a/tests/fpgadataflow/test_fpgadataflow_fifo.py b/tests/fpgadataflow/test_fpgadataflow_fifo.py
index 14efa06835fcd4369cbe98c2a7505ae0ad638a04..fe27d7d4273be2b938e5bf70338bb374ce16b6b2 100644
--- a/tests/fpgadataflow/test_fpgadataflow_fifo.py
+++ b/tests/fpgadataflow/test_fpgadataflow_fifo.py
@@ -8,7 +8,7 @@ from finn.core.modelwrapper import ModelWrapper
 from finn.transformation.fpgadataflow.prepare_ip import PrepareIP
 from finn.transformation.fpgadataflow.create_stitched_ip import CreateStitchedIP
 
-from finn.transformation.fpgadataflow.hlssynth_ipgen import HLSSynth_IPGen
+from finn.transformation.fpgadataflow.hlssynth_ip import HLSSynthIP
 
 from finn.transformation.fpgadataflow.set_exec_mode import SetExecMode
 from finn.transformation.general import GiveUniqueNodeNames
@@ -88,7 +88,7 @@ def test_fpgadataflow_fifo_rtlsim(Shape, folded_shape, depth, finn_dtype):
     model = model.transform(InsertTLastMarker())
     model = model.transform(GiveUniqueNodeNames())
     model = model.transform(PrepareIP(test_fpga_part, target_clk_ns))
-    model = model.transform(HLSSynth_IPGen())
+    model = model.transform(HLSSynthIP())
     model = model.transform(PrepareRTLSim())
     y = oxe.execute_onnx(model, input_dict)["outp"]
     assert (
diff --git a/tests/fpgadataflow/test_fpgadataflow_ip_stitch.py b/tests/fpgadataflow/test_fpgadataflow_ip_stitch.py
index 47352eeb926c395fcaf68f906dbb10454c29aaba..f26ba428bf4cbe174c048dcd35a4d63dc58519ab 100644
--- a/tests/fpgadataflow/test_fpgadataflow_ip_stitch.py
+++ b/tests/fpgadataflow/test_fpgadataflow_ip_stitch.py
@@ -42,7 +42,7 @@ from finn.transformation.fpgadataflow.create_stitched_ip import CreateStitchedIP
 from finn.transformation.fpgadataflow.create_dataflow_partition import (
     CreateDataflowPartition,
 )
-from finn.transformation.fpgadataflow.hlssynth_ipgen import HLSSynth_IPGen
+from finn.transformation.fpgadataflow.hlssynth_ip import HLSSynthIP
 from finn.transformation.fpgadataflow.insert_tlastmarker import InsertTLastMarker
 from finn.transformation.fpgadataflow.make_deployment import DeployToPYNQ
 from finn.transformation.fpgadataflow.make_pynq_driver import MakePYNQDriver
@@ -209,7 +209,7 @@ def test_fpgadataflow_ipstitch_gen_model():  # exec_mode):
     model = model.transform(InsertTLastMarker())
     model = model.transform(GiveUniqueNodeNames())
     model = model.transform(PrepareIP(test_fpga_part, 5))
-    model = model.transform(HLSSynth_IPGen())
+    model = model.transform(HLSSynthIP())
     assert model.graph.node[0].op_type == "StreamingFCLayer_Batch"
     assert model.graph.node[-1].op_type == "TLastMarker"
     model.save(ip_stitch_model_dir + "/test_fpgadataflow_ipstitch_gen_model.onnx")
diff --git a/tests/fpgadataflow/test_layer_streaming_maxpool_batch.py b/tests/fpgadataflow/test_layer_streaming_maxpool_batch.py
index a2a522b128201f12f15504353225397b16715fbe..6d4b80671f178ab330668e7f9bf52df7a2e4c255 100644
--- a/tests/fpgadataflow/test_layer_streaming_maxpool_batch.py
+++ b/tests/fpgadataflow/test_layer_streaming_maxpool_batch.py
@@ -36,7 +36,7 @@ from finn.core.modelwrapper import ModelWrapper
 from finn.transformation.fpgadataflow.prepare_ip import PrepareIP
 from finn.transformation.fpgadataflow.prepare_cppsim import PrepareCppSim
 from finn.transformation.fpgadataflow.compile_cppsim import CompileCppSim
-from finn.transformation.fpgadataflow.hlssynth_ipgen import HLSSynth_IPGen
+from finn.transformation.fpgadataflow.hlssynth_ip import HLSSynthIP
 from finn.transformation.fpgadataflow.set_exec_mode import SetExecMode
 from finn.transformation.fpgadataflow.prepare_rtlsim import PrepareRTLSim
 from finn.transformation.general import GiveUniqueNodeNames
@@ -144,7 +144,7 @@ def test_fpgadataflow_streamingmaxpool(idt, k, ifm_dim, ifm_ch, exec_mode):
         model = model.transform(SetExecMode("rtlsim"))
         model = model.transform(GiveUniqueNodeNames())
         model = model.transform(PrepareIP("xc7z020clg400-1", 5))
-        model = model.transform(HLSSynth_IPGen())
+        model = model.transform(HLSSynthIP())
         model = model.transform(PrepareRTLSim())
     else:
         raise Exception("Unknown exec_mode in test_fpgadataflow_slidingwindow")