diff --git a/designs/vivado/scalp_mipi/2020.2/src/hdl/scalp_mipi.vhd b/designs/vivado/scalp_mipi/2020.2/src/hdl/scalp_mipi.vhd
index 7828142648d569601bf98a8c26de85d8e6c0fac7..7f6d7347688a0b178bece5eb880d044e9629e2d6 100644
--- a/designs/vivado/scalp_mipi/2020.2/src/hdl/scalp_mipi.vhd
+++ b/designs/vivado/scalp_mipi/2020.2/src/hdl/scalp_mipi.vhd
@@ -305,14 +305,14 @@ architecture arch of scalp_mipi is
     signal GPIO0OxD          : std_logic_vector(31 downto 0)                      := (others => '0');
     signal GPIO0TxD          : std_logic_vector(31 downto 0)                      := (others => '0');
     -- Camera MIPI signals
---    signal MipiPhyClockHsNxC : std_logic                                          := '0';
---    signal MipiPhyClockHsPxC : std_logic                                          := '0';
---    signal MipiPhyClockLpNxC : std_logic                                          := '0';
---    signal MipiPhyClockLpPxC : std_logic                                          := '0';
---    signal MipiPhyDataHsNxD  : std_logic_vector(1 downto 0)                       := (others => '0');
---    signal MipiPhyDataHsPxD  : std_logic_vector(1 downto 0)                       := (others => '0');
---    signal MipiPhyDataLpNxD  : std_logic_vector(1 downto 0)                       := (others => '0');
---    signal MipiPhyDataLpPxD  : std_logic_vector(1 downto 0)                       := (others => '0');
+    signal MipiClockHsNxC : std_logic                                             := '0';
+    signal MipiClockHsPxC : std_logic                                             := '0';
+    signal MipiClockLpNxC : std_logic                                             := '0';
+    signal MipiClockLpPxC : std_logic                                             := '0';
+    signal MipiDataHsNxD  : std_logic_vector(1 downto 0)                          := (others => '0');
+    signal MipiDataHsPxD  : std_logic_vector(1 downto 0)                          := (others => '0');
+    signal MipiDataLpNxD  : std_logic_vector(1 downto 0)                          := (others => '0');
+    signal MipiDataLpPxD  : std_logic_vector(1 downto 0)                          := (others => '0');
 
 
     -- Attributes
@@ -402,16 +402,16 @@ begin
                 -- Zynq GPIO0 interface
                 GPIO0xDI         => GPIO0IxD,
                 GPIO0xDO         => GPIO0OxD,
-                GPIO0xDT         => GPIO0TxD
+                GPIO0xDT         => GPIO0TxD,
                 -- MIPI interface
---                MipiPhyClockHsN     => MipiPhyClockHsNxC,
---                MipiPhyClockHsP     => MipiPhyClockHsPxC,
---                MipiPhyClockLpN     => MipiPhyClockLpNxC,
---                MipiPhyClockLpP     => MipiPhyClockLpPxC,
---                MipiPhyDataHsN      => MipiPhyDataHsNxD,
---                MipiPhyDataHsP      => MipiPhyDataHsPxD,
---                MipiPhyDataLpN      => MipiPhyDataLpNxD,
---                MipiPhyDataLpP      => MipiPhyDataLpPxD
+                MipiClockHsN     => MipiClockHsNxC,
+                MipiClockHsP     => MipiClockHsPxC,
+                MipiClockLpN     => MipiClockLpNxC,
+                MipiClockLpP     => MipiClockLpPxC,
+                MipiDataHsN      => MipiDataHsNxD,
+                MipiDataHsP      => MipiDataHsPxD,
+                MipiDataLpN      => MipiDataLpNxD,
+                MipiDataLpP      => MipiDataLpPxD
             );
 
     end block ProcessingSystemxB;
@@ -446,18 +446,18 @@ begin
             LVDS2V5Bottom6PxSIO <=  GPIO0OxD(5) when  GPIO0TxD(5)='0' else 'Z';
             GPIO0IxD(5)  <= LVDS2V5Bottom6PxSIO;
             -- MIPI signal assignement
---            MipiPhyClockHsNxAS : MipiPhyClockHsNxC   <= Clk2V5BottomNxCI;
---            MipiPhyClockHsPxAS : MipiPhyClockHsPxC   <= Clk2V5BottomPxCI;
---            MipiPhyClockLpNxAS : MipiPhyClockLpNxC   <= LVDS2V5Bottom4NxSIO;
---            MipiPhyClockLpPxAS : MipiPhyClockLpPxC   <= LVDS2V5Bottom4PxSIO;
---            MipiPhyDataHsN0xAS : MipiPhyDataHsNxD(0) <= LVDS2V5Bottom0NxSIO;
---            MipiPhyDataHsP0xAS : MipiPhyDataHsPxD(0) <= LVDS2V5Bottom0PxSIO;
---            MipiPhyDataLpN0xAS : MipiPhyDataLpNxD(0) <= LVDS2V5Bottom1NxSIO;
---            MipiPhyDataLpP0xAS : MipiPhyDataLpPxD(0) <= LVDS2V5Bottom1PxSIO;
---            MipiPhyDataHsN1xAS : MipiPhyDataHsNxD(1) <= LVDS2V5Bottom2NxSIO;
---            MipiPhyDataHsP1xAS : MipiPhyDataHsPxD(1) <= LVDS2V5Bottom2PxSIO;
---            MipiPhyDataLpN1xAS : MipiPhyDataLpNxD(1) <= LVDS2V5Bottom3NxSIO;
---            MipiPhyDataLpP1xAS : MipiPhyDataLpPxD(1) <= LVDS2V5Bottom3PxSIO;
+            MipiPhyClockHsNxAS : MipiClockHsNxC   <= Clk2V5BottomNxCI;
+            MipiPhyClockHsPxAS : MipiClockHsPxC   <= Clk2V5BottomPxCI;
+            MipiPhyClockLpNxAS : MipiClockLpNxC   <= LVDS2V5Bottom4NxSIO;
+            MipiPhyClockLpPxAS : MipiClockLpPxC   <= LVDS2V5Bottom4PxSIO;
+            MipiPhyDataHsN0xAS : MipiDataHsNxD(0) <= LVDS2V5Bottom0NxSIO;
+            MipiPhyDataHsP0xAS : MipiDataHsPxD(0) <= LVDS2V5Bottom0PxSIO;
+            MipiPhyDataLpN0xAS : MipiDataLpNxD(0) <= LVDS2V5Bottom1NxSIO;
+            MipiPhyDataLpP0xAS : MipiDataLpPxD(0) <= LVDS2V5Bottom1PxSIO;
+            MipiPhyDataHsN1xAS : MipiDataHsNxD(1) <= LVDS2V5Bottom2NxSIO;
+            MipiPhyDataHsP1xAS : MipiDataHsPxD(1) <= LVDS2V5Bottom2PxSIO;
+            MipiPhyDataLpN1xAS : MipiDataLpNxD(1) <= LVDS2V5Bottom3NxSIO;
+            MipiPhyDataLpP1xAS : MipiDataLpPxD(1) <= LVDS2V5Bottom3PxSIO;
 
         end block EntityIOxB;
 
diff --git a/soc/hw/scalp_mipi_zynqps/src/hdl/scalp_mipi_zynqps_wrapper.vhd b/soc/hw/scalp_mipi_zynqps/src/hdl/scalp_mipi_zynqps_wrapper.vhd
index bcb29727bc9407bb73f3f78c56f190fb14a06beb..87d84c4235fc15ef6700c576737409ea3766245f 100644
--- a/soc/hw/scalp_mipi_zynqps/src/hdl/scalp_mipi_zynqps_wrapper.vhd
+++ b/soc/hw/scalp_mipi_zynqps/src/hdl/scalp_mipi_zynqps_wrapper.vhd
@@ -78,16 +78,16 @@ entity scalp_mipi_zynqps_wrapper is
         -- GPIO0 interface
         GPIO0xDI            : in    std_logic_vector (31 downto 0);
         GPIO0xDO            : out   std_logic_vector (31 downto 0);
-        GPIO0xDT            : out   std_logic_vector (31 downto 0)
+        GPIO0xDT            : out   std_logic_vector (31 downto 0);
         -- MIPI interface
---        MipiPhyClockHsN     : in    std_logic;
---        MipiPhyClockHsP     : in    std_logic;
---        MipiPhyClockLpN     : in    std_logic;
---        MipiPhyClockLpP     : in    std_logic;
---        MipiPhyDataHsN      : in    std_logic_vector (1 downto 0);
---        MipiPhyDataHsP      : in    std_logic_vector (1 downto 0);
---        MipiPhyDataLpN      : in    std_logic_vector (1 downto 0);
---        MipiPhyDataLpP      : in    std_logic_vector (1 downto 0)
+        MipiClockHsN        : in    std_logic;
+        MipiClockHsP        : in    std_logic;
+        MipiClockLpN        : in    std_logic;
+        MipiClockLpP        : in    std_logic;
+        MipiDataHsN         : in    std_logic_vector (1 downto 0);
+        MipiDataHsP         : in    std_logic_vector (1 downto 0);
+        MipiDataLpN         : in    std_logic_vector (1 downto 0);
+        MipiDataLpP         : in    std_logic_vector (1 downto 0)
 );
 
 end scalp_mipi_zynqps_wrapper;
@@ -141,15 +141,15 @@ begin
             I2C1_SCL_T          => I2c1SclxST,
             GPIO_0_TRI_I        => GPIO0xDI,
             GPIO_0_TRI_O        => GPIO0xDO,
-            GPIO_0_TRI_T        => GPIO0xDT
---            MipiPhyClockHsN     => MipiPhyClockHsN,
---            MipiPhyClockHsP     => MipiPhyClockHsP,
---            MipiPhyClockLpN     => MipiPhyClockLpN,
---            MipiPhyClockLpP     => MipiPhyClockLpP,
---            MipiPhyDataHsN      => MipiPhyDataHsN,
---            MipiPhyDataHsP      => MipiPhyDataHsP,
---            MipiPhyDataLpN      => MipiPhyDataLpN,
---            MipiPhyDataLpP      => MipiPhyDataLpP
+            GPIO_0_TRI_T        => GPIO0xDT,
+            MIPI_clk_hs_n       => MipiClockHsN,
+            MIPI_clk_hs_p       => MipiClockHsP,
+            MIPI_clk_lp_n       => MipiClockLpN,
+            MIPI_clk_lp_p       => MipiClockLpP,
+            MIPI_data_hs_n      => MipiDataHsN,
+            MIPI_data_hs_p      => MipiDataHsP,
+            MIPI_data_lp_n      => MipiDataLpN,
+            MIPI_data_lp_p      => MipiDataLpP
             );
 
 end arch;
diff --git a/soc/vivado/scalp_mipi_zynqps/2020.2/src/ipi_tcl/scalp_mipi_zynqps_ipi.tcl b/soc/vivado/scalp_mipi_zynqps/2020.2/src/ipi_tcl/scalp_mipi_zynqps_ipi.tcl
index 6a972d434ec2e2af0071fc0554db5d0eaa998639..07839b7084a54ccc947a04968b0dad4796bbba4f 100644
--- a/soc/vivado/scalp_mipi_zynqps/2020.2/src/ipi_tcl/scalp_mipi_zynqps_ipi.tcl
+++ b/soc/vivado/scalp_mipi_zynqps/2020.2/src/ipi_tcl/scalp_mipi_zynqps_ipi.tcl
@@ -122,14 +122,18 @@ set bCheckIPsPassed 1
 set bCheckIPs 1
 if { $bCheckIPs == 1 } {
    set list_check_ips "\ 
+xilinx.com:ip:axis_subset_converter:1.1\
+xilinx.com:ip:clk_wiz:6.0\
 xilinx.com:ip:xlconstant:1.1\
 xilinx.com:ip:xlconcat:2.1\
+xilinx.com:ip:mipi_csi2_rx_subsystem:5.1\
 xilinx.com:ip:processing_system7:5.5\
 xilinx.com:ip:proc_sys_reset:5.0\
 hepia.hesge.ch:user:scalp_axi4lite:1.2\
 hepia.ch:user:scalp_safe_firmware_reg_bank:1.3\
 xilinx.com:ip:system_ila:1.1\
 xilinx.com:ip:util_vector_logic:2.0\
+xilinx.com:ip:v_frmbuf_wr:2.2\
 xilinx.com:ip:vio:3.0\
 "
 
@@ -202,6 +206,8 @@ proc create_root_design { parentCell } {
 
   set I2C1 [ create_bd_intf_port -mode Master -vlnv xilinx.com:interface:iic_rtl:1.0 I2C1 ]
 
+  set MIPI [ create_bd_intf_port -mode Slave -vlnv xilinx.com:interface:mipi_phy_rtl:1.0 MIPI ]
+
 
   # Create ports
   set FclkClk0xCO [ create_bd_port -dir O -type clk FclkClk0xCO ]
@@ -222,6 +228,59 @@ proc create_root_design { parentCell } {
   set WrDataxDO [ create_bd_port -dir O -from 31 -to 0 WrDataxDO ]
   set WrValidxSO [ create_bd_port -dir O WrValidxSO ]
 
+  # Create instance: axi_mem_intercon, and set properties
+  set axi_mem_intercon [ create_bd_cell -type ip -vlnv xilinx.com:ip:axi_interconnect:2.1 axi_mem_intercon ]
+  set_property -dict [ list \
+   CONFIG.NUM_MI {1} \
+ ] $axi_mem_intercon
+
+  # Create instance: axis_subset_converter_0, and set properties
+  set axis_subset_converter_0 [ create_bd_cell -type ip -vlnv xilinx.com:ip:axis_subset_converter:1.1 axis_subset_converter_0 ]
+  set_property -dict [ list \
+   CONFIG.M_HAS_TKEEP {1} \
+   CONFIG.M_HAS_TLAST {1} \
+   CONFIG.M_HAS_TREADY {1} \
+   CONFIG.M_HAS_TSTRB {1} \
+   CONFIG.M_TDATA_NUM_BYTES {6} \
+   CONFIG.M_TDEST_WIDTH {1} \
+   CONFIG.M_TID_WIDTH {1} \
+   CONFIG.M_TUSER_WIDTH {1} \
+   CONFIG.S_HAS_TLAST {1} \
+   CONFIG.S_TDATA_NUM_BYTES {2} \
+   CONFIG.S_TDEST_WIDTH {10} \
+   CONFIG.S_TUSER_WIDTH {1} \
+   CONFIG.TDATA_REMAP {32'b00000000000000000000000000000000,tdata[15:0]} \
+   CONFIG.TDEST_REMAP {tdest[0:0]} \
+   CONFIG.TKEEP_REMAP {6'b111111} \
+   CONFIG.TLAST_REMAP {tlast[0]} \
+   CONFIG.TSTRB_REMAP {6'b111111} \
+   CONFIG.TUSER_REMAP {tuser[0:0]} \
+ ] $axis_subset_converter_0
+
+  # Create instance: clk_wiz_0, and set properties
+  set clk_wiz_0 [ create_bd_cell -type ip -vlnv xilinx.com:ip:clk_wiz:6.0 clk_wiz_0 ]
+  set_property -dict [ list \
+   CONFIG.CLKOUT1_DRIVES {BUFG} \
+   CONFIG.CLKOUT1_JITTER {109.241} \
+   CONFIG.CLKOUT1_PHASE_ERROR {96.948} \
+   CONFIG.CLKOUT1_REQUESTED_OUT_FREQ {200.000} \
+   CONFIG.CLKOUT2_DRIVES {BUFG} \
+   CONFIG.CLKOUT3_DRIVES {BUFG} \
+   CONFIG.CLKOUT4_DRIVES {BUFG} \
+   CONFIG.CLKOUT5_DRIVES {BUFG} \
+   CONFIG.CLKOUT6_DRIVES {BUFG} \
+   CONFIG.CLKOUT7_DRIVES {BUFG} \
+   CONFIG.MMCM_BANDWIDTH {OPTIMIZED} \
+   CONFIG.MMCM_CLKFBOUT_MULT_F {8} \
+   CONFIG.MMCM_CLKOUT0_DIVIDE_F {5} \
+   CONFIG.MMCM_COMPENSATION {BUF_IN} \
+   CONFIG.OVERRIDE_MMCM {true} \
+   CONFIG.PRIMITIVE {PLL} \
+   CONFIG.RESET_PORT {resetn} \
+   CONFIG.RESET_TYPE {ACTIVE_LOW} \
+   CONFIG.USE_LOCKED {false} \
+ ] $clk_wiz_0
+
   # Create instance: gnd_constant, and set properties
   set gnd_constant [ create_bd_cell -type ip -vlnv xilinx.com:ip:xlconstant:1.1 gnd_constant ]
   set_property -dict [ list \
@@ -234,6 +293,14 @@ proc create_root_design { parentCell } {
    CONFIG.NUM_PORTS {1} \
  ] $irq_xlconcat
 
+  # Create instance: mipi_csi2_rx_subsyst_0, and set properties
+  set mipi_csi2_rx_subsyst_0 [ create_bd_cell -type ip -vlnv xilinx.com:ip:mipi_csi2_rx_subsystem:5.1 mipi_csi2_rx_subsyst_0 ]
+  set_property -dict [ list \
+   CONFIG.CMN_NUM_LANES {2} \
+   CONFIG.CMN_PXL_FORMAT {YUV422_8bit} \
+   CONFIG.C_DPHY_LANES {2} \
+ ] $mipi_csi2_rx_subsyst_0
+
   # Create instance: processing_system7_0, and set properties
   set processing_system7_0 [ create_bd_cell -type ip -vlnv xilinx.com:ip:processing_system7:5.5 processing_system7_0 ]
   set_property -dict [ list \
@@ -684,13 +751,16 @@ proc create_root_design { parentCell } {
    CONFIG.PCW_USB_RESET_ENABLE {1} \
    CONFIG.PCW_USB_RESET_SELECT {Share reset pin} \
    CONFIG.PCW_USE_FABRIC_INTERRUPT {1} \
-   CONFIG.PCW_USE_S_AXI_GP0 {0} \
+   CONFIG.PCW_USE_S_AXI_GP0 {1} \
+   CONFIG.PCW_USE_S_AXI_HP0 {0} \
+   CONFIG.PCW_USE_S_AXI_HP3 {0} \
  ] $processing_system7_0
 
   # Create instance: ps7_0_axi_periph, and set properties
   set ps7_0_axi_periph [ create_bd_cell -type ip -vlnv xilinx.com:ip:axi_interconnect:2.1 ps7_0_axi_periph ]
   set_property -dict [ list \
-   CONFIG.NUM_MI {2} \
+   CONFIG.NUM_MI {4} \
+   CONFIG.NUM_SI {2} \
  ] $ps7_0_axi_periph
 
   # Create instance: rst_ps7_0_125M, and set properties
@@ -706,11 +776,15 @@ proc create_root_design { parentCell } {
   set system_ila_0 [ create_bd_cell -type ip -vlnv xilinx.com:ip:system_ila:1.1 system_ila_0 ]
   set_property -dict [ list \
    CONFIG.C_MON_TYPE {INTERFACE} \
-   CONFIG.C_NUM_MONITOR_SLOTS {2} \
+   CONFIG.C_NUM_MONITOR_SLOTS {3} \
    CONFIG.C_SLOT_0_INTF_TYPE {xilinx.com:interface:gpio_rtl:1.0} \
    CONFIG.C_SLOT_0_TYPE {0} \
    CONFIG.C_SLOT_1_INTF_TYPE {xilinx.com:interface:iic_rtl:1.0} \
    CONFIG.C_SLOT_1_TYPE {0} \
+   CONFIG.C_SLOT_2_APC_EN {0} \
+   CONFIG.C_SLOT_2_AXI_DATA_SEL {1} \
+   CONFIG.C_SLOT_2_AXI_TRIG_SEL {1} \
+   CONFIG.C_SLOT_2_INTF_TYPE {xilinx.com:interface:axis_rtl:1.0} \
  ] $system_ila_0
 
   # Create instance: util_vector_logic_0, and set properties
@@ -729,6 +803,23 @@ proc create_root_design { parentCell } {
    CONFIG.LOGO_FILE {data/sym_notgate.png} \
  ] $util_vector_logic_1
 
+  # Create instance: v_frmbuf_wr_0, and set properties
+  set v_frmbuf_wr_0 [ create_bd_cell -type ip -vlnv xilinx.com:ip:v_frmbuf_wr:2.2 v_frmbuf_wr_0 ]
+  set_property -dict [ list \
+   CONFIG.AXIMM_ADDR_WIDTH {32} \
+   CONFIG.AXIMM_DATA_WIDTH {128} \
+   CONFIG.C_M_AXI_MM_VIDEO_DATA_WIDTH {128} \
+   CONFIG.HAS_BGR8 {1} \
+   CONFIG.HAS_RGB8 {0} \
+   CONFIG.HAS_UYVY8 {1} \
+   CONFIG.HAS_YUYV8 {0} \
+   CONFIG.HAS_Y_UV8 {0} \
+   CONFIG.MAX_COLS {640} \
+   CONFIG.MAX_NR_PLANES {1} \
+   CONFIG.MAX_ROWS {480} \
+   CONFIG.SAMPLES_PER_CLOCK {2} \
+ ] $v_frmbuf_wr_0
+
   # Create instance: vio_0, and set properties
   set vio_0 [ create_bd_cell -type ip -vlnv xilinx.com:ip:vio:3.0 vio_0 ]
   set_property -dict [ list \
@@ -737,6 +828,12 @@ proc create_root_design { parentCell } {
  ] $vio_0
 
   # Create interface connections
+  connect_bd_intf_net -intf_net MIPI_1 [get_bd_intf_ports MIPI] [get_bd_intf_pins mipi_csi2_rx_subsyst_0/mipi_phy_if]
+  connect_bd_intf_net -intf_net axi_mem_intercon_M00_AXI [get_bd_intf_pins axi_mem_intercon/M00_AXI] [get_bd_intf_pins processing_system7_0/S_AXI_GP0]
+  connect_bd_intf_net -intf_net axis_subset_converter_0_M_AXIS [get_bd_intf_pins axis_subset_converter_0/M_AXIS] [get_bd_intf_pins v_frmbuf_wr_0/s_axis_video]
+  connect_bd_intf_net -intf_net mipi_csi2_rx_subsyst_0_video_out [get_bd_intf_pins axis_subset_converter_0/S_AXIS] [get_bd_intf_pins mipi_csi2_rx_subsyst_0/video_out]
+connect_bd_intf_net -intf_net [get_bd_intf_nets mipi_csi2_rx_subsyst_0_video_out] [get_bd_intf_pins axis_subset_converter_0/S_AXIS] [get_bd_intf_pins system_ila_0/SLOT_2_AXIS]
+  set_property HDL_ATTRIBUTE.DEBUG {true} [get_bd_intf_nets mipi_csi2_rx_subsyst_0_video_out]
   connect_bd_intf_net -intf_net processing_system7_0_DDR [get_bd_intf_ports DDR] [get_bd_intf_pins processing_system7_0/DDR]
   connect_bd_intf_net -intf_net processing_system7_0_FIXED_IO [get_bd_intf_ports FIXED_IO] [get_bd_intf_pins processing_system7_0/FIXED_IO]
   connect_bd_intf_net -intf_net processing_system7_0_GPIO_0 [get_bd_intf_ports GPIO_0] [get_bd_intf_pins processing_system7_0/GPIO_0]
@@ -748,19 +845,23 @@ connect_bd_intf_net -intf_net [get_bd_intf_nets processing_system7_0_IIC_1] [get
   connect_bd_intf_net -intf_net processing_system7_0_M_AXI_GP0 [get_bd_intf_pins processing_system7_0/M_AXI_GP0] [get_bd_intf_pins ps7_0_axi_periph/S00_AXI]
   connect_bd_intf_net -intf_net ps7_0_axi_periph_M00_AXI [get_bd_intf_pins ps7_0_axi_periph/M00_AXI] [get_bd_intf_pins scalp_axi4lite_0/SAXILitexDIO]
   connect_bd_intf_net -intf_net ps7_0_axi_periph_M01_AXI [get_bd_intf_pins ps7_0_axi_periph/M01_AXI] [get_bd_intf_pins scalp_safe_firmware_0/SAXILitexDIO]
+  connect_bd_intf_net -intf_net ps7_0_axi_periph_M02_AXI [get_bd_intf_pins mipi_csi2_rx_subsyst_0/csirxss_s_axi] [get_bd_intf_pins ps7_0_axi_periph/M02_AXI]
+  connect_bd_intf_net -intf_net ps7_0_axi_periph_M03_AXI [get_bd_intf_pins ps7_0_axi_periph/M03_AXI] [get_bd_intf_pins v_frmbuf_wr_0/s_axi_CTRL]
+  connect_bd_intf_net -intf_net v_frmbuf_wr_0_m_axi_mm_video [get_bd_intf_pins axi_mem_intercon/S00_AXI] [get_bd_intf_pins v_frmbuf_wr_0/m_axi_mm_video]
 
   # Create port connections
   connect_bd_net -net InterruptxSI_0_1 [get_bd_ports InterruptxSI] [get_bd_pins scalp_axi4lite_0/InterruptxSI]
   connect_bd_net -net RdDataxDI_0_1 [get_bd_ports RdDataxDI] [get_bd_pins scalp_axi4lite_0/RdDataxDI]
   connect_bd_net -net USB0_VBUS_PWRFAULT_0_1 [get_bd_ports Usb0VBusPwrFaultxSI] [get_bd_pins processing_system7_0/USB0_VBUS_PWRFAULT]
+  connect_bd_net -net clk_wiz_0_clk_out1 [get_bd_pins clk_wiz_0/clk_out1] [get_bd_pins mipi_csi2_rx_subsyst_0/dphy_clk_200M]
   connect_bd_net -net gnd_constant_dout [get_bd_pins gnd_constant/dout] [get_bd_pins processing_system7_0/SPI1_MISO_I] [get_bd_pins processing_system7_0/SPI1_MOSI_I] [get_bd_pins processing_system7_0/SPI1_SCLK_I] [get_bd_pins processing_system7_0/SPI1_SS_I]
   connect_bd_net -net irq_xlconcat_dout [get_bd_pins irq_xlconcat/dout] [get_bd_pins processing_system7_0/IRQ_F2P]
-  connect_bd_net -net processing_system7_0_FCLK_CLK0 [get_bd_ports FclkClk0xCO] [get_bd_pins processing_system7_0/FCLK_CLK0] [get_bd_pins processing_system7_0/M_AXI_GP0_ACLK] [get_bd_pins ps7_0_axi_periph/ACLK] [get_bd_pins ps7_0_axi_periph/M00_ACLK] [get_bd_pins ps7_0_axi_periph/M01_ACLK] [get_bd_pins ps7_0_axi_periph/S00_ACLK] [get_bd_pins rst_ps7_0_125M/slowest_sync_clk] [get_bd_pins scalp_axi4lite_0/SAxiClkxCI] [get_bd_pins scalp_safe_firmware_0/SAxiClkxCI] [get_bd_pins system_ila_0/clk] [get_bd_pins vio_0/clk]
+  connect_bd_net -net processing_system7_0_FCLK_CLK0 [get_bd_ports FclkClk0xCO] [get_bd_pins axi_mem_intercon/ACLK] [get_bd_pins axi_mem_intercon/M00_ACLK] [get_bd_pins axi_mem_intercon/S00_ACLK] [get_bd_pins axis_subset_converter_0/aclk] [get_bd_pins clk_wiz_0/clk_in1] [get_bd_pins mipi_csi2_rx_subsyst_0/lite_aclk] [get_bd_pins mipi_csi2_rx_subsyst_0/video_aclk] [get_bd_pins processing_system7_0/FCLK_CLK0] [get_bd_pins processing_system7_0/M_AXI_GP0_ACLK] [get_bd_pins processing_system7_0/S_AXI_GP0_ACLK] [get_bd_pins ps7_0_axi_periph/ACLK] [get_bd_pins ps7_0_axi_periph/M00_ACLK] [get_bd_pins ps7_0_axi_periph/M01_ACLK] [get_bd_pins ps7_0_axi_periph/M02_ACLK] [get_bd_pins ps7_0_axi_periph/M03_ACLK] [get_bd_pins ps7_0_axi_periph/S00_ACLK] [get_bd_pins ps7_0_axi_periph/S01_ACLK] [get_bd_pins rst_ps7_0_125M/slowest_sync_clk] [get_bd_pins scalp_axi4lite_0/SAxiClkxCI] [get_bd_pins scalp_safe_firmware_0/SAxiClkxCI] [get_bd_pins system_ila_0/clk] [get_bd_pins v_frmbuf_wr_0/ap_clk] [get_bd_pins vio_0/clk]
   connect_bd_net -net processing_system7_0_FCLK_RESET0_N [get_bd_pins processing_system7_0/FCLK_RESET0_N] [get_bd_pins rst_ps7_0_125M/ext_reset_in] [get_bd_pins util_vector_logic_1/Op1]
   connect_bd_net -net processing_system7_0_SPI1_MOSI_O [get_bd_ports Spi1MOSIxSO] [get_bd_pins processing_system7_0/SPI1_MOSI_O]
   connect_bd_net -net processing_system7_0_SPI1_SCLK_O [get_bd_ports Spi1SclkxCO] [get_bd_pins processing_system7_0/SPI1_SCLK_O]
   connect_bd_net -net processing_system7_0_SPI1_SS_O [get_bd_ports Spi1SSxSO] [get_bd_pins processing_system7_0/SPI1_SS_O]
-  connect_bd_net -net rst_ps7_0_125M_peripheral_aresetn [get_bd_pins ps7_0_axi_periph/ARESETN] [get_bd_pins ps7_0_axi_periph/M00_ARESETN] [get_bd_pins ps7_0_axi_periph/M01_ARESETN] [get_bd_pins ps7_0_axi_periph/S00_ARESETN] [get_bd_pins rst_ps7_0_125M/peripheral_aresetn] [get_bd_pins scalp_axi4lite_0/SAxiResetxRANI] [get_bd_pins scalp_safe_firmware_0/SAxiRstxRANI]
+  connect_bd_net -net rst_ps7_0_125M_peripheral_aresetn [get_bd_pins axi_mem_intercon/ARESETN] [get_bd_pins axi_mem_intercon/M00_ARESETN] [get_bd_pins axi_mem_intercon/S00_ARESETN] [get_bd_pins axis_subset_converter_0/aresetn] [get_bd_pins clk_wiz_0/resetn] [get_bd_pins mipi_csi2_rx_subsyst_0/lite_aresetn] [get_bd_pins mipi_csi2_rx_subsyst_0/video_aresetn] [get_bd_pins ps7_0_axi_periph/ARESETN] [get_bd_pins ps7_0_axi_periph/M00_ARESETN] [get_bd_pins ps7_0_axi_periph/M01_ARESETN] [get_bd_pins ps7_0_axi_periph/M02_ARESETN] [get_bd_pins ps7_0_axi_periph/M03_ARESETN] [get_bd_pins ps7_0_axi_periph/S00_ARESETN] [get_bd_pins ps7_0_axi_periph/S01_ARESETN] [get_bd_pins rst_ps7_0_125M/peripheral_aresetn] [get_bd_pins scalp_axi4lite_0/SAxiResetxRANI] [get_bd_pins scalp_safe_firmware_0/SAxiRstxRANI] [get_bd_pins system_ila_0/resetn] [get_bd_pins v_frmbuf_wr_0/ap_rst_n]
   connect_bd_net -net scalp_axi4lite_0_InterruptxSO [get_bd_pins irq_xlconcat/In0] [get_bd_pins scalp_axi4lite_0/InterruptxSO]
   connect_bd_net -net scalp_axi4lite_0_RdAddrxDO [get_bd_ports RdAddrxDO] [get_bd_pins scalp_axi4lite_0/RdAddrxDO]
   connect_bd_net -net scalp_axi4lite_0_RdValidxSO [get_bd_ports RdValidxSO] [get_bd_pins scalp_axi4lite_0/RdValidxSO]
@@ -773,8 +874,19 @@ connect_bd_intf_net -intf_net [get_bd_intf_nets processing_system7_0_IIC_1] [get
   connect_bd_net -net vio_0_probe_out0 [get_bd_pins util_vector_logic_0/Op2] [get_bd_pins vio_0/probe_out0]
 
   # Create address segments
+  assign_bd_address -offset 0x43C20000 -range 0x00001000 -target_address_space [get_bd_addr_spaces processing_system7_0/Data] [get_bd_addr_segs mipi_csi2_rx_subsyst_0/csirxss_s_axi/Reg] -force
   assign_bd_address -offset 0x43C00000 -range 0x00010000 -target_address_space [get_bd_addr_spaces processing_system7_0/Data] [get_bd_addr_segs scalp_axi4lite_0/SAXILitexDIO/SAXILiteAddr] -force
   assign_bd_address -offset 0x43C10000 -range 0x00010000 -target_address_space [get_bd_addr_spaces processing_system7_0/Data] [get_bd_addr_segs scalp_safe_firmware_0/SAXILitexDIO/SAXILiteAddr] -force
+  assign_bd_address -offset 0x43C30000 -range 0x00010000 -target_address_space [get_bd_addr_spaces processing_system7_0/Data] [get_bd_addr_segs v_frmbuf_wr_0/s_axi_CTRL/Reg] -force
+  assign_bd_address -offset 0x00000000 -range 0x10000000 -target_address_space [get_bd_addr_spaces v_frmbuf_wr_0/Data_m_axi_mm_video] [get_bd_addr_segs processing_system7_0/S_AXI_GP0/GP0_DDR_LOWOCM] -force
+  assign_bd_address -offset 0xFC000000 -range 0x01000000 -target_address_space [get_bd_addr_spaces v_frmbuf_wr_0/Data_m_axi_mm_video] [get_bd_addr_segs processing_system7_0/S_AXI_GP0/GP0_QSPI_LINEAR] -force
+
+  # Exclude Address Segments
+  exclude_bd_addr_seg -offset 0x43C20000 -range 0x00001000 -target_address_space [get_bd_addr_spaces v_frmbuf_wr_0/Data_m_axi_mm_video] [get_bd_addr_segs mipi_csi2_rx_subsyst_0/csirxss_s_axi/Reg]
+  exclude_bd_addr_seg -offset 0xE0000000 -range 0x00400000 -target_address_space [get_bd_addr_spaces v_frmbuf_wr_0/Data_m_axi_mm_video] [get_bd_addr_segs processing_system7_0/S_AXI_GP0/GP0_IOP]
+  exclude_bd_addr_seg -offset 0x40000000 -range 0x02000000 -target_address_space [get_bd_addr_spaces v_frmbuf_wr_0/Data_m_axi_mm_video] [get_bd_addr_segs processing_system7_0/S_AXI_GP0/GP0_M_AXI_GP0]
+  exclude_bd_addr_seg -offset 0x43C00000 -range 0x00010000 -target_address_space [get_bd_addr_spaces v_frmbuf_wr_0/Data_m_axi_mm_video] [get_bd_addr_segs scalp_axi4lite_0/SAXILitexDIO/SAXILiteAddr]
+  exclude_bd_addr_seg -offset 0x43C10000 -range 0x00010000 -target_address_space [get_bd_addr_spaces v_frmbuf_wr_0/Data_m_axi_mm_video] [get_bd_addr_segs scalp_safe_firmware_0/SAXILitexDIO/SAXILiteAddr]
 
 
   # Restore current instance