diff --git a/notebooks/9-FINN-EndToEndFlow.ipynb b/notebooks/9-FINN-EndToEndFlow.ipynb
index 2478d276eb3885b98b0ec18eaa49ccb2ca81cd19..335ffa21cbc960233c1acd9c5f3745f8b745f559 100644
--- a/notebooks/9-FINN-EndToEndFlow.ipynb
+++ b/notebooks/9-FINN-EndToEndFlow.ipynb
@@ -421,7 +421,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 10,
+   "execution_count": 12,
    "metadata": {},
    "outputs": [],
    "source": [
@@ -447,7 +447,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 11,
+   "execution_count": 13,
    "metadata": {},
    "outputs": [
     {
@@ -469,7 +469,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 12,
+   "execution_count": 14,
    "metadata": {
     "scrolled": true
    },
@@ -512,7 +512,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 13,
+   "execution_count": 15,
    "metadata": {},
    "outputs": [
     {
@@ -535,7 +535,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 14,
+   "execution_count": 16,
    "metadata": {
     "scrolled": false
    },
@@ -567,7 +567,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 15,
+   "execution_count": 17,
    "metadata": {},
    "outputs": [
     {
@@ -576,7 +576,7 @@
      "text": [
       "\n",
       "Stopping http://0.0.0.0:8081\n",
-      "Serving '/tmp/finn_maltanar_22115/dataflow_partition_9vof1ltc/df_model.onnx' at http://0.0.0.0:8081\n"
+      "Serving '/tmp/finn_maltanar/dataflow_partition_k1_gvz77/df_model.onnx' at http://0.0.0.0:8081\n"
      ]
     }
    ],
@@ -589,7 +589,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 16,
+   "execution_count": 18,
    "metadata": {},
    "outputs": [
     {
@@ -619,7 +619,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 24,
+   "execution_count": 19,
    "metadata": {},
    "outputs": [],
    "source": [
@@ -636,7 +636,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 25,
+   "execution_count": 20,
    "metadata": {},
    "outputs": [
     {
@@ -670,7 +670,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 26,
+   "execution_count": 24,
    "metadata": {},
    "outputs": [
     {
@@ -694,16 +694,18 @@
        " 'outputDataType': ('s', True, ''),\n",
        " 'binaryXnorMode': ('i', False, 0),\n",
        " 'noActivation': ('i', False, 0),\n",
+       " 'inFIFODepth': ('i', False, 0),\n",
+       " 'outFIFODepth': ('i', False, 0),\n",
        " 'backend': ('s', True, 'fpgadataflow'),\n",
        " 'code_gen_dir_npysim': ('s', False, ''),\n",
        " 'code_gen_dir_ipgen': ('s', False, ''),\n",
        " 'executable_path': ('s', False, ''),\n",
        " 'ipgen_path': ('s', False, ''),\n",
-       " 'sim_mode': ('s', False, ''),\n",
+       " 'exec_mode': ('s', False, ''),\n",
        " 'sim_cycles': ('i', False, 0)}"
       ]
      },
-     "execution_count": 26,
+     "execution_count": 24,
      "metadata": {},
      "output_type": "execute_result"
     }
@@ -721,24 +723,29 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 27,
+   "execution_count": 25,
    "metadata": {},
    "outputs": [],
    "source": [
     "# SIMD controls the folding over the input vector\n",
     "# PE controls the folding over the output vector\n",
     "\n",
+    "fc0w.set_nodeattr(\"inFIFODepth\", 50)\n",
     "fc0w.set_nodeattr(\"SIMD\", 16)\n",
     "fc0w.set_nodeattr(\"PE\", 16)\n",
+    "fc0w.set_nodeattr(\"outFIFODepth\", 4)\n",
     "\n",
     "fc1w.set_nodeattr(\"SIMD\", 16)\n",
     "fc1w.set_nodeattr(\"PE\", 16)\n",
+    "fc1w.set_nodeattr(\"outFIFODepth\", 4)\n",
     "\n",
     "fc2w.set_nodeattr(\"SIMD\", 16)\n",
     "fc2w.set_nodeattr(\"PE\", 16)\n",
+    "fc2w.set_nodeattr(\"outFIFODepth\", 4)\n",
     "\n",
     "fc3w.set_nodeattr(\"SIMD\", 16)\n",
-    "fc3w.set_nodeattr(\"PE\", 10)"
+    "fc3w.set_nodeattr(\"PE\", 10)\n",
+    "fc0w.set_nodeattr(\"outFIFODepth\", 50)"
    ]
   },
   {
@@ -750,7 +757,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 28,
+   "execution_count": 26,
    "metadata": {},
    "outputs": [],
    "source": [
@@ -782,7 +789,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 29,
+   "execution_count": 27,
    "metadata": {},
    "outputs": [],
    "source": [
@@ -812,7 +819,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 30,
+   "execution_count": 28,
    "metadata": {},
    "outputs": [],
    "source": [
@@ -833,7 +840,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 31,
+   "execution_count": 29,
    "metadata": {},
    "outputs": [],
    "source": [
@@ -851,7 +858,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 32,
+   "execution_count": 30,
    "metadata": {},
    "outputs": [
     {
@@ -871,7 +878,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 33,
+   "execution_count": 31,
    "metadata": {
     "scrolled": true
    },
@@ -907,7 +914,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 34,
+   "execution_count": 32,
    "metadata": {},
    "outputs": [
     {
@@ -936,7 +943,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 35,
+   "execution_count": 33,
    "metadata": {},
    "outputs": [
     {
@@ -944,8 +951,8 @@
      "output_type": "stream",
      "text": [
       "#!/bin/bash \r\n",
-      "cd /tmp/finn_maltanar_22115/code_gen_ipgen_StreamingFCLayer_Batch_bwxffr0g\r\n",
-      "vivado_hls /tmp/finn_maltanar_22115/code_gen_ipgen_StreamingFCLayer_Batch_bwxffr0g/hls_syn_StreamingFCLayer_Batch_0.tcl\r\n",
+      "cd /tmp/finn_maltanar/code_gen_ipgen_StreamingFCLayer_Batch_c4cn248p\r\n",
+      "vivado_hls /tmp/finn_maltanar/code_gen_ipgen_StreamingFCLayer_Batch_c4cn248p/hls_syn_StreamingFCLayer_Batch_0.tcl\r\n",
       "cd /workspace/finn\r\n"
      ]
     }
@@ -966,7 +973,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 36,
+   "execution_count": 34,
    "metadata": {},
    "outputs": [
     {
@@ -976,7 +983,7 @@
       "\r\n",
       "set config_proj_name project_StreamingFCLayer_Batch_0\r\n",
       "puts \"HLS project: $config_proj_name\"\r\n",
-      "set config_hwsrcdir \"/tmp/finn_maltanar_22115/code_gen_ipgen_StreamingFCLayer_Batch_bwxffr0g\"\r\n",
+      "set config_hwsrcdir \"/tmp/finn_maltanar/code_gen_ipgen_StreamingFCLayer_Batch_c4cn248p\"\r\n",
       "puts \"HW source dir: $config_hwsrcdir\"\r\n",
       "set config_proj_part \"xczu3eg-sbva484-1-e\"\r\n",
       "\r\n",
@@ -1015,16 +1022,6 @@
     "Now that all IP blocks are in place, they can be stitched together to create an IP design that matches the ONNX model. This is covered in the next section."
    ]
   },
-  {
-   "cell_type": "code",
-   "execution_count": 37,
-   "metadata": {},
-   "outputs": [],
-   "source": [
-    "# save model with other name for section \"Emulation using PyVerilator\"\"\n",
-    "model.save(build_dir+\"/tfc_w1_a1_after_hls_ip_per_layer.onnx\")"
-   ]
-  },
   {
    "cell_type": "markdown",
    "metadata": {},
@@ -1036,12 +1033,12 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 38,
+   "execution_count": 35,
    "metadata": {},
    "outputs": [],
    "source": [
     "from finn.transformation.fpgadataflow.codegen_ipstitch import CodeGen_ipstitch\n",
-    "\n",
+    "model = ModelWrapper(build_dir+\"/tfc_w1_a1_ipgen.onnx\")\n",
     "model = model.transform(CodeGen_ipstitch(fpga_part))"
    ]
   },
@@ -1054,20 +1051,22 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 39,
+   "execution_count": 36,
    "metadata": {},
    "outputs": [
     {
      "data": {
       "text/plain": [
        "[key: \"vivado_stitch_proj\"\n",
-       "value: \"/tmp/finn_maltanar_22115/vivado_stitch_proj_nfte0nh0\"\n",
+       "value: \"/tmp/finn_maltanar/vivado_stitch_proj_ud9yxuzi\"\n",
        ", key: \"vivado_stitch_vlnv\"\n",
        "value: \"xilinx_finn:finn:finn_design:1.0\"\n",
+       ", key: \"wrapper_filename\"\n",
+       "value: \"/tmp/finn_maltanar/vivado_stitch_proj_ud9yxuzi/finn_vivado_stitch_proj.srcs/sources_1/bd/finn_design/hdl/finn_design_wrapper.v\"\n",
        "]"
       ]
      },
-     "execution_count": 39,
+     "execution_count": 36,
      "metadata": {},
      "output_type": "execute_result"
     }
@@ -1078,16 +1077,16 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 40,
+   "execution_count": 37,
    "metadata": {},
    "outputs": [
     {
      "data": {
       "text/plain": [
-       "'/tmp/finn_maltanar_22115/vivado_stitch_proj_nfte0nh0'"
+       "'/tmp/finn_maltanar/vivado_stitch_proj_ud9yxuzi'"
       ]
      },
-     "execution_count": 40,
+     "execution_count": 37,
      "metadata": {},
      "output_type": "execute_result"
     }
@@ -1110,6 +1109,15 @@
     "![](stitched_ip.png)"
    ]
   },
+  {
+   "cell_type": "code",
+   "execution_count": 38,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "model.save(build_dir+\"/tfc_w1_a1_ipstitch.onnx\")"
+   ]
+  },
   {
    "cell_type": "markdown",
    "metadata": {},
@@ -1121,45 +1129,46 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 42,
+   "execution_count": 39,
    "metadata": {},
    "outputs": [
     {
      "data": {
       "text/plain": [
        "[key: \"vivado_stitch_proj\"\n",
-       "value: \"/tmp/finn_maltanar_22115/vivado_stitch_proj_nfte0nh0\"\n",
+       "value: \"/tmp/finn_maltanar/vivado_stitch_proj_ud9yxuzi\"\n",
        ", key: \"vivado_stitch_vlnv\"\n",
        "value: \"xilinx_finn:finn:finn_design:1.0\"\n",
+       ", key: \"wrapper_filename\"\n",
+       "value: \"/tmp/finn_maltanar/vivado_stitch_proj_ud9yxuzi/finn_vivado_stitch_proj.srcs/sources_1/bd/finn_design/hdl/finn_design_wrapper.v\"\n",
        ", key: \"vivado_pynq_proj\"\n",
-       "value: \"/tmp/finn_maltanar_22115/vivado_pynq_proj_bj_z4tm0\"\n",
+       "value: \"/tmp/finn_maltanar/vivado_pynq_proj_6rhrsy8m\"\n",
        "]"
       ]
      },
-     "execution_count": 42,
+     "execution_count": 39,
      "metadata": {},
      "output_type": "execute_result"
     }
    ],
    "source": [
     "from finn.transformation.fpgadataflow.make_pynq_proj import MakePYNQProject\n",
-    "\n",
+    "model = ModelWrapper(build_dir+\"/tfc_w1_a1_ipstitch.onnx\")\n",
     "model = model.transform(MakePYNQProject(pynq_board))\n",
     "model.model.metadata_props"
    ]
   },
   {
    "cell_type": "code",
-   "execution_count": 43,
+   "execution_count": 40,
    "metadata": {},
    "outputs": [
     {
      "name": "stdout",
      "output_type": "stream",
      "text": [
-      "ip_config.tcl\t resizer.hw\t\tresizer.srcs\t  vivado.jou\r\n",
-      "make_project.sh  resizer.ip_user_files\tresizer.xpr\t  vivado.log\r\n",
-      "resizer.cache\t resizer.sim\t\tsynth_project.sh  vivado_pid24853.str\r\n"
+      "ip_config.tcl\t resizer.cache\tresizer.ip_user_files  resizer.xpr\r\n",
+      "make_project.sh  resizer.hw\tresizer.srcs\t       synth_project.sh\r\n"
      ]
     }
    ],
@@ -1175,6 +1184,15 @@
     "![](pynq_shell_project.png)"
    ]
   },
+  {
+   "cell_type": "code",
+   "execution_count": 41,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "model.save(build_dir + \"/tfc_w1_a1_pynq_project.onnx\")"
+   ]
+  },
   {
    "cell_type": "markdown",
    "metadata": {},
@@ -1191,33 +1209,33 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 44,
+   "execution_count": 42,
    "metadata": {},
    "outputs": [
     {
      "data": {
       "text/plain": [
        "[key: \"vivado_stitch_proj\"\n",
-       "value: \"/tmp/finn_maltanar_22115/vivado_stitch_proj_nfte0nh0\"\n",
+       "value: \"/tmp/finn_maltanar/vivado_stitch_proj_ud9yxuzi\"\n",
        ", key: \"vivado_stitch_vlnv\"\n",
        "value: \"xilinx_finn:finn:finn_design:1.0\"\n",
+       ", key: \"wrapper_filename\"\n",
+       "value: \"/tmp/finn_maltanar/vivado_stitch_proj_ud9yxuzi/finn_vivado_stitch_proj.srcs/sources_1/bd/finn_design/hdl/finn_design_wrapper.v\"\n",
        ", key: \"vivado_pynq_proj\"\n",
-       "value: \"/tmp/finn_maltanar_22115/vivado_pynq_proj_bj_z4tm0\"\n",
+       "value: \"/tmp/finn_maltanar/vivado_pynq_proj_6rhrsy8m\"\n",
        ", key: \"vivado_pynq_bitfile\"\n",
-       "value: \"/tmp/finn_maltanar_22115/vivado_pynq_proj_bj_z4tm0/resizer.bit\"\n",
+       "value: \"/tmp/finn_maltanar/vivado_pynq_proj_6rhrsy8m/resizer.bit\"\n",
        "]"
       ]
      },
-     "execution_count": 44,
+     "execution_count": 42,
      "metadata": {},
      "output_type": "execute_result"
     }
    ],
    "source": [
-    "model.save(build_dir + \"/tfc_w1_a1_pre_synthesis.onnx\")\n",
-    "\n",
     "from finn.transformation.fpgadataflow.synth_pynq_proj import SynthPYNQProject\n",
-    "\n",
+    "model = ModelWrapper(build_dir + \"/tfc_w1_a1_pynq_project.onnx\")\n",
     "model = model.transform(SynthPYNQProject())\n",
     "model.model.metadata_props"
    ]