diff --git a/custom-fpga-design/my_custom_fpga_design.yaml b/custom-fpga-design/my_custom_fpga_design.yaml
index e6cc1c2c978b08a2f6d6f3c8155e3fc526d6e620..f6fb8f0ce489d16645b44223dbd8d89269b12426 100644
--- a/custom-fpga-design/my_custom_fpga_design.yaml
+++ b/custom-fpga-design/my_custom_fpga_design.yaml
@@ -6,5 +6,5 @@ HSS:
     board: bvf
 gateware:
     type: sources
-    build-args: "M2_OPTION:NONE CAPE_OPTION:VERILOG_TUTORIAL"
+    build-args: "M2_OPTION:NONE CAPE_OPTION:MY_LOVELY_CAPE"
 
diff --git a/sources/FPGA-design/script_support/components/CAPE/MY_LOVELY_CAPE/ADD_CAPE.tcl b/sources/FPGA-design/script_support/components/CAPE/MY_LOVELY_CAPE/ADD_CAPE.tcl
new file mode 100644
index 0000000000000000000000000000000000000000..b64e536efa798f6346cdbdcc5e3ab82543f01ee8
--- /dev/null
+++ b/sources/FPGA-design/script_support/components/CAPE/MY_LOVELY_CAPE/ADD_CAPE.tcl
@@ -0,0 +1,131 @@
+puts "======== Add cape option: MY_LOVELY_CAPE ========"
+
+#-------------------------------------------------------------------------------
+# Import HDL source files
+#-------------------------------------------------------------------------------
+import_files -hdl_source {script_support/components/CAPE/MY_LOVELY_CAPE/HDL/blinky.v}
+import_files -hdl_source {script_support/components/CAPE/MY_LOVELY_CAPE/HDL/apb_ctrl_status.v}
+import_files -hdl_source {script_support/components/CAPE/MY_LOVELY_CAPE/HDL/P8_IOPADS.v}
+import_files -hdl_source {script_support/components/CAPE/MY_LOVELY_CAPE/HDL/P9_11_18_IOPADS.v}
+import_files -hdl_source {script_support/components/CAPE/MY_LOVELY_CAPE/HDL/P9_21_31_IOPADS.v}
+import_files -hdl_source {script_support/components/CAPE/MY_LOVELY_CAPE/HDL/P9_41_42_IOPADS.v}
+import_files -hdl_source {script_support/components/CAPE/MY_LOVELY_CAPE/HDL/CAPE.v}
+
+build_design_hierarchy
+
+create_hdl_core -file $project_dir/hdl/CAPE.v -module {CAPE} -library {work} -package {}
+
+hdl_core_add_bif -hdl_core_name {CAPE} -bif_definition {APB:AMBA:AMBA2:slave} -bif_name {BIF_1} -signal_map {} 
+hdl_core_assign_bif_signal -hdl_core_name {CAPE} -bif_name {BIF_1} -bif_signal_name {PADDR} -core_signal_name {APB_SLAVE_SLAVE_PADDR} 
+hdl_core_assign_bif_signal -hdl_core_name {CAPE} -bif_name {BIF_1} -bif_signal_name {PSELx} -core_signal_name {APB_SLAVE_SLAVE_PSEL} 
+hdl_core_assign_bif_signal -hdl_core_name {CAPE} -bif_name {BIF_1} -bif_signal_name {PENABLE} -core_signal_name {APB_SLAVE_SLAVE_PENABLE} 
+hdl_core_assign_bif_signal -hdl_core_name {CAPE} -bif_name {BIF_1} -bif_signal_name {PWRITE} -core_signal_name {APB_SLAVE_SLAVE_PWRITE} 
+hdl_core_assign_bif_signal -hdl_core_name {CAPE} -bif_name {BIF_1} -bif_signal_name {PRDATA} -core_signal_name {APB_SLAVE_SLAVE_PRDATA} 
+hdl_core_assign_bif_signal -hdl_core_name {CAPE} -bif_name {BIF_1} -bif_signal_name {PWDATA} -core_signal_name {APB_SLAVE_SLAVE_PWDATA} 
+hdl_core_rename_bif -hdl_core_name {CAPE} -current_bif_name {BIF_1} -new_bif_name {APB_TARGET} 
+
+#-------------------------------------------------------------------------------
+# Build the Cape module
+#-------------------------------------------------------------------------------
+set sd_name ${top_level_name}
+
+#-------------------------------------------------------------------------------
+# Cape pins
+#-------------------------------------------------------------------------------
+
+#-------------------------------------------------------------------------------
+# Instantiate.
+#-------------------------------------------------------------------------------
+
+sd_instantiate_hdl_core -sd_name ${sd_name} -hdl_core_name {CAPE} -instance_name {CAPE} 
+
+#-------------------------------------------------------------------------------
+# Connections.
+#-------------------------------------------------------------------------------
+
+# Clocks and resets
+sd_connect_pins -sd_name ${sd_name} -pin_names {"CLOCKS_AND_RESETS:FIC_3_PCLK" "CAPE:PCLK"}
+sd_connect_pins -sd_name ${sd_name} -pin_names {"CLOCKS_AND_RESETS:FIC_3_FABRIC_RESET_N" "CAPE:PRESETN" }
+
+sd_connect_pins -sd_name ${sd_name} -pin_names {"BVF_RISCV_SUBSYSTEM:GPIO_2_F2M" "CAPE:GPIO_IN"} 
+sd_connect_pins -sd_name ${sd_name} -pin_names {"BVF_RISCV_SUBSYSTEM:GPIO_2_M2F" "CAPE:GPIO_OUT"} 
+sd_connect_pins -sd_name ${sd_name} -pin_names {"BVF_RISCV_SUBSYSTEM:GPIO_2_OE_M2F" "CAPE:GPIO_OE"} 
+
+sd_connect_pin_to_port -sd_name ${sd_name} -pin_name {CAPE:P8_3} -port_name {} 
+sd_connect_pin_to_port -sd_name ${sd_name} -pin_name {CAPE:P8_4} -port_name {} 
+sd_connect_pin_to_port -sd_name ${sd_name} -pin_name {CAPE:P8_5} -port_name {} 
+sd_connect_pin_to_port -sd_name ${sd_name} -pin_name {CAPE:P8_6} -port_name {} 
+sd_connect_pin_to_port -sd_name ${sd_name} -pin_name {CAPE:P8_7} -port_name {} 
+sd_connect_pin_to_port -sd_name ${sd_name} -pin_name {CAPE:P8_8} -port_name {} 
+sd_connect_pin_to_port -sd_name ${sd_name} -pin_name {CAPE:P8_9} -port_name {} 
+sd_connect_pin_to_port -sd_name ${sd_name} -pin_name {CAPE:P8_10} -port_name {} 
+sd_connect_pin_to_port -sd_name ${sd_name} -pin_name {CAPE:P8_11} -port_name {} 
+sd_connect_pin_to_port -sd_name ${sd_name} -pin_name {CAPE:P8_12} -port_name {} 
+sd_connect_pin_to_port -sd_name ${sd_name} -pin_name {CAPE:P8_13} -port_name {} 
+sd_connect_pin_to_port -sd_name ${sd_name} -pin_name {CAPE:P8_14} -port_name {} 
+sd_connect_pin_to_port -sd_name ${sd_name} -pin_name {CAPE:P8_15} -port_name {} 
+sd_connect_pin_to_port -sd_name ${sd_name} -pin_name {CAPE:P8_16} -port_name {} 
+sd_connect_pin_to_port -sd_name ${sd_name} -pin_name {CAPE:P8_17} -port_name {} 
+sd_connect_pin_to_port -sd_name ${sd_name} -pin_name {CAPE:P8_18} -port_name {} 
+sd_connect_pin_to_port -sd_name ${sd_name} -pin_name {CAPE:P8_19} -port_name {} 
+sd_connect_pin_to_port -sd_name ${sd_name} -pin_name {CAPE:P8_20} -port_name {} 
+sd_connect_pin_to_port -sd_name ${sd_name} -pin_name {CAPE:P8_21} -port_name {} 
+sd_connect_pin_to_port -sd_name ${sd_name} -pin_name {CAPE:P8_22} -port_name {} 
+sd_connect_pin_to_port -sd_name ${sd_name} -pin_name {CAPE:P8_23} -port_name {} 
+sd_connect_pin_to_port -sd_name ${sd_name} -pin_name {CAPE:P8_24} -port_name {} 
+sd_connect_pin_to_port -sd_name ${sd_name} -pin_name {CAPE:P8_25} -port_name {} 
+sd_connect_pin_to_port -sd_name ${sd_name} -pin_name {CAPE:P8_26} -port_name {} 
+sd_connect_pin_to_port -sd_name ${sd_name} -pin_name {CAPE:P8_27} -port_name {} 
+sd_connect_pin_to_port -sd_name ${sd_name} -pin_name {CAPE:P8_28} -port_name {} 
+sd_connect_pin_to_port -sd_name ${sd_name} -pin_name {CAPE:P8_29} -port_name {} 
+sd_connect_pin_to_port -sd_name ${sd_name} -pin_name {CAPE:P8_30} -port_name {} 
+sd_connect_pin_to_port -sd_name ${sd_name} -pin_name {CAPE:P8_31} -port_name {} 
+sd_connect_pin_to_port -sd_name ${sd_name} -pin_name {CAPE:P8_32} -port_name {} 
+sd_connect_pin_to_port -sd_name ${sd_name} -pin_name {CAPE:P8_33} -port_name {} 
+sd_connect_pin_to_port -sd_name ${sd_name} -pin_name {CAPE:P8_34} -port_name {} 
+sd_connect_pin_to_port -sd_name ${sd_name} -pin_name {CAPE:P8_35} -port_name {} 
+sd_connect_pin_to_port -sd_name ${sd_name} -pin_name {CAPE:P8_36} -port_name {} 
+sd_connect_pin_to_port -sd_name ${sd_name} -pin_name {CAPE:P8_37} -port_name {} 
+sd_connect_pin_to_port -sd_name ${sd_name} -pin_name {CAPE:P8_38} -port_name {} 
+sd_connect_pin_to_port -sd_name ${sd_name} -pin_name {CAPE:P8_39} -port_name {} 
+sd_connect_pin_to_port -sd_name ${sd_name} -pin_name {CAPE:P8_40} -port_name {} 
+sd_connect_pin_to_port -sd_name ${sd_name} -pin_name {CAPE:P8_41} -port_name {} 
+sd_connect_pin_to_port -sd_name ${sd_name} -pin_name {CAPE:P8_42} -port_name {} 
+sd_connect_pin_to_port -sd_name ${sd_name} -pin_name {CAPE:P8_43} -port_name {} 
+sd_connect_pin_to_port -sd_name ${sd_name} -pin_name {CAPE:P8_44} -port_name {} 
+sd_connect_pin_to_port -sd_name ${sd_name} -pin_name {CAPE:P8_45} -port_name {} 
+sd_connect_pin_to_port -sd_name ${sd_name} -pin_name {CAPE:P8_46} -port_name {} 
+sd_connect_pin_to_port -sd_name ${sd_name} -pin_name {CAPE:P9_11} -port_name {} 
+sd_connect_pin_to_port -sd_name ${sd_name} -pin_name {CAPE:P9_12} -port_name {} 
+sd_connect_pin_to_port -sd_name ${sd_name} -pin_name {CAPE:P9_13} -port_name {} 
+sd_connect_pin_to_port -sd_name ${sd_name} -pin_name {CAPE:P9_14} -port_name {} 
+sd_connect_pin_to_port -sd_name ${sd_name} -pin_name {CAPE:P9_15} -port_name {} 
+sd_connect_pin_to_port -sd_name ${sd_name} -pin_name {CAPE:P9_16} -port_name {} 
+sd_connect_pin_to_port -sd_name ${sd_name} -pin_name {CAPE:P9_17} -port_name {} 
+sd_connect_pin_to_port -sd_name ${sd_name} -pin_name {CAPE:P9_18} -port_name {} 
+sd_connect_pin_to_port -sd_name ${sd_name} -pin_name {CAPE:P9_21} -port_name {} 
+sd_connect_pin_to_port -sd_name ${sd_name} -pin_name {CAPE:P9_22} -port_name {} 
+sd_connect_pin_to_port -sd_name ${sd_name} -pin_name {CAPE:P9_23} -port_name {} 
+sd_connect_pin_to_port -sd_name ${sd_name} -pin_name {CAPE:P9_24} -port_name {} 
+sd_connect_pin_to_port -sd_name ${sd_name} -pin_name {CAPE:P9_25} -port_name {} 
+sd_connect_pin_to_port -sd_name ${sd_name} -pin_name {CAPE:P9_26} -port_name {} 
+sd_connect_pin_to_port -sd_name ${sd_name} -pin_name {CAPE:P9_27} -port_name {} 
+sd_connect_pin_to_port -sd_name ${sd_name} -pin_name {CAPE:P9_28} -port_name {} 
+sd_connect_pin_to_port -sd_name ${sd_name} -pin_name {CAPE:P9_29} -port_name {} 
+sd_connect_pin_to_port -sd_name ${sd_name} -pin_name {CAPE:P9_30} -port_name {} 
+sd_connect_pin_to_port -sd_name ${sd_name} -pin_name {CAPE:P9_31} -port_name {} 
+sd_connect_pin_to_port -sd_name ${sd_name} -pin_name {CAPE:P9_41} -port_name {} 
+sd_connect_pin_to_port -sd_name ${sd_name} -pin_name {CAPE:P9_42} -port_name {} 
+
+
+sd_connect_pins -sd_name ${sd_name} -pin_names {"CAPE:APB_TARGET" "BVF_RISCV_SUBSYSTEM:CAPE_APB_MTARGET"}
+
+sd_mark_pins_unused -sd_name ${sd_name} -pin_names {BVF_RISCV_SUBSYSTEM:MMUART_4_TXD} 
+sd_connect_pins_to_constant -sd_name ${sd_name} -pin_names {BVF_RISCV_SUBSYSTEM:MMUART_4_RXD} -value {GND} 
+
+sd_clear_pin_attributes -sd_name ${sd_name} -pin_names {BVF_RISCV_SUBSYSTEM:MSS_INT_F2M_A} 
+sd_clear_pin_attributes -sd_name ${sd_name} -pin_names {BVF_RISCV_SUBSYSTEM:MSS_INT_F2M_B} 
+sd_clear_pin_attributes -sd_name ${sd_name} -pin_names {BVF_RISCV_SUBSYSTEM:MSS_INT_F2M_C} 
+sd_connect_pins -sd_name ${sd_name} -pin_names {"BVF_RISCV_SUBSYSTEM:MSS_INT_F2M_A" "CAPE:INT_A"} 
+sd_connect_pins -sd_name ${sd_name} -pin_names {"BVF_RISCV_SUBSYSTEM:MSS_INT_F2M_B" "CAPE:INT_B"} 
+sd_connect_pins -sd_name ${sd_name} -pin_names {"BVF_RISCV_SUBSYSTEM:MSS_INT_F2M_C" "CAPE:INT_C"} 
diff --git a/sources/FPGA-design/script_support/components/CAPE/MY_LOVELY_CAPE/HDL/CAPE.v b/sources/FPGA-design/script_support/components/CAPE/MY_LOVELY_CAPE/HDL/CAPE.v
new file mode 100644
index 0000000000000000000000000000000000000000..af36b748ed7711caa18f7ee3f9d806e352b997d1
--- /dev/null
+++ b/sources/FPGA-design/script_support/components/CAPE/MY_LOVELY_CAPE/HDL/CAPE.v
@@ -0,0 +1,456 @@
+//////////////////////////////////////////////////////////////////////
+// Created by SmartDesign Sun Dec  3 10:18:21 2023
+// Version: 2022.3 2022.3.0.8
+//////////////////////////////////////////////////////////////////////
+
+`timescale 1ns / 100ps
+
+// CAPE
+module CAPE(
+    // Inputs
+    APB_SLAVE_SLAVE_PADDR,
+    APB_SLAVE_SLAVE_PENABLE,
+    APB_SLAVE_SLAVE_PSEL,
+    APB_SLAVE_SLAVE_PWDATA,
+    APB_SLAVE_SLAVE_PWRITE,
+    GPIO_OE,
+    GPIO_OUT,
+    PCLK,
+    PRESETN,
+    // Outputs
+    APB_SLAVE_SLAVE_PRDATA,
+    GPIO_IN,
+    INT_A,
+    INT_B,
+    INT_C,
+    // Inouts
+    P8_3,
+    P8_4,
+    P8_5,
+    P8_6,
+    P8_7,
+    P8_8,
+    P8_9,
+    P8_10,
+    P8_11,
+    P8_12,
+    P8_13,
+    P8_14,
+    P8_15,
+    P8_16,
+    P8_17,
+    P8_18,
+    P8_19,
+    P8_20,
+    P8_21,
+    P8_22,
+    P8_23,
+    P8_24,
+    P8_25,
+    P8_26,
+    P8_27,
+    P8_28,
+    P8_29,
+    P8_30,
+    P8_31,
+    P8_32,
+    P8_33,
+    P8_34,
+    P8_35,
+    P8_36,
+    P8_37,
+    P8_38,
+    P8_39,
+    P8_40,
+    P8_41,
+    P8_42,
+    P8_43,
+    P8_44,
+    P8_45,
+    P8_46,
+    P9_11,
+    P9_12,
+    P9_13,
+    P9_14,
+    P9_15,
+    P9_16,
+    P9_17,
+    P9_18,
+    P9_21,
+    P9_22,
+    P9_23,
+    P9_24,
+    P9_25,
+    P9_26,
+    P9_27,
+    P9_28,
+    P9_29,
+    P9_30,
+    P9_31,
+    P9_41,
+    P9_42
+);
+
+//--------------------------------------------------------------------
+// Input
+//--------------------------------------------------------------------
+input  [31:0] APB_SLAVE_SLAVE_PADDR;
+input         APB_SLAVE_SLAVE_PENABLE;
+input         APB_SLAVE_SLAVE_PSEL;
+input  [31:0] APB_SLAVE_SLAVE_PWDATA;
+input         APB_SLAVE_SLAVE_PWRITE;
+input  [27:0] GPIO_OE;
+input  [27:0] GPIO_OUT;
+input         PCLK;
+input         PRESETN;
+//--------------------------------------------------------------------
+// Output
+//--------------------------------------------------------------------
+output [31:0] APB_SLAVE_SLAVE_PRDATA;
+output [27:0] GPIO_IN;
+output [7:0] INT_A;
+output [7:0] INT_B;
+output [7:0] INT_C;
+//--------------------------------------------------------------------
+// Inout
+//--------------------------------------------------------------------
+inout         P8_3;
+inout         P8_4;
+inout         P8_5;
+inout         P8_6;
+inout         P8_7;
+inout         P8_8;
+inout         P8_9;
+inout         P8_10;
+inout         P8_11;
+inout         P8_12;
+inout         P8_13;
+inout         P8_14;
+inout         P8_15;
+inout         P8_16;
+inout         P8_17;
+inout         P8_18;
+inout         P8_19;
+inout         P8_20;
+inout         P8_21;
+inout         P8_22;
+inout         P8_23;
+inout         P8_24;
+inout         P8_25;
+inout         P8_26;
+inout         P8_27;
+inout         P8_28;
+inout         P8_29;
+inout         P8_30;
+inout         P8_31;
+inout         P8_32;
+inout         P8_33;
+inout         P8_34;
+inout         P8_35;
+inout         P8_36;
+inout         P8_37;
+inout         P8_38;
+inout         P8_39;
+inout         P8_40;
+inout         P8_41;
+inout         P8_42;
+inout         P8_43;
+inout         P8_44;
+inout         P8_45;
+inout         P8_46;
+inout         P9_11;
+inout         P9_12;
+inout         P9_13;
+inout         P9_14;
+inout         P9_15;
+inout         P9_16;
+inout         P9_17;
+inout         P9_18;
+inout         P9_21;
+inout         P9_22;
+inout         P9_23;
+inout         P9_24;
+inout         P9_25;
+inout         P9_26;
+inout         P9_27;
+inout         P9_28;
+inout         P9_29;
+inout         P9_30;
+inout         P9_31;
+inout         P9_41;
+inout         P9_42;
+//--------------------------------------------------------------------
+// Nets
+//--------------------------------------------------------------------
+wire   [31:0]  apb_ctrl_status_0_control;
+wire           APB_SLAVE_SLAVE_PENABLE;
+wire   [31:0]  APB_SLAVE_PRDATA;
+wire           APB_SLAVE_SLAVE_PSEL;
+wire   [31:0]  APB_SLAVE_SLAVE_PWDATA;
+wire           APB_SLAVE_SLAVE_PWRITE;
+wire   [30:3]  GPIO_IN_net_0;
+wire   [27:0]  GPIO_OE;
+wire   [27:0]  GPIO_OUT;
+wire           P8_3;
+wire           P8_4;
+wire           P8_5;
+wire           P8_6;
+wire           P8_7;
+wire           P8_8;
+wire           P8_9;
+wire           P8_10;
+wire           P8_11;
+wire           P8_12;
+wire           P8_13;
+wire           P8_14;
+wire           P8_15;
+wire           P8_16;
+wire           P8_17;
+wire           P8_18;
+wire           P8_19;
+wire           P8_20;
+wire           P8_21;
+wire           P8_22;
+wire           P8_23;
+wire           P8_24;
+wire           P8_25;
+wire           P8_26;
+wire           P8_27;
+wire           P8_28;
+wire           P8_29;
+wire           P8_30;
+wire           P8_31;
+wire           P8_32;
+wire           P8_33;
+wire           P8_34;
+wire           P8_35;
+wire           P8_36;
+wire           P8_37;
+wire           P8_38;
+wire           P8_39;
+wire           P8_40;
+wire           P8_41;
+wire           P8_42;
+wire           P8_43;
+wire           P8_44;
+wire           P8_45;
+wire           P8_46;
+wire           P9_11;
+wire           P9_12;
+wire           P9_13;
+wire           P9_14;
+wire           P9_15;
+wire           P9_16;
+wire           P9_17;
+wire           P9_18;
+wire           P9_21;
+wire           P9_22;
+wire           P9_23;
+wire           P9_24;
+wire           P9_25;
+wire           P9_26;
+wire           P9_27;
+wire           P9_28;
+wire           P9_29;
+wire           P9_30;
+wire           P9_31;
+wire           P9_41;
+wire           P9_42;
+wire           PCLK;
+wire           PRESETN;
+wire           BLINK;
+wire   [31:0]  APB_SLAVE_PRDATA_net_0;
+wire   [27:0]  GPIO_IN_net_1;
+wire   [46:31] GPIO_IN_slice_0;
+wire   [46:3]  GPIO_OE_net_0;
+wire   [46:3]  GPIO_OUT_net_0;
+wire   [46:3]  GPIO_IN_net_2;
+//--------------------------------------------------------------------
+// TiedOff Nets
+//--------------------------------------------------------------------
+wire   [46:31] GPIO_OE_const_net_0;
+wire   [46:31] GPIO_OUT_const_net_0;
+wire   [18:11] GPIO_OE_const_net_1;
+wire   [18:11] GPIO_OUT_const_net_1;
+wire   [31:21] GPIO_OE_const_net_2;
+wire   [31:21] GPIO_OUT_const_net_2;
+wire   [42:41] GPIO_OE_const_net_3;
+wire   [42:41] GPIO_OUT_const_net_3;
+//--------------------------------------------------------------------
+// Bus Interface Nets Declarations - Unequal Pin Widths
+//--------------------------------------------------------------------
+wire   [31:0]  APB_SLAVE_SLAVE_PADDR;
+wire   [7:0]   APB_SLAVE_SLAVE_PADDR_0;
+wire   [7:0]   APB_SLAVE_SLAVE_PADDR_0_7to0;
+//--------------------------------------------------------------------
+// Constant assignments
+//--------------------------------------------------------------------
+assign GPIO_OE_const_net_0  = 16'h0000;
+assign GPIO_OUT_const_net_0 = 16'h0000;
+assign GPIO_OE_const_net_1  = 8'h00;
+assign GPIO_OUT_const_net_1 = 8'h00;
+assign GPIO_OE_const_net_2  = 11'h000;
+assign GPIO_OUT_const_net_2 = 11'h000;
+assign GPIO_OE_const_net_3  = 2'h0;
+assign GPIO_OUT_const_net_3 = 2'h0;
+//--------------------------------------------------------------------
+// TieOff assignments
+//--------------------------------------------------------------------
+assign INT_A[7:0]                    = 8'h00;
+assign INT_B[7:0]                    = 8'h00;
+assign INT_C[7:0]                    = 8'h00;
+//--------------------------------------------------------------------
+// Top level output port assignments
+//--------------------------------------------------------------------
+assign APB_SLAVE_PRDATA_net_0       = APB_SLAVE_PRDATA;
+assign APB_SLAVE_SLAVE_PRDATA[31:0] = APB_SLAVE_PRDATA_net_0;
+assign GPIO_IN_net_1                = GPIO_IN_net_0;
+assign GPIO_IN[27:0]                = GPIO_IN_net_1;
+//--------------------------------------------------------------------
+// Slices assignments
+//--------------------------------------------------------------------
+assign GPIO_IN_net_0   = GPIO_IN_net_2[30:3];
+assign GPIO_IN_slice_0 = GPIO_IN_net_2[46:31];
+//--------------------------------------------------------------------
+// Concatenation assignments
+//--------------------------------------------------------------------
+assign GPIO_OE_net_0  = { 16'h0000 , GPIO_OE[27:6], 1'b1, GPIO_OE[4:0] };
+assign GPIO_OUT_net_0 = { 16'h0000 , GPIO_OUT[27:6], BLINK, GPIO_OUT[4:0] };
+//--------------------------------------------------------------------
+// Bus Interface Nets Assignments - Unequal Pin Widths
+//--------------------------------------------------------------------
+assign APB_SLAVE_SLAVE_PADDR_0 = { APB_SLAVE_SLAVE_PADDR_0_7to0 };
+assign APB_SLAVE_SLAVE_PADDR_0_7to0 = APB_SLAVE_SLAVE_PADDR[7:0];
+
+//--------------------------------------------------------------------
+// Component instances
+//--------------------------------------------------------------------
+//--------apb_ctrl_status
+apb_ctrl_status apb_ctrl_status_0(
+        // Inputs
+        .presetn ( PRESETN ),
+        .pclk    ( PCLK ),
+        .psel    ( APB_SLAVE_SLAVE_PSEL ),
+        .penable ( APB_SLAVE_SLAVE_PENABLE ),
+        .pwrite  ( APB_SLAVE_SLAVE_PWRITE ),
+        .paddr   ( APB_SLAVE_SLAVE_PADDR_0 ),
+        .pwdata  ( APB_SLAVE_SLAVE_PWDATA ),
+        .status  ( apb_ctrl_status_0_control ),
+        // Outputs
+        .prdata  ( APB_SLAVE_PRDATA ),
+        .control ( apb_ctrl_status_0_control ) 
+        );
+
+//--------P8_IOPADS
+P8_IOPADS P8_IOPADS_0(
+        // Inputs
+        .GPIO_OE  ( GPIO_OE_net_0 ),
+        .GPIO_OUT ( GPIO_OUT_net_0 ),
+        // Outputs
+        .GPIO_IN  ( GPIO_IN_net_2 ),
+        // Inouts
+        .P8_3     ( P8_3 ),
+        .P8_4     ( P8_4 ),
+        .P8_5     ( P8_5 ),
+        .P8_6     ( P8_6 ),
+        .P8_7     ( P8_7 ),
+        .P8_8     ( P8_8 ),
+        .P8_9     ( P8_9 ),
+        .P8_10    ( P8_10 ),
+        .P8_11    ( P8_11 ),
+        .P8_12    ( P8_12 ),
+        .P8_13    ( P8_13 ),
+        .P8_14    ( P8_14 ),
+        .P8_15    ( P8_15 ),
+        .P8_16    ( P8_16 ),
+        .P8_17    ( P8_17 ),
+        .P8_18    ( P8_18 ),
+        .P8_19    ( P8_19 ),
+        .P8_20    ( P8_20 ),
+        .P8_21    ( P8_21 ),
+        .P8_22    ( P8_22 ),
+        .P8_23    ( P8_23 ),
+        .P8_24    ( P8_24 ),
+        .P8_25    ( P8_25 ),
+        .P8_26    ( P8_26 ),
+        .P8_27    ( P8_27 ),
+        .P8_28    ( P8_28 ),
+        .P8_29    ( P8_29 ),
+        .P8_30    ( P8_30 ),
+        .P8_31    ( P8_31 ),
+        .P8_32    ( P8_32 ),
+        .P8_33    ( P8_33 ),
+        .P8_34    ( P8_34 ),
+        .P8_35    ( P8_35 ),
+        .P8_36    ( P8_36 ),
+        .P8_37    ( P8_37 ),
+        .P8_38    ( P8_38 ),
+        .P8_39    ( P8_39 ),
+        .P8_40    ( P8_40 ),
+        .P8_41    ( P8_41 ),
+        .P8_42    ( P8_42 ),
+        .P8_43    ( P8_43 ),
+        .P8_44    ( P8_44 ),
+        .P8_45    ( P8_45 ),
+        .P8_46    ( P8_46 )
+        );
+
+//--------P9_11_18_IOPADS
+P9_11_18_IOPADS P9_11_18_IOPADS_0(
+        // Inputs
+        .GPIO_OE  ( GPIO_OE_const_net_1 ),
+        .GPIO_OUT ( GPIO_OUT_const_net_1 ),
+        // Outputs
+        .GPIO_IN  (  ),
+        // Inouts
+        .P9_11    ( P9_11 ),
+        .P9_12    ( P9_12 ),
+        .P9_13    ( P9_13 ),
+        .P9_14    ( P9_14 ),
+        .P9_15    ( P9_15 ),
+        .P9_16    ( P9_16 ),
+        .P9_17    ( P9_17 ),
+        .P9_18    ( P9_18 ) 
+        );
+
+//--------P9_21_31_IOPADS
+P9_21_31_IOPADS P9_21_31_IOPADS_0(
+        // Inputs
+        .GPIO_OE  ( GPIO_OE_const_net_2 ),
+        .GPIO_OUT ( GPIO_OUT_const_net_2 ),
+        // Outputs
+        .GPIO_IN  (  ),
+        // Inouts
+        .P9_21    ( P9_21 ),
+        .P9_22    ( P9_22 ),
+        .P9_23    ( P9_23 ),
+        .P9_24    ( P9_24 ),
+        .P9_25    ( P9_25 ),
+        .P9_26    ( P9_26 ),
+        .P9_27    ( P9_27 ),
+        .P9_28    ( P9_28 ),
+        .P9_29    ( P9_29 ),
+        .P9_30    ( P9_30 ),
+        .P9_31    ( P9_31 ) 
+        );
+
+//--------P9_41_42_IOPADS
+P9_41_42_IOPADS P9_41_42_IOPADS_0(
+        // Inputs
+        .GPIO_OE  ( GPIO_OE_const_net_3 ),
+        .GPIO_OUT ( GPIO_OUT_const_net_3 ),
+        // Outputs
+        .GPIO_IN  (  ),
+        // Inouts
+        .P9_41    ( P9_41 ),
+        .P9_42    ( P9_42 ) 
+        );
+
+//--------blinky
+blinky blinky_0(
+        .clk     ( PCLK ),
+        .resetn  ( PRESETN ),
+        .blink   ( BLINK )
+        );
+
+endmodule
diff --git a/sources/FPGA-design/script_support/components/CAPE/MY_LOVELY_CAPE/HDL/P8_IOPADS.v b/sources/FPGA-design/script_support/components/CAPE/MY_LOVELY_CAPE/HDL/P8_IOPADS.v
new file mode 100644
index 0000000000000000000000000000000000000000..a0ed0565dec55d6216e6fdc9677d0d6864329f83
--- /dev/null
+++ b/sources/FPGA-design/script_support/components/CAPE/MY_LOVELY_CAPE/HDL/P8_IOPADS.v
@@ -0,0 +1,1013 @@
+//////////////////////////////////////////////////////////////////////
+// Created by SmartDesign Sat Dec  2 16:38:15 2023
+// Version: 2022.3 2022.3.0.8
+//////////////////////////////////////////////////////////////////////
+
+`timescale 1ns / 100ps
+
+// P8_IOPADS
+module P8_IOPADS(
+    // Inputs
+    GPIO_OE,
+    GPIO_OUT,
+    // Outputs
+    GPIO_IN,
+    // Inouts
+    P8_3,
+    P8_4,
+    P8_5,
+    P8_6,
+    P8_7,
+    P8_8,
+    P8_9,
+    P8_10,
+    P8_11,
+    P8_12,
+    P8_13,
+    P8_14,
+    P8_15,
+    P8_16,
+    P8_17,
+    P8_18,
+    P8_19,
+    P8_20,
+    P8_21,
+    P8_22,
+    P8_23,
+    P8_24,
+    P8_25,
+    P8_26,
+    P8_27,
+    P8_28,
+    P8_29,
+    P8_30,
+    P8_31,
+    P8_32,
+    P8_33,
+    P8_34,
+    P8_35,
+    P8_36,
+    P8_37,
+    P8_38,
+    P8_39,
+    P8_40,
+    P8_41,
+    P8_42,
+    P8_43,
+    P8_44,
+    P8_45,
+    P8_46
+);
+
+//--------------------------------------------------------------------
+// Input
+//--------------------------------------------------------------------
+input  [46:3] GPIO_OE;
+input  [46:3] GPIO_OUT;
+//--------------------------------------------------------------------
+// Output
+//--------------------------------------------------------------------
+output [46:3] GPIO_IN;
+//--------------------------------------------------------------------
+// Inout
+//--------------------------------------------------------------------
+inout         P8_3;
+inout         P8_4;
+inout         P8_5;
+inout         P8_6;
+inout         P8_7;
+inout         P8_8;
+inout         P8_9;
+inout         P8_10;
+inout         P8_11;
+inout         P8_12;
+inout         P8_13;
+inout         P8_14;
+inout         P8_15;
+inout         P8_16;
+inout         P8_17;
+inout         P8_18;
+inout         P8_19;
+inout         P8_20;
+inout         P8_21;
+inout         P8_22;
+inout         P8_23;
+inout         P8_24;
+inout         P8_25;
+inout         P8_26;
+inout         P8_27;
+inout         P8_28;
+inout         P8_29;
+inout         P8_30;
+inout         P8_31;
+inout         P8_32;
+inout         P8_33;
+inout         P8_34;
+inout         P8_35;
+inout         P8_36;
+inout         P8_37;
+inout         P8_38;
+inout         P8_39;
+inout         P8_40;
+inout         P8_41;
+inout         P8_42;
+inout         P8_43;
+inout         P8_44;
+inout         P8_45;
+inout         P8_46;
+//--------------------------------------------------------------------
+// Nets
+//--------------------------------------------------------------------
+wire           GPIO_IN_net_0;
+wire           GPIO_IN_0;
+wire           GPIO_IN_1;
+wire           GPIO_IN_2;
+wire           GPIO_IN_3;
+wire           GPIO_IN_4;
+wire           GPIO_IN_5;
+wire           GPIO_IN_6;
+wire           GPIO_IN_7;
+wire           GPIO_IN_8;
+wire           GPIO_IN_9;
+wire           GPIO_IN_10;
+wire           GPIO_IN_11;
+wire           GPIO_IN_12;
+wire           GPIO_IN_13;
+wire           GPIO_IN_14;
+wire           GPIO_IN_15;
+wire           GPIO_IN_16;
+wire           GPIO_IN_17;
+wire           GPIO_IN_18;
+wire           GPIO_IN_19;
+wire           GPIO_IN_20;
+wire           GPIO_IN_21;
+wire           GPIO_IN_22;
+wire           GPIO_IN_23;
+wire           GPIO_IN_24;
+wire           GPIO_IN_25;
+wire           GPIO_IN_26;
+wire           GPIO_IN_27;
+wire           GPIO_IN_28;
+wire           GPIO_IN_29;
+wire           GPIO_IN_30;
+wire           GPIO_IN_31;
+wire           GPIO_IN_32;
+wire           GPIO_IN_33;
+wire           GPIO_IN_34;
+wire           GPIO_IN_35;
+wire           GPIO_IN_36;
+wire           GPIO_IN_37;
+wire           GPIO_IN_38;
+wire           GPIO_IN_39;
+wire           GPIO_IN_40;
+wire           GPIO_IN_41;
+wire           GPIO_IN_42;
+wire   [3:3]   GPIO_OE_slice_0;
+wire   [4:4]   GPIO_OE_slice_1;
+wire   [5:5]   GPIO_OE_slice_2;
+wire   [6:6]   GPIO_OE_slice_3;
+wire   [7:7]   GPIO_OE_slice_4;
+wire   [8:8]   GPIO_OE_slice_5;
+wire   [9:9]   GPIO_OE_slice_6;
+wire   [10:10] GPIO_OE_slice_7;
+wire   [11:11] GPIO_OE_slice_8;
+wire   [12:12] GPIO_OE_slice_9;
+wire   [13:13] GPIO_OE_slice_10;
+wire   [14:14] GPIO_OE_slice_11;
+wire   [15:15] GPIO_OE_slice_12;
+wire   [16:16] GPIO_OE_slice_13;
+wire   [17:17] GPIO_OE_slice_14;
+wire   [18:18] GPIO_OE_slice_15;
+wire   [19:19] GPIO_OE_slice_16;
+wire   [20:20] GPIO_OE_slice_17;
+wire   [21:21] GPIO_OE_slice_18;
+wire   [22:22] GPIO_OE_slice_19;
+wire   [23:23] GPIO_OE_slice_20;
+wire   [24:24] GPIO_OE_slice_21;
+wire   [25:25] GPIO_OE_slice_22;
+wire   [26:26] GPIO_OE_slice_23;
+wire   [27:27] GPIO_OE_slice_24;
+wire   [28:28] GPIO_OE_slice_25;
+wire   [29:29] GPIO_OE_slice_26;
+wire   [30:30] GPIO_OE_slice_27;
+wire   [31:31] GPIO_OE_slice_28;
+wire   [32:32] GPIO_OE_slice_29;
+wire   [33:33] GPIO_OE_slice_30;
+wire   [34:34] GPIO_OE_slice_31;
+wire   [35:35] GPIO_OE_slice_32;
+wire   [36:36] GPIO_OE_slice_33;
+wire   [37:37] GPIO_OE_slice_34;
+wire   [38:38] GPIO_OE_slice_35;
+wire   [39:39] GPIO_OE_slice_36;
+wire   [40:40] GPIO_OE_slice_37;
+wire   [41:41] GPIO_OE_slice_38;
+wire   [42:42] GPIO_OE_slice_39;
+wire   [43:43] GPIO_OE_slice_40;
+wire   [44:44] GPIO_OE_slice_41;
+wire   [45:45] GPIO_OE_slice_42;
+wire   [46:46] GPIO_OE_slice_43;
+wire   [3:3]   GPIO_OUT_slice_0;
+wire   [4:4]   GPIO_OUT_slice_1;
+wire   [5:5]   GPIO_OUT_slice_2;
+wire   [6:6]   GPIO_OUT_slice_3;
+wire   [7:7]   GPIO_OUT_slice_4;
+wire   [8:8]   GPIO_OUT_slice_5;
+wire   [9:9]   GPIO_OUT_slice_6;
+wire   [10:10] GPIO_OUT_slice_7;
+wire   [11:11] GPIO_OUT_slice_8;
+wire   [12:12] GPIO_OUT_slice_9;
+wire   [13:13] GPIO_OUT_slice_10;
+wire   [14:14] GPIO_OUT_slice_11;
+wire   [15:15] GPIO_OUT_slice_12;
+wire   [16:16] GPIO_OUT_slice_13;
+wire   [17:17] GPIO_OUT_slice_14;
+wire   [18:18] GPIO_OUT_slice_15;
+wire   [19:19] GPIO_OUT_slice_16;
+wire   [20:20] GPIO_OUT_slice_17;
+wire   [21:21] GPIO_OUT_slice_18;
+wire   [22:22] GPIO_OUT_slice_19;
+wire   [23:23] GPIO_OUT_slice_20;
+wire   [24:24] GPIO_OUT_slice_21;
+wire   [25:25] GPIO_OUT_slice_22;
+wire   [26:26] GPIO_OUT_slice_23;
+wire   [27:27] GPIO_OUT_slice_24;
+wire   [28:28] GPIO_OUT_slice_25;
+wire   [29:29] GPIO_OUT_slice_26;
+wire   [30:30] GPIO_OUT_slice_27;
+wire   [31:31] GPIO_OUT_slice_28;
+wire   [32:32] GPIO_OUT_slice_29;
+wire   [33:33] GPIO_OUT_slice_30;
+wire   [34:34] GPIO_OUT_slice_31;
+wire   [35:35] GPIO_OUT_slice_32;
+wire   [36:36] GPIO_OUT_slice_33;
+wire   [37:37] GPIO_OUT_slice_34;
+wire   [38:38] GPIO_OUT_slice_35;
+wire   [39:39] GPIO_OUT_slice_36;
+wire   [40:40] GPIO_OUT_slice_37;
+wire   [41:41] GPIO_OUT_slice_38;
+wire   [42:42] GPIO_OUT_slice_39;
+wire   [43:43] GPIO_OUT_slice_40;
+wire   [44:44] GPIO_OUT_slice_41;
+wire   [45:45] GPIO_OUT_slice_42;
+wire   [46:46] GPIO_OUT_slice_43;
+wire           P8_3;
+wire           P8_4;
+wire           P8_5;
+wire           P8_6;
+wire           P8_7;
+wire           P8_8;
+wire           P8_9;
+wire           P8_10;
+wire           P8_11;
+wire           P8_12;
+wire           P8_13;
+wire           P8_14;
+wire           P8_15;
+wire           P8_16;
+wire           P8_17;
+wire           P8_18;
+wire           P8_19;
+wire           P8_20;
+wire           P8_21;
+wire           P8_22;
+wire           P8_23;
+wire           P8_24;
+wire           P8_25;
+wire           P8_26;
+wire           P8_27;
+wire           P8_28;
+wire           P8_29;
+wire           P8_30;
+wire           P8_31;
+wire           P8_32;
+wire           P8_33;
+wire           P8_34;
+wire           P8_35;
+wire           P8_36;
+wire           P8_37;
+wire           P8_38;
+wire           P8_39;
+wire           P8_40;
+wire           P8_41;
+wire           P8_42;
+wire           P8_43;
+wire           P8_44;
+wire           P8_45;
+wire           P8_46;
+wire   [10:10] GPIO_IN_6_net_0;
+wire   [11:11] GPIO_IN_7_net_0;
+wire   [12:12] GPIO_IN_8_net_0;
+wire   [13:13] GPIO_IN_9_net_0;
+wire   [14:14] GPIO_IN_10_net_0;
+wire   [15:15] GPIO_IN_11_net_0;
+wire   [16:16] GPIO_IN_12_net_0;
+wire   [17:17] GPIO_IN_13_net_0;
+wire   [18:18] GPIO_IN_14_net_0;
+wire   [19:19] GPIO_IN_15_net_0;
+wire   [20:20] GPIO_IN_16_net_0;
+wire   [21:21] GPIO_IN_17_net_0;
+wire   [22:22] GPIO_IN_18_net_0;
+wire   [23:23] GPIO_IN_19_net_0;
+wire   [24:24] GPIO_IN_20_net_0;
+wire   [25:25] GPIO_IN_21_net_0;
+wire   [26:26] GPIO_IN_22_net_0;
+wire   [27:27] GPIO_IN_23_net_0;
+wire   [28:28] GPIO_IN_24_net_0;
+wire   [29:29] GPIO_IN_25_net_0;
+wire   [30:30] GPIO_IN_26_net_0;
+wire   [31:31] GPIO_IN_27_net_0;
+wire   [32:32] GPIO_IN_28_net_0;
+wire   [33:33] GPIO_IN_29_net_0;
+wire   [34:34] GPIO_IN_30_net_0;
+wire   [35:35] GPIO_IN_31_net_0;
+wire   [36:36] GPIO_IN_32_net_0;
+wire   [37:37] GPIO_IN_33_net_0;
+wire   [38:38] GPIO_IN_34_net_0;
+wire   [39:39] GPIO_IN_35_net_0;
+wire   [3:3]   GPIO_IN_net_1;
+wire   [40:40] GPIO_IN_36_net_0;
+wire   [41:41] GPIO_IN_37_net_0;
+wire   [42:42] GPIO_IN_38_net_0;
+wire   [43:43] GPIO_IN_39_net_0;
+wire   [44:44] GPIO_IN_40_net_0;
+wire   [45:45] GPIO_IN_41_net_0;
+wire   [46:46] GPIO_IN_42_net_0;
+wire   [4:4]   GPIO_IN_0_net_0;
+wire   [5:5]   GPIO_IN_1_net_0;
+wire   [6:6]   GPIO_IN_2_net_0;
+wire   [7:7]   GPIO_IN_3_net_0;
+wire   [8:8]   GPIO_IN_4_net_0;
+wire   [9:9]   GPIO_IN_5_net_0;
+wire   [46:3]  GPIO_OUT;
+wire   [46:3]  GPIO_OE;
+//--------------------------------------------------------------------
+// Top level output port assignments
+//--------------------------------------------------------------------
+assign GPIO_IN_6_net_0[10]  = GPIO_IN_6;
+assign GPIO_IN[10:10]       = GPIO_IN_6_net_0[10];
+assign GPIO_IN_7_net_0[11]  = GPIO_IN_7;
+assign GPIO_IN[11:11]       = GPIO_IN_7_net_0[11];
+assign GPIO_IN_8_net_0[12]  = GPIO_IN_8;
+assign GPIO_IN[12:12]       = GPIO_IN_8_net_0[12];
+assign GPIO_IN_9_net_0[13]  = GPIO_IN_9;
+assign GPIO_IN[13:13]       = GPIO_IN_9_net_0[13];
+assign GPIO_IN_10_net_0[14] = GPIO_IN_10;
+assign GPIO_IN[14:14]       = GPIO_IN_10_net_0[14];
+assign GPIO_IN_11_net_0[15] = GPIO_IN_11;
+assign GPIO_IN[15:15]       = GPIO_IN_11_net_0[15];
+assign GPIO_IN_12_net_0[16] = GPIO_IN_12;
+assign GPIO_IN[16:16]       = GPIO_IN_12_net_0[16];
+assign GPIO_IN_13_net_0[17] = GPIO_IN_13;
+assign GPIO_IN[17:17]       = GPIO_IN_13_net_0[17];
+assign GPIO_IN_14_net_0[18] = GPIO_IN_14;
+assign GPIO_IN[18:18]       = GPIO_IN_14_net_0[18];
+assign GPIO_IN_15_net_0[19] = GPIO_IN_15;
+assign GPIO_IN[19:19]       = GPIO_IN_15_net_0[19];
+assign GPIO_IN_16_net_0[20] = GPIO_IN_16;
+assign GPIO_IN[20:20]       = GPIO_IN_16_net_0[20];
+assign GPIO_IN_17_net_0[21] = GPIO_IN_17;
+assign GPIO_IN[21:21]       = GPIO_IN_17_net_0[21];
+assign GPIO_IN_18_net_0[22] = GPIO_IN_18;
+assign GPIO_IN[22:22]       = GPIO_IN_18_net_0[22];
+assign GPIO_IN_19_net_0[23] = GPIO_IN_19;
+assign GPIO_IN[23:23]       = GPIO_IN_19_net_0[23];
+assign GPIO_IN_20_net_0[24] = GPIO_IN_20;
+assign GPIO_IN[24:24]       = GPIO_IN_20_net_0[24];
+assign GPIO_IN_21_net_0[25] = GPIO_IN_21;
+assign GPIO_IN[25:25]       = GPIO_IN_21_net_0[25];
+assign GPIO_IN_22_net_0[26] = GPIO_IN_22;
+assign GPIO_IN[26:26]       = GPIO_IN_22_net_0[26];
+assign GPIO_IN_23_net_0[27] = GPIO_IN_23;
+assign GPIO_IN[27:27]       = GPIO_IN_23_net_0[27];
+assign GPIO_IN_24_net_0[28] = GPIO_IN_24;
+assign GPIO_IN[28:28]       = GPIO_IN_24_net_0[28];
+assign GPIO_IN_25_net_0[29] = GPIO_IN_25;
+assign GPIO_IN[29:29]       = GPIO_IN_25_net_0[29];
+assign GPIO_IN_26_net_0[30] = GPIO_IN_26;
+assign GPIO_IN[30:30]       = GPIO_IN_26_net_0[30];
+assign GPIO_IN_27_net_0[31] = GPIO_IN_27;
+assign GPIO_IN[31:31]       = GPIO_IN_27_net_0[31];
+assign GPIO_IN_28_net_0[32] = GPIO_IN_28;
+assign GPIO_IN[32:32]       = GPIO_IN_28_net_0[32];
+assign GPIO_IN_29_net_0[33] = GPIO_IN_29;
+assign GPIO_IN[33:33]       = GPIO_IN_29_net_0[33];
+assign GPIO_IN_30_net_0[34] = GPIO_IN_30;
+assign GPIO_IN[34:34]       = GPIO_IN_30_net_0[34];
+assign GPIO_IN_31_net_0[35] = GPIO_IN_31;
+assign GPIO_IN[35:35]       = GPIO_IN_31_net_0[35];
+assign GPIO_IN_32_net_0[36] = GPIO_IN_32;
+assign GPIO_IN[36:36]       = GPIO_IN_32_net_0[36];
+assign GPIO_IN_33_net_0[37] = GPIO_IN_33;
+assign GPIO_IN[37:37]       = GPIO_IN_33_net_0[37];
+assign GPIO_IN_34_net_0[38] = GPIO_IN_34;
+assign GPIO_IN[38:38]       = GPIO_IN_34_net_0[38];
+assign GPIO_IN_35_net_0[39] = GPIO_IN_35;
+assign GPIO_IN[39:39]       = GPIO_IN_35_net_0[39];
+assign GPIO_IN_net_1[3]     = GPIO_IN_net_0;
+assign GPIO_IN[3:3]         = GPIO_IN_net_1[3];
+assign GPIO_IN_36_net_0[40] = GPIO_IN_36;
+assign GPIO_IN[40:40]       = GPIO_IN_36_net_0[40];
+assign GPIO_IN_37_net_0[41] = GPIO_IN_37;
+assign GPIO_IN[41:41]       = GPIO_IN_37_net_0[41];
+assign GPIO_IN_38_net_0[42] = GPIO_IN_38;
+assign GPIO_IN[42:42]       = GPIO_IN_38_net_0[42];
+assign GPIO_IN_39_net_0[43] = GPIO_IN_39;
+assign GPIO_IN[43:43]       = GPIO_IN_39_net_0[43];
+assign GPIO_IN_40_net_0[44] = GPIO_IN_40;
+assign GPIO_IN[44:44]       = GPIO_IN_40_net_0[44];
+assign GPIO_IN_41_net_0[45] = GPIO_IN_41;
+assign GPIO_IN[45:45]       = GPIO_IN_41_net_0[45];
+assign GPIO_IN_42_net_0[46] = GPIO_IN_42;
+assign GPIO_IN[46:46]       = GPIO_IN_42_net_0[46];
+assign GPIO_IN_0_net_0[4]   = GPIO_IN_0;
+assign GPIO_IN[4:4]         = GPIO_IN_0_net_0[4];
+assign GPIO_IN_1_net_0[5]   = GPIO_IN_1;
+assign GPIO_IN[5:5]         = GPIO_IN_1_net_0[5];
+assign GPIO_IN_2_net_0[6]   = GPIO_IN_2;
+assign GPIO_IN[6:6]         = GPIO_IN_2_net_0[6];
+assign GPIO_IN_3_net_0[7]   = GPIO_IN_3;
+assign GPIO_IN[7:7]         = GPIO_IN_3_net_0[7];
+assign GPIO_IN_4_net_0[8]   = GPIO_IN_4;
+assign GPIO_IN[8:8]         = GPIO_IN_4_net_0[8];
+assign GPIO_IN_5_net_0[9]   = GPIO_IN_5;
+assign GPIO_IN[9:9]         = GPIO_IN_5_net_0[9];
+//--------------------------------------------------------------------
+// Slices assignments
+//--------------------------------------------------------------------
+assign GPIO_OE_slice_0[3]    = GPIO_OE[3:3];
+assign GPIO_OE_slice_1[4]    = GPIO_OE[4:4];
+assign GPIO_OE_slice_2[5]    = GPIO_OE[5:5];
+assign GPIO_OE_slice_3[6]    = GPIO_OE[6:6];
+assign GPIO_OE_slice_4[7]    = GPIO_OE[7:7];
+assign GPIO_OE_slice_5[8]    = GPIO_OE[8:8];
+assign GPIO_OE_slice_6[9]    = GPIO_OE[9:9];
+assign GPIO_OE_slice_7[10]   = GPIO_OE[10:10];
+assign GPIO_OE_slice_8[11]   = GPIO_OE[11:11];
+assign GPIO_OE_slice_9[12]   = GPIO_OE[12:12];
+assign GPIO_OE_slice_10[13]  = GPIO_OE[13:13];
+assign GPIO_OE_slice_11[14]  = GPIO_OE[14:14];
+assign GPIO_OE_slice_12[15]  = GPIO_OE[15:15];
+assign GPIO_OE_slice_13[16]  = GPIO_OE[16:16];
+assign GPIO_OE_slice_14[17]  = GPIO_OE[17:17];
+assign GPIO_OE_slice_15[18]  = GPIO_OE[18:18];
+assign GPIO_OE_slice_16[19]  = GPIO_OE[19:19];
+assign GPIO_OE_slice_17[20]  = GPIO_OE[20:20];
+assign GPIO_OE_slice_18[21]  = GPIO_OE[21:21];
+assign GPIO_OE_slice_19[22]  = GPIO_OE[22:22];
+assign GPIO_OE_slice_20[23]  = GPIO_OE[23:23];
+assign GPIO_OE_slice_21[24]  = GPIO_OE[24:24];
+assign GPIO_OE_slice_22[25]  = GPIO_OE[25:25];
+assign GPIO_OE_slice_23[26]  = GPIO_OE[26:26];
+assign GPIO_OE_slice_24[27]  = GPIO_OE[27:27];
+assign GPIO_OE_slice_25[28]  = GPIO_OE[28:28];
+assign GPIO_OE_slice_26[29]  = GPIO_OE[29:29];
+assign GPIO_OE_slice_27[30]  = GPIO_OE[30:30];
+assign GPIO_OE_slice_28[31]  = GPIO_OE[31:31];
+assign GPIO_OE_slice_29[32]  = GPIO_OE[32:32];
+assign GPIO_OE_slice_30[33]  = GPIO_OE[33:33];
+assign GPIO_OE_slice_31[34]  = GPIO_OE[34:34];
+assign GPIO_OE_slice_32[35]  = GPIO_OE[35:35];
+assign GPIO_OE_slice_33[36]  = GPIO_OE[36:36];
+assign GPIO_OE_slice_34[37]  = GPIO_OE[37:37];
+assign GPIO_OE_slice_35[38]  = GPIO_OE[38:38];
+assign GPIO_OE_slice_36[39]  = GPIO_OE[39:39];
+assign GPIO_OE_slice_37[40]  = GPIO_OE[40:40];
+assign GPIO_OE_slice_38[41]  = GPIO_OE[41:41];
+assign GPIO_OE_slice_39[42]  = GPIO_OE[42:42];
+assign GPIO_OE_slice_40[43]  = GPIO_OE[43:43];
+assign GPIO_OE_slice_41[44]  = GPIO_OE[44:44];
+assign GPIO_OE_slice_42[45]  = GPIO_OE[45:45];
+assign GPIO_OE_slice_43[46]  = GPIO_OE[46:46];
+assign GPIO_OUT_slice_0[3]   = GPIO_OUT[3:3];
+assign GPIO_OUT_slice_1[4]   = GPIO_OUT[4:4];
+assign GPIO_OUT_slice_2[5]   = GPIO_OUT[5:5];
+assign GPIO_OUT_slice_3[6]   = GPIO_OUT[6:6];
+assign GPIO_OUT_slice_4[7]   = GPIO_OUT[7:7];
+assign GPIO_OUT_slice_5[8]   = GPIO_OUT[8:8];
+assign GPIO_OUT_slice_6[9]   = GPIO_OUT[9:9];
+assign GPIO_OUT_slice_7[10]  = GPIO_OUT[10:10];
+assign GPIO_OUT_slice_8[11]  = GPIO_OUT[11:11];
+assign GPIO_OUT_slice_9[12]  = GPIO_OUT[12:12];
+assign GPIO_OUT_slice_10[13] = GPIO_OUT[13:13];
+assign GPIO_OUT_slice_11[14] = GPIO_OUT[14:14];
+assign GPIO_OUT_slice_12[15] = GPIO_OUT[15:15];
+assign GPIO_OUT_slice_13[16] = GPIO_OUT[16:16];
+assign GPIO_OUT_slice_14[17] = GPIO_OUT[17:17];
+assign GPIO_OUT_slice_15[18] = GPIO_OUT[18:18];
+assign GPIO_OUT_slice_16[19] = GPIO_OUT[19:19];
+assign GPIO_OUT_slice_17[20] = GPIO_OUT[20:20];
+assign GPIO_OUT_slice_18[21] = GPIO_OUT[21:21];
+assign GPIO_OUT_slice_19[22] = GPIO_OUT[22:22];
+assign GPIO_OUT_slice_20[23] = GPIO_OUT[23:23];
+assign GPIO_OUT_slice_21[24] = GPIO_OUT[24:24];
+assign GPIO_OUT_slice_22[25] = GPIO_OUT[25:25];
+assign GPIO_OUT_slice_23[26] = GPIO_OUT[26:26];
+assign GPIO_OUT_slice_24[27] = GPIO_OUT[27:27];
+assign GPIO_OUT_slice_25[28] = GPIO_OUT[28:28];
+assign GPIO_OUT_slice_26[29] = GPIO_OUT[29:29];
+assign GPIO_OUT_slice_27[30] = GPIO_OUT[30:30];
+assign GPIO_OUT_slice_28[31] = GPIO_OUT[31:31];
+assign GPIO_OUT_slice_29[32] = GPIO_OUT[32:32];
+assign GPIO_OUT_slice_30[33] = GPIO_OUT[33:33];
+assign GPIO_OUT_slice_31[34] = GPIO_OUT[34:34];
+assign GPIO_OUT_slice_32[35] = GPIO_OUT[35:35];
+assign GPIO_OUT_slice_33[36] = GPIO_OUT[36:36];
+assign GPIO_OUT_slice_34[37] = GPIO_OUT[37:37];
+assign GPIO_OUT_slice_35[38] = GPIO_OUT[38:38];
+assign GPIO_OUT_slice_36[39] = GPIO_OUT[39:39];
+assign GPIO_OUT_slice_37[40] = GPIO_OUT[40:40];
+assign GPIO_OUT_slice_38[41] = GPIO_OUT[41:41];
+assign GPIO_OUT_slice_39[42] = GPIO_OUT[42:42];
+assign GPIO_OUT_slice_40[43] = GPIO_OUT[43:43];
+assign GPIO_OUT_slice_41[44] = GPIO_OUT[44:44];
+assign GPIO_OUT_slice_42[45] = GPIO_OUT[45:45];
+assign GPIO_OUT_slice_43[46] = GPIO_OUT[46:46];
+//--------------------------------------------------------------------
+// Component instances
+//--------------------------------------------------------------------
+//--------BIBUF
+BIBUF P8_3_BIBUF(
+        // Inputs
+        .D   ( GPIO_OUT_slice_0 ),
+        .E   ( GPIO_OE_slice_0 ),
+        // Outputs
+        .Y   ( GPIO_IN_net_0 ),
+        // Inouts
+        .PAD ( P8_3 ) 
+        );
+
+//--------BIBUF
+BIBUF P8_4_BIBUF(
+        // Inputs
+        .D   ( GPIO_OUT_slice_1 ),
+        .E   ( GPIO_OE_slice_1 ),
+        // Outputs
+        .Y   ( GPIO_IN_0 ),
+        // Inouts
+        .PAD ( P8_4 ) 
+        );
+
+//--------BIBUF
+BIBUF P8_5_BIBUF(
+        // Inputs
+        .D   ( GPIO_OUT_slice_2 ),
+        .E   ( GPIO_OE_slice_2 ),
+        // Outputs
+        .Y   ( GPIO_IN_1 ),
+        // Inouts
+        .PAD ( P8_5 ) 
+        );
+
+//--------BIBUF
+BIBUF P8_6_BIBUF(
+        // Inputs
+        .D   ( GPIO_OUT_slice_3 ),
+        .E   ( GPIO_OE_slice_3 ),
+        // Outputs
+        .Y   ( GPIO_IN_2 ),
+        // Inouts
+        .PAD ( P8_6 ) 
+        );
+
+//--------BIBUF
+BIBUF P8_7_BIBUF(
+        // Inputs
+        .D   ( GPIO_OUT_slice_4 ),
+        .E   ( GPIO_OE_slice_4 ),
+        // Outputs
+        .Y   ( GPIO_IN_3 ),
+        // Inouts
+        .PAD ( P8_7 ) 
+        );
+
+//--------BIBUF
+BIBUF P8_8_BIBUF(
+        // Inputs
+        .D   ( GPIO_OUT_slice_5 ),
+        .E   ( GPIO_OE_slice_5 ),
+        // Outputs
+        .Y   ( GPIO_IN_4 ),
+        // Inouts
+        .PAD ( P8_8 ) 
+        );
+
+//--------BIBUF
+BIBUF P8_9_BIBUF(
+        // Inputs
+        .D   ( GPIO_OUT_slice_6 ),
+        .E   ( GPIO_OE_slice_6 ),
+        // Outputs
+        .Y   ( GPIO_IN_5 ),
+        // Inouts
+        .PAD ( P8_9 ) 
+        );
+
+//--------BIBUF
+BIBUF P8_10_BIBUF(
+        // Inputs
+        .D   ( GPIO_OUT_slice_7 ),
+        .E   ( GPIO_OE_slice_7 ),
+        // Outputs
+        .Y   ( GPIO_IN_6 ),
+        // Inouts
+        .PAD ( P8_10 ) 
+        );
+
+//--------BIBUF
+BIBUF P8_11_BIBUF(
+        // Inputs
+        .D   ( GPIO_OUT_slice_8 ),
+        .E   ( GPIO_OE_slice_8 ),
+        // Outputs
+        .Y   ( GPIO_IN_7 ),
+        // Inouts
+        .PAD ( P8_11 ) 
+        );
+
+//--------BIBUF
+BIBUF P8_12_BIBUF(
+        // Inputs
+        .D   ( GPIO_OUT_slice_9 ),
+        .E   ( GPIO_OE_slice_9 ),
+        // Outputs
+        .Y   ( GPIO_IN_8 ),
+        // Inouts
+        .PAD ( P8_12 ) 
+        );
+
+//--------BIBUF
+BIBUF P8_13_BIBUF(
+        // Inputs
+        .D   ( GPIO_OUT_slice_10 ),
+        .E   ( GPIO_OE_slice_10 ),
+        // Outputs
+        .Y   ( GPIO_IN_9 ),
+        // Inouts
+        .PAD ( P8_13 ) 
+        );
+
+//--------BIBUF
+BIBUF P8_14_BIBUF(
+        // Inputs
+        .D   ( GPIO_OUT_slice_11 ),
+        .E   ( GPIO_OE_slice_11 ),
+        // Outputs
+        .Y   ( GPIO_IN_10 ),
+        // Inouts
+        .PAD ( P8_14 ) 
+        );
+
+//--------BIBUF
+BIBUF P8_15_BIBUF(
+        // Inputs
+        .D   ( GPIO_OUT_slice_12 ),
+        .E   ( GPIO_OE_slice_12 ),
+        // Outputs
+        .Y   ( GPIO_IN_11 ),
+        // Inouts
+        .PAD ( P8_15 ) 
+        );
+
+//--------BIBUF
+BIBUF P8_16_BIBUF(
+        // Inputs
+        .D   ( GPIO_OUT_slice_13 ),
+        .E   ( GPIO_OE_slice_13 ),
+        // Outputs
+        .Y   ( GPIO_IN_12 ),
+        // Inouts
+        .PAD ( P8_16 ) 
+        );
+
+//--------BIBUF
+BIBUF P8_17_BIBUF(
+        // Inputs
+        .D   ( GPIO_OUT_slice_14 ),
+        .E   ( GPIO_OE_slice_14 ),
+        // Outputs
+        .Y   ( GPIO_IN_13 ),
+        // Inouts
+        .PAD ( P8_17 ) 
+        );
+
+//--------BIBUF
+BIBUF P8_18_BIBUF(
+        // Inputs
+        .D   ( GPIO_OUT_slice_15 ),
+        .E   ( GPIO_OE_slice_15 ),
+        // Outputs
+        .Y   ( GPIO_IN_14 ),
+        // Inouts
+        .PAD ( P8_18 ) 
+        );
+
+//--------BIBUF
+BIBUF P8_19_BIBUF(
+        // Inputs
+        .D   ( GPIO_OUT_slice_16 ),
+        .E   ( GPIO_OE_slice_16 ),
+        // Outputs
+        .Y   ( GPIO_IN_15 ),
+        // Inouts
+        .PAD ( P8_19 ) 
+        );
+
+//--------BIBUF
+BIBUF P8_20_BIBUF(
+        // Inputs
+        .D   ( GPIO_OUT_slice_17 ),
+        .E   ( GPIO_OE_slice_17 ),
+        // Outputs
+        .Y   ( GPIO_IN_16 ),
+        // Inouts
+        .PAD ( P8_20 ) 
+        );
+
+//--------BIBUF
+BIBUF P8_21_BIBUF(
+        // Inputs
+        .D   ( GPIO_OUT_slice_18 ),
+        .E   ( GPIO_OE_slice_18 ),
+        // Outputs
+        .Y   ( GPIO_IN_17 ),
+        // Inouts
+        .PAD ( P8_21 ) 
+        );
+
+//--------BIBUF
+BIBUF P8_22_BIBUF(
+        // Inputs
+        .D   ( GPIO_OUT_slice_19 ),
+        .E   ( GPIO_OE_slice_19 ),
+        // Outputs
+        .Y   ( GPIO_IN_18 ),
+        // Inouts
+        .PAD ( P8_22 ) 
+        );
+
+//--------BIBUF
+BIBUF P8_23_BIBUF(
+        // Inputs
+        .D   ( GPIO_OUT_slice_20 ),
+        .E   ( GPIO_OE_slice_20 ),
+        // Outputs
+        .Y   ( GPIO_IN_19 ),
+        // Inouts
+        .PAD ( P8_23 ) 
+        );
+
+//--------BIBUF
+BIBUF P8_24_BIBUF(
+        // Inputs
+        .D   ( GPIO_OUT_slice_21 ),
+        .E   ( GPIO_OE_slice_21 ),
+        // Outputs
+        .Y   ( GPIO_IN_20 ),
+        // Inouts
+        .PAD ( P8_24 ) 
+        );
+
+//--------BIBUF
+BIBUF P8_25_BIBUF(
+        // Inputs
+        .D   ( GPIO_OUT_slice_22 ),
+        .E   ( GPIO_OE_slice_22 ),
+        // Outputs
+        .Y   ( GPIO_IN_21 ),
+        // Inouts
+        .PAD ( P8_25 ) 
+        );
+
+//--------BIBUF
+BIBUF P8_26_BIBUF(
+        // Inputs
+        .D   ( GPIO_OUT_slice_23 ),
+        .E   ( GPIO_OE_slice_23 ),
+        // Outputs
+        .Y   ( GPIO_IN_22 ),
+        // Inouts
+        .PAD ( P8_26 ) 
+        );
+
+//--------BIBUF
+BIBUF P8_27_BIBUF(
+        // Inputs
+        .D   ( GPIO_OUT_slice_24 ),
+        .E   ( GPIO_OE_slice_24 ),
+        // Outputs
+        .Y   ( GPIO_IN_23 ),
+        // Inouts
+        .PAD ( P8_27 ) 
+        );
+
+//--------BIBUF
+BIBUF P8_28_BIBUF(
+        // Inputs
+        .D   ( GPIO_OUT_slice_25 ),
+        .E   ( GPIO_OE_slice_25 ),
+        // Outputs
+        .Y   ( GPIO_IN_24 ),
+        // Inouts
+        .PAD ( P8_28 ) 
+        );
+
+//--------BIBUF
+BIBUF P8_29_BIBUF(
+        // Inputs
+        .D   ( GPIO_OUT_slice_26 ),
+        .E   ( GPIO_OE_slice_26 ),
+        // Outputs
+        .Y   ( GPIO_IN_25 ),
+        // Inouts
+        .PAD ( P8_29 ) 
+        );
+
+//--------BIBUF
+BIBUF P8_30_BIBUF(
+        // Inputs
+        .D   ( GPIO_OUT_slice_27 ),
+        .E   ( GPIO_OE_slice_27 ),
+        // Outputs
+        .Y   ( GPIO_IN_26 ),
+        // Inouts
+        .PAD ( P8_30 ) 
+        );
+
+//--------BIBUF
+BIBUF P8_31_BIBUF(
+        // Inputs
+        .D   ( GPIO_OUT_slice_28 ),
+        .E   ( GPIO_OE_slice_28 ),
+        // Outputs
+        .Y   ( GPIO_IN_27 ),
+        // Inouts
+        .PAD ( P8_31 ) 
+        );
+
+//--------BIBUF
+BIBUF P8_32_BIBUF(
+        // Inputs
+        .D   ( GPIO_OUT_slice_29 ),
+        .E   ( GPIO_OE_slice_29 ),
+        // Outputs
+        .Y   ( GPIO_IN_28 ),
+        // Inouts
+        .PAD ( P8_32 ) 
+        );
+
+//--------BIBUF
+BIBUF P8_33_BIBUF(
+        // Inputs
+        .D   ( GPIO_OUT_slice_30 ),
+        .E   ( GPIO_OE_slice_30 ),
+        // Outputs
+        .Y   ( GPIO_IN_29 ),
+        // Inouts
+        .PAD ( P8_33 ) 
+        );
+
+//--------BIBUF
+BIBUF P8_34_BIBUF(
+        // Inputs
+        .D   ( GPIO_OUT_slice_31 ),
+        .E   ( GPIO_OE_slice_31 ),
+        // Outputs
+        .Y   ( GPIO_IN_30 ),
+        // Inouts
+        .PAD ( P8_34 ) 
+        );
+
+//--------BIBUF
+BIBUF P8_35_BIBUF(
+        // Inputs
+        .D   ( GPIO_OUT_slice_32 ),
+        .E   ( GPIO_OE_slice_32 ),
+        // Outputs
+        .Y   ( GPIO_IN_31 ),
+        // Inouts
+        .PAD ( P8_35 ) 
+        );
+
+//--------BIBUF
+BIBUF P8_36_BIBUF(
+        // Inputs
+        .D   ( GPIO_OUT_slice_33 ),
+        .E   ( GPIO_OE_slice_33 ),
+        // Outputs
+        .Y   ( GPIO_IN_32 ),
+        // Inouts
+        .PAD ( P8_36 ) 
+        );
+
+//--------BIBUF
+BIBUF P8_37_BIBUF(
+        // Inputs
+        .D   ( GPIO_OUT_slice_34 ),
+        .E   ( GPIO_OE_slice_34 ),
+        // Outputs
+        .Y   ( GPIO_IN_33 ),
+        // Inouts
+        .PAD ( P8_37 ) 
+        );
+
+//--------BIBUF
+BIBUF P8_38_BIBUF(
+        // Inputs
+        .D   ( GPIO_OUT_slice_35 ),
+        .E   ( GPIO_OE_slice_35 ),
+        // Outputs
+        .Y   ( GPIO_IN_34 ),
+        // Inouts
+        .PAD ( P8_38 ) 
+        );
+
+//--------BIBUF
+BIBUF P8_39_BIBUF(
+        // Inputs
+        .D   ( GPIO_OUT_slice_36 ),
+        .E   ( GPIO_OE_slice_36 ),
+        // Outputs
+        .Y   ( GPIO_IN_35 ),
+        // Inouts
+        .PAD ( P8_39 ) 
+        );
+
+//--------BIBUF
+BIBUF P8_40_BIBUF(
+        // Inputs
+        .D   ( GPIO_OUT_slice_37 ),
+        .E   ( GPIO_OE_slice_37 ),
+        // Outputs
+        .Y   ( GPIO_IN_36 ),
+        // Inouts
+        .PAD ( P8_40 ) 
+        );
+
+//--------BIBUF
+BIBUF P8_41_BIBUF(
+        // Inputs
+        .D   ( GPIO_OUT_slice_38 ),
+        .E   ( GPIO_OE_slice_38 ),
+        // Outputs
+        .Y   ( GPIO_IN_37 ),
+        // Inouts
+        .PAD ( P8_41 ) 
+        );
+
+//--------BIBUF
+BIBUF P8_42_BIBUF(
+        // Inputs
+        .D   ( GPIO_OUT_slice_39 ),
+        .E   ( GPIO_OE_slice_39 ),
+        // Outputs
+        .Y   ( GPIO_IN_38 ),
+        // Inouts
+        .PAD ( P8_42 ) 
+        );
+
+//--------BIBUF
+BIBUF P8_43_BIBUF(
+        // Inputs
+        .D   ( GPIO_OUT_slice_40 ),
+        .E   ( GPIO_OE_slice_40 ),
+        // Outputs
+        .Y   ( GPIO_IN_39 ),
+        // Inouts
+        .PAD ( P8_43 ) 
+        );
+
+//--------BIBUF
+BIBUF P8_44_BIBUF(
+        // Inputs
+        .D   ( GPIO_OUT_slice_41 ),
+        .E   ( GPIO_OE_slice_41 ),
+        // Outputs
+        .Y   ( GPIO_IN_40 ),
+        // Inouts
+        .PAD ( P8_44 ) 
+        );
+
+//--------BIBUF
+BIBUF P8_45_BIBUF(
+        // Inputs
+        .D   ( GPIO_OUT_slice_42 ),
+        .E   ( GPIO_OE_slice_42 ),
+        // Outputs
+        .Y   ( GPIO_IN_41 ),
+        // Inouts
+        .PAD ( P8_45 ) 
+        );
+
+//--------BIBUF
+BIBUF P8_46_BIBUF(
+        // Inputs
+        .D   ( GPIO_OUT_slice_43 ),
+        .E   ( GPIO_OE_slice_43 ),
+        // Outputs
+        .Y   ( GPIO_IN_42 ),
+        // Inouts
+        .PAD ( P8_46 ) 
+        );
+
+
+endmodule
diff --git a/sources/FPGA-design/script_support/components/CAPE/MY_LOVELY_CAPE/HDL/P9_11_18_IOPADS.v b/sources/FPGA-design/script_support/components/CAPE/MY_LOVELY_CAPE/HDL/P9_11_18_IOPADS.v
new file mode 100644
index 0000000000000000000000000000000000000000..afda4e23b2f214f8a08d3b6ead6c6f86ea0cdef4
--- /dev/null
+++ b/sources/FPGA-design/script_support/components/CAPE/MY_LOVELY_CAPE/HDL/P9_11_18_IOPADS.v
@@ -0,0 +1,221 @@
+//////////////////////////////////////////////////////////////////////
+// Created by SmartDesign Sat Dec  2 16:38:15 2023
+// Version: 2022.3 2022.3.0.8
+//////////////////////////////////////////////////////////////////////
+
+`timescale 1ns / 100ps
+
+// P9_11_18_IOPADS
+module P9_11_18_IOPADS(
+    // Inputs
+    GPIO_OE,
+    GPIO_OUT,
+    // Outputs
+    GPIO_IN,
+    // Inouts
+    P9_11,
+    P9_12,
+    P9_13,
+    P9_14,
+    P9_15,
+    P9_16,
+    P9_17,
+    P9_18
+);
+
+//--------------------------------------------------------------------
+// Input
+//--------------------------------------------------------------------
+input  [18:11] GPIO_OE;
+input  [18:11] GPIO_OUT;
+//--------------------------------------------------------------------
+// Output
+//--------------------------------------------------------------------
+output [18:11] GPIO_IN;
+//--------------------------------------------------------------------
+// Inout
+//--------------------------------------------------------------------
+inout          P9_11;
+inout          P9_12;
+inout          P9_13;
+inout          P9_14;
+inout          P9_15;
+inout          P9_16;
+inout          P9_17;
+inout          P9_18;
+//--------------------------------------------------------------------
+// Nets
+//--------------------------------------------------------------------
+wire           GPIO_IN_net_0;
+wire           GPIO_IN_0;
+wire           GPIO_IN_1;
+wire           GPIO_IN_2;
+wire           GPIO_IN_3;
+wire           GPIO_IN_4;
+wire           GPIO_IN_5;
+wire           GPIO_IN_6;
+wire   [11:11] GPIO_OE_slice_0;
+wire   [12:12] GPIO_OE_slice_1;
+wire   [13:13] GPIO_OE_slice_2;
+wire   [14:14] GPIO_OE_slice_3;
+wire   [15:15] GPIO_OE_slice_4;
+wire   [16:16] GPIO_OE_slice_5;
+wire   [17:17] GPIO_OE_slice_6;
+wire   [18:18] GPIO_OE_slice_7;
+wire   [11:11] GPIO_OUT_slice_0;
+wire   [12:12] GPIO_OUT_slice_1;
+wire   [13:13] GPIO_OUT_slice_2;
+wire   [14:14] GPIO_OUT_slice_3;
+wire   [15:15] GPIO_OUT_slice_4;
+wire   [16:16] GPIO_OUT_slice_5;
+wire   [17:17] GPIO_OUT_slice_6;
+wire   [18:18] GPIO_OUT_slice_7;
+wire           P9_11;
+wire           P9_12;
+wire           P9_13;
+wire           P9_14;
+wire           P9_15;
+wire           P9_16;
+wire           P9_17;
+wire           P9_18;
+wire   [11:11] GPIO_IN_net_1;
+wire   [12:12] GPIO_IN_0_net_0;
+wire   [13:13] GPIO_IN_1_net_0;
+wire   [14:14] GPIO_IN_2_net_0;
+wire   [15:15] GPIO_IN_3_net_0;
+wire   [16:16] GPIO_IN_4_net_0;
+wire   [17:17] GPIO_IN_5_net_0;
+wire   [18:18] GPIO_IN_6_net_0;
+wire   [18:11] GPIO_OUT;
+wire   [18:11] GPIO_OE;
+//--------------------------------------------------------------------
+// Top level output port assignments
+//--------------------------------------------------------------------
+assign GPIO_IN_net_1[11]   = GPIO_IN_net_0;
+assign GPIO_IN[11:11]      = GPIO_IN_net_1[11];
+assign GPIO_IN_0_net_0[12] = GPIO_IN_0;
+assign GPIO_IN[12:12]      = GPIO_IN_0_net_0[12];
+assign GPIO_IN_1_net_0[13] = GPIO_IN_1;
+assign GPIO_IN[13:13]      = GPIO_IN_1_net_0[13];
+assign GPIO_IN_2_net_0[14] = GPIO_IN_2;
+assign GPIO_IN[14:14]      = GPIO_IN_2_net_0[14];
+assign GPIO_IN_3_net_0[15] = GPIO_IN_3;
+assign GPIO_IN[15:15]      = GPIO_IN_3_net_0[15];
+assign GPIO_IN_4_net_0[16] = GPIO_IN_4;
+assign GPIO_IN[16:16]      = GPIO_IN_4_net_0[16];
+assign GPIO_IN_5_net_0[17] = GPIO_IN_5;
+assign GPIO_IN[17:17]      = GPIO_IN_5_net_0[17];
+assign GPIO_IN_6_net_0[18] = GPIO_IN_6;
+assign GPIO_IN[18:18]      = GPIO_IN_6_net_0[18];
+//--------------------------------------------------------------------
+// Slices assignments
+//--------------------------------------------------------------------
+assign GPIO_OE_slice_0[11]  = GPIO_OE[11:11];
+assign GPIO_OE_slice_1[12]  = GPIO_OE[12:12];
+assign GPIO_OE_slice_2[13]  = GPIO_OE[13:13];
+assign GPIO_OE_slice_3[14]  = GPIO_OE[14:14];
+assign GPIO_OE_slice_4[15]  = GPIO_OE[15:15];
+assign GPIO_OE_slice_5[16]  = GPIO_OE[16:16];
+assign GPIO_OE_slice_6[17]  = GPIO_OE[17:17];
+assign GPIO_OE_slice_7[18]  = GPIO_OE[18:18];
+assign GPIO_OUT_slice_0[11] = GPIO_OUT[11:11];
+assign GPIO_OUT_slice_1[12] = GPIO_OUT[12:12];
+assign GPIO_OUT_slice_2[13] = GPIO_OUT[13:13];
+assign GPIO_OUT_slice_3[14] = GPIO_OUT[14:14];
+assign GPIO_OUT_slice_4[15] = GPIO_OUT[15:15];
+assign GPIO_OUT_slice_5[16] = GPIO_OUT[16:16];
+assign GPIO_OUT_slice_6[17] = GPIO_OUT[17:17];
+assign GPIO_OUT_slice_7[18] = GPIO_OUT[18:18];
+//--------------------------------------------------------------------
+// Component instances
+//--------------------------------------------------------------------
+//--------BIBUF
+BIBUF P9_11_BIBUF(
+        // Inputs
+        .D   ( GPIO_OUT_slice_0 ),
+        .E   ( GPIO_OE_slice_0 ),
+        // Outputs
+        .Y   ( GPIO_IN_net_0 ),
+        // Inouts
+        .PAD ( P9_11 ) 
+        );
+
+//--------BIBUF
+BIBUF P9_12_BIBUF(
+        // Inputs
+        .D   ( GPIO_OUT_slice_1 ),
+        .E   ( GPIO_OE_slice_1 ),
+        // Outputs
+        .Y   ( GPIO_IN_0 ),
+        // Inouts
+        .PAD ( P9_12 ) 
+        );
+
+//--------BIBUF
+BIBUF P9_13_BIBUF(
+        // Inputs
+        .D   ( GPIO_OUT_slice_2 ),
+        .E   ( GPIO_OE_slice_2 ),
+        // Outputs
+        .Y   ( GPIO_IN_1 ),
+        // Inouts
+        .PAD ( P9_13 ) 
+        );
+
+//--------BIBUF
+BIBUF P9_14_BIBUF(
+        // Inputs
+        .D   ( GPIO_OUT_slice_3 ),
+        .E   ( GPIO_OE_slice_3 ),
+        // Outputs
+        .Y   ( GPIO_IN_2 ),
+        // Inouts
+        .PAD ( P9_14 ) 
+        );
+
+//--------BIBUF
+BIBUF P9_15_BIBUF(
+        // Inputs
+        .D   ( GPIO_OUT_slice_4 ),
+        .E   ( GPIO_OE_slice_4 ),
+        // Outputs
+        .Y   ( GPIO_IN_3 ),
+        // Inouts
+        .PAD ( P9_15 ) 
+        );
+
+//--------BIBUF
+BIBUF P9_16_BIBUF(
+        // Inputs
+        .D   ( GPIO_OUT_slice_5 ),
+        .E   ( GPIO_OE_slice_5 ),
+        // Outputs
+        .Y   ( GPIO_IN_4 ),
+        // Inouts
+        .PAD ( P9_16 ) 
+        );
+
+//--------BIBUF
+BIBUF P9_17_BIBUF(
+        // Inputs
+        .D   ( GPIO_OUT_slice_6 ),
+        .E   ( GPIO_OE_slice_6 ),
+        // Outputs
+        .Y   ( GPIO_IN_5 ),
+        // Inouts
+        .PAD ( P9_17 ) 
+        );
+
+//--------BIBUF
+BIBUF P9_18_BIBUF(
+        // Inputs
+        .D   ( GPIO_OUT_slice_7 ),
+        .E   ( GPIO_OE_slice_7 ),
+        // Outputs
+        .Y   ( GPIO_IN_6 ),
+        // Inouts
+        .PAD ( P9_18 ) 
+        );
+
+
+endmodule
diff --git a/sources/FPGA-design/script_support/components/CAPE/MY_LOVELY_CAPE/HDL/P9_21_31_IOPADS.v b/sources/FPGA-design/script_support/components/CAPE/MY_LOVELY_CAPE/HDL/P9_21_31_IOPADS.v
new file mode 100644
index 0000000000000000000000000000000000000000..bb3671ed9bd860825436c684f6de0904dfe17d13
--- /dev/null
+++ b/sources/FPGA-design/script_support/components/CAPE/MY_LOVELY_CAPE/HDL/P9_21_31_IOPADS.v
@@ -0,0 +1,287 @@
+//////////////////////////////////////////////////////////////////////
+// Created by SmartDesign Sat Dec  2 16:38:15 2023
+// Version: 2022.3 2022.3.0.8
+//////////////////////////////////////////////////////////////////////
+
+`timescale 1ns / 100ps
+
+// P9_21_31_IOPADS
+module P9_21_31_IOPADS(
+    // Inputs
+    GPIO_OE,
+    GPIO_OUT,
+    // Outputs
+    GPIO_IN,
+    // Inouts
+    P9_21,
+    P9_22,
+    P9_23,
+    P9_24,
+    P9_25,
+    P9_26,
+    P9_27,
+    P9_28,
+    P9_29,
+    P9_30,
+    P9_31
+);
+
+//--------------------------------------------------------------------
+// Input
+//--------------------------------------------------------------------
+input  [31:21] GPIO_OE;
+input  [31:21] GPIO_OUT;
+//--------------------------------------------------------------------
+// Output
+//--------------------------------------------------------------------
+output [31:21] GPIO_IN;
+//--------------------------------------------------------------------
+// Inout
+//--------------------------------------------------------------------
+inout          P9_21;
+inout          P9_22;
+inout          P9_23;
+inout          P9_24;
+inout          P9_25;
+inout          P9_26;
+inout          P9_27;
+inout          P9_28;
+inout          P9_29;
+inout          P9_30;
+inout          P9_31;
+//--------------------------------------------------------------------
+// Nets
+//--------------------------------------------------------------------
+wire           GPIO_IN_net_0;
+wire           GPIO_IN_0;
+wire           GPIO_IN_1;
+wire           GPIO_IN_2;
+wire           GPIO_IN_3;
+wire           GPIO_IN_4;
+wire           GPIO_IN_5;
+wire           GPIO_IN_6;
+wire           GPIO_IN_7;
+wire           GPIO_IN_8;
+wire           GPIO_IN_9;
+wire   [21:21] GPIO_OE_slice_0;
+wire   [22:22] GPIO_OE_slice_1;
+wire   [23:23] GPIO_OE_slice_2;
+wire   [24:24] GPIO_OE_slice_3;
+wire   [25:25] GPIO_OE_slice_4;
+wire   [26:26] GPIO_OE_slice_5;
+wire   [27:27] GPIO_OE_slice_6;
+wire   [28:28] GPIO_OE_slice_7;
+wire   [29:29] GPIO_OE_slice_8;
+wire   [30:30] GPIO_OE_slice_9;
+wire   [31:31] GPIO_OE_slice_10;
+wire   [21:21] GPIO_OUT_slice_0;
+wire   [22:22] GPIO_OUT_slice_1;
+wire   [23:23] GPIO_OUT_slice_2;
+wire   [24:24] GPIO_OUT_slice_3;
+wire   [25:25] GPIO_OUT_slice_4;
+wire   [26:26] GPIO_OUT_slice_5;
+wire   [27:27] GPIO_OUT_slice_6;
+wire   [28:28] GPIO_OUT_slice_7;
+wire   [29:29] GPIO_OUT_slice_8;
+wire   [30:30] GPIO_OUT_slice_9;
+wire   [31:31] GPIO_OUT_slice_10;
+wire           P9_21;
+wire           P9_22;
+wire           P9_23;
+wire           P9_24;
+wire           P9_25;
+wire           P9_26;
+wire           P9_27;
+wire           P9_28;
+wire           P9_29;
+wire           P9_30;
+wire           P9_31;
+wire   [21:21] GPIO_IN_net_1;
+wire   [22:22] GPIO_IN_0_net_0;
+wire   [23:23] GPIO_IN_1_net_0;
+wire   [24:24] GPIO_IN_2_net_0;
+wire   [25:25] GPIO_IN_3_net_0;
+wire   [26:26] GPIO_IN_4_net_0;
+wire   [27:27] GPIO_IN_5_net_0;
+wire   [28:28] GPIO_IN_6_net_0;
+wire   [29:29] GPIO_IN_7_net_0;
+wire   [30:30] GPIO_IN_8_net_0;
+wire   [31:31] GPIO_IN_9_net_0;
+wire   [31:21] GPIO_OUT;
+wire   [31:21] GPIO_OE;
+//--------------------------------------------------------------------
+// Top level output port assignments
+//--------------------------------------------------------------------
+assign GPIO_IN_net_1[21]   = GPIO_IN_net_0;
+assign GPIO_IN[21:21]      = GPIO_IN_net_1[21];
+assign GPIO_IN_0_net_0[22] = GPIO_IN_0;
+assign GPIO_IN[22:22]      = GPIO_IN_0_net_0[22];
+assign GPIO_IN_1_net_0[23] = GPIO_IN_1;
+assign GPIO_IN[23:23]      = GPIO_IN_1_net_0[23];
+assign GPIO_IN_2_net_0[24] = GPIO_IN_2;
+assign GPIO_IN[24:24]      = GPIO_IN_2_net_0[24];
+assign GPIO_IN_3_net_0[25] = GPIO_IN_3;
+assign GPIO_IN[25:25]      = GPIO_IN_3_net_0[25];
+assign GPIO_IN_4_net_0[26] = GPIO_IN_4;
+assign GPIO_IN[26:26]      = GPIO_IN_4_net_0[26];
+assign GPIO_IN_5_net_0[27] = GPIO_IN_5;
+assign GPIO_IN[27:27]      = GPIO_IN_5_net_0[27];
+assign GPIO_IN_6_net_0[28] = GPIO_IN_6;
+assign GPIO_IN[28:28]      = GPIO_IN_6_net_0[28];
+assign GPIO_IN_7_net_0[29] = GPIO_IN_7;
+assign GPIO_IN[29:29]      = GPIO_IN_7_net_0[29];
+assign GPIO_IN_8_net_0[30] = GPIO_IN_8;
+assign GPIO_IN[30:30]      = GPIO_IN_8_net_0[30];
+assign GPIO_IN_9_net_0[31] = GPIO_IN_9;
+assign GPIO_IN[31:31]      = GPIO_IN_9_net_0[31];
+//--------------------------------------------------------------------
+// Slices assignments
+//--------------------------------------------------------------------
+assign GPIO_OE_slice_0[21]   = GPIO_OE[21:21];
+assign GPIO_OE_slice_1[22]   = GPIO_OE[22:22];
+assign GPIO_OE_slice_2[23]   = GPIO_OE[23:23];
+assign GPIO_OE_slice_3[24]   = GPIO_OE[24:24];
+assign GPIO_OE_slice_4[25]   = GPIO_OE[25:25];
+assign GPIO_OE_slice_5[26]   = GPIO_OE[26:26];
+assign GPIO_OE_slice_6[27]   = GPIO_OE[27:27];
+assign GPIO_OE_slice_7[28]   = GPIO_OE[28:28];
+assign GPIO_OE_slice_8[29]   = GPIO_OE[29:29];
+assign GPIO_OE_slice_9[30]   = GPIO_OE[30:30];
+assign GPIO_OE_slice_10[31]  = GPIO_OE[31:31];
+assign GPIO_OUT_slice_0[21]  = GPIO_OUT[21:21];
+assign GPIO_OUT_slice_1[22]  = GPIO_OUT[22:22];
+assign GPIO_OUT_slice_2[23]  = GPIO_OUT[23:23];
+assign GPIO_OUT_slice_3[24]  = GPIO_OUT[24:24];
+assign GPIO_OUT_slice_4[25]  = GPIO_OUT[25:25];
+assign GPIO_OUT_slice_5[26]  = GPIO_OUT[26:26];
+assign GPIO_OUT_slice_6[27]  = GPIO_OUT[27:27];
+assign GPIO_OUT_slice_7[28]  = GPIO_OUT[28:28];
+assign GPIO_OUT_slice_8[29]  = GPIO_OUT[29:29];
+assign GPIO_OUT_slice_9[30]  = GPIO_OUT[30:30];
+assign GPIO_OUT_slice_10[31] = GPIO_OUT[31:31];
+//--------------------------------------------------------------------
+// Component instances
+//--------------------------------------------------------------------
+//--------BIBUF
+BIBUF P9_21_BIBUF(
+        // Inputs
+        .D   ( GPIO_OUT_slice_0 ),
+        .E   ( GPIO_OE_slice_0 ),
+        // Outputs
+        .Y   ( GPIO_IN_net_0 ),
+        // Inouts
+        .PAD ( P9_21 ) 
+        );
+
+//--------BIBUF
+BIBUF P9_22_BIBUF(
+        // Inputs
+        .D   ( GPIO_OUT_slice_1 ),
+        .E   ( GPIO_OE_slice_1 ),
+        // Outputs
+        .Y   ( GPIO_IN_0 ),
+        // Inouts
+        .PAD ( P9_22 ) 
+        );
+
+//--------BIBUF
+BIBUF P9_23_BIBUF(
+        // Inputs
+        .D   ( GPIO_OUT_slice_2 ),
+        .E   ( GPIO_OE_slice_2 ),
+        // Outputs
+        .Y   ( GPIO_IN_1 ),
+        // Inouts
+        .PAD ( P9_23 ) 
+        );
+
+//--------BIBUF
+BIBUF P9_24_BIBUF(
+        // Inputs
+        .D   ( GPIO_OUT_slice_3 ),
+        .E   ( GPIO_OE_slice_3 ),
+        // Outputs
+        .Y   ( GPIO_IN_2 ),
+        // Inouts
+        .PAD ( P9_24 ) 
+        );
+
+//--------BIBUF
+BIBUF P9_25_BIBUF(
+        // Inputs
+        .D   ( GPIO_OUT_slice_4 ),
+        .E   ( GPIO_OE_slice_4 ),
+        // Outputs
+        .Y   ( GPIO_IN_3 ),
+        // Inouts
+        .PAD ( P9_25 ) 
+        );
+
+//--------BIBUF
+BIBUF P9_26_BIBUF(
+        // Inputs
+        .D   ( GPIO_OUT_slice_5 ),
+        .E   ( GPIO_OE_slice_5 ),
+        // Outputs
+        .Y   ( GPIO_IN_4 ),
+        // Inouts
+        .PAD ( P9_26 ) 
+        );
+
+//--------BIBUF
+BIBUF P9_27_BIBUF(
+        // Inputs
+        .D   ( GPIO_OUT_slice_6 ),
+        .E   ( GPIO_OE_slice_6 ),
+        // Outputs
+        .Y   ( GPIO_IN_5 ),
+        // Inouts
+        .PAD ( P9_27 ) 
+        );
+
+//--------BIBUF
+BIBUF P9_28_BIBUF(
+        // Inputs
+        .D   ( GPIO_OUT_slice_7 ),
+        .E   ( GPIO_OE_slice_7 ),
+        // Outputs
+        .Y   ( GPIO_IN_6 ),
+        // Inouts
+        .PAD ( P9_28 ) 
+        );
+
+//--------BIBUF
+BIBUF P9_29_BIBUF(
+        // Inputs
+        .D   ( GPIO_OUT_slice_8 ),
+        .E   ( GPIO_OE_slice_8 ),
+        // Outputs
+        .Y   ( GPIO_IN_7 ),
+        // Inouts
+        .PAD ( P9_29 ) 
+        );
+
+//--------BIBUF
+BIBUF P9_30_BIBUF(
+        // Inputs
+        .D   ( GPIO_OUT_slice_9 ),
+        .E   ( GPIO_OE_slice_9 ),
+        // Outputs
+        .Y   ( GPIO_IN_8 ),
+        // Inouts
+        .PAD ( P9_30 ) 
+        );
+
+//--------BIBUF
+BIBUF P9_31_BIBUF(
+        // Inputs
+        .D   ( GPIO_OUT_slice_10 ),
+        .E   ( GPIO_OE_slice_10 ),
+        // Outputs
+        .Y   ( GPIO_IN_9 ),
+        // Inouts
+        .PAD ( P9_31 ) 
+        );
+
+
+endmodule
diff --git a/sources/FPGA-design/script_support/components/CAPE/MY_LOVELY_CAPE/HDL/P9_41_42_IOPADS.v b/sources/FPGA-design/script_support/components/CAPE/MY_LOVELY_CAPE/HDL/P9_41_42_IOPADS.v
new file mode 100644
index 0000000000000000000000000000000000000000..c8a5bf4f6967d0bdd376709a54fce9b7307c6b4f
--- /dev/null
+++ b/sources/FPGA-design/script_support/components/CAPE/MY_LOVELY_CAPE/HDL/P9_41_42_IOPADS.v
@@ -0,0 +1,89 @@
+//////////////////////////////////////////////////////////////////////
+// Created by SmartDesign Sat Dec  2 16:38:15 2023
+// Version: 2022.3 2022.3.0.8
+//////////////////////////////////////////////////////////////////////
+
+`timescale 1ns / 100ps
+
+// P9_41_42_IOPADS
+module P9_41_42_IOPADS(
+    // Inputs
+    GPIO_OE,
+    GPIO_OUT,
+    // Outputs
+    GPIO_IN,
+    // Inouts
+    P9_41,
+    P9_42
+);
+
+//--------------------------------------------------------------------
+// Input
+//--------------------------------------------------------------------
+input  [42:41] GPIO_OE;
+input  [42:41] GPIO_OUT;
+//--------------------------------------------------------------------
+// Output
+//--------------------------------------------------------------------
+output [42:41] GPIO_IN;
+//--------------------------------------------------------------------
+// Inout
+//--------------------------------------------------------------------
+inout          P9_41;
+inout          P9_42;
+//--------------------------------------------------------------------
+// Nets
+//--------------------------------------------------------------------
+wire           GPIO_IN_net_0;
+wire           GPIO_IN_0;
+wire   [41:41] GPIO_OE_slice_0;
+wire   [42:42] GPIO_OE_slice_1;
+wire   [41:41] GPIO_OUT_slice_0;
+wire   [42:42] GPIO_OUT_slice_1;
+wire           P9_41;
+wire           P9_42;
+wire   [41:41] GPIO_IN_net_1;
+wire   [42:42] GPIO_IN_0_net_0;
+wire   [42:41] GPIO_OUT;
+wire   [42:41] GPIO_OE;
+//--------------------------------------------------------------------
+// Top level output port assignments
+//--------------------------------------------------------------------
+assign GPIO_IN_net_1[41]   = GPIO_IN_net_0;
+assign GPIO_IN[41:41]      = GPIO_IN_net_1[41];
+assign GPIO_IN_0_net_0[42] = GPIO_IN_0;
+assign GPIO_IN[42:42]      = GPIO_IN_0_net_0[42];
+//--------------------------------------------------------------------
+// Slices assignments
+//--------------------------------------------------------------------
+assign GPIO_OE_slice_0[41]  = GPIO_OE[41:41];
+assign GPIO_OE_slice_1[42]  = GPIO_OE[42:42];
+assign GPIO_OUT_slice_0[41] = GPIO_OUT[41:41];
+assign GPIO_OUT_slice_1[42] = GPIO_OUT[42:42];
+//--------------------------------------------------------------------
+// Component instances
+//--------------------------------------------------------------------
+//--------BIBUF
+BIBUF P9_41_BIBUF(
+        // Inputs
+        .D   ( GPIO_OUT_slice_0 ),
+        .E   ( GPIO_OE_slice_0 ),
+        // Outputs
+        .Y   ( GPIO_IN_net_0 ),
+        // Inouts
+        .PAD ( P9_41 ) 
+        );
+
+//--------BIBUF
+BIBUF P9_42_BIBUF(
+        // Inputs
+        .D   ( GPIO_OUT_slice_1 ),
+        .E   ( GPIO_OE_slice_1 ),
+        // Outputs
+        .Y   ( GPIO_IN_0 ),
+        // Inouts
+        .PAD ( P9_42 ) 
+        );
+
+
+endmodule
diff --git a/sources/FPGA-design/script_support/components/CAPE/MY_LOVELY_CAPE/HDL/apb_ctrl_status.v b/sources/FPGA-design/script_support/components/CAPE/MY_LOVELY_CAPE/HDL/apb_ctrl_status.v
new file mode 100644
index 0000000000000000000000000000000000000000..f6e0b082dcfb6282a1303198b8c16cb25bd70037
--- /dev/null
+++ b/sources/FPGA-design/script_support/components/CAPE/MY_LOVELY_CAPE/HDL/apb_ctrl_status.v
@@ -0,0 +1,73 @@
+`timescale 1ns/100ps
+module apb_ctrl_status(
+   input               pclk,
+   input               presetn,
+   input               penable,
+   input               psel,
+   input       [7:0]   paddr,
+   input               pwrite,
+   input       [31:0]  pwdata,
+   output  reg [31:0]  prdata,
+   output  reg [31:0]  control,
+   input       [31:0]  status
+   );
+
+   
+   localparam [7:0] STATUS      = 8'h20; // READ-ONLY REGISTER
+   localparam [7:0] CONTROL_1   = 8'h10; // READ/WRITE Register
+   localparam [7:0] CONTROL_0   = 8'h00; // READ_ONLY DEADBEEF REGISTER
+
+   reg [31:0] control_value;
+   
+   wire rd_enable;
+   wire wr_enable;  
+
+   assign wr_enable = (penable && pwrite && psel);
+   assign rd_enable = (!pwrite && psel);
+
+   always@(posedge pclk or negedge presetn)
+   begin
+      if(~presetn)
+         begin
+            prdata <= 'b0;
+            control_value <= 32'h00000000;
+            control <= 32'h00000000;
+         end
+      else
+         begin
+            case(paddr[7:0])
+               STATUS:
+                  begin
+                    if (rd_enable)
+                        begin
+                           prdata <= status;
+                        end
+                  end
+               CONTROL_0:
+                  begin
+                    if (rd_enable)
+                        begin
+                           prdata <= 32'hdeadbeef;
+                           control <= 32'hdeadbeef;
+                        end
+                  end
+                CONTROL_1:
+                    begin
+                      if (rd_enable)
+                        begin
+                            prdata <= control_value;
+                            control <= control_value;
+                        end
+                      else if (wr_enable)
+                        begin
+                            control_value <= pwdata;
+                        end
+                    end  
+               default:
+                  begin
+                     prdata <= 32'b0;
+                  end
+            endcase
+         end
+   end
+endmodule
\ No newline at end of file
diff --git a/sources/FPGA-design/script_support/components/CAPE/MY_LOVELY_CAPE/HDL/blinky.v b/sources/FPGA-design/script_support/components/CAPE/MY_LOVELY_CAPE/HDL/blinky.v
new file mode 100644
index 0000000000000000000000000000000000000000..a4022c353ad3d6b1e0186df578e81fe0183e76a4
--- /dev/null
+++ b/sources/FPGA-design/script_support/components/CAPE/MY_LOVELY_CAPE/HDL/blinky.v
@@ -0,0 +1,24 @@
+`timescale 1ns/100ps
+module blinky(
+input    clk,
+input    resetn,
+output   blink
+);
+
+
+reg [22:0] counter;
+
+assign blink = counter[22];
+
+always@(posedge clk or negedge resetn)
+begin
+    if(~resetn)
+        begin
+            counter <= 23'h0;
+        end
+    else
+        begin
+            counter <= counter + 23'b1;
+        end
+end
+endmodule
\ No newline at end of file
diff --git a/sources/FPGA-design/script_support/components/CAPE/MY_LOVELY_CAPE/constraints/cape.pdc b/sources/FPGA-design/script_support/components/CAPE/MY_LOVELY_CAPE/constraints/cape.pdc
new file mode 100644
index 0000000000000000000000000000000000000000..852c7827cddfa9911e5dda4f9b502cfe209500ea
--- /dev/null
+++ b/sources/FPGA-design/script_support/components/CAPE/MY_LOVELY_CAPE/constraints/cape.pdc
@@ -0,0 +1,419 @@
+
+set_io -port_name P9_11	\
+    -pin_name B5	\
+    -fixed true	\
+    -io_std LVCMOS33  \
+    -DIRECTION INOUT
+
+set_io -port_name P9_12	\
+    -pin_name C5	\
+    -fixed true	\
+    -io_std LVCMOS33  \
+    -DIRECTION INOUT
+
+set_io -port_name P9_13	\
+    -pin_name D19	\
+    -fixed true	\
+    -io_std LVCMOS33  \
+    -DIRECTION INOUT
+
+set_io -port_name P9_14	\
+    -pin_name C6	\
+    -fixed true	\
+    -io_std LVCMOS33  \
+    -DIRECTION OUT
+
+set_io -port_name P9_15	\
+    -pin_name A5	    \
+    -fixed true	\
+    -io_std LVCMOS33  \
+    -DIRECTION INOUT
+
+set_io -port_name P9_16	\
+    -pin_name A6	\
+    -fixed true	\
+    -io_std LVCMOS33  \
+    -DIRECTION OUT
+
+set_io -port_name P9_17	\
+    -pin_name C9	\
+    -fixed true	\
+    -io_std LVCMOS33  \
+    -DIRECTION OUT
+
+set_io -port_name P9_18	\
+    -pin_name C10	\
+    -fixed true	\
+    -io_std LVCMOS33  \
+    -DIRECTION OUT
+
+set_io -port_name P9_21	\
+    -pin_name B8	\
+    -fixed true	\
+    -io_std LVCMOS33  \
+    -DIRECTION INOUT
+
+set_io -port_name P9_22	\
+    -pin_name A8	\
+    -fixed true	\
+    -io_std LVCMOS33  \
+    -DIRECTION INOUT
+
+set_io -port_name P9_23	\
+    -pin_name C12	\
+    -fixed true	\
+    -io_std LVCMOS33  \
+    -DIRECTION INOUT
+
+set_io -port_name P9_24	\
+    -pin_name B12	\
+    -fixed true	\
+    -io_std LVCMOS33  \
+    -DIRECTION INOUT
+
+set_io -port_name P9_25	\
+    -pin_name B7	\
+    -fixed true	\
+    -io_std LVCMOS33  \
+    -DIRECTION INOUT
+
+set_io -port_name P9_26	\
+    -pin_name A7	\
+    -fixed true	\
+    -io_std LVCMOS33  \
+    -DIRECTION INOUT
+
+set_io -port_name P9_27	\
+    -pin_name D11	\
+    -fixed true	\
+    -io_std LVCMOS33  \
+    -DIRECTION INPUT
+
+set_io -port_name P9_28	\
+    -pin_name C11	\
+    -fixed true	\
+    -io_std LVCMOS33  \
+    -DIRECTION INPUT
+
+set_io -port_name P9_29	\
+    -pin_name F17	\
+    -fixed true	\
+    -io_std LVCMOS33  \
+    -DIRECTION INPUT
+
+set_io -port_name P9_30	\
+    -pin_name F16	\
+    -fixed true	\
+    -io_std LVCMOS33  \
+    -DIRECTION INOUT
+
+set_io -port_name P9_31	\
+    -pin_name E18	\
+    -fixed true	\
+    -io_std LVCMOS33  \
+    -DIRECTION INOUT
+
+set_io -port_name P9_41	\
+    -pin_name E15	\
+    -fixed true	\
+    -io_std LVCMOS33  \
+    -DIRECTION INOUT
+
+set_io -port_name P9_42	\
+    -pin_name E14	\
+    -fixed true	\
+    -io_std LVCMOS33  \
+    -DIRECTION INPUT
+
+#-------------------------------------------------------------------------------
+
+set_io -port_name P8_3  \
+    -pin_name V22       \
+    -fixed true         \
+    -OUT_DRIVE 12       \
+    -RES_PULL None      \
+    -DIRECTION INOUT
+
+set_io -port_name P8_4  \
+    -pin_name W22        \
+    -fixed true         \
+    -OUT_DRIVE 12       \
+    -RES_PULL None      \
+    -DIRECTION INOUT
+
+set_io -port_name P8_5  \
+    -pin_name V19       \
+    -fixed true         \
+    -OUT_DRIVE 12       \
+    -RES_PULL None      \
+    -DIRECTION INOUT
+
+set_io -port_name P8_6  \
+    -pin_name V20        \
+    -fixed true         \
+    -OUT_DRIVE 12       \
+    -RES_PULL None      \
+    -DIRECTION INOUT
+
+set_io -port_name P8_7  \
+    -pin_name V15        \
+    -fixed true         \
+    -OUT_DRIVE 12       \
+    -RES_PULL None      \
+    -DIRECTION INOUT
+
+set_io -port_name P8_8  \
+    -pin_name V14       \
+    -fixed true         \
+    -OUT_DRIVE 12       \
+    -RES_PULL None      \
+    -DIRECTION INOUT
+
+set_io -port_name P8_9  \
+    -pin_name V21       \
+    -fixed true         \
+    -OUT_DRIVE 12       \
+    -RES_PULL None      \
+    -DIRECTION INOUT
+
+set_io -port_name P8_10  \
+    -pin_name W21       \
+    -fixed true          \
+    -OUT_DRIVE 12       \
+    -RES_PULL None      \
+    -DIRECTION INOUT
+
+set_io -port_name P8_11	\
+    -pin_name Y21	\
+    -fixed true	\
+    -OUT_DRIVE 12       \
+    -RES_PULL None      \
+    -DIRECTION INOUT
+
+set_io -port_name P8_12	\
+    -pin_name Y20        \
+    -fixed true	\
+    -OUT_DRIVE 12       \
+    -RES_PULL None      \
+    -DIRECTION INOUT
+
+set_io -port_name P8_13	\
+    -pin_name B10	\
+    -fixed true	\
+    -io_std LVCMOS33  \
+    -OUT_DRIVE 12       \
+    -RES_PULL None      \
+    -DIRECTION INOUT
+
+set_io -port_name P8_14  \
+    -pin_name B9	\
+    -fixed true          \
+    -io_std LVCMOS33  \
+    -OUT_DRIVE 12       \
+    -RES_PULL None      \
+    -DIRECTION INOUT
+
+
+set_io -port_name P8_15  \
+    -pin_name T12       \
+    -fixed true          \
+    -OUT_DRIVE 12       \
+    -RES_PULL None      \
+    -DIRECTION INOUT
+
+set_io -port_name P8_16  \
+    -pin_name U12        \
+    -fixed true          \
+    -OUT_DRIVE 12       \
+    -RES_PULL None      \
+    -DIRECTION INOUT
+
+set_io -port_name P8_17  \
+    -pin_name W13        \
+    -fixed true          \
+    -OUT_DRIVE 12       \
+    -RES_PULL None      \
+    -DIRECTION INOUT
+
+set_io -port_name P8_18  \
+    -pin_name T16       \
+    -fixed true          \
+    -OUT_DRIVE 12       \
+    -RES_PULL None      \
+    -DIRECTION INOUT
+
+set_io -port_name P8_19	\
+    -pin_name W18	\
+    -fixed true	\
+    -OUT_DRIVE 12       \
+    -RES_PULL None      \
+    -DIRECTION INOUT
+
+set_io -port_name P8_20	\
+    -pin_name R16	\
+    -fixed true	\
+    -OUT_DRIVE 12       \
+    -RES_PULL None      \
+    -DIRECTION INOUT
+
+set_io -port_name P8_21	\
+    -pin_name AA21	\
+    -fixed true	\
+    -OUT_DRIVE 12       \
+    -RES_PULL None      \
+    -DIRECTION INOUT
+
+set_io -port_name P8_22	\
+    -pin_name AA22	\
+    -fixed true	\
+    -OUT_DRIVE 12       \
+    -RES_PULL None      \
+    -DIRECTION INOUT
+
+set_io -port_name P8_23	\
+    -pin_name AB18	\
+    -fixed true	\
+    -OUT_DRIVE 12       \
+    -RES_PULL None      \
+    -DIRECTION INOUT
+
+set_io -port_name P8_24	\
+    -pin_name AA18	\
+    -fixed true	\
+    -OUT_DRIVE 12       \
+    -RES_PULL None      \
+    -DIRECTION INOUT
+
+set_io -port_name P8_25	\
+    -pin_name V17	\
+    -fixed true	\
+    -OUT_DRIVE 12       \
+    -RES_PULL None      \
+    -DIRECTION INOUT
+
+set_io -port_name P8_26  \
+    -pin_name A12        \
+    -fixed true          \
+    -io_std LVCMOS33  \
+    -DIRECTION INOUT
+
+set_io -port_name P8_27	\
+    -pin_name A13	\
+    -fixed true	\
+    -io_std LVCMOS33  \
+    -DIRECTION INOUT
+
+set_io -port_name P8_28	\
+    -pin_name B14	\
+    -fixed true	\
+    -io_std LVCMOS33  \
+    -DIRECTION INOUT
+
+set_io -port_name P8_29	\
+    -pin_name B13	\
+    -fixed true	\
+    -io_std LVCMOS33  \
+    -DIRECTION INOUT
+
+set_io -port_name P8_30	\
+    -pin_name D14	\
+    -fixed true	\
+    -io_std LVCMOS33  \
+    -DIRECTION INOUT
+
+set_io -port_name P8_31	\
+    -pin_name D13	\
+    -fixed true	\
+    -io_std LVCMOS33  \
+    -DIRECTION INOUT
+
+set_io -port_name P8_32	\
+    -pin_name B15	\
+    -fixed true	\
+    -io_std LVCMOS33  \
+    -DIRECTION INOUT
+
+set_io -port_name P8_33	\
+    -pin_name A15	\
+    -fixed true	\
+    -io_std LVCMOS33  \
+    -DIRECTION INPUT
+
+set_io -port_name P8_34	\
+    -pin_name C15	\
+    -fixed true	\
+    -io_std LVCMOS33  \
+    -DIRECTION INOUT
+
+set_io -port_name P8_35	\
+    -pin_name C14	\
+    -fixed true	\
+    -io_std LVCMOS33  \
+    -DIRECTION INPUT
+
+set_io -port_name P8_36	\
+    -pin_name B4	\
+    -fixed true	\
+    -io_std LVCMOS33  \
+    -DIRECTION INOUT
+
+set_io -port_name P8_37	\
+    -pin_name C4	\
+    -fixed true	\
+    -io_std LVCMOS33  \
+    -DIRECTION INOUT
+
+set_io -port_name P8_38	\
+    -pin_name C17	\
+    -fixed true	\
+    -io_std LVCMOS33  \
+    -DIRECTION INOUT
+
+set_io -port_name P8_39	\
+    -pin_name B17	\
+    -fixed true	\
+    -io_std LVCMOS33  \
+    -DIRECTION INOUT
+
+set_io -port_name P8_40	\
+    -pin_name B18	\
+    -fixed true	\
+    -io_std LVCMOS33  \
+    -DIRECTION INOUT
+
+set_io -port_name P8_41	\
+    -pin_name A18	\
+    -fixed true	\
+    -io_std LVCMOS33  \
+    -DIRECTION INOUT
+
+set_io -port_name P8_42	\
+    -pin_name D6	\
+    -fixed true	\
+    -io_std LVCMOS33  \
+    -DIRECTION INOUT
+
+set_io -port_name P8_43	\
+    -pin_name D7	\
+    -fixed true	\
+    -io_std LVCMOS33  \
+    -DIRECTION INOUT
+
+set_io -port_name P8_44	\
+    -pin_name D8	\
+    -fixed true	\
+    -io_std LVCMOS33  \
+    -DIRECTION INOUT
+
+set_io -port_name P8_45	\
+    -pin_name D9	\
+    -fixed true	\
+    -io_std LVCMOS33  \
+    -DIRECTION INOUT
+
+set_io -port_name P8_46	\
+    -pin_name D18	\
+    -fixed true	\
+    -io_std LVCMOS33  \
+    -DIRECTION INOUT
+	
diff --git a/sources/FPGA-design/script_support/components/CAPE/MY_LOVELY_CAPE/device-tree-overlay/leds.dtso b/sources/FPGA-design/script_support/components/CAPE/MY_LOVELY_CAPE/device-tree-overlay/leds.dtso
new file mode 100644
index 0000000000000000000000000000000000000000..56551e989ee521f60fc170154dae849bbdadd7fc
--- /dev/null
+++ b/sources/FPGA-design/script_support/components/CAPE/MY_LOVELY_CAPE/device-tree-overlay/leds.dtso
@@ -0,0 +1,84 @@
+// SPDX-License-Identifier: (GPL-2.0 OR MIT)
+/* Copyright (c) 2023 Microchip Technology Inc */
+
+/dts-v1/;
+/plugin/;
+
+&{/} {
+	leds {
+		compatible = "gpio-leds";
+
+		led_P8_03 {
+			status = "okay";
+			gpios = <&gpio2 0 0>;
+			default-state = "on";
+		};
+
+		led_P8_04 {
+			status = "okay";
+			gpios = <&gpio2 1 0>;
+			default-state = "on";
+		};
+
+		led_P8_05 {
+			status = "okay";
+			gpios = <&gpio2 2 0>;
+			default-state = "on";
+		};
+
+		led_P8_06 {
+			status = "okay";
+			gpios = <&gpio2 3 0>;
+			linux,default-trigger = "heartbeat";
+			default-state = "on";
+		};
+
+		led_P8_07 {
+			status = "okay";
+			gpios = <&gpio2 4 0>;
+			default-state = "off";
+		};
+
+		led_P8_08 {
+			status = "okay";
+			gpios = <&gpio2 5 0>;
+			default-state = "off";
+		};
+
+		led_P8_09 {
+			status = "okay";
+			gpios = <&gpio2 6 0>;
+			default-state = "off";
+		};
+
+		led_P8_10 {
+			status = "okay";
+			gpios = <&gpio2 7 0>;
+			default-state = "off";
+		};
+
+		led_P8_11 {
+			status = "okay";
+			gpios = <&gpio2 8 0>;
+			default-state = "off";
+		};
+
+		led_P8_12 {
+			status = "okay";
+			gpios = <&gpio2 9 0>;
+			default-state = "off";
+		};
+
+		led_P8_13 {
+			status = "okay";
+			gpios = <&gpio2 10 0>;
+			default-state = "off";
+		};
+
+		led_P8_14 {
+			status = "okay";
+			gpios = <&gpio2 11 0>;
+			default-state = "off";
+		};
+	};
+};
diff --git a/sources/FPGA-design/script_support/components/CAPE/MY_LOVELY_CAPE/device-tree-overlay/verilog-cape.dtso b/sources/FPGA-design/script_support/components/CAPE/MY_LOVELY_CAPE/device-tree-overlay/verilog-cape.dtso
new file mode 100644
index 0000000000000000000000000000000000000000..981def927c17e4e8303bc237c12a1cf3aae96ab0
--- /dev/null
+++ b/sources/FPGA-design/script_support/components/CAPE/MY_LOVELY_CAPE/device-tree-overlay/verilog-cape.dtso
@@ -0,0 +1,36 @@
+// SPDX-License-Identifier: (GPL-2.0 OR MIT)
+/* Copyright (c) 2023 Microchip Technology Inc */
+
+/dts-v1/;
+/plugin/;
+
+&{/chosen} {
+	overlays {
+		MY-LOVELY-CAPE-GATEWARE = "GATEWARE_GIT_VERSION";
+	};
+};
+
+&{/fabric-bus@40000000} {
+	#address-cells = <2>;
+	#size-cells = <2>;
+
+	cape_gpios_p8: gpio@41100000 {
+		compatible = "microchip,core-gpio", "microchip,coregpio-rtl-v3";
+		reg = <0x0 0x41100000 0x0 0x1000>;
+		clocks = <&fabric_clk3>;
+		interrupt-parent = <&plic>;
+		gpio-controller;
+		#gpio-cells = <2>;
+		ngpios = <16>;
+		status = "okay";
+		interrupts = <129>, <130>, <131>, <132>,
+			     <133>, <134>, <135>, <136>,
+			     <137>, <138>, <139>, <140>,
+			     <141>, <142>, <143>, <144>;
+
+		gpio-line-names = "P8_31", "P8_32", "", "P8_34",
+				  "", "P8_36", "P8_37", "P8_38",
+				  "P8_39", "P8_40", "P8_41", "P8_42",
+				  "P8_43", "P8_44", "P8_45", "P8_46";
+	};
+};