From 2effba13fa97895f4d3ac1cd85fb1c18918b66f5 Mon Sep 17 00:00:00 2001 From: Ayaan Tunio Date: Sun, 12 Oct 2025 14:37:14 -0400 Subject: [PATCH] Squash commits for public release --- Hardware/.keep | 0 Hardware/Constraints/.keep | 0 Hardware/Constraints/constraints.xdc | 22 + Hardware/HDL_Wrapper/.keep | 0 Hardware/HDL_Wrapper/hdl_wrapper.v | 128 + Hardware/Vivado_Block_Design/.keep | 0 .../pcie_acceleration_vc707_design.tcl | 2679 ++++++++ Hardware/Vivado_HLS_IPs/.keep | 0 .../Acceleration_Scheduler_Direct/.keep | 0 .../acceleration_scheduler_direct.cpp | 518 ++ .../acceleration_scheduler_direct.h | 126 + .../Acceleration_Scheduler_Direct/run_hls.tcl | 17 + .../Acceleration_Scheduler_Indirect/.keep | 0 .../acceleration_scheduler_indirect.cpp | 715 ++ .../acceleration_scheduler_indirect.h | 126 + .../run_hls.tcl | 17 + .../Acceleration_Scheduler_SG_XDMA/.keep | 0 .../acceleration_scheduler_sg_xdma.cpp | 476 ++ .../acceleration_scheduler_sg_xdma.h | 126 + .../run_hls.tcl | 17 + .../DMA_SG_PCIe_Scheduler/.keep | 0 .../dma_sg_pcie_scheduler.cpp | 698 ++ .../dma_sg_pcie_scheduler.h | 126 + .../DMA_SG_PCIe_Scheduler/run_hls.tcl | 17 + Hardware/Vivado_HLS_IPs/Fetch_Scheduler/.keep | 0 .../Fetch_Scheduler/fetch_scheduler.cpp | 513 ++ .../Fetch_Scheduler/fetch_scheduler.h | 126 + .../Fetch_Scheduler/run_hls.tcl | 17 + .../Vivado_HLS_IPs/Info_Memory_Block/.keep | 0 .../Info_Memory_Block/info_memory_block.cpp | 102 + .../Info_Memory_Block/info_memory_block.h | 95 + .../Info_Memory_Block/run_hls.tcl | 17 + .../Vivado_HLS_IPs/Interrupt_Manager/.keep | 0 .../Interrupt_Manager/interrupt_manager.cpp | 206 + .../Interrupt_Manager/interrupt_manager.h | 16 + .../Interrupt_Manager/run_hls.tcl | 17 + Hardware/Vivado_HLS_IPs/Send_Scheduler/.keep | 0 .../Vivado_HLS_IPs/Send_Scheduler/run_hls.tcl | 17 + .../Send_Scheduler/send_scheduler.cpp | 476 ++ .../Send_Scheduler/send_scheduler.h | 126 + Hardware/Vivado_HLS_IPs/Sobel_Filter/.keep | 0 .../Sobel_Filter/ap_axi_sdata2.h | 74 + Hardware/Vivado_HLS_IPs/Sobel_Filter/ap_bmp.h | 99 + .../Vivado_HLS_IPs/Sobel_Filter/ap_video.h | 341 + .../Sobel_Filter/packet_mode_operations.cpp | 19 + .../Sobel_Filter/packet_mode_operations.h | 6 + .../Vivado_HLS_IPs/Sobel_Filter/run_hls.tcl | 17 + .../Vivado_HLS_IPs/Sobel_Filter/sobel.cpp | 611 ++ Hardware/Vivado_HLS_IPs/Sobel_Filter/sobel.h | 31 + .../Sobel_Filter/sobel_operations.cpp | 1456 +++++ .../Sobel_Filter/sobel_operations.h | 195 + Hardware/create_project.tcl | 49 + Images/.keep | 0 Images/system_overview.png | Bin 0 -> 88788 bytes README.md | 112 + Software/.keep | 0 Software/Linux_App_Driver/.keep | 0 Software/Linux_App_Driver/Makefile | 13 + Software/Linux_App_Driver/Results/hd.bmp | Bin 0 -> 2764856 bytes Software/Linux_App_Driver/Results/qvga.bmp | Bin 0 -> 230456 bytes Software/Linux_App_Driver/Results/renamer.txt | 1 + Software/Linux_App_Driver/Results/vga.bmp | Bin 0 -> 921656 bytes Software/Linux_App_Driver/make_device | 7 + Software/Linux_App_Driver/ui.cpp | 3554 ++++++++++ Software/Linux_App_Driver/xilinx_pci_driver.c | 5732 +++++++++++++++++ Software/Linux_App_Driver/xilinx_pci_driver.h | 551 ++ Software/Microblaze_XSDK/.keep | 0 Software/Microblaze_XSDK/src/lscript.ld | 221 + Software/Microblaze_XSDK/src/main.c | 84 + Software/Microblaze_XSDK/src/platform.c | 103 + Software/Microblaze_XSDK/src/platform.h | 41 + .../Microblaze_XSDK/src/platform_config.h | 4 + Software/Microblaze_XSDK/src/setup_system.c | 2986 +++++++++ Software/Microblaze_XSDK/src/structures.h | 159 + 74 files changed, 24002 insertions(+) create mode 100644 Hardware/.keep create mode 100644 Hardware/Constraints/.keep create mode 100644 Hardware/Constraints/constraints.xdc create mode 100644 Hardware/HDL_Wrapper/.keep create mode 100644 Hardware/HDL_Wrapper/hdl_wrapper.v create mode 100644 Hardware/Vivado_Block_Design/.keep create mode 100644 Hardware/Vivado_Block_Design/pcie_acceleration_vc707_design.tcl create mode 100644 Hardware/Vivado_HLS_IPs/.keep create mode 100644 Hardware/Vivado_HLS_IPs/Acceleration_Scheduler_Direct/.keep create mode 100644 Hardware/Vivado_HLS_IPs/Acceleration_Scheduler_Direct/acceleration_scheduler_direct.cpp create mode 100644 Hardware/Vivado_HLS_IPs/Acceleration_Scheduler_Direct/acceleration_scheduler_direct.h create mode 100644 Hardware/Vivado_HLS_IPs/Acceleration_Scheduler_Direct/run_hls.tcl create mode 100644 Hardware/Vivado_HLS_IPs/Acceleration_Scheduler_Indirect/.keep create mode 100644 Hardware/Vivado_HLS_IPs/Acceleration_Scheduler_Indirect/acceleration_scheduler_indirect.cpp create mode 100644 Hardware/Vivado_HLS_IPs/Acceleration_Scheduler_Indirect/acceleration_scheduler_indirect.h create mode 100644 Hardware/Vivado_HLS_IPs/Acceleration_Scheduler_Indirect/run_hls.tcl create mode 100644 Hardware/Vivado_HLS_IPs/Acceleration_Scheduler_SG_XDMA/.keep create mode 100644 Hardware/Vivado_HLS_IPs/Acceleration_Scheduler_SG_XDMA/acceleration_scheduler_sg_xdma.cpp create mode 100644 Hardware/Vivado_HLS_IPs/Acceleration_Scheduler_SG_XDMA/acceleration_scheduler_sg_xdma.h create mode 100644 Hardware/Vivado_HLS_IPs/Acceleration_Scheduler_SG_XDMA/run_hls.tcl create mode 100644 Hardware/Vivado_HLS_IPs/DMA_SG_PCIe_Scheduler/.keep create mode 100644 Hardware/Vivado_HLS_IPs/DMA_SG_PCIe_Scheduler/dma_sg_pcie_scheduler.cpp create mode 100644 Hardware/Vivado_HLS_IPs/DMA_SG_PCIe_Scheduler/dma_sg_pcie_scheduler.h create mode 100644 Hardware/Vivado_HLS_IPs/DMA_SG_PCIe_Scheduler/run_hls.tcl create mode 100644 Hardware/Vivado_HLS_IPs/Fetch_Scheduler/.keep create mode 100644 Hardware/Vivado_HLS_IPs/Fetch_Scheduler/fetch_scheduler.cpp create mode 100644 Hardware/Vivado_HLS_IPs/Fetch_Scheduler/fetch_scheduler.h create mode 100644 Hardware/Vivado_HLS_IPs/Fetch_Scheduler/run_hls.tcl create mode 100644 Hardware/Vivado_HLS_IPs/Info_Memory_Block/.keep create mode 100644 Hardware/Vivado_HLS_IPs/Info_Memory_Block/info_memory_block.cpp create mode 100644 Hardware/Vivado_HLS_IPs/Info_Memory_Block/info_memory_block.h create mode 100644 Hardware/Vivado_HLS_IPs/Info_Memory_Block/run_hls.tcl create mode 100644 Hardware/Vivado_HLS_IPs/Interrupt_Manager/.keep create mode 100644 Hardware/Vivado_HLS_IPs/Interrupt_Manager/interrupt_manager.cpp create mode 100644 Hardware/Vivado_HLS_IPs/Interrupt_Manager/interrupt_manager.h create mode 100644 Hardware/Vivado_HLS_IPs/Interrupt_Manager/run_hls.tcl create mode 100644 Hardware/Vivado_HLS_IPs/Send_Scheduler/.keep create mode 100644 Hardware/Vivado_HLS_IPs/Send_Scheduler/run_hls.tcl create mode 100644 Hardware/Vivado_HLS_IPs/Send_Scheduler/send_scheduler.cpp create mode 100644 Hardware/Vivado_HLS_IPs/Send_Scheduler/send_scheduler.h create mode 100644 Hardware/Vivado_HLS_IPs/Sobel_Filter/.keep create mode 100644 Hardware/Vivado_HLS_IPs/Sobel_Filter/ap_axi_sdata2.h create mode 100644 Hardware/Vivado_HLS_IPs/Sobel_Filter/ap_bmp.h create mode 100644 Hardware/Vivado_HLS_IPs/Sobel_Filter/ap_video.h create mode 100644 Hardware/Vivado_HLS_IPs/Sobel_Filter/packet_mode_operations.cpp create mode 100644 Hardware/Vivado_HLS_IPs/Sobel_Filter/packet_mode_operations.h create mode 100644 Hardware/Vivado_HLS_IPs/Sobel_Filter/run_hls.tcl create mode 100644 Hardware/Vivado_HLS_IPs/Sobel_Filter/sobel.cpp create mode 100644 Hardware/Vivado_HLS_IPs/Sobel_Filter/sobel.h create mode 100644 Hardware/Vivado_HLS_IPs/Sobel_Filter/sobel_operations.cpp create mode 100644 Hardware/Vivado_HLS_IPs/Sobel_Filter/sobel_operations.h create mode 100644 Hardware/create_project.tcl create mode 100644 Images/.keep create mode 100644 Images/system_overview.png create mode 100644 README.md create mode 100644 Software/.keep create mode 100644 Software/Linux_App_Driver/.keep create mode 100644 Software/Linux_App_Driver/Makefile create mode 100644 Software/Linux_App_Driver/Results/hd.bmp create mode 100644 Software/Linux_App_Driver/Results/qvga.bmp create mode 100644 Software/Linux_App_Driver/Results/renamer.txt create mode 100644 Software/Linux_App_Driver/Results/vga.bmp create mode 100644 Software/Linux_App_Driver/make_device create mode 100644 Software/Linux_App_Driver/ui.cpp create mode 100644 Software/Linux_App_Driver/xilinx_pci_driver.c create mode 100644 Software/Linux_App_Driver/xilinx_pci_driver.h create mode 100644 Software/Microblaze_XSDK/.keep create mode 100644 Software/Microblaze_XSDK/src/lscript.ld create mode 100644 Software/Microblaze_XSDK/src/main.c create mode 100644 Software/Microblaze_XSDK/src/platform.c create mode 100644 Software/Microblaze_XSDK/src/platform.h create mode 100644 Software/Microblaze_XSDK/src/platform_config.h create mode 100644 Software/Microblaze_XSDK/src/setup_system.c create mode 100644 Software/Microblaze_XSDK/src/structures.h diff --git a/Hardware/.keep b/Hardware/.keep new file mode 100644 index 0000000..e69de29 diff --git a/Hardware/Constraints/.keep b/Hardware/Constraints/.keep new file mode 100644 index 0000000..e69de29 diff --git a/Hardware/Constraints/constraints.xdc b/Hardware/Constraints/constraints.xdc new file mode 100644 index 0000000..d7d16f3 --- /dev/null +++ b/Hardware/Constraints/constraints.xdc @@ -0,0 +1,22 @@ +#-------------------------------------------------------------------------------- +#Copyright 1986-2015 Xilinx, Inc. All Rights Reserved. +#-------------------------------------------------------------------------------- +#Tool Version: Vivado v.2015.4 (lin64) Build 1412921 Wed Nov 18 09:44:32 MST 2015 +#Date : 2025 +#-------------------------------------------------------------------------------- + +set_property IOSTANDARD LVCMOS18 [get_ports perst] +set_property PULLUP true [get_ports perst] +set_property LOC AV35 [get_ports perst] + +#PCIe Reference Clock (Differential) Ports +set_property PACKAGE_PIN K8 [get_ports REFCLK_p] +set_property PACKAGE_PIN K7 [get_ports REFCLK_n] + +#DDR3 Initial Calibration Complete Led Indication Output Port +set_property PACKAGE_PIN AN39 [get_ports init_calib_complete] +set_property IOSTANDARD LVCMOS18 [get_ports init_calib_complete] + +set_property CLOCK_DEDICATED_ROUTE BACKBONE [get_nets pcie_acceleration_vc707_design_i/clocking_wizard/inst/clk_in1_pcie_acceleration_vc707_design_clk_wiz_1_0] + +set_property LOC IBUFDS_GTE2_X1Y5 [get_cells refclk_ibuf] diff --git a/Hardware/HDL_Wrapper/.keep b/Hardware/HDL_Wrapper/.keep new file mode 100644 index 0000000..e69de29 diff --git a/Hardware/HDL_Wrapper/hdl_wrapper.v b/Hardware/HDL_Wrapper/hdl_wrapper.v new file mode 100644 index 0000000..f0f9465 --- /dev/null +++ b/Hardware/HDL_Wrapper/hdl_wrapper.v @@ -0,0 +1,128 @@ +//-------------------------------------------------------------------------------- +//Copyright 1986-2015 Xilinx, Inc. All Rights Reserved. +//-------------------------------------------------------------------------------- +//Tool Version: Vivado v.2015.4 (lin64) Build 1412921 Wed Nov 18 09:44:32 MST 2015 +//Date : 2025 +//-------------------------------------------------------------------------------- + +`timescale 1 ps / 1 ps + +module pcie_acceleration_vc707_design_wrapper + (REFCLK_p, + REFCLK_n, + ddr3_sdram_addr, + ddr3_sdram_ba, + ddr3_sdram_cas_n, + ddr3_sdram_ck_n, + ddr3_sdram_ck_p, + ddr3_sdram_cke, + ddr3_sdram_cs_n, + ddr3_sdram_dm, + ddr3_sdram_dq, + ddr3_sdram_dqs_n, + ddr3_sdram_dqs_p, + ddr3_sdram_odt, + ddr3_sdram_ras_n, + ddr3_sdram_reset_n, + ddr3_sdram_we_n, + init_calib_complete, + pcie_7x_mgt_rxn, + pcie_7x_mgt_rxp, + pcie_7x_mgt_txn, + pcie_7x_mgt_txp, + perst, + reset, + rs232_uart_rxd, + rs232_uart_txd, + sys_diff_clock_clk_n, + sys_diff_clock_clk_p); + input REFCLK_p; + input REFCLK_n; + output [13:0]ddr3_sdram_addr; + output [2:0]ddr3_sdram_ba; + output ddr3_sdram_cas_n; + output [0:0]ddr3_sdram_ck_n; + output [0:0]ddr3_sdram_ck_p; + output [0:0]ddr3_sdram_cke; + output [0:0]ddr3_sdram_cs_n; + output [7:0]ddr3_sdram_dm; + inout [63:0]ddr3_sdram_dq; + inout [7:0]ddr3_sdram_dqs_n; + inout [7:0]ddr3_sdram_dqs_p; + output [0:0]ddr3_sdram_odt; + output ddr3_sdram_ras_n; + output ddr3_sdram_reset_n; + output ddr3_sdram_we_n; + output init_calib_complete; + input [3:0]pcie_7x_mgt_rxn; + input [3:0]pcie_7x_mgt_rxp; + output [3:0]pcie_7x_mgt_txn; + output [3:0]pcie_7x_mgt_txp; + input perst; + input reset; + input rs232_uart_rxd; + output rs232_uart_txd; + input sys_diff_clock_clk_n; + input sys_diff_clock_clk_p; + + wire REFCLK_p; + wire REFCLK_n; + wire [13:0]ddr3_sdram_addr; + wire [2:0]ddr3_sdram_ba; + wire ddr3_sdram_cas_n; + wire [0:0]ddr3_sdram_ck_n; + wire [0:0]ddr3_sdram_ck_p; + wire [0:0]ddr3_sdram_cke; + wire [0:0]ddr3_sdram_cs_n; + wire [7:0]ddr3_sdram_dm; + wire [63:0]ddr3_sdram_dq; + wire [7:0]ddr3_sdram_dqs_n; + wire [7:0]ddr3_sdram_dqs_p; + wire [0:0]ddr3_sdram_odt; + wire ddr3_sdram_ras_n; + wire ddr3_sdram_reset_n; + wire ddr3_sdram_we_n; + wire init_calib_complete; + wire [3:0]pcie_7x_mgt_rxn; + wire [3:0]pcie_7x_mgt_rxp; + wire [3:0]pcie_7x_mgt_txn; + wire [3:0]pcie_7x_mgt_txp; + wire perst; + wire reset; + wire rs232_uart_rxd; + wire rs232_uart_txd; + wire sys_diff_clock_clk_n; + wire sys_diff_clock_clk_p; + + IBUFDS_GTE2 refclk_ibuf (.O(REFCLK), .ODIV2(), .I(REFCLK_p), .CEB(1'b0), .IB(REFCLK_n)); + + + pcie_acceleration_vc707_design pcie_acceleration_vc707_design_i + (.REFCLK(REFCLK), + .ddr3_sdram_addr(ddr3_sdram_addr), + .ddr3_sdram_ba(ddr3_sdram_ba), + .ddr3_sdram_cas_n(ddr3_sdram_cas_n), + .ddr3_sdram_ck_n(ddr3_sdram_ck_n), + .ddr3_sdram_ck_p(ddr3_sdram_ck_p), + .ddr3_sdram_cke(ddr3_sdram_cke), + .ddr3_sdram_cs_n(ddr3_sdram_cs_n), + .ddr3_sdram_dm(ddr3_sdram_dm), + .ddr3_sdram_dq(ddr3_sdram_dq), + .ddr3_sdram_dqs_n(ddr3_sdram_dqs_n), + .ddr3_sdram_dqs_p(ddr3_sdram_dqs_p), + .ddr3_sdram_odt(ddr3_sdram_odt), + .ddr3_sdram_ras_n(ddr3_sdram_ras_n), + .ddr3_sdram_reset_n(ddr3_sdram_reset_n), + .ddr3_sdram_we_n(ddr3_sdram_we_n), + .init_calib_complete(init_calib_complete), + .pcie_7x_mgt_rxn(pcie_7x_mgt_rxn), + .pcie_7x_mgt_rxp(pcie_7x_mgt_rxp), + .pcie_7x_mgt_txn(pcie_7x_mgt_txn), + .pcie_7x_mgt_txp(pcie_7x_mgt_txp), + .perst(perst), + .reset(reset), + .rs232_uart_rxd(rs232_uart_rxd), + .rs232_uart_txd(rs232_uart_txd), + .sys_diff_clock_clk_n(sys_diff_clock_clk_n), + .sys_diff_clock_clk_p(sys_diff_clock_clk_p)); +endmodule diff --git a/Hardware/Vivado_Block_Design/.keep b/Hardware/Vivado_Block_Design/.keep new file mode 100644 index 0000000..e69de29 diff --git a/Hardware/Vivado_Block_Design/pcie_acceleration_vc707_design.tcl b/Hardware/Vivado_Block_Design/pcie_acceleration_vc707_design.tcl new file mode 100644 index 0000000..cfe824e --- /dev/null +++ b/Hardware/Vivado_Block_Design/pcie_acceleration_vc707_design.tcl @@ -0,0 +1,2679 @@ + +################################################################ +# This is a generated script based on design: pcie_acceleration_vc707_design +# +# Though there are limitations about the generated script, +# the main purpose of this utility is to make learning +# IP Integrator Tcl commands easier. +################################################################ + +################################################################ +# Check if script is running in correct Vivado version. +################################################################ +set scripts_vivado_version 2015.4 +set current_vivado_version [version -short] + +if { [string first $scripts_vivado_version $current_vivado_version] == -1 } { + puts "" + puts "ERROR: This script was generated using Vivado <$scripts_vivado_version> and is being run in <$current_vivado_version> of Vivado. Please run the script in Vivado <$scripts_vivado_version> then open the design in Vivado <$current_vivado_version>. Upgrade the design by running \"Tools => Report => Report IP Status...\", then run write_bd_tcl to create an updated script." + + return 1 +} + +################################################################ +# START +################################################################ + +# To test this script, run the following commands from Vivado Tcl console: +# source pcie_acceleration_vc707_design_script.tcl + +# If you do not already have a project created, +# you can create a project using the following command: +# create_project project_1 myproj -part xc7vx485tffg1761-2 +# set_property BOARD_PART xilinx.com:vc707:part0:1.2 [current_project] + +# CHECKING IF PROJECT EXISTS +if { [get_projects -quiet] eq "" } { + puts "ERROR: Please open or create a project!" + return 1 +} + + + +# CHANGE DESIGN NAME HERE +set design_name pcie_acceleration_vc707_design + +# If you do not already have an existing IP Integrator design open, +# you can create a design using the following command: +# create_bd_design $design_name + +# Creating design if needed +set errMsg "" +set nRet 0 + +set cur_design [current_bd_design -quiet] +set list_cells [get_bd_cells -quiet] + +if { ${design_name} eq "" } { + # USE CASES: + # 1) Design_name not set + + set errMsg "ERROR: Please set the variable to a non-empty value." + set nRet 1 + +} elseif { ${cur_design} ne "" && ${list_cells} eq "" } { + # USE CASES: + # 2): Current design opened AND is empty AND names same. + # 3): Current design opened AND is empty AND names diff; design_name NOT in project. + # 4): Current design opened AND is empty AND names diff; design_name exists in project. + + if { $cur_design ne $design_name } { + puts "INFO: Changing value of from <$design_name> to <$cur_design> since current design is empty." + set design_name [get_property NAME $cur_design] + } + puts "INFO: Constructing design in IPI design <$cur_design>..." + +} elseif { ${cur_design} ne "" && $list_cells ne "" && $cur_design eq $design_name } { + # USE CASES: + # 5) Current design opened AND has components AND same names. + + set errMsg "ERROR: Design <$design_name> already exists in your project, please set the variable to another value." + set nRet 1 +} elseif { [get_files -quiet ${design_name}.bd] ne "" } { + # USE CASES: + # 6) Current opened design, has components, but diff names, design_name exists in project. + # 7) No opened design, design_name exists in project. + + set errMsg "ERROR: Design <$design_name> already exists in your project, please set the variable to another value." + set nRet 2 + +} else { + # USE CASES: + # 8) No opened design, design_name not in project. + # 9) Current opened design, has components, but diff names, design_name not in project. + + puts "INFO: Currently there is no design <$design_name> in project, so creating one..." + + create_bd_design $design_name + + puts "INFO: Making design <$design_name> as current_bd_design." + current_bd_design $design_name + +} + +puts "INFO: Currently the variable is equal to \"$design_name\"." + +if { $nRet != 0 } { + puts $errMsg + return $nRet +} + + +################################################################## +# MIG PRJ FILE TCL PROCs +################################################################## + +proc write_mig_file_pcie_acceleration_vc707_design_mig_7series_0_0 { str_mig_prj_filepath } { + + set mig_prj_file [open $str_mig_prj_filepath w+] + + puts $mig_prj_file {} + puts $mig_prj_file {} + puts $mig_prj_file {} + puts $mig_prj_file { pcie_acceleration_vc707_design_mig_7series_0_0} + puts $mig_prj_file { 1} + puts $mig_prj_file { 1} + puts $mig_prj_file { OFF} + puts $mig_prj_file { 1024} + puts $mig_prj_file { ON} + puts $mig_prj_file { Enabled} + puts $mig_prj_file { xc7vx485t-ffg1761/-2} + puts $mig_prj_file { 2.4} + puts $mig_prj_file { No Buffer} + puts $mig_prj_file { Use System Clock} + puts $mig_prj_file { ACTIVE HIGH} + puts $mig_prj_file { FALSE} + puts $mig_prj_file { 1} + puts $mig_prj_file { 50 Ohms} + puts $mig_prj_file { 0} + puts $mig_prj_file { } + puts $mig_prj_file { DDR3_SDRAM/sodimms/MT8JTF12864HZ-1G6} + puts $mig_prj_file { 2500} + puts $mig_prj_file { 1.8V} + puts $mig_prj_file { 4:1} + puts $mig_prj_file { 200} + puts $mig_prj_file { 0} + puts $mig_prj_file { 800} + puts $mig_prj_file { 1.000} + puts $mig_prj_file { 1} + puts $mig_prj_file { 1} + puts $mig_prj_file { 1} + puts $mig_prj_file { 1} + puts $mig_prj_file { 64} + puts $mig_prj_file { 1} + puts $mig_prj_file { 1} + puts $mig_prj_file { Disabled} + puts $mig_prj_file { Normal} + puts $mig_prj_file { FALSE} + puts $mig_prj_file { } + puts $mig_prj_file { 14} + puts $mig_prj_file { 10} + puts $mig_prj_file { 3} + puts $mig_prj_file { 1.5V} + puts $mig_prj_file { 1073741824} + puts $mig_prj_file { ROW_BANK_COLUMN} + puts $mig_prj_file { } + puts $mig_prj_file { } + puts $mig_prj_file { } + puts $mig_prj_file { } + puts $mig_prj_file { } + puts $mig_prj_file { } + puts $mig_prj_file { } + puts $mig_prj_file { } + puts $mig_prj_file { } + puts $mig_prj_file { } + puts $mig_prj_file { } + puts $mig_prj_file { } + puts $mig_prj_file { } + puts $mig_prj_file { } + puts $mig_prj_file { } + puts $mig_prj_file { } + puts $mig_prj_file { } + puts $mig_prj_file { } + puts $mig_prj_file { } + puts $mig_prj_file { } + puts $mig_prj_file { } + puts $mig_prj_file { } + puts $mig_prj_file { } + puts $mig_prj_file { } + puts $mig_prj_file { } + puts $mig_prj_file { } + puts $mig_prj_file { } + puts $mig_prj_file { } + puts $mig_prj_file { } + puts $mig_prj_file { } + puts $mig_prj_file { } + puts $mig_prj_file { } + puts $mig_prj_file { } + puts $mig_prj_file { } + puts $mig_prj_file { } + puts $mig_prj_file { } + puts $mig_prj_file { } + puts $mig_prj_file { } + puts $mig_prj_file { } + puts $mig_prj_file { } + puts $mig_prj_file { } + puts $mig_prj_file { } + puts $mig_prj_file { } + puts $mig_prj_file { } + puts $mig_prj_file { } + puts $mig_prj_file { } + puts $mig_prj_file { } + puts $mig_prj_file { } + puts $mig_prj_file { } + puts $mig_prj_file { } + puts $mig_prj_file { } + puts $mig_prj_file { } + puts $mig_prj_file { } + puts $mig_prj_file { } + puts $mig_prj_file { } + puts $mig_prj_file { } + puts $mig_prj_file { } + puts $mig_prj_file { } + puts $mig_prj_file { } + puts $mig_prj_file { } + puts $mig_prj_file { } + puts $mig_prj_file { } + puts $mig_prj_file { } + puts $mig_prj_file { } + puts $mig_prj_file { } + puts $mig_prj_file { } + puts $mig_prj_file { } + puts $mig_prj_file { } + puts $mig_prj_file { } + puts $mig_prj_file { } + puts $mig_prj_file { } + puts $mig_prj_file { } + puts $mig_prj_file { } + puts $mig_prj_file { } + puts $mig_prj_file { } + puts $mig_prj_file { } + puts $mig_prj_file { } + puts $mig_prj_file { } + puts $mig_prj_file { } + puts $mig_prj_file { } + puts $mig_prj_file { } + puts $mig_prj_file { } + puts $mig_prj_file { } + puts $mig_prj_file { } + puts $mig_prj_file { } + puts $mig_prj_file { } + puts $mig_prj_file { } + puts $mig_prj_file { } + puts $mig_prj_file { } + puts $mig_prj_file { } + puts $mig_prj_file { } + puts $mig_prj_file { } + puts $mig_prj_file { } + puts $mig_prj_file { } + puts $mig_prj_file { } + puts $mig_prj_file { } + puts $mig_prj_file { } + puts $mig_prj_file { } + puts $mig_prj_file { } + puts $mig_prj_file { } + puts $mig_prj_file { } + puts $mig_prj_file { } + puts $mig_prj_file { } + puts $mig_prj_file { } + puts $mig_prj_file { } + puts $mig_prj_file { } + puts $mig_prj_file { } + puts $mig_prj_file { } + puts $mig_prj_file { } + puts $mig_prj_file { } + puts $mig_prj_file { } + puts $mig_prj_file { } + puts $mig_prj_file { } + puts $mig_prj_file { } + puts $mig_prj_file { } + puts $mig_prj_file { } + puts $mig_prj_file { } + puts $mig_prj_file { } + puts $mig_prj_file { } + puts $mig_prj_file { } + puts $mig_prj_file { } + puts $mig_prj_file { } + puts $mig_prj_file { } + puts $mig_prj_file { } + puts $mig_prj_file { 8 - Fixed} + puts $mig_prj_file { Sequential} + puts $mig_prj_file { 6} + puts $mig_prj_file { Normal} + puts $mig_prj_file { No} + puts $mig_prj_file { Slow Exit} + puts $mig_prj_file { Enable} + puts $mig_prj_file { RZQ/6} + puts $mig_prj_file { Disable} + puts $mig_prj_file { Enable} + puts $mig_prj_file { RZQ/4} + puts $mig_prj_file { 0} + puts $mig_prj_file { Disabled} + puts $mig_prj_file { Enabled} + puts $mig_prj_file { Output Buffer Enabled} + puts $mig_prj_file { Full Array} + puts $mig_prj_file { 5} + puts $mig_prj_file { Enabled} + puts $mig_prj_file { Normal} + puts $mig_prj_file { Dynamic ODT off} + puts $mig_prj_file { AXI} + puts $mig_prj_file { } + puts $mig_prj_file { RD_PRI_REG} + puts $mig_prj_file { 30} + puts $mig_prj_file { 128} + puts $mig_prj_file { 6} + puts $mig_prj_file { 1} + puts $mig_prj_file { } + puts $mig_prj_file { } + puts $mig_prj_file {} + + close $mig_prj_file +} +# End of write_mig_file_pcie_acceleration_vc707_design_mig_7series_0_0() + + + +################################################################## +# DESIGN PROCs +################################################################## + + +# Hierarchical cell: microblaze_bram +proc create_hier_cell_microblaze_bram { parentCell nameHier } { + + if { $parentCell eq "" || $nameHier eq "" } { + puts "ERROR: create_hier_cell_microblaze_bram() - Empty argument(s)!" + return + } + + # Get object for parentCell + set parentObj [get_bd_cells $parentCell] + if { $parentObj == "" } { + puts "ERROR: Unable to find parent cell <$parentCell>!" + return + } + + # Make sure parentObj is hier blk + set parentType [get_property TYPE $parentObj] + if { $parentType ne "hier" } { + puts "ERROR: Parent <$parentObj> has TYPE = <$parentType>. Expected to be ." + return + } + + # Save current instance; Restore later + set oldCurInst [current_bd_instance .] + + # Set parent object as current + current_bd_instance $parentObj + + # Create cell and set as current instance + set hier_obj [create_bd_cell -type hier $nameHier] + current_bd_instance $hier_obj + + # Create interface pins + create_bd_intf_pin -mode MirroredMaster -vlnv xilinx.com:interface:lmb_rtl:1.0 DLMB + create_bd_intf_pin -mode MirroredMaster -vlnv xilinx.com:interface:lmb_rtl:1.0 ILMB + + # Create pins + create_bd_pin -dir I -type clk LMB_Clk + create_bd_pin -dir I -from 0 -to 0 -type rst SYS_Rst + + # Create instance: dlmb_bram_if_cntlr, and set properties + set dlmb_bram_if_cntlr [ create_bd_cell -type ip -vlnv xilinx.com:ip:lmb_bram_if_cntlr:4.0 dlmb_bram_if_cntlr ] + set_property -dict [ list \ +CONFIG.C_ECC {0} \ + ] $dlmb_bram_if_cntlr + + # Create instance: dlmb_v10, and set properties + set dlmb_v10 [ create_bd_cell -type ip -vlnv xilinx.com:ip:lmb_v10:3.0 dlmb_v10 ] + + # Create instance: ilmb_bram_if_cntlr, and set properties + set ilmb_bram_if_cntlr [ create_bd_cell -type ip -vlnv xilinx.com:ip:lmb_bram_if_cntlr:4.0 ilmb_bram_if_cntlr ] + set_property -dict [ list \ +CONFIG.C_ECC {0} \ + ] $ilmb_bram_if_cntlr + + # Create instance: ilmb_v10, and set properties + set ilmb_v10 [ create_bd_cell -type ip -vlnv xilinx.com:ip:lmb_v10:3.0 ilmb_v10 ] + + # Create instance: lmb_bram, and set properties + set lmb_bram [ create_bd_cell -type ip -vlnv xilinx.com:ip:blk_mem_gen:8.3 lmb_bram ] + set_property -dict [ list \ +CONFIG.Memory_Type {True_Dual_Port_RAM} \ +CONFIG.use_bram_block {BRAM_Controller} \ + ] $lmb_bram + + # Create interface connections + connect_bd_intf_net -intf_net microblaze_0_dlmb [get_bd_intf_pins DLMB] [get_bd_intf_pins dlmb_v10/LMB_M] + connect_bd_intf_net -intf_net microblaze_0_dlmb_bus [get_bd_intf_pins dlmb_bram_if_cntlr/SLMB] [get_bd_intf_pins dlmb_v10/LMB_Sl_0] + connect_bd_intf_net -intf_net microblaze_0_dlmb_cntlr [get_bd_intf_pins dlmb_bram_if_cntlr/BRAM_PORT] [get_bd_intf_pins lmb_bram/BRAM_PORTA] + connect_bd_intf_net -intf_net microblaze_0_ilmb [get_bd_intf_pins ILMB] [get_bd_intf_pins ilmb_v10/LMB_M] + connect_bd_intf_net -intf_net microblaze_0_ilmb_bus [get_bd_intf_pins ilmb_bram_if_cntlr/SLMB] [get_bd_intf_pins ilmb_v10/LMB_Sl_0] + connect_bd_intf_net -intf_net microblaze_0_ilmb_cntlr [get_bd_intf_pins ilmb_bram_if_cntlr/BRAM_PORT] [get_bd_intf_pins lmb_bram/BRAM_PORTB] + + # Create port connections + connect_bd_net -net SYS_Rst_1 [get_bd_pins SYS_Rst] [get_bd_pins dlmb_bram_if_cntlr/LMB_Rst] [get_bd_pins dlmb_v10/SYS_Rst] [get_bd_pins ilmb_bram_if_cntlr/LMB_Rst] [get_bd_pins ilmb_v10/SYS_Rst] + connect_bd_net -net microblaze_0_Clk [get_bd_pins LMB_Clk] [get_bd_pins dlmb_bram_if_cntlr/LMB_Clk] [get_bd_pins dlmb_v10/LMB_Clk] [get_bd_pins ilmb_bram_if_cntlr/LMB_Clk] [get_bd_pins ilmb_v10/LMB_Clk] + + # Restore current instance + current_bd_instance $oldCurInst +} + +# Hierarchical cell: accel_group_sg +proc create_hier_cell_accel_group_sg { parentCell nameHier } { + + if { $parentCell eq "" || $nameHier eq "" } { + puts "ERROR: create_hier_cell_accel_group_sg() - Empty argument(s)!" + return + } + + # Get object for parentCell + set parentObj [get_bd_cells $parentCell] + if { $parentObj == "" } { + puts "ERROR: Unable to find parent cell <$parentCell>!" + return + } + + # Make sure parentObj is hier blk + set parentType [get_property TYPE $parentObj] + if { $parentType ne "hier" } { + puts "ERROR: Parent <$parentObj> has TYPE = <$parentType>. Expected to be ." + return + } + + # Save current instance; Restore later + set oldCurInst [current_bd_instance .] + + # Set parent object as current + current_bd_instance $parentObj + + # Create cell and set as current instance + set hier_obj [create_bd_cell -type hier $nameHier] + current_bd_instance $hier_obj + + # Create interface pins + create_bd_intf_pin -mode Master -vlnv xilinx.com:interface:aximm_rtl:1.0 M_AXI_MM2S + create_bd_intf_pin -mode Master -vlnv xilinx.com:interface:aximm_rtl:1.0 M_AXI_S2MM + create_bd_intf_pin -mode Slave -vlnv xilinx.com:interface:aximm_rtl:1.0 S00_AXI + create_bd_intf_pin -mode Master -vlnv xilinx.com:interface:aximm_rtl:1.0 m_axi_cfg_V + create_bd_intf_pin -mode Master -vlnv xilinx.com:interface:aximm_rtl:1.0 m_axi_ext_cfg_V + + # Create pins + create_bd_pin -dir I -type clk ACLK + create_bd_pin -dir I -from 0 -to 0 -type rst ARESETN + create_bd_pin -dir I -from 0 -to 0 -type rst S00_ARESETN + create_bd_pin -dir O -type intr interrupt + create_bd_pin -dir O -type intr interrupt1 + create_bd_pin -dir O -type intr s2mm_introut + + # Create instance: acceleration_scheduler_sg_xdma, and set properties + set acceleration_scheduler_sg_xdma [ create_bd_cell -type ip -vlnv xilinx.com:hls:acceleration_scheduler_sg_xdma:3.5 acceleration_scheduler_sg_xdma ] + + # Create instance: apm, and set properties + set apm [ create_bd_cell -type ip -vlnv xilinx.com:ip:axi_perf_mon:5.0 apm ] + set_property -dict [ list \ +CONFIG.C_NUM_MONITOR_SLOTS {3} \ +CONFIG.C_NUM_OF_COUNTERS {6} \ +CONFIG.C_SLOT_2_AXI_PROTOCOL {AXI4S} \ + ] $apm + + # Create instance: dma, and set properties + set dma [ create_bd_cell -type ip -vlnv xilinx.com:ip:axi_dma:7.1 dma ] + set_property -dict [ list \ +CONFIG.c_include_mm2s_dre {1} \ +CONFIG.c_include_s2mm_dre {1} \ +CONFIG.c_include_sg {0} \ +CONFIG.c_m_axi_mm2s_data_width {128} \ +CONFIG.c_m_axi_s2mm_data_width {128} \ +CONFIG.c_mm2s_burst_size {32} \ +CONFIG.c_s2mm_burst_size {32} \ +CONFIG.c_sg_include_stscntrl_strm {0} \ +CONFIG.c_sg_length_width {23} \ + ] $dma + + # Create instance: dma_sg_pcie_scheduler, and set properties + set dma_sg_pcie_scheduler [ create_bd_cell -type ip -vlnv xilinx.com:hls:dma_sg_pcie_scheduler:1.0 dma_sg_pcie_scheduler ] + + # Create instance: ic_accel, and set properties + set ic_accel [ create_bd_cell -type ip -vlnv xilinx.com:ip:axi_interconnect:2.1 ic_accel ] + set_property -dict [ list \ +CONFIG.M00_HAS_REGSLICE {3} \ +CONFIG.M01_HAS_REGSLICE {3} \ +CONFIG.M02_HAS_REGSLICE {3} \ +CONFIG.M03_HAS_REGSLICE {3} \ +CONFIG.NUM_MI {5} \ +CONFIG.S00_HAS_REGSLICE {3} \ + ] $ic_accel + + # Create instance: sobel_filter, and set properties + set sobel_filter [ create_bd_cell -type ip -vlnv xilinx.com:hls:sobel_filter:5.8 sobel_filter ] + + # Create interface connections + connect_bd_intf_net -intf_net Conn1 [get_bd_intf_pins m_axi_ext_cfg_V] [get_bd_intf_pins acceleration_scheduler_sg_xdma/m_axi_ext_cfg_V] + connect_bd_intf_net -intf_net Conn2 [get_bd_intf_pins m_axi_cfg_V] [get_bd_intf_pins dma_sg_pcie_scheduler/m_axi_cfg_V] + connect_bd_intf_net -intf_net S00_AXI_1 [get_bd_intf_pins M_AXI_MM2S] [get_bd_intf_pins dma/M_AXI_MM2S] + connect_bd_intf_net -intf_net [get_bd_intf_nets S00_AXI_1] [get_bd_intf_pins M_AXI_MM2S] [get_bd_intf_pins apm/SLOT_0_AXI] + connect_bd_intf_net -intf_net dma_M_AXIS_MM2S [get_bd_intf_pins dma/M_AXIS_MM2S] [get_bd_intf_pins sobel_filter/STREAM_IN] + connect_bd_intf_net -intf_net dma_M_AXI_S2MM [get_bd_intf_pins M_AXI_S2MM] [get_bd_intf_pins dma/M_AXI_S2MM] + connect_bd_intf_net -intf_net [get_bd_intf_nets dma_M_AXI_S2MM] [get_bd_intf_pins M_AXI_S2MM] [get_bd_intf_pins apm/SLOT_1_AXI] + connect_bd_intf_net -intf_net ic_accel_M00_AXI [get_bd_intf_pins dma_sg_pcie_scheduler/s_axi_cfg] [get_bd_intf_pins ic_accel/M00_AXI] + connect_bd_intf_net -intf_net ic_accel_M01_AXI [get_bd_intf_pins dma/S_AXI_LITE] [get_bd_intf_pins ic_accel/M01_AXI] + connect_bd_intf_net -intf_net ic_accel_M02_AXI [get_bd_intf_pins ic_accel/M02_AXI] [get_bd_intf_pins sobel_filter/s_axi_S_AXI4_LITE] + connect_bd_intf_net -intf_net ic_accel_M03_AXI [get_bd_intf_pins apm/S_AXI] [get_bd_intf_pins ic_accel/M03_AXI] + connect_bd_intf_net -intf_net ic_accel_M04_AXI [get_bd_intf_pins acceleration_scheduler_sg_xdma/s_axi_mm2s_cfg] [get_bd_intf_pins ic_accel/M04_AXI] + connect_bd_intf_net -intf_net ic_accel_groups_M00_AXI [get_bd_intf_pins S00_AXI] [get_bd_intf_pins ic_accel/S00_AXI] + connect_bd_intf_net -intf_net sobel_filter_STREAM_OUT [get_bd_intf_pins dma/S_AXIS_S2MM] [get_bd_intf_pins sobel_filter/STREAM_OUT] + connect_bd_intf_net -intf_net [get_bd_intf_nets sobel_filter_STREAM_OUT] [get_bd_intf_pins apm/SLOT_2_AXIS] [get_bd_intf_pins sobel_filter/STREAM_OUT] + + # Create port connections + connect_bd_net -net acceleration_scheduler_sg_xdma_interrupt [get_bd_pins interrupt] [get_bd_pins acceleration_scheduler_sg_xdma/interrupt] + connect_bd_net -net dma_mm2s_introut [get_bd_pins dma/mm2s_introut] [get_bd_pins dma_sg_pcie_scheduler/mm2s_intr_in_V] + connect_bd_net -net dma_s2mm_introut [get_bd_pins s2mm_introut] [get_bd_pins dma/s2mm_introut] [get_bd_pins dma_sg_pcie_scheduler/s2mm_intr_in_V] + connect_bd_net -net dma_sg_pcie_scheduler_interrupt [get_bd_pins interrupt1] [get_bd_pins acceleration_scheduler_sg_xdma/scheduler_intr_in_V] [get_bd_pins dma_sg_pcie_scheduler/interrupt] + connect_bd_net -net microblaze_0_Clk [get_bd_pins ACLK] [get_bd_pins acceleration_scheduler_sg_xdma/ap_clk] [get_bd_pins apm/core_aclk] [get_bd_pins apm/s_axi_aclk] [get_bd_pins apm/slot_0_axi_aclk] [get_bd_pins apm/slot_1_axi_aclk] [get_bd_pins apm/slot_2_axis_aclk] [get_bd_pins dma/m_axi_mm2s_aclk] [get_bd_pins dma/m_axi_s2mm_aclk] [get_bd_pins dma/s_axi_lite_aclk] [get_bd_pins dma_sg_pcie_scheduler/ap_clk] [get_bd_pins ic_accel/ACLK] [get_bd_pins ic_accel/M00_ACLK] [get_bd_pins ic_accel/M01_ACLK] [get_bd_pins ic_accel/M02_ACLK] [get_bd_pins ic_accel/M03_ACLK] [get_bd_pins ic_accel/M04_ACLK] [get_bd_pins ic_accel/S00_ACLK] [get_bd_pins sobel_filter/ap_clk] + connect_bd_net -net rst_clk_wiz_1_100M_interconnect_aresetn [get_bd_pins ARESETN] [get_bd_pins ic_accel/ARESETN] + connect_bd_net -net rst_clk_wiz_1_100M_peripheral_aresetn [get_bd_pins S00_ARESETN] [get_bd_pins acceleration_scheduler_sg_xdma/ap_rst_n] [get_bd_pins apm/core_aresetn] [get_bd_pins apm/s_axi_aresetn] [get_bd_pins apm/slot_0_axi_aresetn] [get_bd_pins apm/slot_1_axi_aresetn] [get_bd_pins apm/slot_2_axis_aresetn] [get_bd_pins dma/axi_resetn] [get_bd_pins dma_sg_pcie_scheduler/ap_rst_n] [get_bd_pins ic_accel/M00_ARESETN] [get_bd_pins ic_accel/M01_ARESETN] [get_bd_pins ic_accel/M02_ARESETN] [get_bd_pins ic_accel/M03_ARESETN] [get_bd_pins ic_accel/M04_ARESETN] [get_bd_pins ic_accel/S00_ARESETN] [get_bd_pins sobel_filter/ap_rst_n] + + # Restore current instance + current_bd_instance $oldCurInst +} + +# Hierarchical cell: accel_group_indirect_3 +proc create_hier_cell_accel_group_indirect_3 { parentCell nameHier } { + + if { $parentCell eq "" || $nameHier eq "" } { + puts "ERROR: create_hier_cell_accel_group_indirect_3() - Empty argument(s)!" + return + } + + # Get object for parentCell + set parentObj [get_bd_cells $parentCell] + if { $parentObj == "" } { + puts "ERROR: Unable to find parent cell <$parentCell>!" + return + } + + # Make sure parentObj is hier blk + set parentType [get_property TYPE $parentObj] + if { $parentType ne "hier" } { + puts "ERROR: Parent <$parentObj> has TYPE = <$parentType>. Expected to be ." + return + } + + # Save current instance; Restore later + set oldCurInst [current_bd_instance .] + + # Set parent object as current + current_bd_instance $parentObj + + # Create cell and set as current instance + set hier_obj [create_bd_cell -type hier $nameHier] + current_bd_instance $hier_obj + + # Create interface pins + create_bd_intf_pin -mode Master -vlnv xilinx.com:interface:aximm_rtl:1.0 M_AXI_MM2S + create_bd_intf_pin -mode Master -vlnv xilinx.com:interface:aximm_rtl:1.0 M_AXI_S2MM + create_bd_intf_pin -mode Slave -vlnv xilinx.com:interface:aximm_rtl:1.0 S00_AXI + create_bd_intf_pin -mode Master -vlnv xilinx.com:interface:aximm_rtl:1.0 m_axi_ext_cfg_V + + # Create pins + create_bd_pin -dir I -type clk ACLK + create_bd_pin -dir I -from 0 -to 0 -type rst ARESETN + create_bd_pin -dir I -from 0 -to 0 -type rst S00_ARESETN + create_bd_pin -dir O -type intr interrupt + create_bd_pin -dir O -type intr s2mm_introut + create_bd_pin -dir I -from 0 -to 0 -type data start_V + + # Create instance: acceleration_scheduler_indirect, and set properties + set acceleration_scheduler_indirect [ create_bd_cell -type ip -vlnv xilinx.com:hls:acceleration_scheduler_indirect:2.0 acceleration_scheduler_indirect ] + + # Create instance: apm, and set properties + set apm [ create_bd_cell -type ip -vlnv xilinx.com:ip:axi_perf_mon:5.0 apm ] + set_property -dict [ list \ +CONFIG.C_NUM_MONITOR_SLOTS {3} \ +CONFIG.C_NUM_OF_COUNTERS {6} \ +CONFIG.C_SLOT_2_AXI_PROTOCOL {AXI4S} \ + ] $apm + + # Create instance: dma, and set properties + set dma [ create_bd_cell -type ip -vlnv xilinx.com:ip:axi_dma:7.1 dma ] + set_property -dict [ list \ +CONFIG.c_include_mm2s_dre {1} \ +CONFIG.c_include_s2mm_dre {1} \ +CONFIG.c_include_sg {0} \ +CONFIG.c_m_axi_mm2s_data_width {128} \ +CONFIG.c_m_axi_s2mm_data_width {128} \ +CONFIG.c_mm2s_burst_size {32} \ +CONFIG.c_s2mm_burst_size {32} \ +CONFIG.c_sg_include_stscntrl_strm {0} \ +CONFIG.c_sg_length_width {23} \ + ] $dma + + # Create instance: ic_accel, and set properties + set ic_accel [ create_bd_cell -type ip -vlnv xilinx.com:ip:axi_interconnect:2.1 ic_accel ] + set_property -dict [ list \ +CONFIG.M00_HAS_REGSLICE {3} \ +CONFIG.M01_HAS_REGSLICE {3} \ +CONFIG.M02_HAS_REGSLICE {3} \ +CONFIG.M03_HAS_REGSLICE {3} \ +CONFIG.NUM_MI {4} \ +CONFIG.S00_HAS_REGSLICE {3} \ + ] $ic_accel + + # Create instance: sobel_filter, and set properties + set sobel_filter [ create_bd_cell -type ip -vlnv xilinx.com:hls:sobel_filter:5.8 sobel_filter ] + + # Create interface connections + connect_bd_intf_net -intf_net Conn1 [get_bd_intf_pins m_axi_ext_cfg_V] [get_bd_intf_pins acceleration_scheduler_indirect/m_axi_ext_cfg_V] + connect_bd_intf_net -intf_net S00_AXI_1 [get_bd_intf_pins M_AXI_MM2S] [get_bd_intf_pins dma/M_AXI_MM2S] + connect_bd_intf_net -intf_net [get_bd_intf_nets S00_AXI_1] [get_bd_intf_pins M_AXI_MM2S] [get_bd_intf_pins apm/SLOT_0_AXI] + connect_bd_intf_net -intf_net dma_M_AXIS_MM2S [get_bd_intf_pins dma/M_AXIS_MM2S] [get_bd_intf_pins sobel_filter/STREAM_IN] + connect_bd_intf_net -intf_net dma_M_AXI_S2MM [get_bd_intf_pins M_AXI_S2MM] [get_bd_intf_pins dma/M_AXI_S2MM] + connect_bd_intf_net -intf_net [get_bd_intf_nets dma_M_AXI_S2MM] [get_bd_intf_pins M_AXI_S2MM] [get_bd_intf_pins apm/SLOT_1_AXI] + connect_bd_intf_net -intf_net ic_accel_M00_AXI [get_bd_intf_pins acceleration_scheduler_indirect/s_axi_int_cfg] [get_bd_intf_pins ic_accel/M00_AXI] + connect_bd_intf_net -intf_net ic_accel_M01_AXI [get_bd_intf_pins dma/S_AXI_LITE] [get_bd_intf_pins ic_accel/M01_AXI] + connect_bd_intf_net -intf_net ic_accel_M02_AXI [get_bd_intf_pins ic_accel/M02_AXI] [get_bd_intf_pins sobel_filter/s_axi_S_AXI4_LITE] + connect_bd_intf_net -intf_net ic_accel_M03_AXI [get_bd_intf_pins apm/S_AXI] [get_bd_intf_pins ic_accel/M03_AXI] + connect_bd_intf_net -intf_net ic_accel_groups_M00_AXI [get_bd_intf_pins S00_AXI] [get_bd_intf_pins ic_accel/S00_AXI] + connect_bd_intf_net -intf_net sobel_filter_STREAM_OUT [get_bd_intf_pins dma/S_AXIS_S2MM] [get_bd_intf_pins sobel_filter/STREAM_OUT] + connect_bd_intf_net -intf_net [get_bd_intf_nets sobel_filter_STREAM_OUT] [get_bd_intf_pins apm/SLOT_2_AXIS] [get_bd_intf_pins sobel_filter/STREAM_OUT] + + # Create port connections + connect_bd_net -net acceleration_scheduler_indirect_interrupt [get_bd_pins interrupt] [get_bd_pins acceleration_scheduler_indirect/interrupt] + connect_bd_net -net dma_s2mm_introut [get_bd_pins s2mm_introut] [get_bd_pins acceleration_scheduler_indirect/dma_intr_in_V] [get_bd_pins dma/s2mm_introut] + connect_bd_net -net microblaze_0_Clk [get_bd_pins ACLK] [get_bd_pins acceleration_scheduler_indirect/ap_clk] [get_bd_pins apm/core_aclk] [get_bd_pins apm/s_axi_aclk] [get_bd_pins apm/slot_0_axi_aclk] [get_bd_pins apm/slot_1_axi_aclk] [get_bd_pins apm/slot_2_axis_aclk] [get_bd_pins dma/m_axi_mm2s_aclk] [get_bd_pins dma/m_axi_s2mm_aclk] [get_bd_pins dma/s_axi_lite_aclk] [get_bd_pins ic_accel/ACLK] [get_bd_pins ic_accel/M00_ACLK] [get_bd_pins ic_accel/M01_ACLK] [get_bd_pins ic_accel/M02_ACLK] [get_bd_pins ic_accel/M03_ACLK] [get_bd_pins ic_accel/S00_ACLK] [get_bd_pins sobel_filter/ap_clk] + connect_bd_net -net rst_clk_wiz_1_100M_interconnect_aresetn [get_bd_pins ARESETN] [get_bd_pins ic_accel/ARESETN] + connect_bd_net -net rst_clk_wiz_1_100M_peripheral_aresetn [get_bd_pins S00_ARESETN] [get_bd_pins acceleration_scheduler_indirect/ap_rst_n] [get_bd_pins apm/core_aresetn] [get_bd_pins apm/s_axi_aresetn] [get_bd_pins apm/slot_0_axi_aresetn] [get_bd_pins apm/slot_1_axi_aresetn] [get_bd_pins apm/slot_2_axis_aresetn] [get_bd_pins dma/axi_resetn] [get_bd_pins ic_accel/M00_ARESETN] [get_bd_pins ic_accel/M01_ARESETN] [get_bd_pins ic_accel/M02_ARESETN] [get_bd_pins ic_accel/M03_ARESETN] [get_bd_pins ic_accel/S00_ARESETN] [get_bd_pins sobel_filter/ap_rst_n] + connect_bd_net -net start_V_1 [get_bd_pins start_V] [get_bd_pins acceleration_scheduler_indirect/start_V] + + # Restore current instance + current_bd_instance $oldCurInst +} + +# Hierarchical cell: accel_group_indirect_2 +proc create_hier_cell_accel_group_indirect_2 { parentCell nameHier } { + + if { $parentCell eq "" || $nameHier eq "" } { + puts "ERROR: create_hier_cell_accel_group_indirect_2() - Empty argument(s)!" + return + } + + # Get object for parentCell + set parentObj [get_bd_cells $parentCell] + if { $parentObj == "" } { + puts "ERROR: Unable to find parent cell <$parentCell>!" + return + } + + # Make sure parentObj is hier blk + set parentType [get_property TYPE $parentObj] + if { $parentType ne "hier" } { + puts "ERROR: Parent <$parentObj> has TYPE = <$parentType>. Expected to be ." + return + } + + # Save current instance; Restore later + set oldCurInst [current_bd_instance .] + + # Set parent object as current + current_bd_instance $parentObj + + # Create cell and set as current instance + set hier_obj [create_bd_cell -type hier $nameHier] + current_bd_instance $hier_obj + + # Create interface pins + create_bd_intf_pin -mode Master -vlnv xilinx.com:interface:aximm_rtl:1.0 M_AXI_MM2S + create_bd_intf_pin -mode Master -vlnv xilinx.com:interface:aximm_rtl:1.0 M_AXI_S2MM + create_bd_intf_pin -mode Slave -vlnv xilinx.com:interface:aximm_rtl:1.0 S00_AXI + create_bd_intf_pin -mode Master -vlnv xilinx.com:interface:aximm_rtl:1.0 m_axi_ext_cfg_V + + # Create pins + create_bd_pin -dir I -type clk ACLK + create_bd_pin -dir I -from 0 -to 0 -type rst ARESETN + create_bd_pin -dir I -from 0 -to 0 -type rst S00_ARESETN + create_bd_pin -dir O -type intr interrupt + create_bd_pin -dir O -type intr s2mm_introut + create_bd_pin -dir I -from 0 -to 0 -type data start_V + + # Create instance: acceleration_scheduler_indirect, and set properties + set acceleration_scheduler_indirect [ create_bd_cell -type ip -vlnv xilinx.com:hls:acceleration_scheduler_indirect:2.0 acceleration_scheduler_indirect ] + + # Create instance: apm, and set properties + set apm [ create_bd_cell -type ip -vlnv xilinx.com:ip:axi_perf_mon:5.0 apm ] + set_property -dict [ list \ +CONFIG.C_NUM_MONITOR_SLOTS {3} \ +CONFIG.C_NUM_OF_COUNTERS {6} \ +CONFIG.C_SLOT_2_AXI_PROTOCOL {AXI4S} \ + ] $apm + + # Create instance: dma, and set properties + set dma [ create_bd_cell -type ip -vlnv xilinx.com:ip:axi_dma:7.1 dma ] + set_property -dict [ list \ +CONFIG.c_include_mm2s_dre {1} \ +CONFIG.c_include_s2mm_dre {1} \ +CONFIG.c_include_sg {0} \ +CONFIG.c_m_axi_mm2s_data_width {128} \ +CONFIG.c_m_axi_s2mm_data_width {128} \ +CONFIG.c_mm2s_burst_size {32} \ +CONFIG.c_s2mm_burst_size {32} \ +CONFIG.c_sg_include_stscntrl_strm {0} \ +CONFIG.c_sg_length_width {23} \ + ] $dma + + # Create instance: ic_accel, and set properties + set ic_accel [ create_bd_cell -type ip -vlnv xilinx.com:ip:axi_interconnect:2.1 ic_accel ] + set_property -dict [ list \ +CONFIG.M00_HAS_REGSLICE {3} \ +CONFIG.M01_HAS_REGSLICE {3} \ +CONFIG.M02_HAS_REGSLICE {3} \ +CONFIG.M03_HAS_REGSLICE {3} \ +CONFIG.NUM_MI {4} \ +CONFIG.S00_HAS_REGSLICE {3} \ + ] $ic_accel + + # Create instance: sobel_filter, and set properties + set sobel_filter [ create_bd_cell -type ip -vlnv xilinx.com:hls:sobel_filter:5.8 sobel_filter ] + + # Create interface connections + connect_bd_intf_net -intf_net Conn1 [get_bd_intf_pins m_axi_ext_cfg_V] [get_bd_intf_pins acceleration_scheduler_indirect/m_axi_ext_cfg_V] + connect_bd_intf_net -intf_net S00_AXI_1 [get_bd_intf_pins M_AXI_MM2S] [get_bd_intf_pins dma/M_AXI_MM2S] + connect_bd_intf_net -intf_net [get_bd_intf_nets S00_AXI_1] [get_bd_intf_pins M_AXI_MM2S] [get_bd_intf_pins apm/SLOT_0_AXI] + connect_bd_intf_net -intf_net dma_M_AXIS_MM2S [get_bd_intf_pins dma/M_AXIS_MM2S] [get_bd_intf_pins sobel_filter/STREAM_IN] + connect_bd_intf_net -intf_net dma_M_AXI_S2MM [get_bd_intf_pins M_AXI_S2MM] [get_bd_intf_pins dma/M_AXI_S2MM] + connect_bd_intf_net -intf_net [get_bd_intf_nets dma_M_AXI_S2MM] [get_bd_intf_pins M_AXI_S2MM] [get_bd_intf_pins apm/SLOT_1_AXI] + connect_bd_intf_net -intf_net ic_accel_M00_AXI [get_bd_intf_pins acceleration_scheduler_indirect/s_axi_int_cfg] [get_bd_intf_pins ic_accel/M00_AXI] + connect_bd_intf_net -intf_net ic_accel_M01_AXI [get_bd_intf_pins dma/S_AXI_LITE] [get_bd_intf_pins ic_accel/M01_AXI] + connect_bd_intf_net -intf_net ic_accel_M02_AXI [get_bd_intf_pins ic_accel/M02_AXI] [get_bd_intf_pins sobel_filter/s_axi_S_AXI4_LITE] + connect_bd_intf_net -intf_net ic_accel_M03_AXI [get_bd_intf_pins apm/S_AXI] [get_bd_intf_pins ic_accel/M03_AXI] + connect_bd_intf_net -intf_net ic_accel_groups_M00_AXI [get_bd_intf_pins S00_AXI] [get_bd_intf_pins ic_accel/S00_AXI] + connect_bd_intf_net -intf_net sobel_filter_STREAM_OUT [get_bd_intf_pins dma/S_AXIS_S2MM] [get_bd_intf_pins sobel_filter/STREAM_OUT] + connect_bd_intf_net -intf_net [get_bd_intf_nets sobel_filter_STREAM_OUT] [get_bd_intf_pins apm/SLOT_2_AXIS] [get_bd_intf_pins sobel_filter/STREAM_OUT] + + # Create port connections + connect_bd_net -net acceleration_scheduler_indirect_interrupt [get_bd_pins interrupt] [get_bd_pins acceleration_scheduler_indirect/interrupt] + connect_bd_net -net dma_s2mm_introut [get_bd_pins s2mm_introut] [get_bd_pins acceleration_scheduler_indirect/dma_intr_in_V] [get_bd_pins dma/s2mm_introut] + connect_bd_net -net microblaze_0_Clk [get_bd_pins ACLK] [get_bd_pins acceleration_scheduler_indirect/ap_clk] [get_bd_pins apm/core_aclk] [get_bd_pins apm/s_axi_aclk] [get_bd_pins apm/slot_0_axi_aclk] [get_bd_pins apm/slot_1_axi_aclk] [get_bd_pins apm/slot_2_axis_aclk] [get_bd_pins dma/m_axi_mm2s_aclk] [get_bd_pins dma/m_axi_s2mm_aclk] [get_bd_pins dma/s_axi_lite_aclk] [get_bd_pins ic_accel/ACLK] [get_bd_pins ic_accel/M00_ACLK] [get_bd_pins ic_accel/M01_ACLK] [get_bd_pins ic_accel/M02_ACLK] [get_bd_pins ic_accel/M03_ACLK] [get_bd_pins ic_accel/S00_ACLK] [get_bd_pins sobel_filter/ap_clk] + connect_bd_net -net rst_clk_wiz_1_100M_interconnect_aresetn [get_bd_pins ARESETN] [get_bd_pins ic_accel/ARESETN] + connect_bd_net -net rst_clk_wiz_1_100M_peripheral_aresetn [get_bd_pins S00_ARESETN] [get_bd_pins acceleration_scheduler_indirect/ap_rst_n] [get_bd_pins apm/core_aresetn] [get_bd_pins apm/s_axi_aresetn] [get_bd_pins apm/slot_0_axi_aresetn] [get_bd_pins apm/slot_1_axi_aresetn] [get_bd_pins apm/slot_2_axis_aresetn] [get_bd_pins dma/axi_resetn] [get_bd_pins ic_accel/M00_ARESETN] [get_bd_pins ic_accel/M01_ARESETN] [get_bd_pins ic_accel/M02_ARESETN] [get_bd_pins ic_accel/M03_ARESETN] [get_bd_pins ic_accel/S00_ARESETN] [get_bd_pins sobel_filter/ap_rst_n] + connect_bd_net -net start_V_1 [get_bd_pins start_V] [get_bd_pins acceleration_scheduler_indirect/start_V] + + # Restore current instance + current_bd_instance $oldCurInst +} + +# Hierarchical cell: accel_group_indirect_1 +proc create_hier_cell_accel_group_indirect_1 { parentCell nameHier } { + + if { $parentCell eq "" || $nameHier eq "" } { + puts "ERROR: create_hier_cell_accel_group_indirect_1() - Empty argument(s)!" + return + } + + # Get object for parentCell + set parentObj [get_bd_cells $parentCell] + if { $parentObj == "" } { + puts "ERROR: Unable to find parent cell <$parentCell>!" + return + } + + # Make sure parentObj is hier blk + set parentType [get_property TYPE $parentObj] + if { $parentType ne "hier" } { + puts "ERROR: Parent <$parentObj> has TYPE = <$parentType>. Expected to be ." + return + } + + # Save current instance; Restore later + set oldCurInst [current_bd_instance .] + + # Set parent object as current + current_bd_instance $parentObj + + # Create cell and set as current instance + set hier_obj [create_bd_cell -type hier $nameHier] + current_bd_instance $hier_obj + + # Create interface pins + create_bd_intf_pin -mode Master -vlnv xilinx.com:interface:aximm_rtl:1.0 M_AXI_MM2S + create_bd_intf_pin -mode Master -vlnv xilinx.com:interface:aximm_rtl:1.0 M_AXI_S2MM + create_bd_intf_pin -mode Slave -vlnv xilinx.com:interface:aximm_rtl:1.0 S00_AXI + create_bd_intf_pin -mode Master -vlnv xilinx.com:interface:aximm_rtl:1.0 m_axi_ext_cfg_V + + # Create pins + create_bd_pin -dir I -type clk ACLK + create_bd_pin -dir I -from 0 -to 0 -type rst ARESETN + create_bd_pin -dir I -from 0 -to 0 -type rst S00_ARESETN + create_bd_pin -dir O -type intr interrupt + create_bd_pin -dir O -type intr s2mm_introut + create_bd_pin -dir I -from 0 -to 0 -type data start_V + + # Create instance: acceleration_scheduler_indirect, and set properties + set acceleration_scheduler_indirect [ create_bd_cell -type ip -vlnv xilinx.com:hls:acceleration_scheduler_indirect:2.0 acceleration_scheduler_indirect ] + + # Create instance: apm, and set properties + set apm [ create_bd_cell -type ip -vlnv xilinx.com:ip:axi_perf_mon:5.0 apm ] + set_property -dict [ list \ +CONFIG.C_NUM_MONITOR_SLOTS {3} \ +CONFIG.C_NUM_OF_COUNTERS {6} \ +CONFIG.C_SLOT_2_AXI_PROTOCOL {AXI4S} \ + ] $apm + + # Create instance: dma, and set properties + set dma [ create_bd_cell -type ip -vlnv xilinx.com:ip:axi_dma:7.1 dma ] + set_property -dict [ list \ +CONFIG.c_include_mm2s_dre {1} \ +CONFIG.c_include_s2mm_dre {1} \ +CONFIG.c_include_sg {0} \ +CONFIG.c_m_axi_mm2s_data_width {128} \ +CONFIG.c_m_axi_s2mm_data_width {128} \ +CONFIG.c_mm2s_burst_size {32} \ +CONFIG.c_s2mm_burst_size {32} \ +CONFIG.c_sg_include_stscntrl_strm {0} \ +CONFIG.c_sg_length_width {23} \ + ] $dma + + # Create instance: ic_accel, and set properties + set ic_accel [ create_bd_cell -type ip -vlnv xilinx.com:ip:axi_interconnect:2.1 ic_accel ] + set_property -dict [ list \ +CONFIG.M00_HAS_REGSLICE {3} \ +CONFIG.M01_HAS_REGSLICE {3} \ +CONFIG.M02_HAS_REGSLICE {3} \ +CONFIG.M03_HAS_REGSLICE {3} \ +CONFIG.NUM_MI {4} \ +CONFIG.S00_HAS_REGSLICE {3} \ + ] $ic_accel + + # Create instance: sobel_filter, and set properties + set sobel_filter [ create_bd_cell -type ip -vlnv xilinx.com:hls:sobel_filter:5.8 sobel_filter ] + + # Create interface connections + connect_bd_intf_net -intf_net Conn1 [get_bd_intf_pins m_axi_ext_cfg_V] [get_bd_intf_pins acceleration_scheduler_indirect/m_axi_ext_cfg_V] + connect_bd_intf_net -intf_net S00_AXI_1 [get_bd_intf_pins M_AXI_MM2S] [get_bd_intf_pins dma/M_AXI_MM2S] + connect_bd_intf_net -intf_net [get_bd_intf_nets S00_AXI_1] [get_bd_intf_pins M_AXI_MM2S] [get_bd_intf_pins apm/SLOT_0_AXI] + connect_bd_intf_net -intf_net dma_M_AXIS_MM2S [get_bd_intf_pins dma/M_AXIS_MM2S] [get_bd_intf_pins sobel_filter/STREAM_IN] + connect_bd_intf_net -intf_net dma_M_AXI_S2MM [get_bd_intf_pins M_AXI_S2MM] [get_bd_intf_pins dma/M_AXI_S2MM] + connect_bd_intf_net -intf_net [get_bd_intf_nets dma_M_AXI_S2MM] [get_bd_intf_pins M_AXI_S2MM] [get_bd_intf_pins apm/SLOT_1_AXI] + connect_bd_intf_net -intf_net ic_accel_M00_AXI [get_bd_intf_pins acceleration_scheduler_indirect/s_axi_int_cfg] [get_bd_intf_pins ic_accel/M00_AXI] + connect_bd_intf_net -intf_net ic_accel_M01_AXI [get_bd_intf_pins dma/S_AXI_LITE] [get_bd_intf_pins ic_accel/M01_AXI] + connect_bd_intf_net -intf_net ic_accel_M02_AXI [get_bd_intf_pins ic_accel/M02_AXI] [get_bd_intf_pins sobel_filter/s_axi_S_AXI4_LITE] + connect_bd_intf_net -intf_net ic_accel_M03_AXI [get_bd_intf_pins apm/S_AXI] [get_bd_intf_pins ic_accel/M03_AXI] + connect_bd_intf_net -intf_net ic_accel_groups_M00_AXI [get_bd_intf_pins S00_AXI] [get_bd_intf_pins ic_accel/S00_AXI] + connect_bd_intf_net -intf_net sobel_filter_STREAM_OUT [get_bd_intf_pins dma/S_AXIS_S2MM] [get_bd_intf_pins sobel_filter/STREAM_OUT] + connect_bd_intf_net -intf_net [get_bd_intf_nets sobel_filter_STREAM_OUT] [get_bd_intf_pins apm/SLOT_2_AXIS] [get_bd_intf_pins sobel_filter/STREAM_OUT] + + # Create port connections + connect_bd_net -net acceleration_scheduler_indirect_interrupt [get_bd_pins interrupt] [get_bd_pins acceleration_scheduler_indirect/interrupt] + connect_bd_net -net dma_s2mm_introut [get_bd_pins s2mm_introut] [get_bd_pins acceleration_scheduler_indirect/dma_intr_in_V] [get_bd_pins dma/s2mm_introut] + connect_bd_net -net microblaze_0_Clk [get_bd_pins ACLK] [get_bd_pins acceleration_scheduler_indirect/ap_clk] [get_bd_pins apm/core_aclk] [get_bd_pins apm/s_axi_aclk] [get_bd_pins apm/slot_0_axi_aclk] [get_bd_pins apm/slot_1_axi_aclk] [get_bd_pins apm/slot_2_axis_aclk] [get_bd_pins dma/m_axi_mm2s_aclk] [get_bd_pins dma/m_axi_s2mm_aclk] [get_bd_pins dma/s_axi_lite_aclk] [get_bd_pins ic_accel/ACLK] [get_bd_pins ic_accel/M00_ACLK] [get_bd_pins ic_accel/M01_ACLK] [get_bd_pins ic_accel/M02_ACLK] [get_bd_pins ic_accel/M03_ACLK] [get_bd_pins ic_accel/S00_ACLK] [get_bd_pins sobel_filter/ap_clk] + connect_bd_net -net rst_clk_wiz_1_100M_interconnect_aresetn [get_bd_pins ARESETN] [get_bd_pins ic_accel/ARESETN] + connect_bd_net -net rst_clk_wiz_1_100M_peripheral_aresetn [get_bd_pins S00_ARESETN] [get_bd_pins acceleration_scheduler_indirect/ap_rst_n] [get_bd_pins apm/core_aresetn] [get_bd_pins apm/s_axi_aresetn] [get_bd_pins apm/slot_0_axi_aresetn] [get_bd_pins apm/slot_1_axi_aresetn] [get_bd_pins apm/slot_2_axis_aresetn] [get_bd_pins dma/axi_resetn] [get_bd_pins ic_accel/M00_ARESETN] [get_bd_pins ic_accel/M01_ARESETN] [get_bd_pins ic_accel/M02_ARESETN] [get_bd_pins ic_accel/M03_ARESETN] [get_bd_pins ic_accel/S00_ARESETN] [get_bd_pins sobel_filter/ap_rst_n] + connect_bd_net -net start_V_1 [get_bd_pins start_V] [get_bd_pins acceleration_scheduler_indirect/start_V] + + # Restore current instance + current_bd_instance $oldCurInst +} + +# Hierarchical cell: accel_group_indirect_0 +proc create_hier_cell_accel_group_indirect_0 { parentCell nameHier } { + + if { $parentCell eq "" || $nameHier eq "" } { + puts "ERROR: create_hier_cell_accel_group_indirect_0() - Empty argument(s)!" + return + } + + # Get object for parentCell + set parentObj [get_bd_cells $parentCell] + if { $parentObj == "" } { + puts "ERROR: Unable to find parent cell <$parentCell>!" + return + } + + # Make sure parentObj is hier blk + set parentType [get_property TYPE $parentObj] + if { $parentType ne "hier" } { + puts "ERROR: Parent <$parentObj> has TYPE = <$parentType>. Expected to be ." + return + } + + # Save current instance; Restore later + set oldCurInst [current_bd_instance .] + + # Set parent object as current + current_bd_instance $parentObj + + # Create cell and set as current instance + set hier_obj [create_bd_cell -type hier $nameHier] + current_bd_instance $hier_obj + + # Create interface pins + create_bd_intf_pin -mode Master -vlnv xilinx.com:interface:aximm_rtl:1.0 M_AXI_MM2S + create_bd_intf_pin -mode Master -vlnv xilinx.com:interface:aximm_rtl:1.0 M_AXI_S2MM + create_bd_intf_pin -mode Slave -vlnv xilinx.com:interface:aximm_rtl:1.0 S00_AXI + create_bd_intf_pin -mode Master -vlnv xilinx.com:interface:aximm_rtl:1.0 m_axi_ext_cfg_V + + # Create pins + create_bd_pin -dir I -type clk ACLK + create_bd_pin -dir I -from 0 -to 0 -type rst ARESETN + create_bd_pin -dir I -from 0 -to 0 -type rst S00_ARESETN + create_bd_pin -dir O -type intr interrupt + create_bd_pin -dir O -type intr s2mm_introut + create_bd_pin -dir I -from 0 -to 0 -type data start_V + + # Create instance: acceleration_scheduler_indirect, and set properties + set acceleration_scheduler_indirect [ create_bd_cell -type ip -vlnv xilinx.com:hls:acceleration_scheduler_indirect:2.0 acceleration_scheduler_indirect ] + + # Create instance: apm, and set properties + set apm [ create_bd_cell -type ip -vlnv xilinx.com:ip:axi_perf_mon:5.0 apm ] + set_property -dict [ list \ +CONFIG.C_NUM_MONITOR_SLOTS {3} \ +CONFIG.C_NUM_OF_COUNTERS {6} \ +CONFIG.C_SLOT_2_AXI_PROTOCOL {AXI4S} \ + ] $apm + + # Create instance: dma, and set properties + set dma [ create_bd_cell -type ip -vlnv xilinx.com:ip:axi_dma:7.1 dma ] + set_property -dict [ list \ +CONFIG.c_include_mm2s_dre {1} \ +CONFIG.c_include_s2mm_dre {1} \ +CONFIG.c_include_sg {0} \ +CONFIG.c_m_axi_mm2s_data_width {128} \ +CONFIG.c_m_axi_s2mm_data_width {128} \ +CONFIG.c_mm2s_burst_size {32} \ +CONFIG.c_s2mm_burst_size {32} \ +CONFIG.c_sg_include_stscntrl_strm {0} \ +CONFIG.c_sg_length_width {23} \ + ] $dma + + # Create instance: ic_accel, and set properties + set ic_accel [ create_bd_cell -type ip -vlnv xilinx.com:ip:axi_interconnect:2.1 ic_accel ] + set_property -dict [ list \ +CONFIG.M00_HAS_REGSLICE {3} \ +CONFIG.M01_HAS_REGSLICE {3} \ +CONFIG.M02_HAS_REGSLICE {3} \ +CONFIG.M03_HAS_REGSLICE {3} \ +CONFIG.NUM_MI {4} \ +CONFIG.S00_HAS_REGSLICE {3} \ + ] $ic_accel + + # Create instance: sobel_filter, and set properties + set sobel_filter [ create_bd_cell -type ip -vlnv xilinx.com:hls:sobel_filter:5.8 sobel_filter ] + + # Create interface connections + connect_bd_intf_net -intf_net Conn1 [get_bd_intf_pins m_axi_ext_cfg_V] [get_bd_intf_pins acceleration_scheduler_indirect/m_axi_ext_cfg_V] + connect_bd_intf_net -intf_net S00_AXI_1 [get_bd_intf_pins M_AXI_MM2S] [get_bd_intf_pins dma/M_AXI_MM2S] + connect_bd_intf_net -intf_net [get_bd_intf_nets S00_AXI_1] [get_bd_intf_pins M_AXI_MM2S] [get_bd_intf_pins apm/SLOT_0_AXI] + connect_bd_intf_net -intf_net dma_M_AXIS_MM2S [get_bd_intf_pins dma/M_AXIS_MM2S] [get_bd_intf_pins sobel_filter/STREAM_IN] + connect_bd_intf_net -intf_net dma_M_AXI_S2MM [get_bd_intf_pins M_AXI_S2MM] [get_bd_intf_pins dma/M_AXI_S2MM] + connect_bd_intf_net -intf_net [get_bd_intf_nets dma_M_AXI_S2MM] [get_bd_intf_pins M_AXI_S2MM] [get_bd_intf_pins apm/SLOT_1_AXI] + connect_bd_intf_net -intf_net ic_accel_M00_AXI [get_bd_intf_pins acceleration_scheduler_indirect/s_axi_int_cfg] [get_bd_intf_pins ic_accel/M00_AXI] + connect_bd_intf_net -intf_net ic_accel_M01_AXI [get_bd_intf_pins dma/S_AXI_LITE] [get_bd_intf_pins ic_accel/M01_AXI] + connect_bd_intf_net -intf_net ic_accel_M02_AXI [get_bd_intf_pins ic_accel/M02_AXI] [get_bd_intf_pins sobel_filter/s_axi_S_AXI4_LITE] + connect_bd_intf_net -intf_net ic_accel_M03_AXI [get_bd_intf_pins apm/S_AXI] [get_bd_intf_pins ic_accel/M03_AXI] + connect_bd_intf_net -intf_net ic_accel_groups_M00_AXI [get_bd_intf_pins S00_AXI] [get_bd_intf_pins ic_accel/S00_AXI] + connect_bd_intf_net -intf_net sobel_filter_STREAM_OUT [get_bd_intf_pins dma/S_AXIS_S2MM] [get_bd_intf_pins sobel_filter/STREAM_OUT] + connect_bd_intf_net -intf_net [get_bd_intf_nets sobel_filter_STREAM_OUT] [get_bd_intf_pins apm/SLOT_2_AXIS] [get_bd_intf_pins sobel_filter/STREAM_OUT] + + # Create port connections + connect_bd_net -net acceleration_scheduler_indirect_interrupt [get_bd_pins interrupt] [get_bd_pins acceleration_scheduler_indirect/interrupt] + connect_bd_net -net dma_s2mm_introut [get_bd_pins s2mm_introut] [get_bd_pins acceleration_scheduler_indirect/dma_intr_in_V] [get_bd_pins dma/s2mm_introut] + connect_bd_net -net microblaze_0_Clk [get_bd_pins ACLK] [get_bd_pins acceleration_scheduler_indirect/ap_clk] [get_bd_pins apm/core_aclk] [get_bd_pins apm/s_axi_aclk] [get_bd_pins apm/slot_0_axi_aclk] [get_bd_pins apm/slot_1_axi_aclk] [get_bd_pins apm/slot_2_axis_aclk] [get_bd_pins dma/m_axi_mm2s_aclk] [get_bd_pins dma/m_axi_s2mm_aclk] [get_bd_pins dma/s_axi_lite_aclk] [get_bd_pins ic_accel/ACLK] [get_bd_pins ic_accel/M00_ACLK] [get_bd_pins ic_accel/M01_ACLK] [get_bd_pins ic_accel/M02_ACLK] [get_bd_pins ic_accel/M03_ACLK] [get_bd_pins ic_accel/S00_ACLK] [get_bd_pins sobel_filter/ap_clk] + connect_bd_net -net rst_clk_wiz_1_100M_interconnect_aresetn [get_bd_pins ARESETN] [get_bd_pins ic_accel/ARESETN] + connect_bd_net -net rst_clk_wiz_1_100M_peripheral_aresetn [get_bd_pins S00_ARESETN] [get_bd_pins acceleration_scheduler_indirect/ap_rst_n] [get_bd_pins apm/core_aresetn] [get_bd_pins apm/s_axi_aresetn] [get_bd_pins apm/slot_0_axi_aresetn] [get_bd_pins apm/slot_1_axi_aresetn] [get_bd_pins apm/slot_2_axis_aresetn] [get_bd_pins dma/axi_resetn] [get_bd_pins ic_accel/M00_ARESETN] [get_bd_pins ic_accel/M01_ARESETN] [get_bd_pins ic_accel/M02_ARESETN] [get_bd_pins ic_accel/M03_ARESETN] [get_bd_pins ic_accel/S00_ARESETN] [get_bd_pins sobel_filter/ap_rst_n] + connect_bd_net -net start_V_1 [get_bd_pins start_V] [get_bd_pins acceleration_scheduler_indirect/start_V] + + # Restore current instance + current_bd_instance $oldCurInst +} + +# Hierarchical cell: accel_group_direct_1 +proc create_hier_cell_accel_group_direct_1 { parentCell nameHier } { + + if { $parentCell eq "" || $nameHier eq "" } { + puts "ERROR: create_hier_cell_accel_group_direct_1() - Empty argument(s)!" + return + } + + # Get object for parentCell + set parentObj [get_bd_cells $parentCell] + if { $parentObj == "" } { + puts "ERROR: Unable to find parent cell <$parentCell>!" + return + } + + # Make sure parentObj is hier blk + set parentType [get_property TYPE $parentObj] + if { $parentType ne "hier" } { + puts "ERROR: Parent <$parentObj> has TYPE = <$parentType>. Expected to be ." + return + } + + # Save current instance; Restore later + set oldCurInst [current_bd_instance .] + + # Set parent object as current + current_bd_instance $parentObj + + # Create cell and set as current instance + set hier_obj [create_bd_cell -type hier $nameHier] + current_bd_instance $hier_obj + + # Create interface pins + create_bd_intf_pin -mode Master -vlnv xilinx.com:interface:aximm_rtl:1.0 M_AXI_MM2S + create_bd_intf_pin -mode Master -vlnv xilinx.com:interface:aximm_rtl:1.0 M_AXI_S2MM + create_bd_intf_pin -mode Slave -vlnv xilinx.com:interface:aximm_rtl:1.0 S00_AXI + create_bd_intf_pin -mode Master -vlnv xilinx.com:interface:aximm_rtl:1.0 m_axi_mm2s_ext_cfg_V + + # Create pins + create_bd_pin -dir I -type clk ACLK + create_bd_pin -dir I -from 0 -to 0 -type rst ARESETN + create_bd_pin -dir I -from 0 -to 0 -type rst S00_ARESETN + create_bd_pin -dir O -from 0 -to 0 -type data dma_intr_in_V + create_bd_pin -dir O -type intr interrupt + + # Create instance: acceleration_scheduler_direct, and set properties + set acceleration_scheduler_direct [ create_bd_cell -type ip -vlnv xilinx.com:hls:acceleration_scheduler_direct:3.5 acceleration_scheduler_direct ] + + # Create instance: apm, and set properties + set apm [ create_bd_cell -type ip -vlnv xilinx.com:ip:axi_perf_mon:5.0 apm ] + set_property -dict [ list \ +CONFIG.C_NUM_MONITOR_SLOTS {3} \ +CONFIG.C_NUM_OF_COUNTERS {6} \ +CONFIG.C_SLOT_2_AXI_PROTOCOL {AXI4S} \ + ] $apm + + # Create instance: dma, and set properties + set dma [ create_bd_cell -type ip -vlnv xilinx.com:ip:axi_dma:7.1 dma ] + set_property -dict [ list \ +CONFIG.c_include_mm2s_dre {1} \ +CONFIG.c_include_s2mm_dre {1} \ +CONFIG.c_include_sg {0} \ +CONFIG.c_m_axi_mm2s_data_width {128} \ +CONFIG.c_m_axi_s2mm_data_width {128} \ +CONFIG.c_mm2s_burst_size {32} \ +CONFIG.c_s2mm_burst_size {32} \ +CONFIG.c_sg_include_stscntrl_strm {0} \ +CONFIG.c_sg_length_width {23} \ + ] $dma + + # Create instance: ic_accel, and set properties + set ic_accel [ create_bd_cell -type ip -vlnv xilinx.com:ip:axi_interconnect:2.1 ic_accel ] + set_property -dict [ list \ +CONFIG.M00_HAS_REGSLICE {3} \ +CONFIG.M01_HAS_REGSLICE {3} \ +CONFIG.M02_HAS_REGSLICE {3} \ +CONFIG.M03_HAS_REGSLICE {3} \ +CONFIG.NUM_MI {4} \ +CONFIG.S00_HAS_REGSLICE {3} \ + ] $ic_accel + + # Create instance: sobel_filter, and set properties + set sobel_filter [ create_bd_cell -type ip -vlnv xilinx.com:hls:sobel_filter:5.8 sobel_filter ] + + # Create interface connections + connect_bd_intf_net -intf_net Conn1 [get_bd_intf_pins m_axi_mm2s_ext_cfg_V] [get_bd_intf_pins acceleration_scheduler_direct/m_axi_mm2s_ext_cfg_V] + connect_bd_intf_net -intf_net S00_AXI_1 [get_bd_intf_pins M_AXI_MM2S] [get_bd_intf_pins dma/M_AXI_MM2S] + connect_bd_intf_net -intf_net [get_bd_intf_nets S00_AXI_1] [get_bd_intf_pins M_AXI_MM2S] [get_bd_intf_pins apm/SLOT_0_AXI] + connect_bd_intf_net -intf_net dma_M_AXIS_MM2S [get_bd_intf_pins dma/M_AXIS_MM2S] [get_bd_intf_pins sobel_filter/STREAM_IN] + connect_bd_intf_net -intf_net dma_M_AXI_S2MM [get_bd_intf_pins M_AXI_S2MM] [get_bd_intf_pins dma/M_AXI_S2MM] + connect_bd_intf_net -intf_net [get_bd_intf_nets dma_M_AXI_S2MM] [get_bd_intf_pins M_AXI_S2MM] [get_bd_intf_pins apm/SLOT_1_AXI] + connect_bd_intf_net -intf_net ic_accel_M00_AXI [get_bd_intf_pins acceleration_scheduler_direct/s_axi_mm2s_cfg] [get_bd_intf_pins ic_accel/M00_AXI] + connect_bd_intf_net -intf_net ic_accel_M01_AXI [get_bd_intf_pins dma/S_AXI_LITE] [get_bd_intf_pins ic_accel/M01_AXI] + connect_bd_intf_net -intf_net ic_accel_M02_AXI [get_bd_intf_pins ic_accel/M02_AXI] [get_bd_intf_pins sobel_filter/s_axi_S_AXI4_LITE] + connect_bd_intf_net -intf_net ic_accel_M03_AXI [get_bd_intf_pins apm/S_AXI] [get_bd_intf_pins ic_accel/M03_AXI] + connect_bd_intf_net -intf_net ic_accel_groups_M00_AXI [get_bd_intf_pins S00_AXI] [get_bd_intf_pins ic_accel/S00_AXI] + connect_bd_intf_net -intf_net sobel_filter_STREAM_OUT [get_bd_intf_pins dma/S_AXIS_S2MM] [get_bd_intf_pins sobel_filter/STREAM_OUT] + connect_bd_intf_net -intf_net [get_bd_intf_nets sobel_filter_STREAM_OUT] [get_bd_intf_pins apm/SLOT_2_AXIS] [get_bd_intf_pins sobel_filter/STREAM_OUT] + + # Create port connections + connect_bd_net -net acceleration_scheduler_direct_interrupt [get_bd_pins interrupt] [get_bd_pins acceleration_scheduler_direct/interrupt] + connect_bd_net -net dma_s2mm_introut [get_bd_pins dma_intr_in_V] [get_bd_pins acceleration_scheduler_direct/dma_intr_in_V] [get_bd_pins dma/s2mm_introut] + connect_bd_net -net microblaze_0_Clk [get_bd_pins ACLK] [get_bd_pins acceleration_scheduler_direct/ap_clk] [get_bd_pins apm/core_aclk] [get_bd_pins apm/s_axi_aclk] [get_bd_pins apm/slot_0_axi_aclk] [get_bd_pins apm/slot_1_axi_aclk] [get_bd_pins apm/slot_2_axis_aclk] [get_bd_pins dma/m_axi_mm2s_aclk] [get_bd_pins dma/m_axi_s2mm_aclk] [get_bd_pins dma/s_axi_lite_aclk] [get_bd_pins ic_accel/ACLK] [get_bd_pins ic_accel/M00_ACLK] [get_bd_pins ic_accel/M01_ACLK] [get_bd_pins ic_accel/M02_ACLK] [get_bd_pins ic_accel/M03_ACLK] [get_bd_pins ic_accel/S00_ACLK] [get_bd_pins sobel_filter/ap_clk] + connect_bd_net -net rst_clk_wiz_1_100M_interconnect_aresetn [get_bd_pins ARESETN] [get_bd_pins ic_accel/ARESETN] + connect_bd_net -net rst_clk_wiz_1_100M_peripheral_aresetn [get_bd_pins S00_ARESETN] [get_bd_pins acceleration_scheduler_direct/ap_rst_n] [get_bd_pins apm/core_aresetn] [get_bd_pins apm/s_axi_aresetn] [get_bd_pins apm/slot_0_axi_aresetn] [get_bd_pins apm/slot_1_axi_aresetn] [get_bd_pins apm/slot_2_axis_aresetn] [get_bd_pins dma/axi_resetn] [get_bd_pins ic_accel/M00_ARESETN] [get_bd_pins ic_accel/M01_ARESETN] [get_bd_pins ic_accel/M02_ARESETN] [get_bd_pins ic_accel/M03_ARESETN] [get_bd_pins ic_accel/S00_ARESETN] [get_bd_pins sobel_filter/ap_rst_n] + + # Restore current instance + current_bd_instance $oldCurInst +} + +# Hierarchical cell: accel_group_direct_0 +proc create_hier_cell_accel_group_direct_0 { parentCell nameHier } { + + if { $parentCell eq "" || $nameHier eq "" } { + puts "ERROR: create_hier_cell_accel_group_direct_0() - Empty argument(s)!" + return + } + + # Get object for parentCell + set parentObj [get_bd_cells $parentCell] + if { $parentObj == "" } { + puts "ERROR: Unable to find parent cell <$parentCell>!" + return + } + + # Make sure parentObj is hier blk + set parentType [get_property TYPE $parentObj] + if { $parentType ne "hier" } { + puts "ERROR: Parent <$parentObj> has TYPE = <$parentType>. Expected to be ." + return + } + + # Save current instance; Restore later + set oldCurInst [current_bd_instance .] + + # Set parent object as current + current_bd_instance $parentObj + + # Create cell and set as current instance + set hier_obj [create_bd_cell -type hier $nameHier] + current_bd_instance $hier_obj + + # Create interface pins + create_bd_intf_pin -mode Master -vlnv xilinx.com:interface:aximm_rtl:1.0 M_AXI_MM2S + create_bd_intf_pin -mode Master -vlnv xilinx.com:interface:aximm_rtl:1.0 M_AXI_S2MM + create_bd_intf_pin -mode Slave -vlnv xilinx.com:interface:aximm_rtl:1.0 S00_AXI + create_bd_intf_pin -mode Master -vlnv xilinx.com:interface:aximm_rtl:1.0 m_axi_mm2s_ext_cfg_V + + # Create pins + create_bd_pin -dir I -type clk ACLK + create_bd_pin -dir I -from 0 -to 0 -type rst ARESETN + create_bd_pin -dir I -from 0 -to 0 -type rst S00_ARESETN + create_bd_pin -dir O -from 0 -to 0 -type data dma_intr_in_V + create_bd_pin -dir O -type intr interrupt + + # Create instance: acceleration_scheduler_direct, and set properties + set acceleration_scheduler_direct [ create_bd_cell -type ip -vlnv xilinx.com:hls:acceleration_scheduler_direct:3.5 acceleration_scheduler_direct ] + + # Create instance: apm, and set properties + set apm [ create_bd_cell -type ip -vlnv xilinx.com:ip:axi_perf_mon:5.0 apm ] + set_property -dict [ list \ +CONFIG.C_NUM_MONITOR_SLOTS {3} \ +CONFIG.C_NUM_OF_COUNTERS {6} \ +CONFIG.C_SLOT_2_AXI_PROTOCOL {AXI4S} \ + ] $apm + + # Create instance: dma, and set properties + set dma [ create_bd_cell -type ip -vlnv xilinx.com:ip:axi_dma:7.1 dma ] + set_property -dict [ list \ +CONFIG.c_include_mm2s_dre {1} \ +CONFIG.c_include_s2mm_dre {1} \ +CONFIG.c_include_sg {0} \ +CONFIG.c_m_axi_mm2s_data_width {128} \ +CONFIG.c_m_axi_s2mm_data_width {128} \ +CONFIG.c_mm2s_burst_size {32} \ +CONFIG.c_s2mm_burst_size {32} \ +CONFIG.c_sg_include_stscntrl_strm {0} \ +CONFIG.c_sg_length_width {23} \ + ] $dma + + # Create instance: ic_accel, and set properties + set ic_accel [ create_bd_cell -type ip -vlnv xilinx.com:ip:axi_interconnect:2.1 ic_accel ] + set_property -dict [ list \ +CONFIG.M00_HAS_REGSLICE {3} \ +CONFIG.M01_HAS_REGSLICE {3} \ +CONFIG.M02_HAS_REGSLICE {3} \ +CONFIG.M03_HAS_REGSLICE {3} \ +CONFIG.NUM_MI {4} \ +CONFIG.S00_HAS_REGSLICE {3} \ + ] $ic_accel + + # Create instance: sobel_filter, and set properties + set sobel_filter [ create_bd_cell -type ip -vlnv xilinx.com:hls:sobel_filter:5.8 sobel_filter ] + + # Create interface connections + connect_bd_intf_net -intf_net Conn1 [get_bd_intf_pins m_axi_mm2s_ext_cfg_V] [get_bd_intf_pins acceleration_scheduler_direct/m_axi_mm2s_ext_cfg_V] + connect_bd_intf_net -intf_net S00_AXI_1 [get_bd_intf_pins M_AXI_MM2S] [get_bd_intf_pins dma/M_AXI_MM2S] + connect_bd_intf_net -intf_net [get_bd_intf_nets S00_AXI_1] [get_bd_intf_pins M_AXI_MM2S] [get_bd_intf_pins apm/SLOT_0_AXI] + connect_bd_intf_net -intf_net dma_M_AXIS_MM2S [get_bd_intf_pins dma/M_AXIS_MM2S] [get_bd_intf_pins sobel_filter/STREAM_IN] + connect_bd_intf_net -intf_net dma_M_AXI_S2MM [get_bd_intf_pins M_AXI_S2MM] [get_bd_intf_pins dma/M_AXI_S2MM] + connect_bd_intf_net -intf_net [get_bd_intf_nets dma_M_AXI_S2MM] [get_bd_intf_pins M_AXI_S2MM] [get_bd_intf_pins apm/SLOT_1_AXI] + connect_bd_intf_net -intf_net ic_accel_M00_AXI [get_bd_intf_pins acceleration_scheduler_direct/s_axi_mm2s_cfg] [get_bd_intf_pins ic_accel/M00_AXI] + connect_bd_intf_net -intf_net ic_accel_M01_AXI [get_bd_intf_pins dma/S_AXI_LITE] [get_bd_intf_pins ic_accel/M01_AXI] + connect_bd_intf_net -intf_net ic_accel_M02_AXI [get_bd_intf_pins ic_accel/M02_AXI] [get_bd_intf_pins sobel_filter/s_axi_S_AXI4_LITE] + connect_bd_intf_net -intf_net ic_accel_M03_AXI [get_bd_intf_pins apm/S_AXI] [get_bd_intf_pins ic_accel/M03_AXI] + connect_bd_intf_net -intf_net ic_accel_groups_M00_AXI [get_bd_intf_pins S00_AXI] [get_bd_intf_pins ic_accel/S00_AXI] + connect_bd_intf_net -intf_net sobel_filter_STREAM_OUT [get_bd_intf_pins dma/S_AXIS_S2MM] [get_bd_intf_pins sobel_filter/STREAM_OUT] + connect_bd_intf_net -intf_net [get_bd_intf_nets sobel_filter_STREAM_OUT] [get_bd_intf_pins apm/SLOT_2_AXIS] [get_bd_intf_pins sobel_filter/STREAM_OUT] + + # Create port connections + connect_bd_net -net acceleration_scheduler_direct_interrupt [get_bd_pins interrupt] [get_bd_pins acceleration_scheduler_direct/interrupt] + connect_bd_net -net dma_s2mm_introut [get_bd_pins dma_intr_in_V] [get_bd_pins acceleration_scheduler_direct/dma_intr_in_V] [get_bd_pins dma/s2mm_introut] + connect_bd_net -net microblaze_0_Clk [get_bd_pins ACLK] [get_bd_pins acceleration_scheduler_direct/ap_clk] [get_bd_pins apm/core_aclk] [get_bd_pins apm/s_axi_aclk] [get_bd_pins apm/slot_0_axi_aclk] [get_bd_pins apm/slot_1_axi_aclk] [get_bd_pins apm/slot_2_axis_aclk] [get_bd_pins dma/m_axi_mm2s_aclk] [get_bd_pins dma/m_axi_s2mm_aclk] [get_bd_pins dma/s_axi_lite_aclk] [get_bd_pins ic_accel/ACLK] [get_bd_pins ic_accel/M00_ACLK] [get_bd_pins ic_accel/M01_ACLK] [get_bd_pins ic_accel/M02_ACLK] [get_bd_pins ic_accel/M03_ACLK] [get_bd_pins ic_accel/S00_ACLK] [get_bd_pins sobel_filter/ap_clk] + connect_bd_net -net rst_clk_wiz_1_100M_interconnect_aresetn [get_bd_pins ARESETN] [get_bd_pins ic_accel/ARESETN] + connect_bd_net -net rst_clk_wiz_1_100M_peripheral_aresetn [get_bd_pins S00_ARESETN] [get_bd_pins acceleration_scheduler_direct/ap_rst_n] [get_bd_pins apm/core_aresetn] [get_bd_pins apm/s_axi_aresetn] [get_bd_pins apm/slot_0_axi_aresetn] [get_bd_pins apm/slot_1_axi_aresetn] [get_bd_pins apm/slot_2_axis_aresetn] [get_bd_pins dma/axi_resetn] [get_bd_pins ic_accel/M00_ARESETN] [get_bd_pins ic_accel/M01_ARESETN] [get_bd_pins ic_accel/M02_ARESETN] [get_bd_pins ic_accel/M03_ARESETN] [get_bd_pins ic_accel/S00_ARESETN] [get_bd_pins sobel_filter/ap_rst_n] + + # Restore current instance + current_bd_instance $oldCurInst +} + + +# Procedure to create entire design; Provide argument to make +# procedure reusable. If parentCell is "", will use root. +proc create_root_design { parentCell } { + + if { $parentCell eq "" } { + set parentCell [get_bd_cells /] + } + + # Get object for parentCell + set parentObj [get_bd_cells $parentCell] + if { $parentObj == "" } { + puts "ERROR: Unable to find parent cell <$parentCell>!" + return + } + + # Make sure parentObj is hier blk + set parentType [get_property TYPE $parentObj] + if { $parentType ne "hier" } { + puts "ERROR: Parent <$parentObj> has TYPE = <$parentType>. Expected to be ." + return + } + + # Save current instance; Restore later + set oldCurInst [current_bd_instance .] + + # Set parent object as current + current_bd_instance $parentObj + + + # Create interface ports + set ddr3_sdram [ create_bd_intf_port -mode Master -vlnv xilinx.com:interface:ddrx_rtl:1.0 ddr3_sdram ] + set pcie_7x_mgt [ create_bd_intf_port -mode Master -vlnv xilinx.com:interface:pcie_7x_mgt_rtl:1.0 pcie_7x_mgt ] + set rs232_uart [ create_bd_intf_port -mode Master -vlnv xilinx.com:interface:uart_rtl:1.0 rs232_uart ] + set sys_diff_clock [ create_bd_intf_port -mode Slave -vlnv xilinx.com:interface:diff_clock_rtl:1.0 sys_diff_clock ] + set_property -dict [ list \ +CONFIG.FREQ_HZ {200000000} \ + ] $sys_diff_clock + + # Create ports + set REFCLK [ create_bd_port -dir I -type clk REFCLK ] + set init_calib_complete [ create_bd_port -dir O init_calib_complete ] + set perst [ create_bd_port -dir I -type rst perst ] + set reset [ create_bd_port -dir I -type rst reset ] + set_property -dict [ list \ +CONFIG.POLARITY {ACTIVE_HIGH} \ + ] $reset + + # Create instance: accel_group_direct_0 + create_hier_cell_accel_group_direct_0 [current_bd_instance .] accel_group_direct_0 + + # Create instance: accel_group_direct_1 + create_hier_cell_accel_group_direct_1 [current_bd_instance .] accel_group_direct_1 + + # Create instance: accel_group_indirect_0 + create_hier_cell_accel_group_indirect_0 [current_bd_instance .] accel_group_indirect_0 + + # Create instance: accel_group_indirect_1 + create_hier_cell_accel_group_indirect_1 [current_bd_instance .] accel_group_indirect_1 + + # Create instance: accel_group_indirect_2 + create_hier_cell_accel_group_indirect_2 [current_bd_instance .] accel_group_indirect_2 + + # Create instance: accel_group_indirect_3 + create_hier_cell_accel_group_indirect_3 [current_bd_instance .] accel_group_indirect_3 + + # Create instance: accel_group_sg + create_hier_cell_accel_group_sg [current_bd_instance .] accel_group_sg + + # Create instance: axi_interrupt_controller, and set properties + set axi_interrupt_controller [ create_bd_cell -type ip -vlnv xilinx.com:ip:axi_intc:4.1 axi_interrupt_controller ] + set_property -dict [ list \ +CONFIG.C_HAS_FAST {1} \ + ] $axi_interrupt_controller + + # Create instance: axi_uartlite, and set properties + set axi_uartlite [ create_bd_cell -type ip -vlnv xilinx.com:ip:axi_uartlite:2.0 axi_uartlite ] + set_property -dict [ list \ +CONFIG.UARTLITE_BOARD_INTERFACE {rs232_uart} \ +CONFIG.USE_BOARD_FLOW {true} \ + ] $axi_uartlite + + # Create instance: cdma_fetch, and set properties + set cdma_fetch [ create_bd_cell -type ip -vlnv xilinx.com:ip:axi_cdma:4.1 cdma_fetch ] + set_property -dict [ list \ +CONFIG.C_INCLUDE_DRE {1} \ +CONFIG.C_INCLUDE_SG {0} \ +CONFIG.C_M_AXI_DATA_WIDTH {64} \ +CONFIG.C_M_AXI_MAX_BURST_LEN {64} \ + ] $cdma_fetch + + # Create instance: cdma_send, and set properties + set cdma_send [ create_bd_cell -type ip -vlnv xilinx.com:ip:axi_cdma:4.1 cdma_send ] + set_property -dict [ list \ +CONFIG.C_INCLUDE_DRE {1} \ +CONFIG.C_INCLUDE_SG {0} \ +CONFIG.C_M_AXI_DATA_WIDTH {64} \ +CONFIG.C_M_AXI_MAX_BURST_LEN {64} \ + ] $cdma_send + + # Create instance: clocking_wizard, and set properties + set clocking_wizard [ create_bd_cell -type ip -vlnv xilinx.com:ip:clk_wiz:5.2 clocking_wizard ] + set_property -dict [ list \ +CONFIG.CLKOUT1_JITTER {107.523} \ +CONFIG.CLKOUT1_REQUESTED_OUT_FREQ {125.000} \ +CONFIG.CLKOUT2_JITTER {98.146} \ +CONFIG.CLKOUT2_PHASE_ERROR {89.971} \ +CONFIG.CLKOUT2_REQUESTED_OUT_FREQ {200.000} \ +CONFIG.CLKOUT2_USED {true} \ +CONFIG.CLK_IN1_BOARD_INTERFACE {sys_diff_clock} \ +CONFIG.MMCM_CLKOUT0_DIVIDE_F {8.000} \ +CONFIG.MMCM_CLKOUT1_DIVIDE {5} \ +CONFIG.MMCM_DIVCLK_DIVIDE {1} \ +CONFIG.NUM_OUT_CLKS {2} \ +CONFIG.PRIM_SOURCE {Differential_clock_capable_pin} \ +CONFIG.RESET_BOARD_INTERFACE {reset} \ +CONFIG.USE_BOARD_FLOW {true} \ + ] $clocking_wizard + + # Create instance: fetch_scheduler, and set properties + set fetch_scheduler [ create_bd_cell -type ip -vlnv xilinx.com:hls:fetch_scheduler:1.0 fetch_scheduler ] + + # Create instance: gpio_ack, and set properties + set gpio_ack [ create_bd_cell -type ip -vlnv xilinx.com:ip:axi_gpio:2.0 gpio_ack ] + set_property -dict [ list \ +CONFIG.C_ALL_OUTPUTS {1} \ +CONFIG.C_GPIO_WIDTH {1} \ + ] $gpio_ack + + # Create instance: gpio_msi, and set properties + set gpio_msi [ create_bd_cell -type ip -vlnv xilinx.com:ip:axi_gpio:2.0 gpio_msi ] + set_property -dict [ list \ +CONFIG.C_ALL_INPUTS_2 {0} \ +CONFIG.C_ALL_OUTPUTS {1} \ +CONFIG.C_ALL_OUTPUTS_2 {1} \ +CONFIG.C_GPIO2_WIDTH {5} \ +CONFIG.C_GPIO_WIDTH {1} \ +CONFIG.C_IS_DUAL {1} \ + ] $gpio_msi + + # Create instance: gpio_msi_read, and set properties + set gpio_msi_read [ create_bd_cell -type ip -vlnv xilinx.com:ip:axi_gpio:2.0 gpio_msi_read ] + set_property -dict [ list \ +CONFIG.C_ALL_INPUTS {1} \ +CONFIG.C_GPIO_WIDTH {5} \ + ] $gpio_msi_read + + # Create instance: gpio_pcie_interrupt, and set properties + set gpio_pcie_interrupt [ create_bd_cell -type ip -vlnv xilinx.com:ip:axi_gpio:2.0 gpio_pcie_interrupt ] + set_property -dict [ list \ +CONFIG.C_ALL_INPUTS_2 {1} \ +CONFIG.C_ALL_OUTPUTS {1} \ +CONFIG.C_INTERRUPT_PRESENT {1} \ +CONFIG.C_IS_DUAL {1} \ + ] $gpio_pcie_interrupt + + # Create instance: ic_accel_groups, and set properties + set ic_accel_groups [ create_bd_cell -type ip -vlnv xilinx.com:ip:axi_interconnect:2.1 ic_accel_groups ] + set_property -dict [ list \ +CONFIG.M00_HAS_REGSLICE {3} \ +CONFIG.M01_HAS_REGSLICE {3} \ +CONFIG.M02_HAS_REGSLICE {3} \ +CONFIG.M03_HAS_REGSLICE {3} \ +CONFIG.M04_HAS_REGSLICE {3} \ +CONFIG.M05_HAS_REGSLICE {3} \ +CONFIG.M06_HAS_REGSLICE {3} \ +CONFIG.M07_HAS_REGSLICE {3} \ +CONFIG.M08_HAS_REGSLICE {3} \ +CONFIG.NUM_MI {9} \ +CONFIG.S00_HAS_REGSLICE {3} \ + ] $ic_accel_groups + + # Create instance: ic_dmas, and set properties + set ic_dmas [ create_bd_cell -type ip -vlnv xilinx.com:ip:axi_interconnect:2.1 ic_dmas ] + set_property -dict [ list \ +CONFIG.M00_HAS_DATA_FIFO {2} \ +CONFIG.M00_HAS_REGSLICE {3} \ +CONFIG.NUM_MI {1} \ +CONFIG.NUM_SI {14} \ +CONFIG.S00_HAS_DATA_FIFO {2} \ +CONFIG.S00_HAS_REGSLICE {3} \ +CONFIG.S01_HAS_DATA_FIFO {2} \ +CONFIG.S01_HAS_REGSLICE {3} \ +CONFIG.S02_HAS_DATA_FIFO {2} \ +CONFIG.S02_HAS_REGSLICE {3} \ +CONFIG.S03_HAS_DATA_FIFO {2} \ +CONFIG.S03_HAS_REGSLICE {3} \ +CONFIG.S04_HAS_DATA_FIFO {2} \ +CONFIG.S04_HAS_REGSLICE {3} \ +CONFIG.S05_HAS_DATA_FIFO {2} \ +CONFIG.S05_HAS_REGSLICE {3} \ +CONFIG.S06_HAS_DATA_FIFO {2} \ +CONFIG.S06_HAS_REGSLICE {3} \ +CONFIG.S07_HAS_DATA_FIFO {2} \ +CONFIG.S07_HAS_REGSLICE {3} \ +CONFIG.S08_HAS_DATA_FIFO {2} \ +CONFIG.S08_HAS_REGSLICE {3} \ +CONFIG.S09_HAS_DATA_FIFO {2} \ +CONFIG.S09_HAS_REGSLICE {3} \ +CONFIG.S10_HAS_DATA_FIFO {2} \ +CONFIG.S10_HAS_REGSLICE {3} \ +CONFIG.S11_HAS_DATA_FIFO {2} \ +CONFIG.S11_HAS_REGSLICE {3} \ +CONFIG.S12_HAS_DATA_FIFO {2} \ +CONFIG.S12_HAS_REGSLICE {3} \ +CONFIG.S13_HAS_DATA_FIFO {2} \ +CONFIG.S13_HAS_REGSLICE {3} \ +CONFIG.STRATEGY {2} \ + ] $ic_dmas + + # Create instance: ic_main, and set properties + set ic_main [ create_bd_cell -type ip -vlnv xilinx.com:ip:axi_interconnect:2.1 ic_main ] + set_property -dict [ list \ +CONFIG.M00_HAS_REGSLICE {3} \ +CONFIG.M01_HAS_REGSLICE {3} \ +CONFIG.M02_HAS_REGSLICE {3} \ +CONFIG.M03_HAS_REGSLICE {3} \ +CONFIG.M04_HAS_REGSLICE {3} \ +CONFIG.M05_HAS_REGSLICE {3} \ +CONFIG.M06_HAS_REGSLICE {3} \ +CONFIG.M07_HAS_REGSLICE {3} \ +CONFIG.M08_HAS_REGSLICE {3} \ +CONFIG.M09_HAS_REGSLICE {3} \ +CONFIG.M10_HAS_REGSLICE {3} \ +CONFIG.M11_HAS_REGSLICE {3} \ +CONFIG.M12_HAS_REGSLICE {3} \ +CONFIG.M13_HAS_REGSLICE {3} \ +CONFIG.M14_HAS_REGSLICE {3} \ +CONFIG.M15_HAS_REGSLICE {3} \ +CONFIG.NUM_MI {16} \ +CONFIG.NUM_SI {13} \ +CONFIG.S00_HAS_REGSLICE {3} \ +CONFIG.S01_HAS_REGSLICE {3} \ +CONFIG.S02_HAS_REGSLICE {3} \ +CONFIG.S03_HAS_REGSLICE {3} \ +CONFIG.S04_HAS_REGSLICE {3} \ +CONFIG.S05_HAS_REGSLICE {3} \ +CONFIG.S06_HAS_REGSLICE {3} \ +CONFIG.S07_HAS_REGSLICE {3} \ +CONFIG.S08_HAS_REGSLICE {3} \ +CONFIG.S09_HAS_REGSLICE {3} \ +CONFIG.S10_HAS_REGSLICE {3} \ +CONFIG.S11_HAS_REGSLICE {3} \ +CONFIG.S12_HAS_REGSLICE {3} \ + ] $ic_main + + # Create instance: ic_pcie_mig, and set properties + set ic_pcie_mig [ create_bd_cell -type ip -vlnv xilinx.com:ip:axi_interconnect:2.1 ic_pcie_mig ] + set_property -dict [ list \ +CONFIG.M00_HAS_DATA_FIFO {2} \ +CONFIG.M00_HAS_REGSLICE {3} \ +CONFIG.M01_HAS_DATA_FIFO {2} \ +CONFIG.M01_HAS_REGSLICE {3} \ +CONFIG.NUM_MI {2} \ +CONFIG.NUM_SI {4} \ +CONFIG.S00_HAS_DATA_FIFO {2} \ +CONFIG.S00_HAS_REGSLICE {3} \ +CONFIG.S01_HAS_DATA_FIFO {2} \ +CONFIG.S01_HAS_REGSLICE {3} \ +CONFIG.S02_HAS_DATA_FIFO {2} \ +CONFIG.S02_HAS_REGSLICE {3} \ +CONFIG.S03_HAS_DATA_FIFO {2} \ +CONFIG.S03_HAS_REGSLICE {3} \ +CONFIG.STRATEGY {2} \ + ] $ic_pcie_mig + + # Create instance: interrupt_manager, and set properties + set interrupt_manager [ create_bd_cell -type ip -vlnv xilinx.com:hls:interrupt_manager:3.5 interrupt_manager ] + + # Create instance: mdm, and set properties + set mdm [ create_bd_cell -type ip -vlnv xilinx.com:ip:mdm:3.2 mdm ] + + # Create instance: microblaze_0, and set properties + set microblaze_0 [ create_bd_cell -type ip -vlnv xilinx.com:ip:microblaze:9.5 microblaze_0 ] + set_property -dict [ list \ +CONFIG.C_DEBUG_ENABLED {1} \ +CONFIG.C_D_AXI {1} \ +CONFIG.C_D_LMB {1} \ +CONFIG.C_I_LMB {1} \ + ] $microblaze_0 + + # Create instance: microblaze_bram + create_hier_cell_microblaze_bram [current_bd_instance .] microblaze_bram + + # Create instance: mig, and set properties + set mig [ create_bd_cell -type ip -vlnv xilinx.com:ip:mig_7series:2.4 mig ] + + # Generate the PRJ File for MIG + set str_mig_folder [get_property IP_DIR [ get_ips [ get_property CONFIG.Component_Name $mig ] ] ] + set str_mig_file_name mig_b.prj + set str_mig_file_path ${str_mig_folder}/${str_mig_file_name} + + write_mig_file_pcie_acceleration_vc707_design_mig_7series_0_0 $str_mig_file_path + + set_property -dict [ list \ +CONFIG.BOARD_MIG_PARAM {ddr3_sdram} \ +CONFIG.RESET_BOARD_INTERFACE {Custom} \ +CONFIG.XML_INPUT_FILE {mig_b.prj} \ + ] $mig + + # Create instance: pcie, and set properties + set pcie [ create_bd_cell -type ip -vlnv xilinx.com:ip:axi_pcie:2.7 pcie ] + set_property -dict [ list \ +CONFIG.AXIBAR2PCIEBAR_0 {0x00000000} \ +CONFIG.AXIBAR_AS_0 {true} \ +CONFIG.AXIBAR_AS_1 {true} \ +CONFIG.AXIBAR_AS_2 {true} \ +CONFIG.AXIBAR_AS_3 {true} \ +CONFIG.AXIBAR_AS_4 {true} \ +CONFIG.AXIBAR_AS_5 {true} \ +CONFIG.AXIBAR_NUM {6} \ +CONFIG.BAR0_SCALE {Megabytes} \ +CONFIG.BAR0_SIZE {4} \ +CONFIG.BAR1_ENABLED {true} \ +CONFIG.BAR1_SCALE {Kilobytes} \ +CONFIG.BAR1_SIZE {256} \ +CONFIG.BAR1_TYPE {Memory} \ +CONFIG.BAR2_ENABLED {true} \ +CONFIG.BAR2_SCALE {Megabytes} \ +CONFIG.BAR2_SIZE {512} \ +CONFIG.BAR2_TYPE {Memory} \ +CONFIG.BAR_64BIT {true} \ +CONFIG.BASE_CLASS_MENU {Processors} \ +CONFIG.CLASS_CODE {0x0B4000} \ +CONFIG.COMP_TIMEOUT {50ms} \ +CONFIG.DEVICE_ID {0x7022} \ +CONFIG.ENABLE_CLASS_CODE {false} \ +CONFIG.INTERRUPT_PIN {true} \ +CONFIG.MAX_LINK_SPEED {5.0_GT/s} \ +CONFIG.M_AXI_DATA_WIDTH {128} \ +CONFIG.NO_OF_LANES {X4} \ +CONFIG.NUM_MSI_REQ {5} \ +CONFIG.PCIEBAR2AXIBAR_0 {0x10000000} \ +CONFIG.PCIEBAR2AXIBAR_1 {0xC0000000} \ +CONFIG.PCIEBAR2AXIBAR_2 {0x80000000} \ +CONFIG.PCIE_USE_MODE {GES_and_Production} \ +CONFIG.SUB_CLASS_INTERFACE_MENU {Co_processor} \ +CONFIG.S_AXI_DATA_WIDTH {128} \ +CONFIG.S_AXI_SUPPORTS_NARROW_BURST {true} \ +CONFIG.XLNX_REF_BOARD {VC707} \ + ] $pcie + + # Create instance: psr_main, and set properties + set psr_main [ create_bd_cell -type ip -vlnv xilinx.com:ip:proc_sys_reset:5.0 psr_main ] + set_property -dict [ list \ +CONFIG.RESET_BOARD_INTERFACE {reset} \ +CONFIG.USE_BOARD_FLOW {true} \ + ] $psr_main + + # Create instance: psr_mig, and set properties + set psr_mig [ create_bd_cell -type ip -vlnv xilinx.com:ip:proc_sys_reset:5.0 psr_mig ] + + # Create instance: psr_pcie, and set properties + set psr_pcie [ create_bd_cell -type ip -vlnv xilinx.com:ip:proc_sys_reset:5.0 psr_pcie ] + + # Create instance: info_memory_block_fetch, and set properties + set info_memory_block_fetch [ create_bd_cell -type ip -vlnv xilinx.com:hls:info_memory_block:1.0 info_memory_block_fetch ] + + # Create instance: info_memory_block_send, and set properties + set info_memory_block_send [ create_bd_cell -type ip -vlnv xilinx.com:hls:info_memory_block:1.0 info_memory_block_send ] + + # Create instance: send_scheduler, and set properties + set send_scheduler [ create_bd_cell -type ip -vlnv xilinx.com:hls:send_scheduler:3.0 send_scheduler ] + + # Create instance: shared_apm, and set properties + set shared_apm [ create_bd_cell -type ip -vlnv xilinx.com:ip:axi_perf_mon:5.0 shared_apm ] + set_property -dict [ list \ +CONFIG.C_ENABLE_EVENT_COUNT {1} \ +CONFIG.C_GLOBAL_COUNT_WIDTH {64} \ +CONFIG.C_HAVE_SAMPLED_METRIC_CNT {0} \ + ] $shared_apm + + # Create instance: shared_metrics_bram_controller, and set properties + set shared_metrics_bram_controller [ create_bd_cell -type ip -vlnv xilinx.com:ip:axi_bram_ctrl:4.0 shared_metrics_bram_controller ] + set_property -dict [ list \ +CONFIG.SINGLE_PORT_BRAM {1} \ + ] $shared_metrics_bram_controller + + # Create instance: shared_metrics_bram_controller_bram, and set properties + set shared_metrics_bram_controller_bram [ create_bd_cell -type ip -vlnv xilinx.com:ip:blk_mem_gen:8.3 shared_metrics_bram_controller_bram ] + + # Create instance: xlconcat, and set properties + set xlconcat [ create_bd_cell -type ip -vlnv xilinx.com:ip:xlconcat:2.1 xlconcat ] + set_property -dict [ list \ +CONFIG.NUM_PORTS {20} \ + ] $xlconcat + + # Create interface connections + connect_bd_intf_net -intf_net S00_AXI_1 [get_bd_intf_pins accel_group_direct_0/M_AXI_MM2S] [get_bd_intf_pins ic_dmas/S00_AXI] + connect_bd_intf_net -intf_net S01_AXI_1 [get_bd_intf_pins ic_main/S01_AXI] [get_bd_intf_pins pcie/M_AXI] + connect_bd_intf_net -intf_net S01_AXI_2 [get_bd_intf_pins accel_group_direct_0/M_AXI_S2MM] [get_bd_intf_pins ic_dmas/S01_AXI] + connect_bd_intf_net -intf_net S01_AXI_3 [get_bd_intf_pins ic_dmas/M00_AXI] [get_bd_intf_pins ic_pcie_mig/S01_AXI] + connect_bd_intf_net -intf_net S02_AXI_1 [get_bd_intf_pins accel_group_direct_0/m_axi_mm2s_ext_cfg_V] [get_bd_intf_pins ic_main/S02_AXI] + connect_bd_intf_net -intf_net S02_AXI_2 [get_bd_intf_pins accel_group_direct_1/M_AXI_MM2S] [get_bd_intf_pins ic_dmas/S02_AXI] + connect_bd_intf_net -intf_net S02_AXI_3 [get_bd_intf_pins cdma_fetch/M_AXI] [get_bd_intf_pins ic_pcie_mig/S02_AXI] + connect_bd_intf_net -intf_net S03_AXI_1 [get_bd_intf_pins accel_group_direct_1/m_axi_mm2s_ext_cfg_V] [get_bd_intf_pins ic_main/S03_AXI] + connect_bd_intf_net -intf_net S03_AXI_2 [get_bd_intf_pins cdma_send/M_AXI] [get_bd_intf_pins ic_pcie_mig/S03_AXI] + connect_bd_intf_net -intf_net S04_AXI_1 [get_bd_intf_pins fetch_scheduler/m_axi_ext_cfg_V] [get_bd_intf_pins ic_main/S04_AXI] + connect_bd_intf_net -intf_net S05_AXI_1 [get_bd_intf_pins ic_main/S05_AXI] [get_bd_intf_pins send_scheduler/m_axi_ext_cfg_V] + connect_bd_intf_net -intf_net S05_AXI_2 [get_bd_intf_pins accel_group_indirect_0/M_AXI_S2MM] [get_bd_intf_pins ic_dmas/S05_AXI] + connect_bd_intf_net -intf_net S06_AXI_1 [get_bd_intf_pins accel_group_indirect_0/m_axi_ext_cfg_V] [get_bd_intf_pins ic_main/S06_AXI] + connect_bd_intf_net -intf_net S06_AXI_2 [get_bd_intf_pins accel_group_indirect_1/M_AXI_MM2S] [get_bd_intf_pins ic_dmas/S06_AXI] + connect_bd_intf_net -intf_net S09_AXI_1 [get_bd_intf_pins accel_group_indirect_2/M_AXI_S2MM] [get_bd_intf_pins ic_dmas/S09_AXI] + connect_bd_intf_net -intf_net S10_AXI_1 [get_bd_intf_pins accel_group_sg/m_axi_ext_cfg_V] [get_bd_intf_pins ic_main/S10_AXI] + connect_bd_intf_net -intf_net S11_AXI_1 [get_bd_intf_pins accel_group_indirect_3/M_AXI_S2MM] [get_bd_intf_pins ic_dmas/S11_AXI] + connect_bd_intf_net -intf_net S11_AXI_2 [get_bd_intf_pins accel_group_sg/m_axi_cfg_V] [get_bd_intf_pins ic_main/S11_AXI] + connect_bd_intf_net -intf_net S13_AXI_1 [get_bd_intf_pins accel_group_sg/M_AXI_S2MM] [get_bd_intf_pins ic_dmas/S13_AXI] + connect_bd_intf_net -intf_net accel_group_direct_1_M_AXI_S2MM [get_bd_intf_pins accel_group_direct_1/M_AXI_S2MM] [get_bd_intf_pins ic_dmas/S03_AXI] + connect_bd_intf_net -intf_net accel_group_indirect_0_M_AXI_MM2S [get_bd_intf_pins accel_group_indirect_0/M_AXI_MM2S] [get_bd_intf_pins ic_dmas/S04_AXI] + connect_bd_intf_net -intf_net accel_group_indirect_1_M_AXI_S2MM [get_bd_intf_pins accel_group_indirect_1/M_AXI_S2MM] [get_bd_intf_pins ic_dmas/S07_AXI] + connect_bd_intf_net -intf_net accel_group_indirect_1_m_axi_ext_cfg_V [get_bd_intf_pins accel_group_indirect_1/m_axi_ext_cfg_V] [get_bd_intf_pins ic_main/S07_AXI] + connect_bd_intf_net -intf_net accel_group_indirect_2_M_AXI_MM2S [get_bd_intf_pins accel_group_indirect_2/M_AXI_MM2S] [get_bd_intf_pins ic_dmas/S08_AXI] + connect_bd_intf_net -intf_net accel_group_indirect_2_m_axi_ext_cfg_V [get_bd_intf_pins accel_group_indirect_2/m_axi_ext_cfg_V] [get_bd_intf_pins ic_main/S08_AXI] + connect_bd_intf_net -intf_net accel_group_indirect_3_M_AXI_MM2S [get_bd_intf_pins accel_group_indirect_3/M_AXI_MM2S] [get_bd_intf_pins ic_dmas/S10_AXI] + connect_bd_intf_net -intf_net accel_group_indirect_3_m_axi_ext_cfg_V [get_bd_intf_pins accel_group_indirect_3/m_axi_ext_cfg_V] [get_bd_intf_pins ic_main/S09_AXI] + connect_bd_intf_net -intf_net accel_group_sg_M_AXI_MM2S [get_bd_intf_pins accel_group_sg/M_AXI_MM2S] [get_bd_intf_pins ic_dmas/S12_AXI] + connect_bd_intf_net -intf_net axi_uartlite_UART [get_bd_intf_ports rs232_uart] [get_bd_intf_pins axi_uartlite/UART] + connect_bd_intf_net -intf_net ic_accel_groups_M00_AXI [get_bd_intf_pins accel_group_direct_0/S00_AXI] [get_bd_intf_pins ic_accel_groups/M00_AXI] + connect_bd_intf_net -intf_net ic_accel_groups_M01_AXI [get_bd_intf_pins accel_group_direct_1/S00_AXI] [get_bd_intf_pins ic_accel_groups/M01_AXI] + connect_bd_intf_net -intf_net ic_accel_groups_M02_AXI [get_bd_intf_pins accel_group_indirect_0/S00_AXI] [get_bd_intf_pins ic_accel_groups/M02_AXI] + connect_bd_intf_net -intf_net ic_accel_groups_M03_AXI [get_bd_intf_pins accel_group_indirect_1/S00_AXI] [get_bd_intf_pins ic_accel_groups/M03_AXI] + connect_bd_intf_net -intf_net ic_accel_groups_M04_AXI [get_bd_intf_pins accel_group_indirect_2/S00_AXI] [get_bd_intf_pins ic_accel_groups/M04_AXI] + connect_bd_intf_net -intf_net ic_accel_groups_M05_AXI [get_bd_intf_pins accel_group_indirect_3/S00_AXI] [get_bd_intf_pins ic_accel_groups/M05_AXI] + connect_bd_intf_net -intf_net ic_accel_groups_M06_AXI [get_bd_intf_pins accel_group_sg/S00_AXI] [get_bd_intf_pins ic_accel_groups/M06_AXI] + connect_bd_intf_net -intf_net ic_accel_groups_M07_AXI [get_bd_intf_pins ic_accel_groups/M07_AXI] [get_bd_intf_pins interrupt_manager/s_axi_cfg] + connect_bd_intf_net -intf_net ic_accel_groups_M08_AXI [get_bd_intf_pins gpio_ack/S_AXI] [get_bd_intf_pins ic_accel_groups/M08_AXI] + connect_bd_intf_net -intf_net ic_main_M01_AXI [get_bd_intf_pins axi_uartlite/S_AXI] [get_bd_intf_pins ic_main/M01_AXI] + connect_bd_intf_net -intf_net ic_main_M02_AXI [get_bd_intf_pins ic_main/M02_AXI] [get_bd_intf_pins pcie/S_AXI_CTL] + connect_bd_intf_net -intf_net ic_main_M03_AXI [get_bd_intf_pins ic_main/M03_AXI] [get_bd_intf_pins ic_pcie_mig/S00_AXI] + connect_bd_intf_net -intf_net ic_main_M04_AXI [get_bd_intf_pins gpio_pcie_interrupt/S_AXI] [get_bd_intf_pins ic_main/M04_AXI] + connect_bd_intf_net -intf_net ic_main_M05_AXI [get_bd_intf_pins gpio_msi/S_AXI] [get_bd_intf_pins ic_main/M05_AXI] + connect_bd_intf_net -intf_net ic_main_M06_AXI [get_bd_intf_pins ic_main/M06_AXI] [get_bd_intf_pins shared_apm/S_AXI] + connect_bd_intf_net -intf_net ic_main_M07_AXI [get_bd_intf_pins ic_main/M07_AXI] [get_bd_intf_pins shared_metrics_bram_controller/S_AXI] + connect_bd_intf_net -intf_net ic_main_M08_AXI [get_bd_intf_pins gpio_msi_read/S_AXI] [get_bd_intf_pins ic_main/M08_AXI] + connect_bd_intf_net -intf_net ic_main_M09_AXI [get_bd_intf_pins ic_accel_groups/S00_AXI] [get_bd_intf_pins ic_main/M09_AXI] + connect_bd_intf_net -intf_net ic_main_M10_AXI [get_bd_intf_pins cdma_fetch/S_AXI_LITE] [get_bd_intf_pins ic_main/M10_AXI] + connect_bd_intf_net -intf_net ic_main_M11_AXI [get_bd_intf_pins cdma_send/S_AXI_LITE] [get_bd_intf_pins ic_main/M11_AXI] + connect_bd_intf_net -intf_net ic_main_M12_AXI [get_bd_intf_pins ic_main/M12_AXI] [get_bd_intf_pins info_memory_block_fetch/s_axi_int_cfg] + connect_bd_intf_net -intf_net ic_main_M13_AXI [get_bd_intf_pins ic_main/M13_AXI] [get_bd_intf_pins info_memory_block_send/s_axi_int_cfg] + connect_bd_intf_net -intf_net ic_main_M14_AXI [get_bd_intf_pins fetch_scheduler/s_axi_int_cfg] [get_bd_intf_pins ic_main/M14_AXI] + connect_bd_intf_net -intf_net ic_main_M15_AXI [get_bd_intf_pins ic_main/M15_AXI] [get_bd_intf_pins send_scheduler/s_axi_int_cfg] + connect_bd_intf_net -intf_net ic_pcie_mig_M00_AXI [get_bd_intf_pins ic_pcie_mig/M00_AXI] [get_bd_intf_pins pcie/S_AXI] + connect_bd_intf_net -intf_net ic_pcie_mig_M01_AXI [get_bd_intf_pins ic_pcie_mig/M01_AXI] [get_bd_intf_pins mig/S_AXI] + connect_bd_intf_net -intf_net interrupt_manager_m_axi_ext_cfg_V [get_bd_intf_pins ic_main/S12_AXI] [get_bd_intf_pins interrupt_manager/m_axi_ext_cfg_V] + connect_bd_intf_net -intf_net microblaze_0_axi_dp [get_bd_intf_pins ic_main/S00_AXI] [get_bd_intf_pins microblaze_0/M_AXI_DP] + connect_bd_intf_net -intf_net microblaze_0_debug [get_bd_intf_pins mdm/MBDEBUG_0] [get_bd_intf_pins microblaze_0/DEBUG] + connect_bd_intf_net -intf_net microblaze_0_dlmb_1 [get_bd_intf_pins microblaze_0/DLMB] [get_bd_intf_pins microblaze_bram/DLMB] + connect_bd_intf_net -intf_net microblaze_0_ilmb_1 [get_bd_intf_pins microblaze_0/ILMB] [get_bd_intf_pins microblaze_bram/ILMB] + connect_bd_intf_net -intf_net microblaze_0_intc_axi [get_bd_intf_pins axi_interrupt_controller/s_axi] [get_bd_intf_pins ic_main/M00_AXI] + connect_bd_intf_net -intf_net microblaze_0_interrupt [get_bd_intf_pins axi_interrupt_controller/interrupt] [get_bd_intf_pins microblaze_0/INTERRUPT] + connect_bd_intf_net -intf_net mig_7series_0_DDR3 [get_bd_intf_ports ddr3_sdram] [get_bd_intf_pins mig/DDR3] + connect_bd_intf_net -intf_net pcie_pcie_7x_mgt [get_bd_intf_ports pcie_7x_mgt] [get_bd_intf_pins pcie/pcie_7x_mgt] + connect_bd_intf_net -intf_net shared_metrics_bram_controller_BRAM_PORTA [get_bd_intf_pins shared_metrics_bram_controller/BRAM_PORTA] [get_bd_intf_pins shared_metrics_bram_controller_bram/BRAM_PORTA] + connect_bd_intf_net -intf_net sys_diff_clock_1 [get_bd_intf_ports sys_diff_clock] [get_bd_intf_pins clocking_wizard/CLK_IN1_D] + + # Create port connections + connect_bd_net -net M02_ACLK_1 [get_bd_pins ic_main/M02_ACLK] [get_bd_pins pcie/axi_ctl_aclk_out] + connect_bd_net -net REFCLK_1 [get_bd_ports REFCLK] [get_bd_pins pcie/REFCLK] + connect_bd_net -net accel_group_direct_1_dma_intr_in_V [get_bd_pins accel_group_direct_1/dma_intr_in_V] [get_bd_pins xlconcat/In3] + connect_bd_net -net accel_group_direct_1_interrupt [get_bd_pins accel_group_direct_1/interrupt] [get_bd_pins xlconcat/In4] + connect_bd_net -net accel_group_indirect_0_interrupt [get_bd_pins accel_group_indirect_0/interrupt] [get_bd_pins xlconcat/In10] + connect_bd_net -net accel_group_indirect_0_s2mm_introut [get_bd_pins accel_group_indirect_0/s2mm_introut] [get_bd_pins xlconcat/In9] + connect_bd_net -net accel_group_indirect_1_interrupt [get_bd_pins accel_group_indirect_1/interrupt] [get_bd_pins xlconcat/In12] + connect_bd_net -net accel_group_indirect_1_s2mm_introut [get_bd_pins accel_group_indirect_1/s2mm_introut] [get_bd_pins xlconcat/In11] + connect_bd_net -net accel_group_indirect_2_interrupt [get_bd_pins accel_group_indirect_2/interrupt] [get_bd_pins xlconcat/In14] + connect_bd_net -net accel_group_indirect_2_s2mm_introut [get_bd_pins accel_group_indirect_2/s2mm_introut] [get_bd_pins xlconcat/In13] + connect_bd_net -net accel_group_indirect_3_interrupt [get_bd_pins accel_group_indirect_3/interrupt] [get_bd_pins xlconcat/In16] + connect_bd_net -net accel_group_indirect_3_s2mm_introut [get_bd_pins accel_group_indirect_3/s2mm_introut] [get_bd_pins xlconcat/In15] + connect_bd_net -net accel_group_sg_interrupt [get_bd_pins accel_group_sg/interrupt] [get_bd_pins xlconcat/In18] + connect_bd_net -net accel_group_sg_interrupt1 [get_bd_pins accel_group_sg/interrupt1] [get_bd_pins xlconcat/In19] + connect_bd_net -net accel_group_sg_s2mm_introut [get_bd_pins accel_group_sg/s2mm_introut] [get_bd_pins xlconcat/In17] + connect_bd_net -net acceleration_scheduler_direct_interrupt [get_bd_pins accel_group_direct_0/interrupt] [get_bd_pins xlconcat/In2] + connect_bd_net -net aux_reset_in_1 [get_bd_ports perst] [get_bd_pins psr_mig/aux_reset_in] [get_bd_pins psr_pcie/aux_reset_in] + connect_bd_net -net cdma_fetch_cdma_introut [get_bd_pins cdma_fetch/cdma_introut] [get_bd_pins fetch_scheduler/cdma_intr_in_V] [get_bd_pins xlconcat/In5] + connect_bd_net -net cdma_send_cdma_introut [get_bd_pins cdma_send/cdma_introut] [get_bd_pins send_scheduler/cdma_intr_in_V] [get_bd_pins xlconcat/In6] + connect_bd_net -net clk_wiz_1_locked [get_bd_pins clocking_wizard/locked] [get_bd_pins psr_main/dcm_locked] + connect_bd_net -net clocking_wizard_clk_out2 [get_bd_pins clocking_wizard/clk_out2] [get_bd_pins mig/sys_clk_i] + connect_bd_net -net dma_s2mm_introut [get_bd_pins accel_group_direct_0/dma_intr_in_V] [get_bd_pins xlconcat/In1] + connect_bd_net -net fetch_scheduler_interrupt [get_bd_pins fetch_scheduler/interrupt] [get_bd_pins xlconcat/In7] + connect_bd_net -net fetch_scheduler_start_0_V [get_bd_pins accel_group_indirect_0/start_V] [get_bd_pins fetch_scheduler/start_0_V] + connect_bd_net -net gpio_ack_gpio_io_o [get_bd_pins gpio_ack/gpio_io_o] [get_bd_pins interrupt_manager/intr_ack_V] + connect_bd_net -net gpio_msi_gpio2_io_o [get_bd_pins gpio_msi/gpio2_io_o] [get_bd_pins gpio_msi_read/gpio_io_i] [get_bd_pins pcie/MSI_Vector_Num] + connect_bd_net -net gpio_msi_gpio_io_o [get_bd_pins gpio_msi/gpio_io_o] [get_bd_pins pcie/INTX_MSI_Request] + connect_bd_net -net gpio_pcie_interrupt_gpio_io_o [get_bd_pins gpio_pcie_interrupt/gpio2_io_i] [get_bd_pins gpio_pcie_interrupt/gpio_io_o] + connect_bd_net -net gpio_pcie_interrupt_ip2intc_irpt [get_bd_pins gpio_pcie_interrupt/ip2intc_irpt] [get_bd_pins xlconcat/In0] + connect_bd_net -net mdm_1_debug_sys_rst [get_bd_pins mdm/Debug_SYS_Rst] [get_bd_pins psr_main/mb_debug_sys_rst] + connect_bd_net -net microblaze_0_Clk [get_bd_pins accel_group_direct_0/ACLK] [get_bd_pins accel_group_direct_1/ACLK] [get_bd_pins accel_group_indirect_0/ACLK] [get_bd_pins accel_group_indirect_1/ACLK] [get_bd_pins accel_group_indirect_2/ACLK] [get_bd_pins accel_group_indirect_3/ACLK] [get_bd_pins accel_group_sg/ACLK] [get_bd_pins axi_interrupt_controller/processor_clk] [get_bd_pins axi_interrupt_controller/s_axi_aclk] [get_bd_pins axi_uartlite/s_axi_aclk] [get_bd_pins cdma_fetch/m_axi_aclk] [get_bd_pins cdma_fetch/s_axi_lite_aclk] [get_bd_pins cdma_send/m_axi_aclk] [get_bd_pins cdma_send/s_axi_lite_aclk] [get_bd_pins clocking_wizard/clk_out1] [get_bd_pins fetch_scheduler/ap_clk] [get_bd_pins gpio_ack/s_axi_aclk] [get_bd_pins gpio_msi_read/s_axi_aclk] [get_bd_pins gpio_pcie_interrupt/s_axi_aclk] [get_bd_pins ic_accel_groups/ACLK] [get_bd_pins ic_accel_groups/M00_ACLK] [get_bd_pins ic_accel_groups/M01_ACLK] [get_bd_pins ic_accel_groups/M02_ACLK] [get_bd_pins ic_accel_groups/M03_ACLK] [get_bd_pins ic_accel_groups/M04_ACLK] [get_bd_pins ic_accel_groups/M05_ACLK] [get_bd_pins ic_accel_groups/M06_ACLK] [get_bd_pins ic_accel_groups/M07_ACLK] [get_bd_pins ic_accel_groups/M08_ACLK] [get_bd_pins ic_accel_groups/S00_ACLK] [get_bd_pins ic_dmas/ACLK] [get_bd_pins ic_dmas/M00_ACLK] [get_bd_pins ic_dmas/S00_ACLK] [get_bd_pins ic_dmas/S01_ACLK] [get_bd_pins ic_dmas/S02_ACLK] [get_bd_pins ic_dmas/S03_ACLK] [get_bd_pins ic_dmas/S04_ACLK] [get_bd_pins ic_dmas/S05_ACLK] [get_bd_pins ic_dmas/S06_ACLK] [get_bd_pins ic_dmas/S07_ACLK] [get_bd_pins ic_dmas/S08_ACLK] [get_bd_pins ic_dmas/S09_ACLK] [get_bd_pins ic_dmas/S10_ACLK] [get_bd_pins ic_dmas/S11_ACLK] [get_bd_pins ic_dmas/S12_ACLK] [get_bd_pins ic_dmas/S13_ACLK] [get_bd_pins ic_main/ACLK] [get_bd_pins ic_main/M00_ACLK] [get_bd_pins ic_main/M01_ACLK] [get_bd_pins ic_main/M03_ACLK] [get_bd_pins ic_main/M04_ACLK] [get_bd_pins ic_main/M06_ACLK] [get_bd_pins ic_main/M07_ACLK] [get_bd_pins ic_main/M08_ACLK] [get_bd_pins ic_main/M09_ACLK] [get_bd_pins ic_main/M10_ACLK] [get_bd_pins ic_main/M11_ACLK] [get_bd_pins ic_main/M12_ACLK] [get_bd_pins ic_main/M13_ACLK] [get_bd_pins ic_main/M14_ACLK] [get_bd_pins ic_main/M15_ACLK] [get_bd_pins ic_main/S00_ACLK] [get_bd_pins ic_main/S02_ACLK] [get_bd_pins ic_main/S03_ACLK] [get_bd_pins ic_main/S04_ACLK] [get_bd_pins ic_main/S05_ACLK] [get_bd_pins ic_main/S06_ACLK] [get_bd_pins ic_main/S07_ACLK] [get_bd_pins ic_main/S08_ACLK] [get_bd_pins ic_main/S09_ACLK] [get_bd_pins ic_main/S10_ACLK] [get_bd_pins ic_main/S11_ACLK] [get_bd_pins ic_main/S12_ACLK] [get_bd_pins ic_pcie_mig/ACLK] [get_bd_pins ic_pcie_mig/S00_ACLK] [get_bd_pins ic_pcie_mig/S01_ACLK] [get_bd_pins ic_pcie_mig/S02_ACLK] [get_bd_pins ic_pcie_mig/S03_ACLK] [get_bd_pins interrupt_manager/ap_clk] [get_bd_pins microblaze_0/Clk] [get_bd_pins microblaze_bram/LMB_Clk] [get_bd_pins psr_main/slowest_sync_clk] [get_bd_pins info_memory_block_fetch/ap_clk] [get_bd_pins info_memory_block_send/ap_clk] [get_bd_pins send_scheduler/ap_clk] [get_bd_pins shared_apm/core_aclk] [get_bd_pins shared_apm/s_axi_aclk] [get_bd_pins shared_apm/slot_0_axi_aclk] [get_bd_pins shared_metrics_bram_controller/s_axi_aclk] + connect_bd_net -net microblaze_0_intr [get_bd_pins axi_interrupt_controller/intr] [get_bd_pins xlconcat/dout] + connect_bd_net -net mig_init_calib_complete [get_bd_ports init_calib_complete] [get_bd_pins mig/init_calib_complete] + connect_bd_net -net mig_mmcm_locked [get_bd_pins mig/mmcm_locked] [get_bd_pins psr_mig/dcm_locked] + connect_bd_net -net mig_ui_clk [get_bd_pins ic_pcie_mig/M01_ACLK] [get_bd_pins mig/ui_clk] [get_bd_pins psr_mig/slowest_sync_clk] + connect_bd_net -net pcie_axi_aclk_out [get_bd_pins gpio_msi/s_axi_aclk] [get_bd_pins ic_main/M05_ACLK] [get_bd_pins ic_main/S01_ACLK] [get_bd_pins ic_pcie_mig/M00_ACLK] [get_bd_pins pcie/axi_aclk_out] [get_bd_pins psr_pcie/slowest_sync_clk] + connect_bd_net -net pcie_mmcm_lock [get_bd_pins pcie/mmcm_lock] [get_bd_pins psr_pcie/dcm_locked] + connect_bd_net -net psr_mig_interconnect_aresetn [get_bd_pins ic_pcie_mig/M01_ARESETN] [get_bd_pins mig/aresetn] [get_bd_pins psr_mig/interconnect_aresetn] + connect_bd_net -net psr_pcie_interconnect_aresetn [get_bd_pins ic_main/M02_ARESETN] [get_bd_pins ic_main/S01_ARESETN] [get_bd_pins ic_pcie_mig/M00_ARESETN] [get_bd_pins pcie/axi_aresetn] [get_bd_pins psr_pcie/interconnect_aresetn] + connect_bd_net -net psr_pcie_peripheral_aresetn [get_bd_pins gpio_msi/s_axi_aresetn] [get_bd_pins ic_main/M05_ARESETN] [get_bd_pins psr_pcie/peripheral_aresetn] + connect_bd_net -net reset_1 [get_bd_ports reset] [get_bd_pins clocking_wizard/reset] [get_bd_pins mig/sys_rst] [get_bd_pins psr_main/ext_reset_in] [get_bd_pins psr_mig/ext_reset_in] [get_bd_pins psr_pcie/ext_reset_in] + connect_bd_net -net rst_clk_wiz_1_100M_bus_struct_reset [get_bd_pins microblaze_bram/SYS_Rst] [get_bd_pins psr_main/bus_struct_reset] + connect_bd_net -net rst_clk_wiz_1_100M_interconnect_aresetn [get_bd_pins accel_group_direct_0/ARESETN] [get_bd_pins accel_group_direct_1/ARESETN] [get_bd_pins accel_group_indirect_0/ARESETN] [get_bd_pins accel_group_indirect_1/ARESETN] [get_bd_pins accel_group_indirect_2/ARESETN] [get_bd_pins accel_group_indirect_3/ARESETN] [get_bd_pins accel_group_sg/ARESETN] [get_bd_pins ic_accel_groups/ARESETN] [get_bd_pins ic_dmas/ARESETN] [get_bd_pins ic_main/ARESETN] [get_bd_pins ic_pcie_mig/ARESETN] [get_bd_pins psr_main/interconnect_aresetn] + connect_bd_net -net rst_clk_wiz_1_100M_mb_reset [get_bd_pins axi_interrupt_controller/processor_rst] [get_bd_pins microblaze_0/Reset] [get_bd_pins psr_main/mb_reset] + connect_bd_net -net rst_clk_wiz_1_100M_peripheral_aresetn [get_bd_pins accel_group_direct_0/S00_ARESETN] [get_bd_pins accel_group_direct_1/S00_ARESETN] [get_bd_pins accel_group_indirect_0/S00_ARESETN] [get_bd_pins accel_group_indirect_1/S00_ARESETN] [get_bd_pins accel_group_indirect_2/S00_ARESETN] [get_bd_pins accel_group_indirect_3/S00_ARESETN] [get_bd_pins accel_group_sg/S00_ARESETN] [get_bd_pins axi_interrupt_controller/s_axi_aresetn] [get_bd_pins axi_uartlite/s_axi_aresetn] [get_bd_pins cdma_fetch/s_axi_lite_aresetn] [get_bd_pins cdma_send/s_axi_lite_aresetn] [get_bd_pins fetch_scheduler/ap_rst_n] [get_bd_pins gpio_ack/s_axi_aresetn] [get_bd_pins gpio_msi_read/s_axi_aresetn] [get_bd_pins gpio_pcie_interrupt/s_axi_aresetn] [get_bd_pins ic_accel_groups/M00_ARESETN] [get_bd_pins ic_accel_groups/M01_ARESETN] [get_bd_pins ic_accel_groups/M02_ARESETN] [get_bd_pins ic_accel_groups/M03_ARESETN] [get_bd_pins ic_accel_groups/M04_ARESETN] [get_bd_pins ic_accel_groups/M05_ARESETN] [get_bd_pins ic_accel_groups/M06_ARESETN] [get_bd_pins ic_accel_groups/M07_ARESETN] [get_bd_pins ic_accel_groups/M08_ARESETN] [get_bd_pins ic_accel_groups/S00_ARESETN] [get_bd_pins ic_dmas/M00_ARESETN] [get_bd_pins ic_dmas/S00_ARESETN] [get_bd_pins ic_dmas/S01_ARESETN] [get_bd_pins ic_dmas/S02_ARESETN] [get_bd_pins ic_dmas/S03_ARESETN] [get_bd_pins ic_dmas/S04_ARESETN] [get_bd_pins ic_dmas/S05_ARESETN] [get_bd_pins ic_dmas/S06_ARESETN] [get_bd_pins ic_dmas/S07_ARESETN] [get_bd_pins ic_dmas/S08_ARESETN] [get_bd_pins ic_dmas/S09_ARESETN] [get_bd_pins ic_dmas/S10_ARESETN] [get_bd_pins ic_dmas/S11_ARESETN] [get_bd_pins ic_dmas/S12_ARESETN] [get_bd_pins ic_dmas/S13_ARESETN] [get_bd_pins ic_main/M00_ARESETN] [get_bd_pins ic_main/M01_ARESETN] [get_bd_pins ic_main/M03_ARESETN] [get_bd_pins ic_main/M04_ARESETN] [get_bd_pins ic_main/M06_ARESETN] [get_bd_pins ic_main/M07_ARESETN] [get_bd_pins ic_main/M08_ARESETN] [get_bd_pins ic_main/M09_ARESETN] [get_bd_pins ic_main/M10_ARESETN] [get_bd_pins ic_main/M11_ARESETN] [get_bd_pins ic_main/M12_ARESETN] [get_bd_pins ic_main/M13_ARESETN] [get_bd_pins ic_main/M14_ARESETN] [get_bd_pins ic_main/M15_ARESETN] [get_bd_pins ic_main/S00_ARESETN] [get_bd_pins ic_main/S02_ARESETN] [get_bd_pins ic_main/S03_ARESETN] [get_bd_pins ic_main/S04_ARESETN] [get_bd_pins ic_main/S05_ARESETN] [get_bd_pins ic_main/S06_ARESETN] [get_bd_pins ic_main/S07_ARESETN] [get_bd_pins ic_main/S08_ARESETN] [get_bd_pins ic_main/S09_ARESETN] [get_bd_pins ic_main/S10_ARESETN] [get_bd_pins ic_main/S11_ARESETN] [get_bd_pins ic_main/S12_ARESETN] [get_bd_pins ic_pcie_mig/S00_ARESETN] [get_bd_pins ic_pcie_mig/S01_ARESETN] [get_bd_pins ic_pcie_mig/S02_ARESETN] [get_bd_pins ic_pcie_mig/S03_ARESETN] [get_bd_pins interrupt_manager/ap_rst_n] [get_bd_pins psr_main/peripheral_aresetn] [get_bd_pins info_memory_block_fetch/ap_rst_n] [get_bd_pins info_memory_block_send/ap_rst_n] [get_bd_pins send_scheduler/ap_rst_n] [get_bd_pins shared_apm/core_aresetn] [get_bd_pins shared_apm/s_axi_aresetn] [get_bd_pins shared_apm/slot_0_axi_aresetn] [get_bd_pins shared_metrics_bram_controller/s_axi_aresetn] + connect_bd_net -net send_scheduler_interrupt [get_bd_pins send_scheduler/interrupt] [get_bd_pins xlconcat/In8] + connect_bd_net -net start_V_1 [get_bd_pins accel_group_indirect_1/start_V] [get_bd_pins fetch_scheduler/start_1_V] + connect_bd_net -net start_V_2 [get_bd_pins accel_group_indirect_2/start_V] [get_bd_pins fetch_scheduler/start_2_V] + connect_bd_net -net start_V_3 [get_bd_pins accel_group_indirect_3/start_V] [get_bd_pins fetch_scheduler/start_3_V] + + # Create address segments + create_bd_addr_seg -range 0x20000000 -offset 0x80000000 [get_bd_addr_spaces cdma_fetch/Data] [get_bd_addr_segs mig/memmap/memaddr] SEG_mig_memaddr + create_bd_addr_seg -range 0x400000 -offset 0x20000000 [get_bd_addr_spaces cdma_fetch/Data] [get_bd_addr_segs pcie/S_AXI/BAR0] SEG_pcie_BAR0 + create_bd_addr_seg -range 0x400000 -offset 0x30000000 [get_bd_addr_spaces cdma_fetch/Data] [get_bd_addr_segs pcie/S_AXI/BAR1] SEG_pcie_BAR1 + create_bd_addr_seg -range 0x400000 -offset 0x40000000 [get_bd_addr_spaces cdma_fetch/Data] [get_bd_addr_segs pcie/S_AXI/BAR2] SEG_pcie_BAR2 + create_bd_addr_seg -range 0x400000 -offset 0x50000000 [get_bd_addr_spaces cdma_fetch/Data] [get_bd_addr_segs pcie/S_AXI/BAR3] SEG_pcie_BAR3 + create_bd_addr_seg -range 0x1000 -offset 0x60000000 [get_bd_addr_spaces cdma_fetch/Data] [get_bd_addr_segs pcie/S_AXI/BAR4] SEG_pcie_BAR4 + create_bd_addr_seg -range 0x1000 -offset 0x70000000 [get_bd_addr_spaces cdma_fetch/Data] [get_bd_addr_segs pcie/S_AXI/BAR5] SEG_pcie_BAR5 + create_bd_addr_seg -range 0x20000000 -offset 0x80000000 [get_bd_addr_spaces cdma_send/Data] [get_bd_addr_segs mig/memmap/memaddr] SEG_mig_memaddr + create_bd_addr_seg -range 0x400000 -offset 0x20000000 [get_bd_addr_spaces cdma_send/Data] [get_bd_addr_segs pcie/S_AXI/BAR0] SEG_pcie_BAR0 + create_bd_addr_seg -range 0x400000 -offset 0x30000000 [get_bd_addr_spaces cdma_send/Data] [get_bd_addr_segs pcie/S_AXI/BAR1] SEG_pcie_BAR1 + create_bd_addr_seg -range 0x400000 -offset 0x40000000 [get_bd_addr_spaces cdma_send/Data] [get_bd_addr_segs pcie/S_AXI/BAR2] SEG_pcie_BAR2 + create_bd_addr_seg -range 0x400000 -offset 0x50000000 [get_bd_addr_spaces cdma_send/Data] [get_bd_addr_segs pcie/S_AXI/BAR3] SEG_pcie_BAR3 + create_bd_addr_seg -range 0x1000 -offset 0x60000000 [get_bd_addr_spaces cdma_send/Data] [get_bd_addr_segs pcie/S_AXI/BAR4] SEG_pcie_BAR4 + create_bd_addr_seg -range 0x1000 -offset 0x70000000 [get_bd_addr_spaces cdma_send/Data] [get_bd_addr_segs pcie/S_AXI/BAR5] SEG_pcie_BAR5 + create_bd_addr_seg -range 0x10000 -offset 0x100C0000 [get_bd_addr_spaces fetch_scheduler/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_direct_0/acceleration_scheduler_direct/s_axi_mm2s_cfg/Reg] SEG_acceleration_scheduler_direct_Reg + create_bd_addr_seg -range 0x10000 -offset 0x10100000 [get_bd_addr_spaces fetch_scheduler/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_direct_1/acceleration_scheduler_direct/s_axi_mm2s_cfg/Reg] SEG_acceleration_scheduler_direct_Reg19 + create_bd_addr_seg -range 0x10000 -offset 0x10140000 [get_bd_addr_spaces fetch_scheduler/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_indirect_0/acceleration_scheduler_indirect/s_axi_int_cfg/Reg] SEG_acceleration_scheduler_indirect_Reg + create_bd_addr_seg -range 0x10000 -offset 0x10180000 [get_bd_addr_spaces fetch_scheduler/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_indirect_1/acceleration_scheduler_indirect/s_axi_int_cfg/Reg] SEG_acceleration_scheduler_indirect_Reg1 + create_bd_addr_seg -range 0x10000 -offset 0x101C0000 [get_bd_addr_spaces fetch_scheduler/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_indirect_2/acceleration_scheduler_indirect/s_axi_int_cfg/Reg] SEG_acceleration_scheduler_indirect_Reg2 + create_bd_addr_seg -range 0x10000 -offset 0x10200000 [get_bd_addr_spaces fetch_scheduler/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_indirect_3/acceleration_scheduler_indirect/s_axi_int_cfg/Reg] SEG_acceleration_scheduler_indirect_Reg3 + create_bd_addr_seg -range 0x10000 -offset 0x10240000 [get_bd_addr_spaces fetch_scheduler/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_sg/acceleration_scheduler_sg_xdma/s_axi_mm2s_cfg/Reg] SEG_acceleration_scheduler_sg_xdma_Reg + create_bd_addr_seg -range 0x10000 -offset 0x100D0000 [get_bd_addr_spaces fetch_scheduler/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_direct_0/apm/S_AXI/Reg] SEG_apm_Reg + create_bd_addr_seg -range 0x10000 -offset 0x10150000 [get_bd_addr_spaces fetch_scheduler/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_indirect_0/apm/S_AXI/Reg] SEG_apm_Reg2 + create_bd_addr_seg -range 0x10000 -offset 0x10190000 [get_bd_addr_spaces fetch_scheduler/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_indirect_1/apm/S_AXI/Reg] SEG_apm_Reg3 + create_bd_addr_seg -range 0x10000 -offset 0x101D0000 [get_bd_addr_spaces fetch_scheduler/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_indirect_2/apm/S_AXI/Reg] SEG_apm_Reg4 + create_bd_addr_seg -range 0x10000 -offset 0x10210000 [get_bd_addr_spaces fetch_scheduler/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_indirect_3/apm/S_AXI/Reg] SEG_apm_Reg5 + create_bd_addr_seg -range 0x10000 -offset 0x10250000 [get_bd_addr_spaces fetch_scheduler/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_sg/apm/S_AXI/Reg] SEG_apm_Reg6 + create_bd_addr_seg -range 0x10000 -offset 0x10110000 [get_bd_addr_spaces fetch_scheduler/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_direct_1/apm/S_AXI/Reg] SEG_apm_Reg23 + create_bd_addr_seg -range 0x10000 -offset 0x10000000 [get_bd_addr_spaces fetch_scheduler/Data_m_axi_ext_cfg_V] [get_bd_addr_segs axi_interrupt_controller/s_axi/Reg] SEG_axi_interrupt_controller_Reg + create_bd_addr_seg -range 0x10000 -offset 0x10010000 [get_bd_addr_spaces fetch_scheduler/Data_m_axi_ext_cfg_V] [get_bd_addr_segs axi_uartlite/S_AXI/Reg] SEG_axi_uartlite_Reg + create_bd_addr_seg -range 0x10000 -offset 0x100A0000 [get_bd_addr_spaces fetch_scheduler/Data_m_axi_ext_cfg_V] [get_bd_addr_segs cdma_fetch/S_AXI_LITE/Reg] SEG_cdma_fetch_Reg + create_bd_addr_seg -range 0x10000 -offset 0x100B0000 [get_bd_addr_spaces fetch_scheduler/Data_m_axi_ext_cfg_V] [get_bd_addr_segs cdma_send/S_AXI_LITE/Reg] SEG_cdma_send_Reg + create_bd_addr_seg -range 0x10000 -offset 0x100E0000 [get_bd_addr_spaces fetch_scheduler/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_direct_0/dma/S_AXI_LITE/Reg] SEG_dma_Reg + create_bd_addr_seg -range 0x10000 -offset 0x10160000 [get_bd_addr_spaces fetch_scheduler/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_indirect_0/dma/S_AXI_LITE/Reg] SEG_dma_Reg4 + create_bd_addr_seg -range 0x10000 -offset 0x101A0000 [get_bd_addr_spaces fetch_scheduler/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_indirect_1/dma/S_AXI_LITE/Reg] SEG_dma_Reg5 + create_bd_addr_seg -range 0x10000 -offset 0x101E0000 [get_bd_addr_spaces fetch_scheduler/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_indirect_2/dma/S_AXI_LITE/Reg] SEG_dma_Reg6 + create_bd_addr_seg -range 0x10000 -offset 0x10220000 [get_bd_addr_spaces fetch_scheduler/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_indirect_3/dma/S_AXI_LITE/Reg] SEG_dma_Reg7 + create_bd_addr_seg -range 0x10000 -offset 0x10290000 [get_bd_addr_spaces fetch_scheduler/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_sg/dma/S_AXI_LITE/Reg] SEG_dma_Reg8 + create_bd_addr_seg -range 0x10000 -offset 0x10120000 [get_bd_addr_spaces fetch_scheduler/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_direct_1/dma/S_AXI_LITE/Reg] SEG_dma_Reg27 + create_bd_addr_seg -range 0x10000 -offset 0x10260000 [get_bd_addr_spaces fetch_scheduler/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_sg/dma_sg_pcie_scheduler/s_axi_cfg/Reg] SEG_dma_sg_pcie_scheduler_Reg + create_bd_addr_seg -range 0x10000 -offset 0x10060000 [get_bd_addr_spaces fetch_scheduler/Data_m_axi_ext_cfg_V] [get_bd_addr_segs fetch_scheduler/s_axi_int_cfg/Reg] SEG_fetch_scheduler_Reg + create_bd_addr_seg -range 0x10000 -offset 0x10320000 [get_bd_addr_spaces fetch_scheduler/Data_m_axi_ext_cfg_V] [get_bd_addr_segs gpio_ack/S_AXI/Reg] SEG_gpio_ack_Reg + create_bd_addr_seg -range 0x10000 -offset 0x10040000 [get_bd_addr_spaces fetch_scheduler/Data_m_axi_ext_cfg_V] [get_bd_addr_segs gpio_msi/S_AXI/Reg] SEG_gpio_msi_Reg + create_bd_addr_seg -range 0x10000 -offset 0x10300000 [get_bd_addr_spaces fetch_scheduler/Data_m_axi_ext_cfg_V] [get_bd_addr_segs gpio_msi_read/S_AXI/Reg] SEG_gpio_msi_read_Reg + create_bd_addr_seg -range 0x10000 -offset 0x10030000 [get_bd_addr_spaces fetch_scheduler/Data_m_axi_ext_cfg_V] [get_bd_addr_segs gpio_pcie_interrupt/S_AXI/Reg] SEG_gpio_pcie_interrupt_Reg + create_bd_addr_seg -range 0x10000 -offset 0x10310000 [get_bd_addr_spaces fetch_scheduler/Data_m_axi_ext_cfg_V] [get_bd_addr_segs interrupt_manager/s_axi_cfg/Reg] SEG_interrupt_manager_Reg + create_bd_addr_seg -range 0x20000000 -offset 0x80000000 [get_bd_addr_spaces fetch_scheduler/Data_m_axi_ext_cfg_V] [get_bd_addr_segs mig/memmap/memaddr] SEG_mig_memaddr + create_bd_addr_seg -range 0x400000 -offset 0x20000000 [get_bd_addr_spaces fetch_scheduler/Data_m_axi_ext_cfg_V] [get_bd_addr_segs pcie/S_AXI/BAR0] SEG_pcie_BAR0 + create_bd_addr_seg -range 0x400000 -offset 0x30000000 [get_bd_addr_spaces fetch_scheduler/Data_m_axi_ext_cfg_V] [get_bd_addr_segs pcie/S_AXI/BAR1] SEG_pcie_BAR1 + create_bd_addr_seg -range 0x400000 -offset 0x40000000 [get_bd_addr_spaces fetch_scheduler/Data_m_axi_ext_cfg_V] [get_bd_addr_segs pcie/S_AXI/BAR2] SEG_pcie_BAR2 + create_bd_addr_seg -range 0x400000 -offset 0x50000000 [get_bd_addr_spaces fetch_scheduler/Data_m_axi_ext_cfg_V] [get_bd_addr_segs pcie/S_AXI/BAR3] SEG_pcie_BAR3 + create_bd_addr_seg -range 0x1000 -offset 0x60000000 [get_bd_addr_spaces fetch_scheduler/Data_m_axi_ext_cfg_V] [get_bd_addr_segs pcie/S_AXI/BAR4] SEG_pcie_BAR4 + create_bd_addr_seg -range 0x1000 -offset 0x70000000 [get_bd_addr_spaces fetch_scheduler/Data_m_axi_ext_cfg_V] [get_bd_addr_segs pcie/S_AXI/BAR5] SEG_pcie_BAR5 + create_bd_addr_seg -range 0x10000 -offset 0x10020000 [get_bd_addr_spaces fetch_scheduler/Data_m_axi_ext_cfg_V] [get_bd_addr_segs pcie/S_AXI_CTL/CTL0] SEG_pcie_CTL0 + create_bd_addr_seg -range 0x10000 -offset 0x10080000 [get_bd_addr_spaces fetch_scheduler/Data_m_axi_ext_cfg_V] [get_bd_addr_segs info_memory_block_fetch/s_axi_int_cfg/Reg] SEG_info_memory_block_fetch_Reg + create_bd_addr_seg -range 0x10000 -offset 0x10090000 [get_bd_addr_spaces fetch_scheduler/Data_m_axi_ext_cfg_V] [get_bd_addr_segs info_memory_block_send/s_axi_int_cfg/Reg] SEG_info_memory_block_send_Reg + create_bd_addr_seg -range 0x10000 -offset 0x10070000 [get_bd_addr_spaces fetch_scheduler/Data_m_axi_ext_cfg_V] [get_bd_addr_segs send_scheduler/s_axi_int_cfg/Reg] SEG_send_scheduler_Reg + create_bd_addr_seg -range 0x10000 -offset 0x10050000 [get_bd_addr_spaces fetch_scheduler/Data_m_axi_ext_cfg_V] [get_bd_addr_segs shared_apm/S_AXI/Reg] SEG_shared_apm_Reg + create_bd_addr_seg -range 0x40000 -offset 0xC0000000 [get_bd_addr_spaces fetch_scheduler/Data_m_axi_ext_cfg_V] [get_bd_addr_segs shared_metrics_bram_controller/S_AXI/Mem0] SEG_shared_metrics_bram_controller_Mem0 + create_bd_addr_seg -range 0x10000 -offset 0x100F0000 [get_bd_addr_spaces fetch_scheduler/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_direct_0/sobel_filter/s_axi_S_AXI4_LITE/Reg] SEG_sobel_filter_Reg + create_bd_addr_seg -range 0x10000 -offset 0x10170000 [get_bd_addr_spaces fetch_scheduler/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_indirect_0/sobel_filter/s_axi_S_AXI4_LITE/Reg] SEG_sobel_filter_Reg6 + create_bd_addr_seg -range 0x10000 -offset 0x101B0000 [get_bd_addr_spaces fetch_scheduler/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_indirect_1/sobel_filter/s_axi_S_AXI4_LITE/Reg] SEG_sobel_filter_Reg7 + create_bd_addr_seg -range 0x10000 -offset 0x101F0000 [get_bd_addr_spaces fetch_scheduler/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_indirect_2/sobel_filter/s_axi_S_AXI4_LITE/Reg] SEG_sobel_filter_Reg8 + create_bd_addr_seg -range 0x10000 -offset 0x10230000 [get_bd_addr_spaces fetch_scheduler/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_indirect_3/sobel_filter/s_axi_S_AXI4_LITE/Reg] SEG_sobel_filter_Reg9 + create_bd_addr_seg -range 0x10000 -offset 0x10280000 [get_bd_addr_spaces fetch_scheduler/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_sg/sobel_filter/s_axi_S_AXI4_LITE/Reg] SEG_sobel_filter_Reg11 + create_bd_addr_seg -range 0x10000 -offset 0x10130000 [get_bd_addr_spaces fetch_scheduler/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_direct_1/sobel_filter/s_axi_S_AXI4_LITE/Reg] SEG_sobel_filter_Reg31 + create_bd_addr_seg -range 0x10000 -offset 0x100C0000 [get_bd_addr_spaces interrupt_manager/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_direct_0/acceleration_scheduler_direct/s_axi_mm2s_cfg/Reg] SEG_acceleration_scheduler_direct_Reg + create_bd_addr_seg -range 0x10000 -offset 0x10100000 [get_bd_addr_spaces interrupt_manager/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_direct_1/acceleration_scheduler_direct/s_axi_mm2s_cfg/Reg] SEG_acceleration_scheduler_direct_Reg7 + create_bd_addr_seg -range 0x10000 -offset 0x10140000 [get_bd_addr_spaces interrupt_manager/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_indirect_0/acceleration_scheduler_indirect/s_axi_int_cfg/Reg] SEG_acceleration_scheduler_indirect_Reg + create_bd_addr_seg -range 0x10000 -offset 0x10180000 [get_bd_addr_spaces interrupt_manager/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_indirect_1/acceleration_scheduler_indirect/s_axi_int_cfg/Reg] SEG_acceleration_scheduler_indirect_Reg22 + create_bd_addr_seg -range 0x10000 -offset 0x101C0000 [get_bd_addr_spaces interrupt_manager/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_indirect_2/acceleration_scheduler_indirect/s_axi_int_cfg/Reg] SEG_acceleration_scheduler_indirect_Reg30 + create_bd_addr_seg -range 0x10000 -offset 0x10200000 [get_bd_addr_spaces interrupt_manager/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_indirect_3/acceleration_scheduler_indirect/s_axi_int_cfg/Reg] SEG_acceleration_scheduler_indirect_Reg38 + create_bd_addr_seg -range 0x10000 -offset 0x10240000 [get_bd_addr_spaces interrupt_manager/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_sg/acceleration_scheduler_sg_xdma/s_axi_mm2s_cfg/Reg] SEG_acceleration_scheduler_sg_xdma_Reg + create_bd_addr_seg -range 0x10000 -offset 0x100D0000 [get_bd_addr_spaces interrupt_manager/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_direct_0/apm/S_AXI/Reg] SEG_apm_Reg + create_bd_addr_seg -range 0x10000 -offset 0x10110000 [get_bd_addr_spaces interrupt_manager/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_direct_1/apm/S_AXI/Reg] SEG_apm_Reg9 + create_bd_addr_seg -range 0x10000 -offset 0x10150000 [get_bd_addr_spaces interrupt_manager/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_indirect_0/apm/S_AXI/Reg] SEG_apm_Reg16 + create_bd_addr_seg -range 0x10000 -offset 0x10190000 [get_bd_addr_spaces interrupt_manager/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_indirect_1/apm/S_AXI/Reg] SEG_apm_Reg24 + create_bd_addr_seg -range 0x10000 -offset 0x101D0000 [get_bd_addr_spaces interrupt_manager/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_indirect_2/apm/S_AXI/Reg] SEG_apm_Reg32 + create_bd_addr_seg -range 0x10000 -offset 0x10210000 [get_bd_addr_spaces interrupt_manager/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_indirect_3/apm/S_AXI/Reg] SEG_apm_Reg40 + create_bd_addr_seg -range 0x10000 -offset 0x10250000 [get_bd_addr_spaces interrupt_manager/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_sg/apm/S_AXI/Reg] SEG_apm_Reg47 + create_bd_addr_seg -range 0x10000 -offset 0x10000000 [get_bd_addr_spaces interrupt_manager/Data_m_axi_ext_cfg_V] [get_bd_addr_segs axi_interrupt_controller/s_axi/Reg] SEG_axi_interrupt_controller_Reg + create_bd_addr_seg -range 0x10000 -offset 0x10010000 [get_bd_addr_spaces interrupt_manager/Data_m_axi_ext_cfg_V] [get_bd_addr_segs axi_uartlite/S_AXI/Reg] SEG_axi_uartlite_Reg + create_bd_addr_seg -range 0x10000 -offset 0x100A0000 [get_bd_addr_spaces interrupt_manager/Data_m_axi_ext_cfg_V] [get_bd_addr_segs cdma_fetch/S_AXI_LITE/Reg] SEG_cdma_fetch_Reg + create_bd_addr_seg -range 0x10000 -offset 0x100B0000 [get_bd_addr_spaces interrupt_manager/Data_m_axi_ext_cfg_V] [get_bd_addr_segs cdma_send/S_AXI_LITE/Reg] SEG_cdma_send_Reg + create_bd_addr_seg -range 0x10000 -offset 0x100E0000 [get_bd_addr_spaces interrupt_manager/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_direct_0/dma/S_AXI_LITE/Reg] SEG_dma_Reg + create_bd_addr_seg -range 0x10000 -offset 0x10120000 [get_bd_addr_spaces interrupt_manager/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_direct_1/dma/S_AXI_LITE/Reg] SEG_dma_Reg11 + create_bd_addr_seg -range 0x10000 -offset 0x10160000 [get_bd_addr_spaces interrupt_manager/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_indirect_0/dma/S_AXI_LITE/Reg] SEG_dma_Reg18 + create_bd_addr_seg -range 0x10000 -offset 0x101A0000 [get_bd_addr_spaces interrupt_manager/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_indirect_1/dma/S_AXI_LITE/Reg] SEG_dma_Reg26 + create_bd_addr_seg -range 0x10000 -offset 0x101E0000 [get_bd_addr_spaces interrupt_manager/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_indirect_2/dma/S_AXI_LITE/Reg] SEG_dma_Reg34 + create_bd_addr_seg -range 0x10000 -offset 0x10220000 [get_bd_addr_spaces interrupt_manager/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_indirect_3/dma/S_AXI_LITE/Reg] SEG_dma_Reg42 + create_bd_addr_seg -range 0x10000 -offset 0x10290000 [get_bd_addr_spaces interrupt_manager/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_sg/dma/S_AXI_LITE/Reg] SEG_dma_Reg49 + create_bd_addr_seg -range 0x10000 -offset 0x10260000 [get_bd_addr_spaces interrupt_manager/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_sg/dma_sg_pcie_scheduler/s_axi_cfg/Reg] SEG_dma_sg_pcie_scheduler_Reg + create_bd_addr_seg -range 0x10000 -offset 0x10060000 [get_bd_addr_spaces interrupt_manager/Data_m_axi_ext_cfg_V] [get_bd_addr_segs fetch_scheduler/s_axi_int_cfg/Reg] SEG_fetch_scheduler_Reg + create_bd_addr_seg -range 0x10000 -offset 0x10320000 [get_bd_addr_spaces interrupt_manager/Data_m_axi_ext_cfg_V] [get_bd_addr_segs gpio_ack/S_AXI/Reg] SEG_gpio_ack_Reg + create_bd_addr_seg -range 0x10000 -offset 0x10040000 [get_bd_addr_spaces interrupt_manager/Data_m_axi_ext_cfg_V] [get_bd_addr_segs gpio_msi/S_AXI/Reg] SEG_gpio_msi_Reg + create_bd_addr_seg -range 0x10000 -offset 0x10300000 [get_bd_addr_spaces interrupt_manager/Data_m_axi_ext_cfg_V] [get_bd_addr_segs gpio_msi_read/S_AXI/Reg] SEG_gpio_msi_read_Reg + create_bd_addr_seg -range 0x10000 -offset 0x10030000 [get_bd_addr_spaces interrupt_manager/Data_m_axi_ext_cfg_V] [get_bd_addr_segs gpio_pcie_interrupt/S_AXI/Reg] SEG_gpio_pcie_interrupt_Reg + create_bd_addr_seg -range 0x10000 -offset 0x10310000 [get_bd_addr_spaces interrupt_manager/Data_m_axi_ext_cfg_V] [get_bd_addr_segs interrupt_manager/s_axi_cfg/Reg] SEG_interrupt_manager_Reg + create_bd_addr_seg -range 0x20000000 -offset 0x80000000 [get_bd_addr_spaces interrupt_manager/Data_m_axi_ext_cfg_V] [get_bd_addr_segs mig/memmap/memaddr] SEG_mig_memaddr + create_bd_addr_seg -range 0x400000 -offset 0x20000000 [get_bd_addr_spaces interrupt_manager/Data_m_axi_ext_cfg_V] [get_bd_addr_segs pcie/S_AXI/BAR0] SEG_pcie_BAR0 + create_bd_addr_seg -range 0x400000 -offset 0x30000000 [get_bd_addr_spaces interrupt_manager/Data_m_axi_ext_cfg_V] [get_bd_addr_segs pcie/S_AXI/BAR1] SEG_pcie_BAR1 + create_bd_addr_seg -range 0x400000 -offset 0x40000000 [get_bd_addr_spaces interrupt_manager/Data_m_axi_ext_cfg_V] [get_bd_addr_segs pcie/S_AXI/BAR2] SEG_pcie_BAR2 + create_bd_addr_seg -range 0x400000 -offset 0x50000000 [get_bd_addr_spaces interrupt_manager/Data_m_axi_ext_cfg_V] [get_bd_addr_segs pcie/S_AXI/BAR3] SEG_pcie_BAR3 + create_bd_addr_seg -range 0x1000 -offset 0x60000000 [get_bd_addr_spaces interrupt_manager/Data_m_axi_ext_cfg_V] [get_bd_addr_segs pcie/S_AXI/BAR4] SEG_pcie_BAR4 + create_bd_addr_seg -range 0x1000 -offset 0x70000000 [get_bd_addr_spaces interrupt_manager/Data_m_axi_ext_cfg_V] [get_bd_addr_segs pcie/S_AXI/BAR5] SEG_pcie_BAR5 + create_bd_addr_seg -range 0x10000 -offset 0x10020000 [get_bd_addr_spaces interrupt_manager/Data_m_axi_ext_cfg_V] [get_bd_addr_segs pcie/S_AXI_CTL/CTL0] SEG_pcie_CTL0 + create_bd_addr_seg -range 0x10000 -offset 0x10080000 [get_bd_addr_spaces interrupt_manager/Data_m_axi_ext_cfg_V] [get_bd_addr_segs info_memory_block_fetch/s_axi_int_cfg/Reg] SEG_info_memory_block_fetch_Reg + create_bd_addr_seg -range 0x10000 -offset 0x10090000 [get_bd_addr_spaces interrupt_manager/Data_m_axi_ext_cfg_V] [get_bd_addr_segs info_memory_block_send/s_axi_int_cfg/Reg] SEG_info_memory_block_send_Reg + create_bd_addr_seg -range 0x10000 -offset 0x10070000 [get_bd_addr_spaces interrupt_manager/Data_m_axi_ext_cfg_V] [get_bd_addr_segs send_scheduler/s_axi_int_cfg/Reg] SEG_send_scheduler_Reg + create_bd_addr_seg -range 0x10000 -offset 0x10050000 [get_bd_addr_spaces interrupt_manager/Data_m_axi_ext_cfg_V] [get_bd_addr_segs shared_apm/S_AXI/Reg] SEG_shared_apm_Reg + create_bd_addr_seg -range 0x40000 -offset 0xC0000000 [get_bd_addr_spaces interrupt_manager/Data_m_axi_ext_cfg_V] [get_bd_addr_segs shared_metrics_bram_controller/S_AXI/Mem0] SEG_shared_metrics_bram_controller_Mem0 + create_bd_addr_seg -range 0x10000 -offset 0x100F0000 [get_bd_addr_spaces interrupt_manager/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_direct_0/sobel_filter/s_axi_S_AXI4_LITE/Reg] SEG_sobel_filter_Reg + create_bd_addr_seg -range 0x10000 -offset 0x10130000 [get_bd_addr_spaces interrupt_manager/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_direct_1/sobel_filter/s_axi_S_AXI4_LITE/Reg] SEG_sobel_filter_Reg13 + create_bd_addr_seg -range 0x10000 -offset 0x10170000 [get_bd_addr_spaces interrupt_manager/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_indirect_0/sobel_filter/s_axi_S_AXI4_LITE/Reg] SEG_sobel_filter_Reg20 + create_bd_addr_seg -range 0x10000 -offset 0x101B0000 [get_bd_addr_spaces interrupt_manager/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_indirect_1/sobel_filter/s_axi_S_AXI4_LITE/Reg] SEG_sobel_filter_Reg28 + create_bd_addr_seg -range 0x10000 -offset 0x101F0000 [get_bd_addr_spaces interrupt_manager/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_indirect_2/sobel_filter/s_axi_S_AXI4_LITE/Reg] SEG_sobel_filter_Reg36 + create_bd_addr_seg -range 0x10000 -offset 0x10230000 [get_bd_addr_spaces interrupt_manager/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_indirect_3/sobel_filter/s_axi_S_AXI4_LITE/Reg] SEG_sobel_filter_Reg44 + create_bd_addr_seg -range 0x10000 -offset 0x10280000 [get_bd_addr_spaces interrupt_manager/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_sg/sobel_filter/s_axi_S_AXI4_LITE/Reg] SEG_sobel_filter_Reg52 + create_bd_addr_seg -range 0x10000 -offset 0x100C0000 [get_bd_addr_spaces microblaze_0/Data] [get_bd_addr_segs accel_group_direct_0/acceleration_scheduler_direct/s_axi_mm2s_cfg/Reg] SEG_acceleration_scheduler_direct_Reg + create_bd_addr_seg -range 0x10000 -offset 0x10100000 [get_bd_addr_spaces microblaze_0/Data] [get_bd_addr_segs accel_group_direct_1/acceleration_scheduler_direct/s_axi_mm2s_cfg/Reg] SEG_acceleration_scheduler_direct_Reg4 + create_bd_addr_seg -range 0x10000 -offset 0x10140000 [get_bd_addr_spaces microblaze_0/Data] [get_bd_addr_segs accel_group_indirect_0/acceleration_scheduler_indirect/s_axi_int_cfg/Reg] SEG_acceleration_scheduler_indirect_Reg + create_bd_addr_seg -range 0x10000 -offset 0x10180000 [get_bd_addr_spaces microblaze_0/Data] [get_bd_addr_segs accel_group_indirect_1/acceleration_scheduler_indirect/s_axi_int_cfg/Reg] SEG_acceleration_scheduler_indirect_Reg10 + create_bd_addr_seg -range 0x10000 -offset 0x101C0000 [get_bd_addr_spaces microblaze_0/Data] [get_bd_addr_segs accel_group_indirect_2/acceleration_scheduler_indirect/s_axi_int_cfg/Reg] SEG_acceleration_scheduler_indirect_Reg13 + create_bd_addr_seg -range 0x10000 -offset 0x10200000 [get_bd_addr_spaces microblaze_0/Data] [get_bd_addr_segs accel_group_indirect_3/acceleration_scheduler_indirect/s_axi_int_cfg/Reg] SEG_acceleration_scheduler_indirect_Reg16 + create_bd_addr_seg -range 0x10000 -offset 0x10240000 [get_bd_addr_spaces microblaze_0/Data] [get_bd_addr_segs accel_group_sg/acceleration_scheduler_sg_xdma/s_axi_mm2s_cfg/Reg] SEG_acceleration_scheduler_sg_xdma_Reg + create_bd_addr_seg -range 0x10000 -offset 0x100D0000 [get_bd_addr_spaces microblaze_0/Data] [get_bd_addr_segs accel_group_direct_0/apm/S_AXI/Reg] SEG_apm_Reg + create_bd_addr_seg -range 0x10000 -offset 0x10110000 [get_bd_addr_spaces microblaze_0/Data] [get_bd_addr_segs accel_group_direct_1/apm/S_AXI/Reg] SEG_apm_Reg4 + create_bd_addr_seg -range 0x10000 -offset 0x10150000 [get_bd_addr_spaces microblaze_0/Data] [get_bd_addr_segs accel_group_indirect_0/apm/S_AXI/Reg] SEG_apm_Reg8 + create_bd_addr_seg -range 0x10000 -offset 0x10190000 [get_bd_addr_spaces microblaze_0/Data] [get_bd_addr_segs accel_group_indirect_1/apm/S_AXI/Reg] SEG_apm_Reg10 + create_bd_addr_seg -range 0x10000 -offset 0x101D0000 [get_bd_addr_spaces microblaze_0/Data] [get_bd_addr_segs accel_group_indirect_2/apm/S_AXI/Reg] SEG_apm_Reg13 + create_bd_addr_seg -range 0x10000 -offset 0x10210000 [get_bd_addr_spaces microblaze_0/Data] [get_bd_addr_segs accel_group_indirect_3/apm/S_AXI/Reg] SEG_apm_Reg16 + create_bd_addr_seg -range 0x10000 -offset 0x10250000 [get_bd_addr_spaces microblaze_0/Data] [get_bd_addr_segs accel_group_sg/apm/S_AXI/Reg] SEG_apm_Reg20 + create_bd_addr_seg -range 0x10000 -offset 0x10010000 [get_bd_addr_spaces microblaze_0/Data] [get_bd_addr_segs axi_uartlite/S_AXI/Reg] SEG_axi_uartlite_Reg + create_bd_addr_seg -range 0x10000 -offset 0x100A0000 [get_bd_addr_spaces microblaze_0/Data] [get_bd_addr_segs cdma_fetch/S_AXI_LITE/Reg] SEG_cdma_fetch_Reg + create_bd_addr_seg -range 0x10000 -offset 0x100B0000 [get_bd_addr_spaces microblaze_0/Data] [get_bd_addr_segs cdma_send/S_AXI_LITE/Reg] SEG_cdma_send_Reg + create_bd_addr_seg -range 0x40000 -offset 0x0 [get_bd_addr_spaces microblaze_0/Data] [get_bd_addr_segs microblaze_bram/dlmb_bram_if_cntlr/SLMB/Mem] SEG_dlmb_bram_if_cntlr_Mem + create_bd_addr_seg -range 0x10000 -offset 0x100E0000 [get_bd_addr_spaces microblaze_0/Data] [get_bd_addr_segs accel_group_direct_0/dma/S_AXI_LITE/Reg] SEG_dma_Reg + create_bd_addr_seg -range 0x10000 -offset 0x10120000 [get_bd_addr_spaces microblaze_0/Data] [get_bd_addr_segs accel_group_direct_1/dma/S_AXI_LITE/Reg] SEG_dma_Reg4 + create_bd_addr_seg -range 0x10000 -offset 0x10160000 [get_bd_addr_spaces microblaze_0/Data] [get_bd_addr_segs accel_group_indirect_0/dma/S_AXI_LITE/Reg] SEG_dma_Reg8 + create_bd_addr_seg -range 0x10000 -offset 0x101A0000 [get_bd_addr_spaces microblaze_0/Data] [get_bd_addr_segs accel_group_indirect_1/dma/S_AXI_LITE/Reg] SEG_dma_Reg10 + create_bd_addr_seg -range 0x10000 -offset 0x101E0000 [get_bd_addr_spaces microblaze_0/Data] [get_bd_addr_segs accel_group_indirect_2/dma/S_AXI_LITE/Reg] SEG_dma_Reg13 + create_bd_addr_seg -range 0x10000 -offset 0x10220000 [get_bd_addr_spaces microblaze_0/Data] [get_bd_addr_segs accel_group_indirect_3/dma/S_AXI_LITE/Reg] SEG_dma_Reg16 + create_bd_addr_seg -range 0x10000 -offset 0x10290000 [get_bd_addr_spaces microblaze_0/Data] [get_bd_addr_segs accel_group_sg/dma/S_AXI_LITE/Reg] SEG_dma_Reg20 + create_bd_addr_seg -range 0x10000 -offset 0x10260000 [get_bd_addr_spaces microblaze_0/Data] [get_bd_addr_segs accel_group_sg/dma_sg_pcie_scheduler/s_axi_cfg/Reg] SEG_dma_sg_pcie_scheduler_Reg + create_bd_addr_seg -range 0x10000 -offset 0x10060000 [get_bd_addr_spaces microblaze_0/Data] [get_bd_addr_segs fetch_scheduler/s_axi_int_cfg/Reg] SEG_fetch_scheduler_Reg + create_bd_addr_seg -range 0x10000 -offset 0x10320000 [get_bd_addr_spaces microblaze_0/Data] [get_bd_addr_segs gpio_ack/S_AXI/Reg] SEG_gpio_ack_Reg + create_bd_addr_seg -range 0x10000 -offset 0x10040000 [get_bd_addr_spaces microblaze_0/Data] [get_bd_addr_segs gpio_msi/S_AXI/Reg] SEG_gpio_msi_Reg + create_bd_addr_seg -range 0x10000 -offset 0x10300000 [get_bd_addr_spaces microblaze_0/Data] [get_bd_addr_segs gpio_msi_read/S_AXI/Reg] SEG_gpio_msi_read_Reg + create_bd_addr_seg -range 0x10000 -offset 0x10030000 [get_bd_addr_spaces microblaze_0/Data] [get_bd_addr_segs gpio_pcie_interrupt/S_AXI/Reg] SEG_gpio_pcie_interrupt_Reg + create_bd_addr_seg -range 0x40000 -offset 0x0 [get_bd_addr_spaces microblaze_0/Instruction] [get_bd_addr_segs microblaze_bram/ilmb_bram_if_cntlr/SLMB/Mem] SEG_ilmb_bram_if_cntlr_Mem + create_bd_addr_seg -range 0x10000 -offset 0x10310000 [get_bd_addr_spaces microblaze_0/Data] [get_bd_addr_segs interrupt_manager/s_axi_cfg/Reg] SEG_interrupt_manager_Reg + create_bd_addr_seg -range 0x10000 -offset 0x10000000 [get_bd_addr_spaces microblaze_0/Data] [get_bd_addr_segs axi_interrupt_controller/s_axi/Reg] SEG_microblaze_0_axi_intc_Reg + create_bd_addr_seg -range 0x20000000 -offset 0x80000000 [get_bd_addr_spaces microblaze_0/Data] [get_bd_addr_segs mig/memmap/memaddr] SEG_mig_memaddr + create_bd_addr_seg -range 0x400000 -offset 0x20000000 [get_bd_addr_spaces microblaze_0/Data] [get_bd_addr_segs pcie/S_AXI/BAR0] SEG_pcie_BAR0 + create_bd_addr_seg -range 0x400000 -offset 0x30000000 [get_bd_addr_spaces microblaze_0/Data] [get_bd_addr_segs pcie/S_AXI/BAR1] SEG_pcie_BAR1 + create_bd_addr_seg -range 0x400000 -offset 0x40000000 [get_bd_addr_spaces microblaze_0/Data] [get_bd_addr_segs pcie/S_AXI/BAR2] SEG_pcie_BAR2 + create_bd_addr_seg -range 0x400000 -offset 0x50000000 [get_bd_addr_spaces microblaze_0/Data] [get_bd_addr_segs pcie/S_AXI/BAR3] SEG_pcie_BAR3 + create_bd_addr_seg -range 0x1000 -offset 0x60000000 [get_bd_addr_spaces microblaze_0/Data] [get_bd_addr_segs pcie/S_AXI/BAR4] SEG_pcie_BAR4 + create_bd_addr_seg -range 0x1000 -offset 0x70000000 [get_bd_addr_spaces microblaze_0/Data] [get_bd_addr_segs pcie/S_AXI/BAR5] SEG_pcie_BAR5 + create_bd_addr_seg -range 0x10000 -offset 0x10020000 [get_bd_addr_spaces microblaze_0/Data] [get_bd_addr_segs pcie/S_AXI_CTL/CTL0] SEG_pcie_CTL0 + create_bd_addr_seg -range 0x10000 -offset 0x10080000 [get_bd_addr_spaces microblaze_0/Data] [get_bd_addr_segs info_memory_block_fetch/s_axi_int_cfg/Reg] SEG_info_memory_block_fetch_Reg + create_bd_addr_seg -range 0x10000 -offset 0x10090000 [get_bd_addr_spaces microblaze_0/Data] [get_bd_addr_segs info_memory_block_send/s_axi_int_cfg/Reg] SEG_info_memory_block_send_Reg + create_bd_addr_seg -range 0x10000 -offset 0x10070000 [get_bd_addr_spaces microblaze_0/Data] [get_bd_addr_segs send_scheduler/s_axi_int_cfg/Reg] SEG_send_scheduler_Reg + create_bd_addr_seg -range 0x10000 -offset 0x10050000 [get_bd_addr_spaces microblaze_0/Data] [get_bd_addr_segs shared_apm/S_AXI/Reg] SEG_shared_apm_Reg + create_bd_addr_seg -range 0x40000 -offset 0xC0000000 [get_bd_addr_spaces microblaze_0/Data] [get_bd_addr_segs shared_metrics_bram_controller/S_AXI/Mem0] SEG_shared_metrics_bram_controller_Mem0 + create_bd_addr_seg -range 0x10000 -offset 0x100F0000 [get_bd_addr_spaces microblaze_0/Data] [get_bd_addr_segs accel_group_direct_0/sobel_filter/s_axi_S_AXI4_LITE/Reg] SEG_sobel_filter_Reg + create_bd_addr_seg -range 0x10000 -offset 0x10130000 [get_bd_addr_spaces microblaze_0/Data] [get_bd_addr_segs accel_group_direct_1/sobel_filter/s_axi_S_AXI4_LITE/Reg] SEG_sobel_filter_Reg4 + create_bd_addr_seg -range 0x10000 -offset 0x10170000 [get_bd_addr_spaces microblaze_0/Data] [get_bd_addr_segs accel_group_indirect_0/sobel_filter/s_axi_S_AXI4_LITE/Reg] SEG_sobel_filter_Reg8 + create_bd_addr_seg -range 0x10000 -offset 0x101B0000 [get_bd_addr_spaces microblaze_0/Data] [get_bd_addr_segs accel_group_indirect_1/sobel_filter/s_axi_S_AXI4_LITE/Reg] SEG_sobel_filter_Reg10 + create_bd_addr_seg -range 0x10000 -offset 0x101F0000 [get_bd_addr_spaces microblaze_0/Data] [get_bd_addr_segs accel_group_indirect_2/sobel_filter/s_axi_S_AXI4_LITE/Reg] SEG_sobel_filter_Reg12 + create_bd_addr_seg -range 0x10000 -offset 0x10230000 [get_bd_addr_spaces microblaze_0/Data] [get_bd_addr_segs accel_group_indirect_3/sobel_filter/s_axi_S_AXI4_LITE/Reg] SEG_sobel_filter_Reg15 + create_bd_addr_seg -range 0x10000 -offset 0x10280000 [get_bd_addr_spaces microblaze_0/Data] [get_bd_addr_segs accel_group_sg/sobel_filter/s_axi_S_AXI4_LITE/Reg] SEG_sobel_filter_Reg17 + create_bd_addr_seg -range 0x10000 -offset 0x100C0000 [get_bd_addr_spaces pcie/M_AXI] [get_bd_addr_segs accel_group_direct_0/acceleration_scheduler_direct/s_axi_mm2s_cfg/Reg] SEG_acceleration_scheduler_direct_Reg + create_bd_addr_seg -range 0x10000 -offset 0x10100000 [get_bd_addr_spaces pcie/M_AXI] [get_bd_addr_segs accel_group_direct_1/acceleration_scheduler_direct/s_axi_mm2s_cfg/Reg] SEG_acceleration_scheduler_direct_Reg1 + create_bd_addr_seg -range 0x10000 -offset 0x10140000 [get_bd_addr_spaces pcie/M_AXI] [get_bd_addr_segs accel_group_indirect_0/acceleration_scheduler_indirect/s_axi_int_cfg/Reg] SEG_acceleration_scheduler_indirect_Reg + create_bd_addr_seg -range 0x10000 -offset 0x10180000 [get_bd_addr_spaces pcie/M_AXI] [get_bd_addr_segs accel_group_indirect_1/acceleration_scheduler_indirect/s_axi_int_cfg/Reg] SEG_acceleration_scheduler_indirect_Reg1 + create_bd_addr_seg -range 0x10000 -offset 0x101C0000 [get_bd_addr_spaces pcie/M_AXI] [get_bd_addr_segs accel_group_indirect_2/acceleration_scheduler_indirect/s_axi_int_cfg/Reg] SEG_acceleration_scheduler_indirect_Reg2 + create_bd_addr_seg -range 0x10000 -offset 0x10200000 [get_bd_addr_spaces pcie/M_AXI] [get_bd_addr_segs accel_group_indirect_3/acceleration_scheduler_indirect/s_axi_int_cfg/Reg] SEG_acceleration_scheduler_indirect_Reg3 + create_bd_addr_seg -range 0x10000 -offset 0x10240000 [get_bd_addr_spaces pcie/M_AXI] [get_bd_addr_segs accel_group_sg/acceleration_scheduler_sg_xdma/s_axi_mm2s_cfg/Reg] SEG_acceleration_scheduler_sg_xdma_Reg + create_bd_addr_seg -range 0x10000 -offset 0x100D0000 [get_bd_addr_spaces pcie/M_AXI] [get_bd_addr_segs accel_group_direct_0/apm/S_AXI/Reg] SEG_apm_Reg + create_bd_addr_seg -range 0x10000 -offset 0x10150000 [get_bd_addr_spaces pcie/M_AXI] [get_bd_addr_segs accel_group_indirect_0/apm/S_AXI/Reg] SEG_apm_Reg2 + create_bd_addr_seg -range 0x10000 -offset 0x10110000 [get_bd_addr_spaces pcie/M_AXI] [get_bd_addr_segs accel_group_direct_1/apm/S_AXI/Reg] SEG_apm_Reg3 + create_bd_addr_seg -range 0x10000 -offset 0x10190000 [get_bd_addr_spaces pcie/M_AXI] [get_bd_addr_segs accel_group_indirect_1/apm/S_AXI/Reg] SEG_apm_Reg4 + create_bd_addr_seg -range 0x10000 -offset 0x101D0000 [get_bd_addr_spaces pcie/M_AXI] [get_bd_addr_segs accel_group_indirect_2/apm/S_AXI/Reg] SEG_apm_Reg5 + create_bd_addr_seg -range 0x10000 -offset 0x10210000 [get_bd_addr_spaces pcie/M_AXI] [get_bd_addr_segs accel_group_indirect_3/apm/S_AXI/Reg] SEG_apm_Reg6 + create_bd_addr_seg -range 0x10000 -offset 0x10250000 [get_bd_addr_spaces pcie/M_AXI] [get_bd_addr_segs accel_group_sg/apm/S_AXI/Reg] SEG_apm_Reg7 + create_bd_addr_seg -range 0x10000 -offset 0x10000000 [get_bd_addr_spaces pcie/M_AXI] [get_bd_addr_segs axi_interrupt_controller/s_axi/Reg] SEG_axi_interrupt_controller_Reg + create_bd_addr_seg -range 0x10000 -offset 0x10010000 [get_bd_addr_spaces pcie/M_AXI] [get_bd_addr_segs axi_uartlite/S_AXI/Reg] SEG_axi_uartlite_Reg + create_bd_addr_seg -range 0x10000 -offset 0x100A0000 [get_bd_addr_spaces pcie/M_AXI] [get_bd_addr_segs cdma_fetch/S_AXI_LITE/Reg] SEG_cdma_fetch_Reg + create_bd_addr_seg -range 0x10000 -offset 0x100B0000 [get_bd_addr_spaces pcie/M_AXI] [get_bd_addr_segs cdma_send/S_AXI_LITE/Reg] SEG_cdma_send_Reg + create_bd_addr_seg -range 0x10000 -offset 0x100E0000 [get_bd_addr_spaces pcie/M_AXI] [get_bd_addr_segs accel_group_direct_0/dma/S_AXI_LITE/Reg] SEG_dma_Reg + create_bd_addr_seg -range 0x10000 -offset 0x10160000 [get_bd_addr_spaces pcie/M_AXI] [get_bd_addr_segs accel_group_indirect_0/dma/S_AXI_LITE/Reg] SEG_dma_Reg4 + create_bd_addr_seg -range 0x10000 -offset 0x10120000 [get_bd_addr_spaces pcie/M_AXI] [get_bd_addr_segs accel_group_direct_1/dma/S_AXI_LITE/Reg] SEG_dma_Reg5 + create_bd_addr_seg -range 0x10000 -offset 0x101A0000 [get_bd_addr_spaces pcie/M_AXI] [get_bd_addr_segs accel_group_indirect_1/dma/S_AXI_LITE/Reg] SEG_dma_Reg6 + create_bd_addr_seg -range 0x10000 -offset 0x101E0000 [get_bd_addr_spaces pcie/M_AXI] [get_bd_addr_segs accel_group_indirect_2/dma/S_AXI_LITE/Reg] SEG_dma_Reg7 + create_bd_addr_seg -range 0x10000 -offset 0x10220000 [get_bd_addr_spaces pcie/M_AXI] [get_bd_addr_segs accel_group_indirect_3/dma/S_AXI_LITE/Reg] SEG_dma_Reg8 + create_bd_addr_seg -range 0x10000 -offset 0x10290000 [get_bd_addr_spaces pcie/M_AXI] [get_bd_addr_segs accel_group_sg/dma/S_AXI_LITE/Reg] SEG_dma_Reg9 + create_bd_addr_seg -range 0x10000 -offset 0x10260000 [get_bd_addr_spaces pcie/M_AXI] [get_bd_addr_segs accel_group_sg/dma_sg_pcie_scheduler/s_axi_cfg/Reg] SEG_dma_sg_pcie_scheduler_Reg + create_bd_addr_seg -range 0x10000 -offset 0x10060000 [get_bd_addr_spaces pcie/M_AXI] [get_bd_addr_segs fetch_scheduler/s_axi_int_cfg/Reg] SEG_fetch_scheduler_Reg + create_bd_addr_seg -range 0x10000 -offset 0x10320000 [get_bd_addr_spaces pcie/M_AXI] [get_bd_addr_segs gpio_ack/S_AXI/Reg] SEG_gpio_ack_Reg + create_bd_addr_seg -range 0x10000 -offset 0x10040000 [get_bd_addr_spaces pcie/M_AXI] [get_bd_addr_segs gpio_msi/S_AXI/Reg] SEG_gpio_msi_Reg + create_bd_addr_seg -range 0x10000 -offset 0x10300000 [get_bd_addr_spaces pcie/M_AXI] [get_bd_addr_segs gpio_msi_read/S_AXI/Reg] SEG_gpio_msi_read_Reg + create_bd_addr_seg -range 0x10000 -offset 0x10030000 [get_bd_addr_spaces pcie/M_AXI] [get_bd_addr_segs gpio_pcie_interrupt/S_AXI/Reg] SEG_gpio_pcie_interrupt_Reg + create_bd_addr_seg -range 0x10000 -offset 0x10310000 [get_bd_addr_spaces pcie/M_AXI] [get_bd_addr_segs interrupt_manager/s_axi_cfg/Reg] SEG_interrupt_manager_Reg + create_bd_addr_seg -range 0x20000000 -offset 0x80000000 [get_bd_addr_spaces pcie/M_AXI] [get_bd_addr_segs mig/memmap/memaddr] SEG_mig_memaddr + create_bd_addr_seg -range 0x400000 -offset 0x20000000 [get_bd_addr_spaces pcie/M_AXI] [get_bd_addr_segs pcie/S_AXI/BAR0] SEG_pcie_BAR0 + create_bd_addr_seg -range 0x400000 -offset 0x30000000 [get_bd_addr_spaces pcie/M_AXI] [get_bd_addr_segs pcie/S_AXI/BAR1] SEG_pcie_BAR1 + create_bd_addr_seg -range 0x400000 -offset 0x40000000 [get_bd_addr_spaces pcie/M_AXI] [get_bd_addr_segs pcie/S_AXI/BAR2] SEG_pcie_BAR2 + create_bd_addr_seg -range 0x400000 -offset 0x50000000 [get_bd_addr_spaces pcie/M_AXI] [get_bd_addr_segs pcie/S_AXI/BAR3] SEG_pcie_BAR3 + create_bd_addr_seg -range 0x1000 -offset 0x60000000 [get_bd_addr_spaces pcie/M_AXI] [get_bd_addr_segs pcie/S_AXI/BAR4] SEG_pcie_BAR4 + create_bd_addr_seg -range 0x1000 -offset 0x70000000 [get_bd_addr_spaces pcie/M_AXI] [get_bd_addr_segs pcie/S_AXI/BAR5] SEG_pcie_BAR5 + create_bd_addr_seg -range 0x10000 -offset 0x10020000 [get_bd_addr_spaces pcie/M_AXI] [get_bd_addr_segs pcie/S_AXI_CTL/CTL0] SEG_pcie_CTL0 + create_bd_addr_seg -range 0x10000 -offset 0x10080000 [get_bd_addr_spaces pcie/M_AXI] [get_bd_addr_segs info_memory_block_fetch/s_axi_int_cfg/Reg] SEG_info_memory_block_fetch_Reg + create_bd_addr_seg -range 0x10000 -offset 0x10090000 [get_bd_addr_spaces pcie/M_AXI] [get_bd_addr_segs info_memory_block_send/s_axi_int_cfg/Reg] SEG_info_memory_block_send_Reg + create_bd_addr_seg -range 0x10000 -offset 0x10070000 [get_bd_addr_spaces pcie/M_AXI] [get_bd_addr_segs send_scheduler/s_axi_int_cfg/Reg] SEG_send_scheduler_Reg + create_bd_addr_seg -range 0x10000 -offset 0x10050000 [get_bd_addr_spaces pcie/M_AXI] [get_bd_addr_segs shared_apm/S_AXI/Reg] SEG_shared_apm_Reg + create_bd_addr_seg -range 0x40000 -offset 0xC0000000 [get_bd_addr_spaces pcie/M_AXI] [get_bd_addr_segs shared_metrics_bram_controller/S_AXI/Mem0] SEG_shared_metrics_bram_controller_Mem0 + create_bd_addr_seg -range 0x10000 -offset 0x100F0000 [get_bd_addr_spaces pcie/M_AXI] [get_bd_addr_segs accel_group_direct_0/sobel_filter/s_axi_S_AXI4_LITE/Reg] SEG_sobel_filter_Reg + create_bd_addr_seg -range 0x10000 -offset 0x10170000 [get_bd_addr_spaces pcie/M_AXI] [get_bd_addr_segs accel_group_indirect_0/sobel_filter/s_axi_S_AXI4_LITE/Reg] SEG_sobel_filter_Reg6 + create_bd_addr_seg -range 0x10000 -offset 0x10130000 [get_bd_addr_spaces pcie/M_AXI] [get_bd_addr_segs accel_group_direct_1/sobel_filter/s_axi_S_AXI4_LITE/Reg] SEG_sobel_filter_Reg7 + create_bd_addr_seg -range 0x10000 -offset 0x101B0000 [get_bd_addr_spaces pcie/M_AXI] [get_bd_addr_segs accel_group_indirect_1/sobel_filter/s_axi_S_AXI4_LITE/Reg] SEG_sobel_filter_Reg8 + create_bd_addr_seg -range 0x10000 -offset 0x101F0000 [get_bd_addr_spaces pcie/M_AXI] [get_bd_addr_segs accel_group_indirect_2/sobel_filter/s_axi_S_AXI4_LITE/Reg] SEG_sobel_filter_Reg9 + create_bd_addr_seg -range 0x10000 -offset 0x10230000 [get_bd_addr_spaces pcie/M_AXI] [get_bd_addr_segs accel_group_indirect_3/sobel_filter/s_axi_S_AXI4_LITE/Reg] SEG_sobel_filter_Reg10 + create_bd_addr_seg -range 0x10000 -offset 0x10280000 [get_bd_addr_spaces pcie/M_AXI] [get_bd_addr_segs accel_group_sg/sobel_filter/s_axi_S_AXI4_LITE/Reg] SEG_sobel_filter_Reg12 + create_bd_addr_seg -range 0x10000 -offset 0x100C0000 [get_bd_addr_spaces send_scheduler/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_direct_0/acceleration_scheduler_direct/s_axi_mm2s_cfg/Reg] SEG_acceleration_scheduler_direct_Reg + create_bd_addr_seg -range 0x10000 -offset 0x10100000 [get_bd_addr_spaces send_scheduler/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_direct_1/acceleration_scheduler_direct/s_axi_mm2s_cfg/Reg] SEG_acceleration_scheduler_direct_Reg21 + create_bd_addr_seg -range 0x10000 -offset 0x10140000 [get_bd_addr_spaces send_scheduler/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_indirect_0/acceleration_scheduler_indirect/s_axi_int_cfg/Reg] SEG_acceleration_scheduler_indirect_Reg + create_bd_addr_seg -range 0x10000 -offset 0x10180000 [get_bd_addr_spaces send_scheduler/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_indirect_1/acceleration_scheduler_indirect/s_axi_int_cfg/Reg] SEG_acceleration_scheduler_indirect_Reg1 + create_bd_addr_seg -range 0x10000 -offset 0x101C0000 [get_bd_addr_spaces send_scheduler/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_indirect_2/acceleration_scheduler_indirect/s_axi_int_cfg/Reg] SEG_acceleration_scheduler_indirect_Reg2 + create_bd_addr_seg -range 0x10000 -offset 0x10200000 [get_bd_addr_spaces send_scheduler/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_indirect_3/acceleration_scheduler_indirect/s_axi_int_cfg/Reg] SEG_acceleration_scheduler_indirect_Reg3 + create_bd_addr_seg -range 0x10000 -offset 0x10240000 [get_bd_addr_spaces send_scheduler/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_sg/acceleration_scheduler_sg_xdma/s_axi_mm2s_cfg/Reg] SEG_acceleration_scheduler_sg_xdma_Reg + create_bd_addr_seg -range 0x10000 -offset 0x100D0000 [get_bd_addr_spaces send_scheduler/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_direct_0/apm/S_AXI/Reg] SEG_apm_Reg + create_bd_addr_seg -range 0x10000 -offset 0x10150000 [get_bd_addr_spaces send_scheduler/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_indirect_0/apm/S_AXI/Reg] SEG_apm_Reg2 + create_bd_addr_seg -range 0x10000 -offset 0x10190000 [get_bd_addr_spaces send_scheduler/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_indirect_1/apm/S_AXI/Reg] SEG_apm_Reg3 + create_bd_addr_seg -range 0x10000 -offset 0x101D0000 [get_bd_addr_spaces send_scheduler/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_indirect_2/apm/S_AXI/Reg] SEG_apm_Reg4 + create_bd_addr_seg -range 0x10000 -offset 0x10210000 [get_bd_addr_spaces send_scheduler/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_indirect_3/apm/S_AXI/Reg] SEG_apm_Reg5 + create_bd_addr_seg -range 0x10000 -offset 0x10250000 [get_bd_addr_spaces send_scheduler/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_sg/apm/S_AXI/Reg] SEG_apm_Reg6 + create_bd_addr_seg -range 0x10000 -offset 0x10110000 [get_bd_addr_spaces send_scheduler/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_direct_1/apm/S_AXI/Reg] SEG_apm_Reg25 + create_bd_addr_seg -range 0x10000 -offset 0x10000000 [get_bd_addr_spaces send_scheduler/Data_m_axi_ext_cfg_V] [get_bd_addr_segs axi_interrupt_controller/s_axi/Reg] SEG_axi_interrupt_controller_Reg + create_bd_addr_seg -range 0x10000 -offset 0x10010000 [get_bd_addr_spaces send_scheduler/Data_m_axi_ext_cfg_V] [get_bd_addr_segs axi_uartlite/S_AXI/Reg] SEG_axi_uartlite_Reg + create_bd_addr_seg -range 0x10000 -offset 0x100A0000 [get_bd_addr_spaces send_scheduler/Data_m_axi_ext_cfg_V] [get_bd_addr_segs cdma_fetch/S_AXI_LITE/Reg] SEG_cdma_fetch_Reg + create_bd_addr_seg -range 0x10000 -offset 0x100B0000 [get_bd_addr_spaces send_scheduler/Data_m_axi_ext_cfg_V] [get_bd_addr_segs cdma_send/S_AXI_LITE/Reg] SEG_cdma_send_Reg + create_bd_addr_seg -range 0x10000 -offset 0x100E0000 [get_bd_addr_spaces send_scheduler/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_direct_0/dma/S_AXI_LITE/Reg] SEG_dma_Reg + create_bd_addr_seg -range 0x10000 -offset 0x10160000 [get_bd_addr_spaces send_scheduler/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_indirect_0/dma/S_AXI_LITE/Reg] SEG_dma_Reg4 + create_bd_addr_seg -range 0x10000 -offset 0x101A0000 [get_bd_addr_spaces send_scheduler/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_indirect_1/dma/S_AXI_LITE/Reg] SEG_dma_Reg5 + create_bd_addr_seg -range 0x10000 -offset 0x101E0000 [get_bd_addr_spaces send_scheduler/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_indirect_2/dma/S_AXI_LITE/Reg] SEG_dma_Reg6 + create_bd_addr_seg -range 0x10000 -offset 0x10220000 [get_bd_addr_spaces send_scheduler/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_indirect_3/dma/S_AXI_LITE/Reg] SEG_dma_Reg7 + create_bd_addr_seg -range 0x10000 -offset 0x10290000 [get_bd_addr_spaces send_scheduler/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_sg/dma/S_AXI_LITE/Reg] SEG_dma_Reg8 + create_bd_addr_seg -range 0x10000 -offset 0x10120000 [get_bd_addr_spaces send_scheduler/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_direct_1/dma/S_AXI_LITE/Reg] SEG_dma_Reg29 + create_bd_addr_seg -range 0x10000 -offset 0x10260000 [get_bd_addr_spaces send_scheduler/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_sg/dma_sg_pcie_scheduler/s_axi_cfg/Reg] SEG_dma_sg_pcie_scheduler_Reg + create_bd_addr_seg -range 0x10000 -offset 0x10060000 [get_bd_addr_spaces send_scheduler/Data_m_axi_ext_cfg_V] [get_bd_addr_segs fetch_scheduler/s_axi_int_cfg/Reg] SEG_fetch_scheduler_Reg + create_bd_addr_seg -range 0x10000 -offset 0x10320000 [get_bd_addr_spaces send_scheduler/Data_m_axi_ext_cfg_V] [get_bd_addr_segs gpio_ack/S_AXI/Reg] SEG_gpio_ack_Reg + create_bd_addr_seg -range 0x10000 -offset 0x10040000 [get_bd_addr_spaces send_scheduler/Data_m_axi_ext_cfg_V] [get_bd_addr_segs gpio_msi/S_AXI/Reg] SEG_gpio_msi_Reg + create_bd_addr_seg -range 0x10000 -offset 0x10300000 [get_bd_addr_spaces send_scheduler/Data_m_axi_ext_cfg_V] [get_bd_addr_segs gpio_msi_read/S_AXI/Reg] SEG_gpio_msi_read_Reg + create_bd_addr_seg -range 0x10000 -offset 0x10030000 [get_bd_addr_spaces send_scheduler/Data_m_axi_ext_cfg_V] [get_bd_addr_segs gpio_pcie_interrupt/S_AXI/Reg] SEG_gpio_pcie_interrupt_Reg + create_bd_addr_seg -range 0x10000 -offset 0x10310000 [get_bd_addr_spaces send_scheduler/Data_m_axi_ext_cfg_V] [get_bd_addr_segs interrupt_manager/s_axi_cfg/Reg] SEG_interrupt_manager_Reg + create_bd_addr_seg -range 0x20000000 -offset 0x80000000 [get_bd_addr_spaces send_scheduler/Data_m_axi_ext_cfg_V] [get_bd_addr_segs mig/memmap/memaddr] SEG_mig_memaddr + create_bd_addr_seg -range 0x400000 -offset 0x20000000 [get_bd_addr_spaces send_scheduler/Data_m_axi_ext_cfg_V] [get_bd_addr_segs pcie/S_AXI/BAR0] SEG_pcie_BAR0 + create_bd_addr_seg -range 0x400000 -offset 0x30000000 [get_bd_addr_spaces send_scheduler/Data_m_axi_ext_cfg_V] [get_bd_addr_segs pcie/S_AXI/BAR1] SEG_pcie_BAR1 + create_bd_addr_seg -range 0x400000 -offset 0x40000000 [get_bd_addr_spaces send_scheduler/Data_m_axi_ext_cfg_V] [get_bd_addr_segs pcie/S_AXI/BAR2] SEG_pcie_BAR2 + create_bd_addr_seg -range 0x400000 -offset 0x50000000 [get_bd_addr_spaces send_scheduler/Data_m_axi_ext_cfg_V] [get_bd_addr_segs pcie/S_AXI/BAR3] SEG_pcie_BAR3 + create_bd_addr_seg -range 0x1000 -offset 0x60000000 [get_bd_addr_spaces send_scheduler/Data_m_axi_ext_cfg_V] [get_bd_addr_segs pcie/S_AXI/BAR4] SEG_pcie_BAR4 + create_bd_addr_seg -range 0x1000 -offset 0x70000000 [get_bd_addr_spaces send_scheduler/Data_m_axi_ext_cfg_V] [get_bd_addr_segs pcie/S_AXI/BAR5] SEG_pcie_BAR5 + create_bd_addr_seg -range 0x10000 -offset 0x10020000 [get_bd_addr_spaces send_scheduler/Data_m_axi_ext_cfg_V] [get_bd_addr_segs pcie/S_AXI_CTL/CTL0] SEG_pcie_CTL0 + create_bd_addr_seg -range 0x10000 -offset 0x10080000 [get_bd_addr_spaces send_scheduler/Data_m_axi_ext_cfg_V] [get_bd_addr_segs info_memory_block_fetch/s_axi_int_cfg/Reg] SEG_info_memory_block_fetch_Reg + create_bd_addr_seg -range 0x10000 -offset 0x10090000 [get_bd_addr_spaces send_scheduler/Data_m_axi_ext_cfg_V] [get_bd_addr_segs info_memory_block_send/s_axi_int_cfg/Reg] SEG_info_memory_block_send_Reg + create_bd_addr_seg -range 0x10000 -offset 0x10070000 [get_bd_addr_spaces send_scheduler/Data_m_axi_ext_cfg_V] [get_bd_addr_segs send_scheduler/s_axi_int_cfg/Reg] SEG_send_scheduler_Reg + create_bd_addr_seg -range 0x10000 -offset 0x10050000 [get_bd_addr_spaces send_scheduler/Data_m_axi_ext_cfg_V] [get_bd_addr_segs shared_apm/S_AXI/Reg] SEG_shared_apm_Reg + create_bd_addr_seg -range 0x40000 -offset 0xC0000000 [get_bd_addr_spaces send_scheduler/Data_m_axi_ext_cfg_V] [get_bd_addr_segs shared_metrics_bram_controller/S_AXI/Mem0] SEG_shared_metrics_bram_controller_Mem0 + create_bd_addr_seg -range 0x10000 -offset 0x100F0000 [get_bd_addr_spaces send_scheduler/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_direct_0/sobel_filter/s_axi_S_AXI4_LITE/Reg] SEG_sobel_filter_Reg + create_bd_addr_seg -range 0x10000 -offset 0x10170000 [get_bd_addr_spaces send_scheduler/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_indirect_0/sobel_filter/s_axi_S_AXI4_LITE/Reg] SEG_sobel_filter_Reg6 + create_bd_addr_seg -range 0x10000 -offset 0x101B0000 [get_bd_addr_spaces send_scheduler/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_indirect_1/sobel_filter/s_axi_S_AXI4_LITE/Reg] SEG_sobel_filter_Reg7 + create_bd_addr_seg -range 0x10000 -offset 0x101F0000 [get_bd_addr_spaces send_scheduler/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_indirect_2/sobel_filter/s_axi_S_AXI4_LITE/Reg] SEG_sobel_filter_Reg8 + create_bd_addr_seg -range 0x10000 -offset 0x10230000 [get_bd_addr_spaces send_scheduler/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_indirect_3/sobel_filter/s_axi_S_AXI4_LITE/Reg] SEG_sobel_filter_Reg9 + create_bd_addr_seg -range 0x10000 -offset 0x10280000 [get_bd_addr_spaces send_scheduler/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_sg/sobel_filter/s_axi_S_AXI4_LITE/Reg] SEG_sobel_filter_Reg11 + create_bd_addr_seg -range 0x10000 -offset 0x10130000 [get_bd_addr_spaces send_scheduler/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_direct_1/sobel_filter/s_axi_S_AXI4_LITE/Reg] SEG_sobel_filter_Reg33 + create_bd_addr_seg -range 0x10000 -offset 0x100C0000 [get_bd_addr_spaces accel_group_direct_0/acceleration_scheduler_direct/Data_m_axi_mm2s_ext_cfg_V] [get_bd_addr_segs accel_group_direct_0/acceleration_scheduler_direct/s_axi_mm2s_cfg/Reg] SEG_acceleration_scheduler_direct_Reg + create_bd_addr_seg -range 0x10000 -offset 0x10100000 [get_bd_addr_spaces accel_group_direct_0/acceleration_scheduler_direct/Data_m_axi_mm2s_ext_cfg_V] [get_bd_addr_segs accel_group_direct_1/acceleration_scheduler_direct/s_axi_mm2s_cfg/Reg] SEG_acceleration_scheduler_direct_Reg1 + create_bd_addr_seg -range 0x10000 -offset 0x10140000 [get_bd_addr_spaces accel_group_direct_0/acceleration_scheduler_direct/Data_m_axi_mm2s_ext_cfg_V] [get_bd_addr_segs accel_group_indirect_0/acceleration_scheduler_indirect/s_axi_int_cfg/Reg] SEG_acceleration_scheduler_indirect_Reg + create_bd_addr_seg -range 0x10000 -offset 0x10180000 [get_bd_addr_spaces accel_group_direct_0/acceleration_scheduler_direct/Data_m_axi_mm2s_ext_cfg_V] [get_bd_addr_segs accel_group_indirect_1/acceleration_scheduler_indirect/s_axi_int_cfg/Reg] SEG_acceleration_scheduler_indirect_Reg1 + create_bd_addr_seg -range 0x10000 -offset 0x101C0000 [get_bd_addr_spaces accel_group_direct_0/acceleration_scheduler_direct/Data_m_axi_mm2s_ext_cfg_V] [get_bd_addr_segs accel_group_indirect_2/acceleration_scheduler_indirect/s_axi_int_cfg/Reg] SEG_acceleration_scheduler_indirect_Reg2 + create_bd_addr_seg -range 0x10000 -offset 0x10200000 [get_bd_addr_spaces accel_group_direct_0/acceleration_scheduler_direct/Data_m_axi_mm2s_ext_cfg_V] [get_bd_addr_segs accel_group_indirect_3/acceleration_scheduler_indirect/s_axi_int_cfg/Reg] SEG_acceleration_scheduler_indirect_Reg3 + create_bd_addr_seg -range 0x10000 -offset 0x10240000 [get_bd_addr_spaces accel_group_direct_0/acceleration_scheduler_direct/Data_m_axi_mm2s_ext_cfg_V] [get_bd_addr_segs accel_group_sg/acceleration_scheduler_sg_xdma/s_axi_mm2s_cfg/Reg] SEG_acceleration_scheduler_sg_xdma_Reg + create_bd_addr_seg -range 0x10000 -offset 0x100D0000 [get_bd_addr_spaces accel_group_direct_0/acceleration_scheduler_direct/Data_m_axi_mm2s_ext_cfg_V] [get_bd_addr_segs accel_group_direct_0/apm/S_AXI/Reg] SEG_apm_Reg + create_bd_addr_seg -range 0x10000 -offset 0x10150000 [get_bd_addr_spaces accel_group_direct_0/acceleration_scheduler_direct/Data_m_axi_mm2s_ext_cfg_V] [get_bd_addr_segs accel_group_indirect_0/apm/S_AXI/Reg] SEG_apm_Reg2 + create_bd_addr_seg -range 0x10000 -offset 0x10110000 [get_bd_addr_spaces accel_group_direct_0/acceleration_scheduler_direct/Data_m_axi_mm2s_ext_cfg_V] [get_bd_addr_segs accel_group_direct_1/apm/S_AXI/Reg] SEG_apm_Reg3 + create_bd_addr_seg -range 0x10000 -offset 0x10190000 [get_bd_addr_spaces accel_group_direct_0/acceleration_scheduler_direct/Data_m_axi_mm2s_ext_cfg_V] [get_bd_addr_segs accel_group_indirect_1/apm/S_AXI/Reg] SEG_apm_Reg4 + create_bd_addr_seg -range 0x10000 -offset 0x101D0000 [get_bd_addr_spaces accel_group_direct_0/acceleration_scheduler_direct/Data_m_axi_mm2s_ext_cfg_V] [get_bd_addr_segs accel_group_indirect_2/apm/S_AXI/Reg] SEG_apm_Reg5 + create_bd_addr_seg -range 0x10000 -offset 0x10210000 [get_bd_addr_spaces accel_group_direct_0/acceleration_scheduler_direct/Data_m_axi_mm2s_ext_cfg_V] [get_bd_addr_segs accel_group_indirect_3/apm/S_AXI/Reg] SEG_apm_Reg6 + create_bd_addr_seg -range 0x10000 -offset 0x10250000 [get_bd_addr_spaces accel_group_direct_0/acceleration_scheduler_direct/Data_m_axi_mm2s_ext_cfg_V] [get_bd_addr_segs accel_group_sg/apm/S_AXI/Reg] SEG_apm_Reg7 + create_bd_addr_seg -range 0x10000 -offset 0x10000000 [get_bd_addr_spaces accel_group_direct_0/acceleration_scheduler_direct/Data_m_axi_mm2s_ext_cfg_V] [get_bd_addr_segs axi_interrupt_controller/s_axi/Reg] SEG_axi_interrupt_controller_Reg + create_bd_addr_seg -range 0x10000 -offset 0x10010000 [get_bd_addr_spaces accel_group_direct_0/acceleration_scheduler_direct/Data_m_axi_mm2s_ext_cfg_V] [get_bd_addr_segs axi_uartlite/S_AXI/Reg] SEG_axi_uartlite_Reg + create_bd_addr_seg -range 0x10000 -offset 0x100A0000 [get_bd_addr_spaces accel_group_direct_0/acceleration_scheduler_direct/Data_m_axi_mm2s_ext_cfg_V] [get_bd_addr_segs cdma_fetch/S_AXI_LITE/Reg] SEG_cdma_fetch_Reg + create_bd_addr_seg -range 0x10000 -offset 0x100B0000 [get_bd_addr_spaces accel_group_direct_0/acceleration_scheduler_direct/Data_m_axi_mm2s_ext_cfg_V] [get_bd_addr_segs cdma_send/S_AXI_LITE/Reg] SEG_cdma_send_Reg + create_bd_addr_seg -range 0x10000 -offset 0x100E0000 [get_bd_addr_spaces accel_group_direct_0/acceleration_scheduler_direct/Data_m_axi_mm2s_ext_cfg_V] [get_bd_addr_segs accel_group_direct_0/dma/S_AXI_LITE/Reg] SEG_dma_Reg + create_bd_addr_seg -range 0x10000 -offset 0x10160000 [get_bd_addr_spaces accel_group_direct_0/acceleration_scheduler_direct/Data_m_axi_mm2s_ext_cfg_V] [get_bd_addr_segs accel_group_indirect_0/dma/S_AXI_LITE/Reg] SEG_dma_Reg4 + create_bd_addr_seg -range 0x10000 -offset 0x10120000 [get_bd_addr_spaces accel_group_direct_0/acceleration_scheduler_direct/Data_m_axi_mm2s_ext_cfg_V] [get_bd_addr_segs accel_group_direct_1/dma/S_AXI_LITE/Reg] SEG_dma_Reg5 + create_bd_addr_seg -range 0x10000 -offset 0x101A0000 [get_bd_addr_spaces accel_group_direct_0/acceleration_scheduler_direct/Data_m_axi_mm2s_ext_cfg_V] [get_bd_addr_segs accel_group_indirect_1/dma/S_AXI_LITE/Reg] SEG_dma_Reg6 + create_bd_addr_seg -range 0x10000 -offset 0x101E0000 [get_bd_addr_spaces accel_group_direct_0/acceleration_scheduler_direct/Data_m_axi_mm2s_ext_cfg_V] [get_bd_addr_segs accel_group_indirect_2/dma/S_AXI_LITE/Reg] SEG_dma_Reg7 + create_bd_addr_seg -range 0x10000 -offset 0x10220000 [get_bd_addr_spaces accel_group_direct_0/acceleration_scheduler_direct/Data_m_axi_mm2s_ext_cfg_V] [get_bd_addr_segs accel_group_indirect_3/dma/S_AXI_LITE/Reg] SEG_dma_Reg8 + create_bd_addr_seg -range 0x10000 -offset 0x10290000 [get_bd_addr_spaces accel_group_direct_0/acceleration_scheduler_direct/Data_m_axi_mm2s_ext_cfg_V] [get_bd_addr_segs accel_group_sg/dma/S_AXI_LITE/Reg] SEG_dma_Reg9 + create_bd_addr_seg -range 0x10000 -offset 0x10260000 [get_bd_addr_spaces accel_group_direct_0/acceleration_scheduler_direct/Data_m_axi_mm2s_ext_cfg_V] [get_bd_addr_segs accel_group_sg/dma_sg_pcie_scheduler/s_axi_cfg/Reg] SEG_dma_sg_pcie_scheduler_Reg + create_bd_addr_seg -range 0x10000 -offset 0x10060000 [get_bd_addr_spaces accel_group_direct_0/acceleration_scheduler_direct/Data_m_axi_mm2s_ext_cfg_V] [get_bd_addr_segs fetch_scheduler/s_axi_int_cfg/Reg] SEG_fetch_scheduler_Reg + create_bd_addr_seg -range 0x10000 -offset 0x10320000 [get_bd_addr_spaces accel_group_direct_0/acceleration_scheduler_direct/Data_m_axi_mm2s_ext_cfg_V] [get_bd_addr_segs gpio_ack/S_AXI/Reg] SEG_gpio_ack_Reg + create_bd_addr_seg -range 0x10000 -offset 0x10040000 [get_bd_addr_spaces accel_group_direct_0/acceleration_scheduler_direct/Data_m_axi_mm2s_ext_cfg_V] [get_bd_addr_segs gpio_msi/S_AXI/Reg] SEG_gpio_msi_Reg + create_bd_addr_seg -range 0x10000 -offset 0x10300000 [get_bd_addr_spaces accel_group_direct_0/acceleration_scheduler_direct/Data_m_axi_mm2s_ext_cfg_V] [get_bd_addr_segs gpio_msi_read/S_AXI/Reg] SEG_gpio_msi_read_Reg + create_bd_addr_seg -range 0x10000 -offset 0x10030000 [get_bd_addr_spaces accel_group_direct_0/acceleration_scheduler_direct/Data_m_axi_mm2s_ext_cfg_V] [get_bd_addr_segs gpio_pcie_interrupt/S_AXI/Reg] SEG_gpio_pcie_interrupt_Reg + create_bd_addr_seg -range 0x10000 -offset 0x10310000 [get_bd_addr_spaces accel_group_direct_0/acceleration_scheduler_direct/Data_m_axi_mm2s_ext_cfg_V] [get_bd_addr_segs interrupt_manager/s_axi_cfg/Reg] SEG_interrupt_manager_Reg + create_bd_addr_seg -range 0x20000000 -offset 0x80000000 [get_bd_addr_spaces accel_group_direct_0/acceleration_scheduler_direct/Data_m_axi_mm2s_ext_cfg_V] [get_bd_addr_segs mig/memmap/memaddr] SEG_mig_memaddr + create_bd_addr_seg -range 0x400000 -offset 0x20000000 [get_bd_addr_spaces accel_group_direct_0/acceleration_scheduler_direct/Data_m_axi_mm2s_ext_cfg_V] [get_bd_addr_segs pcie/S_AXI/BAR0] SEG_pcie_BAR0 + create_bd_addr_seg -range 0x400000 -offset 0x30000000 [get_bd_addr_spaces accel_group_direct_0/acceleration_scheduler_direct/Data_m_axi_mm2s_ext_cfg_V] [get_bd_addr_segs pcie/S_AXI/BAR1] SEG_pcie_BAR1 + create_bd_addr_seg -range 0x400000 -offset 0x40000000 [get_bd_addr_spaces accel_group_direct_0/acceleration_scheduler_direct/Data_m_axi_mm2s_ext_cfg_V] [get_bd_addr_segs pcie/S_AXI/BAR2] SEG_pcie_BAR2 + create_bd_addr_seg -range 0x400000 -offset 0x50000000 [get_bd_addr_spaces accel_group_direct_0/acceleration_scheduler_direct/Data_m_axi_mm2s_ext_cfg_V] [get_bd_addr_segs pcie/S_AXI/BAR3] SEG_pcie_BAR3 + create_bd_addr_seg -range 0x1000 -offset 0x60000000 [get_bd_addr_spaces accel_group_direct_0/acceleration_scheduler_direct/Data_m_axi_mm2s_ext_cfg_V] [get_bd_addr_segs pcie/S_AXI/BAR4] SEG_pcie_BAR4 + create_bd_addr_seg -range 0x1000 -offset 0x70000000 [get_bd_addr_spaces accel_group_direct_0/acceleration_scheduler_direct/Data_m_axi_mm2s_ext_cfg_V] [get_bd_addr_segs pcie/S_AXI/BAR5] SEG_pcie_BAR5 + create_bd_addr_seg -range 0x10000 -offset 0x10020000 [get_bd_addr_spaces accel_group_direct_0/acceleration_scheduler_direct/Data_m_axi_mm2s_ext_cfg_V] [get_bd_addr_segs pcie/S_AXI_CTL/CTL0] SEG_pcie_CTL0 + create_bd_addr_seg -range 0x10000 -offset 0x10080000 [get_bd_addr_spaces accel_group_direct_0/acceleration_scheduler_direct/Data_m_axi_mm2s_ext_cfg_V] [get_bd_addr_segs info_memory_block_fetch/s_axi_int_cfg/Reg] SEG_info_memory_block_fetch_Reg + create_bd_addr_seg -range 0x10000 -offset 0x10090000 [get_bd_addr_spaces accel_group_direct_0/acceleration_scheduler_direct/Data_m_axi_mm2s_ext_cfg_V] [get_bd_addr_segs info_memory_block_send/s_axi_int_cfg/Reg] SEG_info_memory_block_send_Reg + create_bd_addr_seg -range 0x10000 -offset 0x10070000 [get_bd_addr_spaces accel_group_direct_0/acceleration_scheduler_direct/Data_m_axi_mm2s_ext_cfg_V] [get_bd_addr_segs send_scheduler/s_axi_int_cfg/Reg] SEG_send_scheduler_Reg + create_bd_addr_seg -range 0x10000 -offset 0x10050000 [get_bd_addr_spaces accel_group_direct_0/acceleration_scheduler_direct/Data_m_axi_mm2s_ext_cfg_V] [get_bd_addr_segs shared_apm/S_AXI/Reg] SEG_shared_apm_Reg + create_bd_addr_seg -range 0x40000 -offset 0xC0000000 [get_bd_addr_spaces accel_group_direct_0/acceleration_scheduler_direct/Data_m_axi_mm2s_ext_cfg_V] [get_bd_addr_segs shared_metrics_bram_controller/S_AXI/Mem0] SEG_shared_metrics_bram_controller_Mem0 + create_bd_addr_seg -range 0x10000 -offset 0x100F0000 [get_bd_addr_spaces accel_group_direct_0/acceleration_scheduler_direct/Data_m_axi_mm2s_ext_cfg_V] [get_bd_addr_segs accel_group_direct_0/sobel_filter/s_axi_S_AXI4_LITE/Reg] SEG_sobel_filter_Reg + create_bd_addr_seg -range 0x10000 -offset 0x10170000 [get_bd_addr_spaces accel_group_direct_0/acceleration_scheduler_direct/Data_m_axi_mm2s_ext_cfg_V] [get_bd_addr_segs accel_group_indirect_0/sobel_filter/s_axi_S_AXI4_LITE/Reg] SEG_sobel_filter_Reg6 + create_bd_addr_seg -range 0x10000 -offset 0x10130000 [get_bd_addr_spaces accel_group_direct_0/acceleration_scheduler_direct/Data_m_axi_mm2s_ext_cfg_V] [get_bd_addr_segs accel_group_direct_1/sobel_filter/s_axi_S_AXI4_LITE/Reg] SEG_sobel_filter_Reg7 + create_bd_addr_seg -range 0x10000 -offset 0x101B0000 [get_bd_addr_spaces accel_group_direct_0/acceleration_scheduler_direct/Data_m_axi_mm2s_ext_cfg_V] [get_bd_addr_segs accel_group_indirect_1/sobel_filter/s_axi_S_AXI4_LITE/Reg] SEG_sobel_filter_Reg8 + create_bd_addr_seg -range 0x10000 -offset 0x101F0000 [get_bd_addr_spaces accel_group_direct_0/acceleration_scheduler_direct/Data_m_axi_mm2s_ext_cfg_V] [get_bd_addr_segs accel_group_indirect_2/sobel_filter/s_axi_S_AXI4_LITE/Reg] SEG_sobel_filter_Reg9 + create_bd_addr_seg -range 0x10000 -offset 0x10230000 [get_bd_addr_spaces accel_group_direct_0/acceleration_scheduler_direct/Data_m_axi_mm2s_ext_cfg_V] [get_bd_addr_segs accel_group_indirect_3/sobel_filter/s_axi_S_AXI4_LITE/Reg] SEG_sobel_filter_Reg10 + create_bd_addr_seg -range 0x10000 -offset 0x10280000 [get_bd_addr_spaces accel_group_direct_0/acceleration_scheduler_direct/Data_m_axi_mm2s_ext_cfg_V] [get_bd_addr_segs accel_group_sg/sobel_filter/s_axi_S_AXI4_LITE/Reg] SEG_sobel_filter_Reg12 + create_bd_addr_seg -range 0x20000000 -offset 0x80000000 [get_bd_addr_spaces accel_group_direct_0/dma/Data_MM2S] [get_bd_addr_segs mig/memmap/memaddr] SEG_mig_memaddr + create_bd_addr_seg -range 0x20000000 -offset 0x80000000 [get_bd_addr_spaces accel_group_direct_0/dma/Data_S2MM] [get_bd_addr_segs mig/memmap/memaddr] SEG_mig_memaddr + create_bd_addr_seg -range 0x400000 -offset 0x20000000 [get_bd_addr_spaces accel_group_direct_0/dma/Data_MM2S] [get_bd_addr_segs pcie/S_AXI/BAR0] SEG_pcie_BAR0 + create_bd_addr_seg -range 0x400000 -offset 0x20000000 [get_bd_addr_spaces accel_group_direct_0/dma/Data_S2MM] [get_bd_addr_segs pcie/S_AXI/BAR0] SEG_pcie_BAR0 + create_bd_addr_seg -range 0x400000 -offset 0x30000000 [get_bd_addr_spaces accel_group_direct_0/dma/Data_MM2S] [get_bd_addr_segs pcie/S_AXI/BAR1] SEG_pcie_BAR1 + create_bd_addr_seg -range 0x400000 -offset 0x30000000 [get_bd_addr_spaces accel_group_direct_0/dma/Data_S2MM] [get_bd_addr_segs pcie/S_AXI/BAR1] SEG_pcie_BAR1 + create_bd_addr_seg -range 0x400000 -offset 0x40000000 [get_bd_addr_spaces accel_group_direct_0/dma/Data_MM2S] [get_bd_addr_segs pcie/S_AXI/BAR2] SEG_pcie_BAR2 + create_bd_addr_seg -range 0x400000 -offset 0x40000000 [get_bd_addr_spaces accel_group_direct_0/dma/Data_S2MM] [get_bd_addr_segs pcie/S_AXI/BAR2] SEG_pcie_BAR2 + create_bd_addr_seg -range 0x400000 -offset 0x50000000 [get_bd_addr_spaces accel_group_direct_0/dma/Data_MM2S] [get_bd_addr_segs pcie/S_AXI/BAR3] SEG_pcie_BAR3 + create_bd_addr_seg -range 0x400000 -offset 0x50000000 [get_bd_addr_spaces accel_group_direct_0/dma/Data_S2MM] [get_bd_addr_segs pcie/S_AXI/BAR3] SEG_pcie_BAR3 + create_bd_addr_seg -range 0x1000 -offset 0x60000000 [get_bd_addr_spaces accel_group_direct_0/dma/Data_MM2S] [get_bd_addr_segs pcie/S_AXI/BAR4] SEG_pcie_BAR4 + create_bd_addr_seg -range 0x1000 -offset 0x60000000 [get_bd_addr_spaces accel_group_direct_0/dma/Data_S2MM] [get_bd_addr_segs pcie/S_AXI/BAR4] SEG_pcie_BAR4 + create_bd_addr_seg -range 0x1000 -offset 0x70000000 [get_bd_addr_spaces accel_group_direct_0/dma/Data_MM2S] [get_bd_addr_segs pcie/S_AXI/BAR5] SEG_pcie_BAR5 + create_bd_addr_seg -range 0x1000 -offset 0x70000000 [get_bd_addr_spaces accel_group_direct_0/dma/Data_S2MM] [get_bd_addr_segs pcie/S_AXI/BAR5] SEG_pcie_BAR5 + create_bd_addr_seg -range 0x10000 -offset 0x100C0000 [get_bd_addr_spaces accel_group_direct_1/acceleration_scheduler_direct/Data_m_axi_mm2s_ext_cfg_V] [get_bd_addr_segs accel_group_direct_0/acceleration_scheduler_direct/s_axi_mm2s_cfg/Reg] SEG_acceleration_scheduler_direct_Reg + create_bd_addr_seg -range 0x10000 -offset 0x10100000 [get_bd_addr_spaces accel_group_direct_1/acceleration_scheduler_direct/Data_m_axi_mm2s_ext_cfg_V] [get_bd_addr_segs accel_group_direct_1/acceleration_scheduler_direct/s_axi_mm2s_cfg/Reg] SEG_acceleration_scheduler_direct_Reg13 + create_bd_addr_seg -range 0x10000 -offset 0x10140000 [get_bd_addr_spaces accel_group_direct_1/acceleration_scheduler_direct/Data_m_axi_mm2s_ext_cfg_V] [get_bd_addr_segs accel_group_indirect_0/acceleration_scheduler_indirect/s_axi_int_cfg/Reg] SEG_acceleration_scheduler_indirect_Reg + create_bd_addr_seg -range 0x10000 -offset 0x10180000 [get_bd_addr_spaces accel_group_direct_1/acceleration_scheduler_direct/Data_m_axi_mm2s_ext_cfg_V] [get_bd_addr_segs accel_group_indirect_1/acceleration_scheduler_indirect/s_axi_int_cfg/Reg] SEG_acceleration_scheduler_indirect_Reg1 + create_bd_addr_seg -range 0x10000 -offset 0x101C0000 [get_bd_addr_spaces accel_group_direct_1/acceleration_scheduler_direct/Data_m_axi_mm2s_ext_cfg_V] [get_bd_addr_segs accel_group_indirect_2/acceleration_scheduler_indirect/s_axi_int_cfg/Reg] SEG_acceleration_scheduler_indirect_Reg2 + create_bd_addr_seg -range 0x10000 -offset 0x10200000 [get_bd_addr_spaces accel_group_direct_1/acceleration_scheduler_direct/Data_m_axi_mm2s_ext_cfg_V] [get_bd_addr_segs accel_group_indirect_3/acceleration_scheduler_indirect/s_axi_int_cfg/Reg] SEG_acceleration_scheduler_indirect_Reg3 + create_bd_addr_seg -range 0x10000 -offset 0x10240000 [get_bd_addr_spaces accel_group_direct_1/acceleration_scheduler_direct/Data_m_axi_mm2s_ext_cfg_V] [get_bd_addr_segs accel_group_sg/acceleration_scheduler_sg_xdma/s_axi_mm2s_cfg/Reg] SEG_acceleration_scheduler_sg_xdma_Reg + create_bd_addr_seg -range 0x10000 -offset 0x100D0000 [get_bd_addr_spaces accel_group_direct_1/acceleration_scheduler_direct/Data_m_axi_mm2s_ext_cfg_V] [get_bd_addr_segs accel_group_direct_0/apm/S_AXI/Reg] SEG_apm_Reg + create_bd_addr_seg -range 0x10000 -offset 0x10150000 [get_bd_addr_spaces accel_group_direct_1/acceleration_scheduler_direct/Data_m_axi_mm2s_ext_cfg_V] [get_bd_addr_segs accel_group_indirect_0/apm/S_AXI/Reg] SEG_apm_Reg2 + create_bd_addr_seg -range 0x10000 -offset 0x10190000 [get_bd_addr_spaces accel_group_direct_1/acceleration_scheduler_direct/Data_m_axi_mm2s_ext_cfg_V] [get_bd_addr_segs accel_group_indirect_1/apm/S_AXI/Reg] SEG_apm_Reg3 + create_bd_addr_seg -range 0x10000 -offset 0x101D0000 [get_bd_addr_spaces accel_group_direct_1/acceleration_scheduler_direct/Data_m_axi_mm2s_ext_cfg_V] [get_bd_addr_segs accel_group_indirect_2/apm/S_AXI/Reg] SEG_apm_Reg4 + create_bd_addr_seg -range 0x10000 -offset 0x10210000 [get_bd_addr_spaces accel_group_direct_1/acceleration_scheduler_direct/Data_m_axi_mm2s_ext_cfg_V] [get_bd_addr_segs accel_group_indirect_3/apm/S_AXI/Reg] SEG_apm_Reg5 + create_bd_addr_seg -range 0x10000 -offset 0x10250000 [get_bd_addr_spaces accel_group_direct_1/acceleration_scheduler_direct/Data_m_axi_mm2s_ext_cfg_V] [get_bd_addr_segs accel_group_sg/apm/S_AXI/Reg] SEG_apm_Reg6 + create_bd_addr_seg -range 0x10000 -offset 0x10110000 [get_bd_addr_spaces accel_group_direct_1/acceleration_scheduler_direct/Data_m_axi_mm2s_ext_cfg_V] [get_bd_addr_segs accel_group_direct_1/apm/S_AXI/Reg] SEG_apm_Reg15 + create_bd_addr_seg -range 0x10000 -offset 0x10000000 [get_bd_addr_spaces accel_group_direct_1/acceleration_scheduler_direct/Data_m_axi_mm2s_ext_cfg_V] [get_bd_addr_segs axi_interrupt_controller/s_axi/Reg] SEG_axi_interrupt_controller_Reg + create_bd_addr_seg -range 0x10000 -offset 0x10010000 [get_bd_addr_spaces accel_group_direct_1/acceleration_scheduler_direct/Data_m_axi_mm2s_ext_cfg_V] [get_bd_addr_segs axi_uartlite/S_AXI/Reg] SEG_axi_uartlite_Reg + create_bd_addr_seg -range 0x10000 -offset 0x100A0000 [get_bd_addr_spaces accel_group_direct_1/acceleration_scheduler_direct/Data_m_axi_mm2s_ext_cfg_V] [get_bd_addr_segs cdma_fetch/S_AXI_LITE/Reg] SEG_cdma_fetch_Reg + create_bd_addr_seg -range 0x10000 -offset 0x100B0000 [get_bd_addr_spaces accel_group_direct_1/acceleration_scheduler_direct/Data_m_axi_mm2s_ext_cfg_V] [get_bd_addr_segs cdma_send/S_AXI_LITE/Reg] SEG_cdma_send_Reg + create_bd_addr_seg -range 0x10000 -offset 0x100E0000 [get_bd_addr_spaces accel_group_direct_1/acceleration_scheduler_direct/Data_m_axi_mm2s_ext_cfg_V] [get_bd_addr_segs accel_group_direct_0/dma/S_AXI_LITE/Reg] SEG_dma_Reg + create_bd_addr_seg -range 0x10000 -offset 0x10160000 [get_bd_addr_spaces accel_group_direct_1/acceleration_scheduler_direct/Data_m_axi_mm2s_ext_cfg_V] [get_bd_addr_segs accel_group_indirect_0/dma/S_AXI_LITE/Reg] SEG_dma_Reg4 + create_bd_addr_seg -range 0x10000 -offset 0x101A0000 [get_bd_addr_spaces accel_group_direct_1/acceleration_scheduler_direct/Data_m_axi_mm2s_ext_cfg_V] [get_bd_addr_segs accel_group_indirect_1/dma/S_AXI_LITE/Reg] SEG_dma_Reg5 + create_bd_addr_seg -range 0x10000 -offset 0x101E0000 [get_bd_addr_spaces accel_group_direct_1/acceleration_scheduler_direct/Data_m_axi_mm2s_ext_cfg_V] [get_bd_addr_segs accel_group_indirect_2/dma/S_AXI_LITE/Reg] SEG_dma_Reg6 + create_bd_addr_seg -range 0x10000 -offset 0x10220000 [get_bd_addr_spaces accel_group_direct_1/acceleration_scheduler_direct/Data_m_axi_mm2s_ext_cfg_V] [get_bd_addr_segs accel_group_indirect_3/dma/S_AXI_LITE/Reg] SEG_dma_Reg7 + create_bd_addr_seg -range 0x10000 -offset 0x10290000 [get_bd_addr_spaces accel_group_direct_1/acceleration_scheduler_direct/Data_m_axi_mm2s_ext_cfg_V] [get_bd_addr_segs accel_group_sg/dma/S_AXI_LITE/Reg] SEG_dma_Reg8 + create_bd_addr_seg -range 0x10000 -offset 0x10120000 [get_bd_addr_spaces accel_group_direct_1/acceleration_scheduler_direct/Data_m_axi_mm2s_ext_cfg_V] [get_bd_addr_segs accel_group_direct_1/dma/S_AXI_LITE/Reg] SEG_dma_Reg17 + create_bd_addr_seg -range 0x10000 -offset 0x10260000 [get_bd_addr_spaces accel_group_direct_1/acceleration_scheduler_direct/Data_m_axi_mm2s_ext_cfg_V] [get_bd_addr_segs accel_group_sg/dma_sg_pcie_scheduler/s_axi_cfg/Reg] SEG_dma_sg_pcie_scheduler_Reg + create_bd_addr_seg -range 0x10000 -offset 0x10060000 [get_bd_addr_spaces accel_group_direct_1/acceleration_scheduler_direct/Data_m_axi_mm2s_ext_cfg_V] [get_bd_addr_segs fetch_scheduler/s_axi_int_cfg/Reg] SEG_fetch_scheduler_Reg + create_bd_addr_seg -range 0x10000 -offset 0x10320000 [get_bd_addr_spaces accel_group_direct_1/acceleration_scheduler_direct/Data_m_axi_mm2s_ext_cfg_V] [get_bd_addr_segs gpio_ack/S_AXI/Reg] SEG_gpio_ack_Reg + create_bd_addr_seg -range 0x10000 -offset 0x10040000 [get_bd_addr_spaces accel_group_direct_1/acceleration_scheduler_direct/Data_m_axi_mm2s_ext_cfg_V] [get_bd_addr_segs gpio_msi/S_AXI/Reg] SEG_gpio_msi_Reg + create_bd_addr_seg -range 0x10000 -offset 0x10300000 [get_bd_addr_spaces accel_group_direct_1/acceleration_scheduler_direct/Data_m_axi_mm2s_ext_cfg_V] [get_bd_addr_segs gpio_msi_read/S_AXI/Reg] SEG_gpio_msi_read_Reg + create_bd_addr_seg -range 0x10000 -offset 0x10030000 [get_bd_addr_spaces accel_group_direct_1/acceleration_scheduler_direct/Data_m_axi_mm2s_ext_cfg_V] [get_bd_addr_segs gpio_pcie_interrupt/S_AXI/Reg] SEG_gpio_pcie_interrupt_Reg + create_bd_addr_seg -range 0x10000 -offset 0x10310000 [get_bd_addr_spaces accel_group_direct_1/acceleration_scheduler_direct/Data_m_axi_mm2s_ext_cfg_V] [get_bd_addr_segs interrupt_manager/s_axi_cfg/Reg] SEG_interrupt_manager_Reg + create_bd_addr_seg -range 0x20000000 -offset 0x80000000 [get_bd_addr_spaces accel_group_direct_1/acceleration_scheduler_direct/Data_m_axi_mm2s_ext_cfg_V] [get_bd_addr_segs mig/memmap/memaddr] SEG_mig_memaddr + create_bd_addr_seg -range 0x400000 -offset 0x20000000 [get_bd_addr_spaces accel_group_direct_1/acceleration_scheduler_direct/Data_m_axi_mm2s_ext_cfg_V] [get_bd_addr_segs pcie/S_AXI/BAR0] SEG_pcie_BAR0 + create_bd_addr_seg -range 0x400000 -offset 0x30000000 [get_bd_addr_spaces accel_group_direct_1/acceleration_scheduler_direct/Data_m_axi_mm2s_ext_cfg_V] [get_bd_addr_segs pcie/S_AXI/BAR1] SEG_pcie_BAR1 + create_bd_addr_seg -range 0x400000 -offset 0x40000000 [get_bd_addr_spaces accel_group_direct_1/acceleration_scheduler_direct/Data_m_axi_mm2s_ext_cfg_V] [get_bd_addr_segs pcie/S_AXI/BAR2] SEG_pcie_BAR2 + create_bd_addr_seg -range 0x400000 -offset 0x50000000 [get_bd_addr_spaces accel_group_direct_1/acceleration_scheduler_direct/Data_m_axi_mm2s_ext_cfg_V] [get_bd_addr_segs pcie/S_AXI/BAR3] SEG_pcie_BAR3 + create_bd_addr_seg -range 0x1000 -offset 0x60000000 [get_bd_addr_spaces accel_group_direct_1/acceleration_scheduler_direct/Data_m_axi_mm2s_ext_cfg_V] [get_bd_addr_segs pcie/S_AXI/BAR4] SEG_pcie_BAR4 + create_bd_addr_seg -range 0x1000 -offset 0x70000000 [get_bd_addr_spaces accel_group_direct_1/acceleration_scheduler_direct/Data_m_axi_mm2s_ext_cfg_V] [get_bd_addr_segs pcie/S_AXI/BAR5] SEG_pcie_BAR5 + create_bd_addr_seg -range 0x10000 -offset 0x10020000 [get_bd_addr_spaces accel_group_direct_1/acceleration_scheduler_direct/Data_m_axi_mm2s_ext_cfg_V] [get_bd_addr_segs pcie/S_AXI_CTL/CTL0] SEG_pcie_CTL0 + create_bd_addr_seg -range 0x10000 -offset 0x10080000 [get_bd_addr_spaces accel_group_direct_1/acceleration_scheduler_direct/Data_m_axi_mm2s_ext_cfg_V] [get_bd_addr_segs info_memory_block_fetch/s_axi_int_cfg/Reg] SEG_info_memory_block_fetch_Reg + create_bd_addr_seg -range 0x10000 -offset 0x10090000 [get_bd_addr_spaces accel_group_direct_1/acceleration_scheduler_direct/Data_m_axi_mm2s_ext_cfg_V] [get_bd_addr_segs info_memory_block_send/s_axi_int_cfg/Reg] SEG_info_memory_block_send_Reg + create_bd_addr_seg -range 0x10000 -offset 0x10070000 [get_bd_addr_spaces accel_group_direct_1/acceleration_scheduler_direct/Data_m_axi_mm2s_ext_cfg_V] [get_bd_addr_segs send_scheduler/s_axi_int_cfg/Reg] SEG_send_scheduler_Reg + create_bd_addr_seg -range 0x10000 -offset 0x10050000 [get_bd_addr_spaces accel_group_direct_1/acceleration_scheduler_direct/Data_m_axi_mm2s_ext_cfg_V] [get_bd_addr_segs shared_apm/S_AXI/Reg] SEG_shared_apm_Reg + create_bd_addr_seg -range 0x40000 -offset 0xC0000000 [get_bd_addr_spaces accel_group_direct_1/acceleration_scheduler_direct/Data_m_axi_mm2s_ext_cfg_V] [get_bd_addr_segs shared_metrics_bram_controller/S_AXI/Mem0] SEG_shared_metrics_bram_controller_Mem0 + create_bd_addr_seg -range 0x10000 -offset 0x100F0000 [get_bd_addr_spaces accel_group_direct_1/acceleration_scheduler_direct/Data_m_axi_mm2s_ext_cfg_V] [get_bd_addr_segs accel_group_direct_0/sobel_filter/s_axi_S_AXI4_LITE/Reg] SEG_sobel_filter_Reg + create_bd_addr_seg -range 0x10000 -offset 0x10170000 [get_bd_addr_spaces accel_group_direct_1/acceleration_scheduler_direct/Data_m_axi_mm2s_ext_cfg_V] [get_bd_addr_segs accel_group_indirect_0/sobel_filter/s_axi_S_AXI4_LITE/Reg] SEG_sobel_filter_Reg6 + create_bd_addr_seg -range 0x10000 -offset 0x101B0000 [get_bd_addr_spaces accel_group_direct_1/acceleration_scheduler_direct/Data_m_axi_mm2s_ext_cfg_V] [get_bd_addr_segs accel_group_indirect_1/sobel_filter/s_axi_S_AXI4_LITE/Reg] SEG_sobel_filter_Reg7 + create_bd_addr_seg -range 0x10000 -offset 0x101F0000 [get_bd_addr_spaces accel_group_direct_1/acceleration_scheduler_direct/Data_m_axi_mm2s_ext_cfg_V] [get_bd_addr_segs accel_group_indirect_2/sobel_filter/s_axi_S_AXI4_LITE/Reg] SEG_sobel_filter_Reg8 + create_bd_addr_seg -range 0x10000 -offset 0x10230000 [get_bd_addr_spaces accel_group_direct_1/acceleration_scheduler_direct/Data_m_axi_mm2s_ext_cfg_V] [get_bd_addr_segs accel_group_indirect_3/sobel_filter/s_axi_S_AXI4_LITE/Reg] SEG_sobel_filter_Reg9 + create_bd_addr_seg -range 0x10000 -offset 0x10280000 [get_bd_addr_spaces accel_group_direct_1/acceleration_scheduler_direct/Data_m_axi_mm2s_ext_cfg_V] [get_bd_addr_segs accel_group_sg/sobel_filter/s_axi_S_AXI4_LITE/Reg] SEG_sobel_filter_Reg11 + create_bd_addr_seg -range 0x10000 -offset 0x10130000 [get_bd_addr_spaces accel_group_direct_1/acceleration_scheduler_direct/Data_m_axi_mm2s_ext_cfg_V] [get_bd_addr_segs accel_group_direct_1/sobel_filter/s_axi_S_AXI4_LITE/Reg] SEG_sobel_filter_Reg19 + create_bd_addr_seg -range 0x20000000 -offset 0x80000000 [get_bd_addr_spaces accel_group_direct_1/dma/Data_MM2S] [get_bd_addr_segs mig/memmap/memaddr] SEG_mig_memaddr + create_bd_addr_seg -range 0x20000000 -offset 0x80000000 [get_bd_addr_spaces accel_group_direct_1/dma/Data_S2MM] [get_bd_addr_segs mig/memmap/memaddr] SEG_mig_memaddr + create_bd_addr_seg -range 0x400000 -offset 0x20000000 [get_bd_addr_spaces accel_group_direct_1/dma/Data_MM2S] [get_bd_addr_segs pcie/S_AXI/BAR0] SEG_pcie_BAR0 + create_bd_addr_seg -range 0x400000 -offset 0x20000000 [get_bd_addr_spaces accel_group_direct_1/dma/Data_S2MM] [get_bd_addr_segs pcie/S_AXI/BAR0] SEG_pcie_BAR0 + create_bd_addr_seg -range 0x400000 -offset 0x30000000 [get_bd_addr_spaces accel_group_direct_1/dma/Data_MM2S] [get_bd_addr_segs pcie/S_AXI/BAR1] SEG_pcie_BAR1 + create_bd_addr_seg -range 0x400000 -offset 0x30000000 [get_bd_addr_spaces accel_group_direct_1/dma/Data_S2MM] [get_bd_addr_segs pcie/S_AXI/BAR1] SEG_pcie_BAR1 + create_bd_addr_seg -range 0x400000 -offset 0x40000000 [get_bd_addr_spaces accel_group_direct_1/dma/Data_MM2S] [get_bd_addr_segs pcie/S_AXI/BAR2] SEG_pcie_BAR2 + create_bd_addr_seg -range 0x400000 -offset 0x40000000 [get_bd_addr_spaces accel_group_direct_1/dma/Data_S2MM] [get_bd_addr_segs pcie/S_AXI/BAR2] SEG_pcie_BAR2 + create_bd_addr_seg -range 0x400000 -offset 0x50000000 [get_bd_addr_spaces accel_group_direct_1/dma/Data_MM2S] [get_bd_addr_segs pcie/S_AXI/BAR3] SEG_pcie_BAR3 + create_bd_addr_seg -range 0x400000 -offset 0x50000000 [get_bd_addr_spaces accel_group_direct_1/dma/Data_S2MM] [get_bd_addr_segs pcie/S_AXI/BAR3] SEG_pcie_BAR3 + create_bd_addr_seg -range 0x1000 -offset 0x60000000 [get_bd_addr_spaces accel_group_direct_1/dma/Data_MM2S] [get_bd_addr_segs pcie/S_AXI/BAR4] SEG_pcie_BAR4 + create_bd_addr_seg -range 0x1000 -offset 0x60000000 [get_bd_addr_spaces accel_group_direct_1/dma/Data_S2MM] [get_bd_addr_segs pcie/S_AXI/BAR4] SEG_pcie_BAR4 + create_bd_addr_seg -range 0x1000 -offset 0x70000000 [get_bd_addr_spaces accel_group_direct_1/dma/Data_MM2S] [get_bd_addr_segs pcie/S_AXI/BAR5] SEG_pcie_BAR5 + create_bd_addr_seg -range 0x1000 -offset 0x70000000 [get_bd_addr_spaces accel_group_direct_1/dma/Data_S2MM] [get_bd_addr_segs pcie/S_AXI/BAR5] SEG_pcie_BAR5 + create_bd_addr_seg -range 0x10000 -offset 0x100C0000 [get_bd_addr_spaces accel_group_indirect_0/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_direct_0/acceleration_scheduler_direct/s_axi_mm2s_cfg/Reg] SEG_acceleration_scheduler_direct_Reg + create_bd_addr_seg -range 0x10000 -offset 0x10100000 [get_bd_addr_spaces accel_group_indirect_0/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_direct_1/acceleration_scheduler_direct/s_axi_mm2s_cfg/Reg] SEG_acceleration_scheduler_direct_Reg13 + create_bd_addr_seg -range 0x10000 -offset 0x10140000 [get_bd_addr_spaces accel_group_indirect_0/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_indirect_0/acceleration_scheduler_indirect/s_axi_int_cfg/Reg] SEG_acceleration_scheduler_indirect_Reg + create_bd_addr_seg -range 0x10000 -offset 0x10180000 [get_bd_addr_spaces accel_group_indirect_0/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_indirect_1/acceleration_scheduler_indirect/s_axi_int_cfg/Reg] SEG_acceleration_scheduler_indirect_Reg1 + create_bd_addr_seg -range 0x10000 -offset 0x101C0000 [get_bd_addr_spaces accel_group_indirect_0/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_indirect_2/acceleration_scheduler_indirect/s_axi_int_cfg/Reg] SEG_acceleration_scheduler_indirect_Reg2 + create_bd_addr_seg -range 0x10000 -offset 0x10200000 [get_bd_addr_spaces accel_group_indirect_0/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_indirect_3/acceleration_scheduler_indirect/s_axi_int_cfg/Reg] SEG_acceleration_scheduler_indirect_Reg3 + create_bd_addr_seg -range 0x10000 -offset 0x10240000 [get_bd_addr_spaces accel_group_indirect_0/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_sg/acceleration_scheduler_sg_xdma/s_axi_mm2s_cfg/Reg] SEG_acceleration_scheduler_sg_xdma_Reg + create_bd_addr_seg -range 0x10000 -offset 0x100D0000 [get_bd_addr_spaces accel_group_indirect_0/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_direct_0/apm/S_AXI/Reg] SEG_apm_Reg + create_bd_addr_seg -range 0x10000 -offset 0x10250000 [get_bd_addr_spaces accel_group_indirect_0/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_sg/apm/S_AXI/Reg] SEG_apm_Reg2 + create_bd_addr_seg -range 0x10000 -offset 0x10190000 [get_bd_addr_spaces accel_group_indirect_0/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_indirect_1/apm/S_AXI/Reg] SEG_apm_Reg3 + create_bd_addr_seg -range 0x10000 -offset 0x101D0000 [get_bd_addr_spaces accel_group_indirect_0/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_indirect_2/apm/S_AXI/Reg] SEG_apm_Reg4 + create_bd_addr_seg -range 0x10000 -offset 0x10210000 [get_bd_addr_spaces accel_group_indirect_0/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_indirect_3/apm/S_AXI/Reg] SEG_apm_Reg5 + create_bd_addr_seg -range 0x10000 -offset 0x10110000 [get_bd_addr_spaces accel_group_indirect_0/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_direct_1/apm/S_AXI/Reg] SEG_apm_Reg15 + create_bd_addr_seg -range 0x10000 -offset 0x10150000 [get_bd_addr_spaces accel_group_indirect_0/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_indirect_0/apm/S_AXI/Reg] SEG_apm_Reg22 + create_bd_addr_seg -range 0x10000 -offset 0x10000000 [get_bd_addr_spaces accel_group_indirect_0/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs axi_interrupt_controller/s_axi/Reg] SEG_axi_interrupt_controller_Reg + create_bd_addr_seg -range 0x10000 -offset 0x10010000 [get_bd_addr_spaces accel_group_indirect_0/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs axi_uartlite/S_AXI/Reg] SEG_axi_uartlite_Reg + create_bd_addr_seg -range 0x10000 -offset 0x100A0000 [get_bd_addr_spaces accel_group_indirect_0/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs cdma_fetch/S_AXI_LITE/Reg] SEG_cdma_fetch_Reg + create_bd_addr_seg -range 0x10000 -offset 0x100B0000 [get_bd_addr_spaces accel_group_indirect_0/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs cdma_send/S_AXI_LITE/Reg] SEG_cdma_send_Reg + create_bd_addr_seg -range 0x10000 -offset 0x100E0000 [get_bd_addr_spaces accel_group_indirect_0/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_direct_0/dma/S_AXI_LITE/Reg] SEG_dma_Reg + create_bd_addr_seg -range 0x10000 -offset 0x10290000 [get_bd_addr_spaces accel_group_indirect_0/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_sg/dma/S_AXI_LITE/Reg] SEG_dma_Reg4 + create_bd_addr_seg -range 0x10000 -offset 0x101A0000 [get_bd_addr_spaces accel_group_indirect_0/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_indirect_1/dma/S_AXI_LITE/Reg] SEG_dma_Reg5 + create_bd_addr_seg -range 0x10000 -offset 0x101E0000 [get_bd_addr_spaces accel_group_indirect_0/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_indirect_2/dma/S_AXI_LITE/Reg] SEG_dma_Reg6 + create_bd_addr_seg -range 0x10000 -offset 0x10220000 [get_bd_addr_spaces accel_group_indirect_0/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_indirect_3/dma/S_AXI_LITE/Reg] SEG_dma_Reg7 + create_bd_addr_seg -range 0x10000 -offset 0x10120000 [get_bd_addr_spaces accel_group_indirect_0/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_direct_1/dma/S_AXI_LITE/Reg] SEG_dma_Reg17 + create_bd_addr_seg -range 0x10000 -offset 0x10160000 [get_bd_addr_spaces accel_group_indirect_0/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_indirect_0/dma/S_AXI_LITE/Reg] SEG_dma_Reg24 + create_bd_addr_seg -range 0x10000 -offset 0x10260000 [get_bd_addr_spaces accel_group_indirect_0/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_sg/dma_sg_pcie_scheduler/s_axi_cfg/Reg] SEG_dma_sg_pcie_scheduler_Reg + create_bd_addr_seg -range 0x10000 -offset 0x10060000 [get_bd_addr_spaces accel_group_indirect_0/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs fetch_scheduler/s_axi_int_cfg/Reg] SEG_fetch_scheduler_Reg + create_bd_addr_seg -range 0x10000 -offset 0x10320000 [get_bd_addr_spaces accel_group_indirect_0/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs gpio_ack/S_AXI/Reg] SEG_gpio_ack_Reg + create_bd_addr_seg -range 0x10000 -offset 0x10040000 [get_bd_addr_spaces accel_group_indirect_0/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs gpio_msi/S_AXI/Reg] SEG_gpio_msi_Reg + create_bd_addr_seg -range 0x10000 -offset 0x10300000 [get_bd_addr_spaces accel_group_indirect_0/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs gpio_msi_read/S_AXI/Reg] SEG_gpio_msi_read_Reg + create_bd_addr_seg -range 0x10000 -offset 0x10030000 [get_bd_addr_spaces accel_group_indirect_0/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs gpio_pcie_interrupt/S_AXI/Reg] SEG_gpio_pcie_interrupt_Reg + create_bd_addr_seg -range 0x10000 -offset 0x10310000 [get_bd_addr_spaces accel_group_indirect_0/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs interrupt_manager/s_axi_cfg/Reg] SEG_interrupt_manager_Reg + create_bd_addr_seg -range 0x20000000 -offset 0x80000000 [get_bd_addr_spaces accel_group_indirect_0/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs mig/memmap/memaddr] SEG_mig_memaddr + create_bd_addr_seg -range 0x400000 -offset 0x20000000 [get_bd_addr_spaces accel_group_indirect_0/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs pcie/S_AXI/BAR0] SEG_pcie_BAR0 + create_bd_addr_seg -range 0x400000 -offset 0x30000000 [get_bd_addr_spaces accel_group_indirect_0/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs pcie/S_AXI/BAR1] SEG_pcie_BAR1 + create_bd_addr_seg -range 0x400000 -offset 0x40000000 [get_bd_addr_spaces accel_group_indirect_0/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs pcie/S_AXI/BAR2] SEG_pcie_BAR2 + create_bd_addr_seg -range 0x400000 -offset 0x50000000 [get_bd_addr_spaces accel_group_indirect_0/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs pcie/S_AXI/BAR3] SEG_pcie_BAR3 + create_bd_addr_seg -range 0x1000 -offset 0x60000000 [get_bd_addr_spaces accel_group_indirect_0/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs pcie/S_AXI/BAR4] SEG_pcie_BAR4 + create_bd_addr_seg -range 0x1000 -offset 0x70000000 [get_bd_addr_spaces accel_group_indirect_0/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs pcie/S_AXI/BAR5] SEG_pcie_BAR5 + create_bd_addr_seg -range 0x10000 -offset 0x10020000 [get_bd_addr_spaces accel_group_indirect_0/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs pcie/S_AXI_CTL/CTL0] SEG_pcie_CTL0 + create_bd_addr_seg -range 0x10000 -offset 0x10080000 [get_bd_addr_spaces accel_group_indirect_0/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs info_memory_block_fetch/s_axi_int_cfg/Reg] SEG_info_memory_block_fetch_Reg + create_bd_addr_seg -range 0x10000 -offset 0x10090000 [get_bd_addr_spaces accel_group_indirect_0/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs info_memory_block_send/s_axi_int_cfg/Reg] SEG_info_memory_block_send_Reg + create_bd_addr_seg -range 0x10000 -offset 0x10070000 [get_bd_addr_spaces accel_group_indirect_0/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs send_scheduler/s_axi_int_cfg/Reg] SEG_send_scheduler_Reg + create_bd_addr_seg -range 0x10000 -offset 0x10050000 [get_bd_addr_spaces accel_group_indirect_0/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs shared_apm/S_AXI/Reg] SEG_shared_apm_Reg + create_bd_addr_seg -range 0x40000 -offset 0xC0000000 [get_bd_addr_spaces accel_group_indirect_0/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs shared_metrics_bram_controller/S_AXI/Mem0] SEG_shared_metrics_bram_controller_Mem0 + create_bd_addr_seg -range 0x10000 -offset 0x100F0000 [get_bd_addr_spaces accel_group_indirect_0/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_direct_0/sobel_filter/s_axi_S_AXI4_LITE/Reg] SEG_sobel_filter_Reg + create_bd_addr_seg -range 0x10000 -offset 0x101B0000 [get_bd_addr_spaces accel_group_indirect_0/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_indirect_1/sobel_filter/s_axi_S_AXI4_LITE/Reg] SEG_sobel_filter_Reg7 + create_bd_addr_seg -range 0x10000 -offset 0x101F0000 [get_bd_addr_spaces accel_group_indirect_0/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_indirect_2/sobel_filter/s_axi_S_AXI4_LITE/Reg] SEG_sobel_filter_Reg8 + create_bd_addr_seg -range 0x10000 -offset 0x10230000 [get_bd_addr_spaces accel_group_indirect_0/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_indirect_3/sobel_filter/s_axi_S_AXI4_LITE/Reg] SEG_sobel_filter_Reg9 + create_bd_addr_seg -range 0x10000 -offset 0x10280000 [get_bd_addr_spaces accel_group_indirect_0/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_sg/sobel_filter/s_axi_S_AXI4_LITE/Reg] SEG_sobel_filter_Reg10 + create_bd_addr_seg -range 0x10000 -offset 0x10130000 [get_bd_addr_spaces accel_group_indirect_0/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_direct_1/sobel_filter/s_axi_S_AXI4_LITE/Reg] SEG_sobel_filter_Reg19 + create_bd_addr_seg -range 0x10000 -offset 0x10170000 [get_bd_addr_spaces accel_group_indirect_0/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_indirect_0/sobel_filter/s_axi_S_AXI4_LITE/Reg] SEG_sobel_filter_Reg26 + create_bd_addr_seg -range 0x20000000 -offset 0x80000000 [get_bd_addr_spaces accel_group_indirect_0/dma/Data_MM2S] [get_bd_addr_segs mig/memmap/memaddr] SEG_mig_memaddr + create_bd_addr_seg -range 0x20000000 -offset 0x80000000 [get_bd_addr_spaces accel_group_indirect_0/dma/Data_S2MM] [get_bd_addr_segs mig/memmap/memaddr] SEG_mig_memaddr + create_bd_addr_seg -range 0x400000 -offset 0x20000000 [get_bd_addr_spaces accel_group_indirect_0/dma/Data_MM2S] [get_bd_addr_segs pcie/S_AXI/BAR0] SEG_pcie_BAR0 + create_bd_addr_seg -range 0x400000 -offset 0x20000000 [get_bd_addr_spaces accel_group_indirect_0/dma/Data_S2MM] [get_bd_addr_segs pcie/S_AXI/BAR0] SEG_pcie_BAR0 + create_bd_addr_seg -range 0x400000 -offset 0x30000000 [get_bd_addr_spaces accel_group_indirect_0/dma/Data_MM2S] [get_bd_addr_segs pcie/S_AXI/BAR1] SEG_pcie_BAR1 + create_bd_addr_seg -range 0x400000 -offset 0x30000000 [get_bd_addr_spaces accel_group_indirect_0/dma/Data_S2MM] [get_bd_addr_segs pcie/S_AXI/BAR1] SEG_pcie_BAR1 + create_bd_addr_seg -range 0x400000 -offset 0x40000000 [get_bd_addr_spaces accel_group_indirect_0/dma/Data_MM2S] [get_bd_addr_segs pcie/S_AXI/BAR2] SEG_pcie_BAR2 + create_bd_addr_seg -range 0x400000 -offset 0x40000000 [get_bd_addr_spaces accel_group_indirect_0/dma/Data_S2MM] [get_bd_addr_segs pcie/S_AXI/BAR2] SEG_pcie_BAR2 + create_bd_addr_seg -range 0x400000 -offset 0x50000000 [get_bd_addr_spaces accel_group_indirect_0/dma/Data_MM2S] [get_bd_addr_segs pcie/S_AXI/BAR3] SEG_pcie_BAR3 + create_bd_addr_seg -range 0x400000 -offset 0x50000000 [get_bd_addr_spaces accel_group_indirect_0/dma/Data_S2MM] [get_bd_addr_segs pcie/S_AXI/BAR3] SEG_pcie_BAR3 + create_bd_addr_seg -range 0x1000 -offset 0x60000000 [get_bd_addr_spaces accel_group_indirect_0/dma/Data_MM2S] [get_bd_addr_segs pcie/S_AXI/BAR4] SEG_pcie_BAR4 + create_bd_addr_seg -range 0x1000 -offset 0x60000000 [get_bd_addr_spaces accel_group_indirect_0/dma/Data_S2MM] [get_bd_addr_segs pcie/S_AXI/BAR4] SEG_pcie_BAR4 + create_bd_addr_seg -range 0x1000 -offset 0x70000000 [get_bd_addr_spaces accel_group_indirect_0/dma/Data_MM2S] [get_bd_addr_segs pcie/S_AXI/BAR5] SEG_pcie_BAR5 + create_bd_addr_seg -range 0x1000 -offset 0x70000000 [get_bd_addr_spaces accel_group_indirect_0/dma/Data_S2MM] [get_bd_addr_segs pcie/S_AXI/BAR5] SEG_pcie_BAR5 + create_bd_addr_seg -range 0x10000 -offset 0x100C0000 [get_bd_addr_spaces accel_group_indirect_1/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_direct_0/acceleration_scheduler_direct/s_axi_mm2s_cfg/Reg] SEG_acceleration_scheduler_direct_Reg + create_bd_addr_seg -range 0x10000 -offset 0x10100000 [get_bd_addr_spaces accel_group_indirect_1/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_direct_1/acceleration_scheduler_direct/s_axi_mm2s_cfg/Reg] SEG_acceleration_scheduler_direct_Reg16 + create_bd_addr_seg -range 0x10000 -offset 0x10140000 [get_bd_addr_spaces accel_group_indirect_1/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_indirect_0/acceleration_scheduler_indirect/s_axi_int_cfg/Reg] SEG_acceleration_scheduler_indirect_Reg + create_bd_addr_seg -range 0x10000 -offset 0x101C0000 [get_bd_addr_spaces accel_group_indirect_1/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_indirect_2/acceleration_scheduler_indirect/s_axi_int_cfg/Reg] SEG_acceleration_scheduler_indirect_Reg1 + create_bd_addr_seg -range 0x10000 -offset 0x10200000 [get_bd_addr_spaces accel_group_indirect_1/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_indirect_3/acceleration_scheduler_indirect/s_axi_int_cfg/Reg] SEG_acceleration_scheduler_indirect_Reg17 + create_bd_addr_seg -range 0x10000 -offset 0x10180000 [get_bd_addr_spaces accel_group_indirect_1/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_indirect_1/acceleration_scheduler_indirect/s_axi_int_cfg/Reg] SEG_acceleration_scheduler_indirect_Reg31 + create_bd_addr_seg -range 0x10000 -offset 0x10240000 [get_bd_addr_spaces accel_group_indirect_1/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_sg/acceleration_scheduler_sg_xdma/s_axi_mm2s_cfg/Reg] SEG_acceleration_scheduler_sg_xdma_Reg + create_bd_addr_seg -range 0x10000 -offset 0x100D0000 [get_bd_addr_spaces accel_group_indirect_1/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_direct_0/apm/S_AXI/Reg] SEG_apm_Reg + create_bd_addr_seg -range 0x10000 -offset 0x10250000 [get_bd_addr_spaces accel_group_indirect_1/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_sg/apm/S_AXI/Reg] SEG_apm_Reg2 + create_bd_addr_seg -range 0x10000 -offset 0x101D0000 [get_bd_addr_spaces accel_group_indirect_1/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_indirect_2/apm/S_AXI/Reg] SEG_apm_Reg5 + create_bd_addr_seg -range 0x10000 -offset 0x10110000 [get_bd_addr_spaces accel_group_indirect_1/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_direct_1/apm/S_AXI/Reg] SEG_apm_Reg18 + create_bd_addr_seg -range 0x10000 -offset 0x10210000 [get_bd_addr_spaces accel_group_indirect_1/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_indirect_3/apm/S_AXI/Reg] SEG_apm_Reg19 + create_bd_addr_seg -range 0x10000 -offset 0x10150000 [get_bd_addr_spaces accel_group_indirect_1/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_indirect_0/apm/S_AXI/Reg] SEG_apm_Reg25 + create_bd_addr_seg -range 0x10000 -offset 0x10190000 [get_bd_addr_spaces accel_group_indirect_1/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_indirect_1/apm/S_AXI/Reg] SEG_apm_Reg33 + create_bd_addr_seg -range 0x10000 -offset 0x10000000 [get_bd_addr_spaces accel_group_indirect_1/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs axi_interrupt_controller/s_axi/Reg] SEG_axi_interrupt_controller_Reg + create_bd_addr_seg -range 0x10000 -offset 0x10010000 [get_bd_addr_spaces accel_group_indirect_1/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs axi_uartlite/S_AXI/Reg] SEG_axi_uartlite_Reg + create_bd_addr_seg -range 0x10000 -offset 0x100A0000 [get_bd_addr_spaces accel_group_indirect_1/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs cdma_fetch/S_AXI_LITE/Reg] SEG_cdma_fetch_Reg + create_bd_addr_seg -range 0x10000 -offset 0x100B0000 [get_bd_addr_spaces accel_group_indirect_1/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs cdma_send/S_AXI_LITE/Reg] SEG_cdma_send_Reg + create_bd_addr_seg -range 0x10000 -offset 0x100E0000 [get_bd_addr_spaces accel_group_indirect_1/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_direct_0/dma/S_AXI_LITE/Reg] SEG_dma_Reg + create_bd_addr_seg -range 0x10000 -offset 0x10290000 [get_bd_addr_spaces accel_group_indirect_1/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_sg/dma/S_AXI_LITE/Reg] SEG_dma_Reg4 + create_bd_addr_seg -range 0x10000 -offset 0x101E0000 [get_bd_addr_spaces accel_group_indirect_1/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_indirect_2/dma/S_AXI_LITE/Reg] SEG_dma_Reg9 + create_bd_addr_seg -range 0x10000 -offset 0x10120000 [get_bd_addr_spaces accel_group_indirect_1/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_direct_1/dma/S_AXI_LITE/Reg] SEG_dma_Reg20 + create_bd_addr_seg -range 0x10000 -offset 0x10220000 [get_bd_addr_spaces accel_group_indirect_1/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_indirect_3/dma/S_AXI_LITE/Reg] SEG_dma_Reg21 + create_bd_addr_seg -range 0x10000 -offset 0x10160000 [get_bd_addr_spaces accel_group_indirect_1/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_indirect_0/dma/S_AXI_LITE/Reg] SEG_dma_Reg27 + create_bd_addr_seg -range 0x10000 -offset 0x101A0000 [get_bd_addr_spaces accel_group_indirect_1/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_indirect_1/dma/S_AXI_LITE/Reg] SEG_dma_Reg35 + create_bd_addr_seg -range 0x10000 -offset 0x10260000 [get_bd_addr_spaces accel_group_indirect_1/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_sg/dma_sg_pcie_scheduler/s_axi_cfg/Reg] SEG_dma_sg_pcie_scheduler_Reg + create_bd_addr_seg -range 0x10000 -offset 0x10060000 [get_bd_addr_spaces accel_group_indirect_1/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs fetch_scheduler/s_axi_int_cfg/Reg] SEG_fetch_scheduler_Reg + create_bd_addr_seg -range 0x10000 -offset 0x10320000 [get_bd_addr_spaces accel_group_indirect_1/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs gpio_ack/S_AXI/Reg] SEG_gpio_ack_Reg + create_bd_addr_seg -range 0x10000 -offset 0x10040000 [get_bd_addr_spaces accel_group_indirect_1/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs gpio_msi/S_AXI/Reg] SEG_gpio_msi_Reg + create_bd_addr_seg -range 0x10000 -offset 0x10300000 [get_bd_addr_spaces accel_group_indirect_1/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs gpio_msi_read/S_AXI/Reg] SEG_gpio_msi_read_Reg + create_bd_addr_seg -range 0x10000 -offset 0x10030000 [get_bd_addr_spaces accel_group_indirect_1/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs gpio_pcie_interrupt/S_AXI/Reg] SEG_gpio_pcie_interrupt_Reg + create_bd_addr_seg -range 0x10000 -offset 0x10310000 [get_bd_addr_spaces accel_group_indirect_1/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs interrupt_manager/s_axi_cfg/Reg] SEG_interrupt_manager_Reg + create_bd_addr_seg -range 0x20000000 -offset 0x80000000 [get_bd_addr_spaces accel_group_indirect_1/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs mig/memmap/memaddr] SEG_mig_memaddr + create_bd_addr_seg -range 0x400000 -offset 0x20000000 [get_bd_addr_spaces accel_group_indirect_1/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs pcie/S_AXI/BAR0] SEG_pcie_BAR0 + create_bd_addr_seg -range 0x400000 -offset 0x30000000 [get_bd_addr_spaces accel_group_indirect_1/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs pcie/S_AXI/BAR1] SEG_pcie_BAR1 + create_bd_addr_seg -range 0x400000 -offset 0x40000000 [get_bd_addr_spaces accel_group_indirect_1/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs pcie/S_AXI/BAR2] SEG_pcie_BAR2 + create_bd_addr_seg -range 0x400000 -offset 0x50000000 [get_bd_addr_spaces accel_group_indirect_1/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs pcie/S_AXI/BAR3] SEG_pcie_BAR3 + create_bd_addr_seg -range 0x1000 -offset 0x60000000 [get_bd_addr_spaces accel_group_indirect_1/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs pcie/S_AXI/BAR4] SEG_pcie_BAR4 + create_bd_addr_seg -range 0x1000 -offset 0x70000000 [get_bd_addr_spaces accel_group_indirect_1/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs pcie/S_AXI/BAR5] SEG_pcie_BAR5 + create_bd_addr_seg -range 0x10000 -offset 0x10020000 [get_bd_addr_spaces accel_group_indirect_1/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs pcie/S_AXI_CTL/CTL0] SEG_pcie_CTL0 + create_bd_addr_seg -range 0x10000 -offset 0x10080000 [get_bd_addr_spaces accel_group_indirect_1/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs info_memory_block_fetch/s_axi_int_cfg/Reg] SEG_info_memory_block_fetch_Reg + create_bd_addr_seg -range 0x10000 -offset 0x10090000 [get_bd_addr_spaces accel_group_indirect_1/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs info_memory_block_send/s_axi_int_cfg/Reg] SEG_info_memory_block_send_Reg + create_bd_addr_seg -range 0x10000 -offset 0x10070000 [get_bd_addr_spaces accel_group_indirect_1/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs send_scheduler/s_axi_int_cfg/Reg] SEG_send_scheduler_Reg + create_bd_addr_seg -range 0x10000 -offset 0x10050000 [get_bd_addr_spaces accel_group_indirect_1/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs shared_apm/S_AXI/Reg] SEG_shared_apm_Reg + create_bd_addr_seg -range 0x40000 -offset 0xC0000000 [get_bd_addr_spaces accel_group_indirect_1/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs shared_metrics_bram_controller/S_AXI/Mem0] SEG_shared_metrics_bram_controller_Mem0 + create_bd_addr_seg -range 0x10000 -offset 0x100F0000 [get_bd_addr_spaces accel_group_indirect_1/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_direct_0/sobel_filter/s_axi_S_AXI4_LITE/Reg] SEG_sobel_filter_Reg + create_bd_addr_seg -range 0x10000 -offset 0x10280000 [get_bd_addr_spaces accel_group_indirect_1/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_sg/sobel_filter/s_axi_S_AXI4_LITE/Reg] SEG_sobel_filter_Reg7 + create_bd_addr_seg -range 0x10000 -offset 0x101F0000 [get_bd_addr_spaces accel_group_indirect_1/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_indirect_2/sobel_filter/s_axi_S_AXI4_LITE/Reg] SEG_sobel_filter_Reg13 + create_bd_addr_seg -range 0x10000 -offset 0x10130000 [get_bd_addr_spaces accel_group_indirect_1/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_direct_1/sobel_filter/s_axi_S_AXI4_LITE/Reg] SEG_sobel_filter_Reg22 + create_bd_addr_seg -range 0x10000 -offset 0x10230000 [get_bd_addr_spaces accel_group_indirect_1/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_indirect_3/sobel_filter/s_axi_S_AXI4_LITE/Reg] SEG_sobel_filter_Reg23 + create_bd_addr_seg -range 0x10000 -offset 0x10170000 [get_bd_addr_spaces accel_group_indirect_1/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_indirect_0/sobel_filter/s_axi_S_AXI4_LITE/Reg] SEG_sobel_filter_Reg29 + create_bd_addr_seg -range 0x10000 -offset 0x101B0000 [get_bd_addr_spaces accel_group_indirect_1/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_indirect_1/sobel_filter/s_axi_S_AXI4_LITE/Reg] SEG_sobel_filter_Reg37 + create_bd_addr_seg -range 0x20000000 -offset 0x80000000 [get_bd_addr_spaces accel_group_indirect_1/dma/Data_MM2S] [get_bd_addr_segs mig/memmap/memaddr] SEG_mig_memaddr + create_bd_addr_seg -range 0x20000000 -offset 0x80000000 [get_bd_addr_spaces accel_group_indirect_1/dma/Data_S2MM] [get_bd_addr_segs mig/memmap/memaddr] SEG_mig_memaddr + create_bd_addr_seg -range 0x400000 -offset 0x20000000 [get_bd_addr_spaces accel_group_indirect_1/dma/Data_MM2S] [get_bd_addr_segs pcie/S_AXI/BAR0] SEG_pcie_BAR0 + create_bd_addr_seg -range 0x400000 -offset 0x20000000 [get_bd_addr_spaces accel_group_indirect_1/dma/Data_S2MM] [get_bd_addr_segs pcie/S_AXI/BAR0] SEG_pcie_BAR0 + create_bd_addr_seg -range 0x400000 -offset 0x30000000 [get_bd_addr_spaces accel_group_indirect_1/dma/Data_MM2S] [get_bd_addr_segs pcie/S_AXI/BAR1] SEG_pcie_BAR1 + create_bd_addr_seg -range 0x400000 -offset 0x30000000 [get_bd_addr_spaces accel_group_indirect_1/dma/Data_S2MM] [get_bd_addr_segs pcie/S_AXI/BAR1] SEG_pcie_BAR1 + create_bd_addr_seg -range 0x400000 -offset 0x40000000 [get_bd_addr_spaces accel_group_indirect_1/dma/Data_MM2S] [get_bd_addr_segs pcie/S_AXI/BAR2] SEG_pcie_BAR2 + create_bd_addr_seg -range 0x400000 -offset 0x40000000 [get_bd_addr_spaces accel_group_indirect_1/dma/Data_S2MM] [get_bd_addr_segs pcie/S_AXI/BAR2] SEG_pcie_BAR2 + create_bd_addr_seg -range 0x400000 -offset 0x50000000 [get_bd_addr_spaces accel_group_indirect_1/dma/Data_MM2S] [get_bd_addr_segs pcie/S_AXI/BAR3] SEG_pcie_BAR3 + create_bd_addr_seg -range 0x400000 -offset 0x50000000 [get_bd_addr_spaces accel_group_indirect_1/dma/Data_S2MM] [get_bd_addr_segs pcie/S_AXI/BAR3] SEG_pcie_BAR3 + create_bd_addr_seg -range 0x1000 -offset 0x60000000 [get_bd_addr_spaces accel_group_indirect_1/dma/Data_MM2S] [get_bd_addr_segs pcie/S_AXI/BAR4] SEG_pcie_BAR4 + create_bd_addr_seg -range 0x1000 -offset 0x60000000 [get_bd_addr_spaces accel_group_indirect_1/dma/Data_S2MM] [get_bd_addr_segs pcie/S_AXI/BAR4] SEG_pcie_BAR4 + create_bd_addr_seg -range 0x1000 -offset 0x70000000 [get_bd_addr_spaces accel_group_indirect_1/dma/Data_MM2S] [get_bd_addr_segs pcie/S_AXI/BAR5] SEG_pcie_BAR5 + create_bd_addr_seg -range 0x1000 -offset 0x70000000 [get_bd_addr_spaces accel_group_indirect_1/dma/Data_S2MM] [get_bd_addr_segs pcie/S_AXI/BAR5] SEG_pcie_BAR5 + create_bd_addr_seg -range 0x10000 -offset 0x100C0000 [get_bd_addr_spaces accel_group_indirect_2/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_direct_0/acceleration_scheduler_direct/s_axi_mm2s_cfg/Reg] SEG_acceleration_scheduler_direct_Reg + create_bd_addr_seg -range 0x10000 -offset 0x10100000 [get_bd_addr_spaces accel_group_indirect_2/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_direct_1/acceleration_scheduler_direct/s_axi_mm2s_cfg/Reg] SEG_acceleration_scheduler_direct_Reg16 + create_bd_addr_seg -range 0x10000 -offset 0x10140000 [get_bd_addr_spaces accel_group_indirect_2/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_indirect_0/acceleration_scheduler_indirect/s_axi_int_cfg/Reg] SEG_acceleration_scheduler_indirect_Reg + create_bd_addr_seg -range 0x10000 -offset 0x10200000 [get_bd_addr_spaces accel_group_indirect_2/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_indirect_3/acceleration_scheduler_indirect/s_axi_int_cfg/Reg] SEG_acceleration_scheduler_indirect_Reg1 + create_bd_addr_seg -range 0x10000 -offset 0x10180000 [get_bd_addr_spaces accel_group_indirect_2/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_indirect_1/acceleration_scheduler_indirect/s_axi_int_cfg/Reg] SEG_acceleration_scheduler_indirect_Reg31 + create_bd_addr_seg -range 0x10000 -offset 0x101C0000 [get_bd_addr_spaces accel_group_indirect_2/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_indirect_2/acceleration_scheduler_indirect/s_axi_int_cfg/Reg] SEG_acceleration_scheduler_indirect_Reg39 + create_bd_addr_seg -range 0x10000 -offset 0x10240000 [get_bd_addr_spaces accel_group_indirect_2/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_sg/acceleration_scheduler_sg_xdma/s_axi_mm2s_cfg/Reg] SEG_acceleration_scheduler_sg_xdma_Reg + create_bd_addr_seg -range 0x10000 -offset 0x100D0000 [get_bd_addr_spaces accel_group_indirect_2/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_direct_0/apm/S_AXI/Reg] SEG_apm_Reg + create_bd_addr_seg -range 0x10000 -offset 0x10250000 [get_bd_addr_spaces accel_group_indirect_2/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_sg/apm/S_AXI/Reg] SEG_apm_Reg2 + create_bd_addr_seg -range 0x10000 -offset 0x10210000 [get_bd_addr_spaces accel_group_indirect_2/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_indirect_3/apm/S_AXI/Reg] SEG_apm_Reg3 + create_bd_addr_seg -range 0x10000 -offset 0x10110000 [get_bd_addr_spaces accel_group_indirect_2/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_direct_1/apm/S_AXI/Reg] SEG_apm_Reg18 + create_bd_addr_seg -range 0x10000 -offset 0x10150000 [get_bd_addr_spaces accel_group_indirect_2/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_indirect_0/apm/S_AXI/Reg] SEG_apm_Reg25 + create_bd_addr_seg -range 0x10000 -offset 0x10190000 [get_bd_addr_spaces accel_group_indirect_2/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_indirect_1/apm/S_AXI/Reg] SEG_apm_Reg33 + create_bd_addr_seg -range 0x10000 -offset 0x101D0000 [get_bd_addr_spaces accel_group_indirect_2/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_indirect_2/apm/S_AXI/Reg] SEG_apm_Reg41 + create_bd_addr_seg -range 0x10000 -offset 0x10000000 [get_bd_addr_spaces accel_group_indirect_2/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs axi_interrupt_controller/s_axi/Reg] SEG_axi_interrupt_controller_Reg + create_bd_addr_seg -range 0x10000 -offset 0x10010000 [get_bd_addr_spaces accel_group_indirect_2/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs axi_uartlite/S_AXI/Reg] SEG_axi_uartlite_Reg + create_bd_addr_seg -range 0x10000 -offset 0x100A0000 [get_bd_addr_spaces accel_group_indirect_2/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs cdma_fetch/S_AXI_LITE/Reg] SEG_cdma_fetch_Reg + create_bd_addr_seg -range 0x10000 -offset 0x100B0000 [get_bd_addr_spaces accel_group_indirect_2/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs cdma_send/S_AXI_LITE/Reg] SEG_cdma_send_Reg + create_bd_addr_seg -range 0x10000 -offset 0x100E0000 [get_bd_addr_spaces accel_group_indirect_2/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_direct_0/dma/S_AXI_LITE/Reg] SEG_dma_Reg + create_bd_addr_seg -range 0x10000 -offset 0x10290000 [get_bd_addr_spaces accel_group_indirect_2/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_sg/dma/S_AXI_LITE/Reg] SEG_dma_Reg4 + create_bd_addr_seg -range 0x10000 -offset 0x10220000 [get_bd_addr_spaces accel_group_indirect_2/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_indirect_3/dma/S_AXI_LITE/Reg] SEG_dma_Reg5 + create_bd_addr_seg -range 0x10000 -offset 0x10120000 [get_bd_addr_spaces accel_group_indirect_2/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_direct_1/dma/S_AXI_LITE/Reg] SEG_dma_Reg20 + create_bd_addr_seg -range 0x10000 -offset 0x10160000 [get_bd_addr_spaces accel_group_indirect_2/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_indirect_0/dma/S_AXI_LITE/Reg] SEG_dma_Reg27 + create_bd_addr_seg -range 0x10000 -offset 0x101A0000 [get_bd_addr_spaces accel_group_indirect_2/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_indirect_1/dma/S_AXI_LITE/Reg] SEG_dma_Reg35 + create_bd_addr_seg -range 0x10000 -offset 0x101E0000 [get_bd_addr_spaces accel_group_indirect_2/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_indirect_2/dma/S_AXI_LITE/Reg] SEG_dma_Reg43 + create_bd_addr_seg -range 0x10000 -offset 0x10260000 [get_bd_addr_spaces accel_group_indirect_2/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_sg/dma_sg_pcie_scheduler/s_axi_cfg/Reg] SEG_dma_sg_pcie_scheduler_Reg + create_bd_addr_seg -range 0x10000 -offset 0x10060000 [get_bd_addr_spaces accel_group_indirect_2/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs fetch_scheduler/s_axi_int_cfg/Reg] SEG_fetch_scheduler_Reg + create_bd_addr_seg -range 0x10000 -offset 0x10320000 [get_bd_addr_spaces accel_group_indirect_2/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs gpio_ack/S_AXI/Reg] SEG_gpio_ack_Reg + create_bd_addr_seg -range 0x10000 -offset 0x10040000 [get_bd_addr_spaces accel_group_indirect_2/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs gpio_msi/S_AXI/Reg] SEG_gpio_msi_Reg + create_bd_addr_seg -range 0x10000 -offset 0x10300000 [get_bd_addr_spaces accel_group_indirect_2/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs gpio_msi_read/S_AXI/Reg] SEG_gpio_msi_read_Reg + create_bd_addr_seg -range 0x10000 -offset 0x10030000 [get_bd_addr_spaces accel_group_indirect_2/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs gpio_pcie_interrupt/S_AXI/Reg] SEG_gpio_pcie_interrupt_Reg + create_bd_addr_seg -range 0x10000 -offset 0x10310000 [get_bd_addr_spaces accel_group_indirect_2/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs interrupt_manager/s_axi_cfg/Reg] SEG_interrupt_manager_Reg + create_bd_addr_seg -range 0x20000000 -offset 0x80000000 [get_bd_addr_spaces accel_group_indirect_2/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs mig/memmap/memaddr] SEG_mig_memaddr + create_bd_addr_seg -range 0x400000 -offset 0x20000000 [get_bd_addr_spaces accel_group_indirect_2/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs pcie/S_AXI/BAR0] SEG_pcie_BAR0 + create_bd_addr_seg -range 0x400000 -offset 0x30000000 [get_bd_addr_spaces accel_group_indirect_2/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs pcie/S_AXI/BAR1] SEG_pcie_BAR1 + create_bd_addr_seg -range 0x400000 -offset 0x40000000 [get_bd_addr_spaces accel_group_indirect_2/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs pcie/S_AXI/BAR2] SEG_pcie_BAR2 + create_bd_addr_seg -range 0x400000 -offset 0x50000000 [get_bd_addr_spaces accel_group_indirect_2/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs pcie/S_AXI/BAR3] SEG_pcie_BAR3 + create_bd_addr_seg -range 0x1000 -offset 0x60000000 [get_bd_addr_spaces accel_group_indirect_2/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs pcie/S_AXI/BAR4] SEG_pcie_BAR4 + create_bd_addr_seg -range 0x1000 -offset 0x70000000 [get_bd_addr_spaces accel_group_indirect_2/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs pcie/S_AXI/BAR5] SEG_pcie_BAR5 + create_bd_addr_seg -range 0x10000 -offset 0x10020000 [get_bd_addr_spaces accel_group_indirect_2/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs pcie/S_AXI_CTL/CTL0] SEG_pcie_CTL0 + create_bd_addr_seg -range 0x10000 -offset 0x10080000 [get_bd_addr_spaces accel_group_indirect_2/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs info_memory_block_fetch/s_axi_int_cfg/Reg] SEG_info_memory_block_fetch_Reg + create_bd_addr_seg -range 0x10000 -offset 0x10090000 [get_bd_addr_spaces accel_group_indirect_2/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs info_memory_block_send/s_axi_int_cfg/Reg] SEG_info_memory_block_send_Reg + create_bd_addr_seg -range 0x10000 -offset 0x10070000 [get_bd_addr_spaces accel_group_indirect_2/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs send_scheduler/s_axi_int_cfg/Reg] SEG_send_scheduler_Reg + create_bd_addr_seg -range 0x10000 -offset 0x10050000 [get_bd_addr_spaces accel_group_indirect_2/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs shared_apm/S_AXI/Reg] SEG_shared_apm_Reg + create_bd_addr_seg -range 0x40000 -offset 0xC0000000 [get_bd_addr_spaces accel_group_indirect_2/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs shared_metrics_bram_controller/S_AXI/Mem0] SEG_shared_metrics_bram_controller_Mem0 + create_bd_addr_seg -range 0x10000 -offset 0x100F0000 [get_bd_addr_spaces accel_group_indirect_2/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_direct_0/sobel_filter/s_axi_S_AXI4_LITE/Reg] SEG_sobel_filter_Reg + create_bd_addr_seg -range 0x10000 -offset 0x10230000 [get_bd_addr_spaces accel_group_indirect_2/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_indirect_3/sobel_filter/s_axi_S_AXI4_LITE/Reg] SEG_sobel_filter_Reg7 + create_bd_addr_seg -range 0x10000 -offset 0x10280000 [get_bd_addr_spaces accel_group_indirect_2/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_sg/sobel_filter/s_axi_S_AXI4_LITE/Reg] SEG_sobel_filter_Reg8 + create_bd_addr_seg -range 0x10000 -offset 0x10130000 [get_bd_addr_spaces accel_group_indirect_2/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_direct_1/sobel_filter/s_axi_S_AXI4_LITE/Reg] SEG_sobel_filter_Reg22 + create_bd_addr_seg -range 0x10000 -offset 0x10170000 [get_bd_addr_spaces accel_group_indirect_2/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_indirect_0/sobel_filter/s_axi_S_AXI4_LITE/Reg] SEG_sobel_filter_Reg29 + create_bd_addr_seg -range 0x10000 -offset 0x101B0000 [get_bd_addr_spaces accel_group_indirect_2/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_indirect_1/sobel_filter/s_axi_S_AXI4_LITE/Reg] SEG_sobel_filter_Reg37 + create_bd_addr_seg -range 0x10000 -offset 0x101F0000 [get_bd_addr_spaces accel_group_indirect_2/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_indirect_2/sobel_filter/s_axi_S_AXI4_LITE/Reg] SEG_sobel_filter_Reg45 + create_bd_addr_seg -range 0x20000000 -offset 0x80000000 [get_bd_addr_spaces accel_group_indirect_2/dma/Data_MM2S] [get_bd_addr_segs mig/memmap/memaddr] SEG_mig_memaddr + create_bd_addr_seg -range 0x20000000 -offset 0x80000000 [get_bd_addr_spaces accel_group_indirect_2/dma/Data_S2MM] [get_bd_addr_segs mig/memmap/memaddr] SEG_mig_memaddr + create_bd_addr_seg -range 0x400000 -offset 0x20000000 [get_bd_addr_spaces accel_group_indirect_2/dma/Data_MM2S] [get_bd_addr_segs pcie/S_AXI/BAR0] SEG_pcie_BAR0 + create_bd_addr_seg -range 0x400000 -offset 0x20000000 [get_bd_addr_spaces accel_group_indirect_2/dma/Data_S2MM] [get_bd_addr_segs pcie/S_AXI/BAR0] SEG_pcie_BAR0 + create_bd_addr_seg -range 0x400000 -offset 0x30000000 [get_bd_addr_spaces accel_group_indirect_2/dma/Data_MM2S] [get_bd_addr_segs pcie/S_AXI/BAR1] SEG_pcie_BAR1 + create_bd_addr_seg -range 0x400000 -offset 0x30000000 [get_bd_addr_spaces accel_group_indirect_2/dma/Data_S2MM] [get_bd_addr_segs pcie/S_AXI/BAR1] SEG_pcie_BAR1 + create_bd_addr_seg -range 0x400000 -offset 0x40000000 [get_bd_addr_spaces accel_group_indirect_2/dma/Data_MM2S] [get_bd_addr_segs pcie/S_AXI/BAR2] SEG_pcie_BAR2 + create_bd_addr_seg -range 0x400000 -offset 0x40000000 [get_bd_addr_spaces accel_group_indirect_2/dma/Data_S2MM] [get_bd_addr_segs pcie/S_AXI/BAR2] SEG_pcie_BAR2 + create_bd_addr_seg -range 0x400000 -offset 0x50000000 [get_bd_addr_spaces accel_group_indirect_2/dma/Data_MM2S] [get_bd_addr_segs pcie/S_AXI/BAR3] SEG_pcie_BAR3 + create_bd_addr_seg -range 0x400000 -offset 0x50000000 [get_bd_addr_spaces accel_group_indirect_2/dma/Data_S2MM] [get_bd_addr_segs pcie/S_AXI/BAR3] SEG_pcie_BAR3 + create_bd_addr_seg -range 0x1000 -offset 0x60000000 [get_bd_addr_spaces accel_group_indirect_2/dma/Data_MM2S] [get_bd_addr_segs pcie/S_AXI/BAR4] SEG_pcie_BAR4 + create_bd_addr_seg -range 0x1000 -offset 0x60000000 [get_bd_addr_spaces accel_group_indirect_2/dma/Data_S2MM] [get_bd_addr_segs pcie/S_AXI/BAR4] SEG_pcie_BAR4 + create_bd_addr_seg -range 0x1000 -offset 0x70000000 [get_bd_addr_spaces accel_group_indirect_2/dma/Data_MM2S] [get_bd_addr_segs pcie/S_AXI/BAR5] SEG_pcie_BAR5 + create_bd_addr_seg -range 0x1000 -offset 0x70000000 [get_bd_addr_spaces accel_group_indirect_2/dma/Data_S2MM] [get_bd_addr_segs pcie/S_AXI/BAR5] SEG_pcie_BAR5 + create_bd_addr_seg -range 0x10000 -offset 0x100C0000 [get_bd_addr_spaces accel_group_indirect_3/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_direct_0/acceleration_scheduler_direct/s_axi_mm2s_cfg/Reg] SEG_acceleration_scheduler_direct_Reg + create_bd_addr_seg -range 0x10000 -offset 0x10100000 [get_bd_addr_spaces accel_group_indirect_3/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_direct_1/acceleration_scheduler_direct/s_axi_mm2s_cfg/Reg] SEG_acceleration_scheduler_direct_Reg16 + create_bd_addr_seg -range 0x10000 -offset 0x10140000 [get_bd_addr_spaces accel_group_indirect_3/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_indirect_0/acceleration_scheduler_indirect/s_axi_int_cfg/Reg] SEG_acceleration_scheduler_indirect_Reg + create_bd_addr_seg -range 0x10000 -offset 0x10180000 [get_bd_addr_spaces accel_group_indirect_3/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_indirect_1/acceleration_scheduler_indirect/s_axi_int_cfg/Reg] SEG_acceleration_scheduler_indirect_Reg31 + create_bd_addr_seg -range 0x10000 -offset 0x101C0000 [get_bd_addr_spaces accel_group_indirect_3/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_indirect_2/acceleration_scheduler_indirect/s_axi_int_cfg/Reg] SEG_acceleration_scheduler_indirect_Reg39 + create_bd_addr_seg -range 0x10000 -offset 0x10200000 [get_bd_addr_spaces accel_group_indirect_3/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_indirect_3/acceleration_scheduler_indirect/s_axi_int_cfg/Reg] SEG_acceleration_scheduler_indirect_Reg47 + create_bd_addr_seg -range 0x10000 -offset 0x10240000 [get_bd_addr_spaces accel_group_indirect_3/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_sg/acceleration_scheduler_sg_xdma/s_axi_mm2s_cfg/Reg] SEG_acceleration_scheduler_sg_xdma_Reg + create_bd_addr_seg -range 0x10000 -offset 0x100D0000 [get_bd_addr_spaces accel_group_indirect_3/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_direct_0/apm/S_AXI/Reg] SEG_apm_Reg + create_bd_addr_seg -range 0x10000 -offset 0x10250000 [get_bd_addr_spaces accel_group_indirect_3/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_sg/apm/S_AXI/Reg] SEG_apm_Reg2 + create_bd_addr_seg -range 0x10000 -offset 0x10110000 [get_bd_addr_spaces accel_group_indirect_3/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_direct_1/apm/S_AXI/Reg] SEG_apm_Reg18 + create_bd_addr_seg -range 0x10000 -offset 0x10150000 [get_bd_addr_spaces accel_group_indirect_3/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_indirect_0/apm/S_AXI/Reg] SEG_apm_Reg25 + create_bd_addr_seg -range 0x10000 -offset 0x10190000 [get_bd_addr_spaces accel_group_indirect_3/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_indirect_1/apm/S_AXI/Reg] SEG_apm_Reg33 + create_bd_addr_seg -range 0x10000 -offset 0x101D0000 [get_bd_addr_spaces accel_group_indirect_3/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_indirect_2/apm/S_AXI/Reg] SEG_apm_Reg41 + create_bd_addr_seg -range 0x10000 -offset 0x10210000 [get_bd_addr_spaces accel_group_indirect_3/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_indirect_3/apm/S_AXI/Reg] SEG_apm_Reg49 + create_bd_addr_seg -range 0x10000 -offset 0x10000000 [get_bd_addr_spaces accel_group_indirect_3/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs axi_interrupt_controller/s_axi/Reg] SEG_axi_interrupt_controller_Reg + create_bd_addr_seg -range 0x10000 -offset 0x10010000 [get_bd_addr_spaces accel_group_indirect_3/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs axi_uartlite/S_AXI/Reg] SEG_axi_uartlite_Reg + create_bd_addr_seg -range 0x10000 -offset 0x100A0000 [get_bd_addr_spaces accel_group_indirect_3/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs cdma_fetch/S_AXI_LITE/Reg] SEG_cdma_fetch_Reg + create_bd_addr_seg -range 0x10000 -offset 0x100B0000 [get_bd_addr_spaces accel_group_indirect_3/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs cdma_send/S_AXI_LITE/Reg] SEG_cdma_send_Reg + create_bd_addr_seg -range 0x10000 -offset 0x100E0000 [get_bd_addr_spaces accel_group_indirect_3/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_direct_0/dma/S_AXI_LITE/Reg] SEG_dma_Reg + create_bd_addr_seg -range 0x10000 -offset 0x10290000 [get_bd_addr_spaces accel_group_indirect_3/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_sg/dma/S_AXI_LITE/Reg] SEG_dma_Reg4 + create_bd_addr_seg -range 0x10000 -offset 0x10120000 [get_bd_addr_spaces accel_group_indirect_3/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_direct_1/dma/S_AXI_LITE/Reg] SEG_dma_Reg20 + create_bd_addr_seg -range 0x10000 -offset 0x10160000 [get_bd_addr_spaces accel_group_indirect_3/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_indirect_0/dma/S_AXI_LITE/Reg] SEG_dma_Reg27 + create_bd_addr_seg -range 0x10000 -offset 0x101A0000 [get_bd_addr_spaces accel_group_indirect_3/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_indirect_1/dma/S_AXI_LITE/Reg] SEG_dma_Reg35 + create_bd_addr_seg -range 0x10000 -offset 0x101E0000 [get_bd_addr_spaces accel_group_indirect_3/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_indirect_2/dma/S_AXI_LITE/Reg] SEG_dma_Reg43 + create_bd_addr_seg -range 0x10000 -offset 0x10220000 [get_bd_addr_spaces accel_group_indirect_3/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_indirect_3/dma/S_AXI_LITE/Reg] SEG_dma_Reg51 + create_bd_addr_seg -range 0x10000 -offset 0x10260000 [get_bd_addr_spaces accel_group_indirect_3/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_sg/dma_sg_pcie_scheduler/s_axi_cfg/Reg] SEG_dma_sg_pcie_scheduler_Reg + create_bd_addr_seg -range 0x10000 -offset 0x10060000 [get_bd_addr_spaces accel_group_indirect_3/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs fetch_scheduler/s_axi_int_cfg/Reg] SEG_fetch_scheduler_Reg + create_bd_addr_seg -range 0x10000 -offset 0x10320000 [get_bd_addr_spaces accel_group_indirect_3/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs gpio_ack/S_AXI/Reg] SEG_gpio_ack_Reg + create_bd_addr_seg -range 0x10000 -offset 0x10040000 [get_bd_addr_spaces accel_group_indirect_3/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs gpio_msi/S_AXI/Reg] SEG_gpio_msi_Reg + create_bd_addr_seg -range 0x10000 -offset 0x10300000 [get_bd_addr_spaces accel_group_indirect_3/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs gpio_msi_read/S_AXI/Reg] SEG_gpio_msi_read_Reg + create_bd_addr_seg -range 0x10000 -offset 0x10030000 [get_bd_addr_spaces accel_group_indirect_3/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs gpio_pcie_interrupt/S_AXI/Reg] SEG_gpio_pcie_interrupt_Reg + create_bd_addr_seg -range 0x10000 -offset 0x10310000 [get_bd_addr_spaces accel_group_indirect_3/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs interrupt_manager/s_axi_cfg/Reg] SEG_interrupt_manager_Reg + create_bd_addr_seg -range 0x20000000 -offset 0x80000000 [get_bd_addr_spaces accel_group_indirect_3/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs mig/memmap/memaddr] SEG_mig_memaddr + create_bd_addr_seg -range 0x400000 -offset 0x20000000 [get_bd_addr_spaces accel_group_indirect_3/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs pcie/S_AXI/BAR0] SEG_pcie_BAR0 + create_bd_addr_seg -range 0x400000 -offset 0x30000000 [get_bd_addr_spaces accel_group_indirect_3/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs pcie/S_AXI/BAR1] SEG_pcie_BAR1 + create_bd_addr_seg -range 0x400000 -offset 0x40000000 [get_bd_addr_spaces accel_group_indirect_3/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs pcie/S_AXI/BAR2] SEG_pcie_BAR2 + create_bd_addr_seg -range 0x400000 -offset 0x50000000 [get_bd_addr_spaces accel_group_indirect_3/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs pcie/S_AXI/BAR3] SEG_pcie_BAR3 + create_bd_addr_seg -range 0x1000 -offset 0x60000000 [get_bd_addr_spaces accel_group_indirect_3/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs pcie/S_AXI/BAR4] SEG_pcie_BAR4 + create_bd_addr_seg -range 0x1000 -offset 0x70000000 [get_bd_addr_spaces accel_group_indirect_3/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs pcie/S_AXI/BAR5] SEG_pcie_BAR5 + create_bd_addr_seg -range 0x10000 -offset 0x10020000 [get_bd_addr_spaces accel_group_indirect_3/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs pcie/S_AXI_CTL/CTL0] SEG_pcie_CTL0 + create_bd_addr_seg -range 0x10000 -offset 0x10080000 [get_bd_addr_spaces accel_group_indirect_3/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs info_memory_block_fetch/s_axi_int_cfg/Reg] SEG_info_memory_block_fetch_Reg + create_bd_addr_seg -range 0x10000 -offset 0x10090000 [get_bd_addr_spaces accel_group_indirect_3/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs info_memory_block_send/s_axi_int_cfg/Reg] SEG_info_memory_block_send_Reg + create_bd_addr_seg -range 0x10000 -offset 0x10070000 [get_bd_addr_spaces accel_group_indirect_3/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs send_scheduler/s_axi_int_cfg/Reg] SEG_send_scheduler_Reg + create_bd_addr_seg -range 0x10000 -offset 0x10050000 [get_bd_addr_spaces accel_group_indirect_3/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs shared_apm/S_AXI/Reg] SEG_shared_apm_Reg + create_bd_addr_seg -range 0x40000 -offset 0xC0000000 [get_bd_addr_spaces accel_group_indirect_3/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs shared_metrics_bram_controller/S_AXI/Mem0] SEG_shared_metrics_bram_controller_Mem0 + create_bd_addr_seg -range 0x10000 -offset 0x100F0000 [get_bd_addr_spaces accel_group_indirect_3/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_direct_0/sobel_filter/s_axi_S_AXI4_LITE/Reg] SEG_sobel_filter_Reg + create_bd_addr_seg -range 0x10000 -offset 0x10280000 [get_bd_addr_spaces accel_group_indirect_3/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_sg/sobel_filter/s_axi_S_AXI4_LITE/Reg] SEG_sobel_filter_Reg7 + create_bd_addr_seg -range 0x10000 -offset 0x10130000 [get_bd_addr_spaces accel_group_indirect_3/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_direct_1/sobel_filter/s_axi_S_AXI4_LITE/Reg] SEG_sobel_filter_Reg22 + create_bd_addr_seg -range 0x10000 -offset 0x10170000 [get_bd_addr_spaces accel_group_indirect_3/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_indirect_0/sobel_filter/s_axi_S_AXI4_LITE/Reg] SEG_sobel_filter_Reg29 + create_bd_addr_seg -range 0x10000 -offset 0x101B0000 [get_bd_addr_spaces accel_group_indirect_3/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_indirect_1/sobel_filter/s_axi_S_AXI4_LITE/Reg] SEG_sobel_filter_Reg37 + create_bd_addr_seg -range 0x10000 -offset 0x101F0000 [get_bd_addr_spaces accel_group_indirect_3/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_indirect_2/sobel_filter/s_axi_S_AXI4_LITE/Reg] SEG_sobel_filter_Reg45 + create_bd_addr_seg -range 0x10000 -offset 0x10230000 [get_bd_addr_spaces accel_group_indirect_3/acceleration_scheduler_indirect/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_indirect_3/sobel_filter/s_axi_S_AXI4_LITE/Reg] SEG_sobel_filter_Reg53 + create_bd_addr_seg -range 0x20000000 -offset 0x80000000 [get_bd_addr_spaces accel_group_indirect_3/dma/Data_MM2S] [get_bd_addr_segs mig/memmap/memaddr] SEG_mig_memaddr + create_bd_addr_seg -range 0x20000000 -offset 0x80000000 [get_bd_addr_spaces accel_group_indirect_3/dma/Data_S2MM] [get_bd_addr_segs mig/memmap/memaddr] SEG_mig_memaddr + create_bd_addr_seg -range 0x400000 -offset 0x20000000 [get_bd_addr_spaces accel_group_indirect_3/dma/Data_MM2S] [get_bd_addr_segs pcie/S_AXI/BAR0] SEG_pcie_BAR0 + create_bd_addr_seg -range 0x400000 -offset 0x20000000 [get_bd_addr_spaces accel_group_indirect_3/dma/Data_S2MM] [get_bd_addr_segs pcie/S_AXI/BAR0] SEG_pcie_BAR0 + create_bd_addr_seg -range 0x400000 -offset 0x30000000 [get_bd_addr_spaces accel_group_indirect_3/dma/Data_MM2S] [get_bd_addr_segs pcie/S_AXI/BAR1] SEG_pcie_BAR1 + create_bd_addr_seg -range 0x400000 -offset 0x30000000 [get_bd_addr_spaces accel_group_indirect_3/dma/Data_S2MM] [get_bd_addr_segs pcie/S_AXI/BAR1] SEG_pcie_BAR1 + create_bd_addr_seg -range 0x400000 -offset 0x40000000 [get_bd_addr_spaces accel_group_indirect_3/dma/Data_MM2S] [get_bd_addr_segs pcie/S_AXI/BAR2] SEG_pcie_BAR2 + create_bd_addr_seg -range 0x400000 -offset 0x40000000 [get_bd_addr_spaces accel_group_indirect_3/dma/Data_S2MM] [get_bd_addr_segs pcie/S_AXI/BAR2] SEG_pcie_BAR2 + create_bd_addr_seg -range 0x400000 -offset 0x50000000 [get_bd_addr_spaces accel_group_indirect_3/dma/Data_MM2S] [get_bd_addr_segs pcie/S_AXI/BAR3] SEG_pcie_BAR3 + create_bd_addr_seg -range 0x400000 -offset 0x50000000 [get_bd_addr_spaces accel_group_indirect_3/dma/Data_S2MM] [get_bd_addr_segs pcie/S_AXI/BAR3] SEG_pcie_BAR3 + create_bd_addr_seg -range 0x1000 -offset 0x60000000 [get_bd_addr_spaces accel_group_indirect_3/dma/Data_MM2S] [get_bd_addr_segs pcie/S_AXI/BAR4] SEG_pcie_BAR4 + create_bd_addr_seg -range 0x1000 -offset 0x60000000 [get_bd_addr_spaces accel_group_indirect_3/dma/Data_S2MM] [get_bd_addr_segs pcie/S_AXI/BAR4] SEG_pcie_BAR4 + create_bd_addr_seg -range 0x1000 -offset 0x70000000 [get_bd_addr_spaces accel_group_indirect_3/dma/Data_MM2S] [get_bd_addr_segs pcie/S_AXI/BAR5] SEG_pcie_BAR5 + create_bd_addr_seg -range 0x1000 -offset 0x70000000 [get_bd_addr_spaces accel_group_indirect_3/dma/Data_S2MM] [get_bd_addr_segs pcie/S_AXI/BAR5] SEG_pcie_BAR5 + create_bd_addr_seg -range 0x10000 -offset 0x100C0000 [get_bd_addr_spaces accel_group_sg/acceleration_scheduler_sg_xdma/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_direct_0/acceleration_scheduler_direct/s_axi_mm2s_cfg/Reg] SEG_acceleration_scheduler_direct_Reg + create_bd_addr_seg -range 0x10000 -offset 0x10100000 [get_bd_addr_spaces accel_group_sg/acceleration_scheduler_sg_xdma/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_direct_1/acceleration_scheduler_direct/s_axi_mm2s_cfg/Reg] SEG_acceleration_scheduler_direct_Reg9 + create_bd_addr_seg -range 0x10000 -offset 0x10140000 [get_bd_addr_spaces accel_group_sg/acceleration_scheduler_sg_xdma/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_indirect_0/acceleration_scheduler_indirect/s_axi_int_cfg/Reg] SEG_acceleration_scheduler_indirect_Reg + create_bd_addr_seg -range 0x10000 -offset 0x10180000 [get_bd_addr_spaces accel_group_sg/acceleration_scheduler_sg_xdma/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_indirect_1/acceleration_scheduler_indirect/s_axi_int_cfg/Reg] SEG_acceleration_scheduler_indirect_Reg39 + create_bd_addr_seg -range 0x10000 -offset 0x101C0000 [get_bd_addr_spaces accel_group_sg/acceleration_scheduler_sg_xdma/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_indirect_2/acceleration_scheduler_indirect/s_axi_int_cfg/Reg] SEG_acceleration_scheduler_indirect_Reg55 + create_bd_addr_seg -range 0x10000 -offset 0x10200000 [get_bd_addr_spaces accel_group_sg/acceleration_scheduler_sg_xdma/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_indirect_3/acceleration_scheduler_indirect/s_axi_int_cfg/Reg] SEG_acceleration_scheduler_indirect_Reg71 + create_bd_addr_seg -range 0x10000 -offset 0x10240000 [get_bd_addr_spaces accel_group_sg/acceleration_scheduler_sg_xdma/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_sg/acceleration_scheduler_sg_xdma/s_axi_mm2s_cfg/Reg] SEG_acceleration_scheduler_sg_xdma_Reg + create_bd_addr_seg -range 0x10000 -offset 0x100D0000 [get_bd_addr_spaces accel_group_sg/acceleration_scheduler_sg_xdma/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_direct_0/apm/S_AXI/Reg] SEG_apm_Reg + create_bd_addr_seg -range 0x10000 -offset 0x10110000 [get_bd_addr_spaces accel_group_sg/acceleration_scheduler_sg_xdma/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_direct_1/apm/S_AXI/Reg] SEG_apm_Reg13 + create_bd_addr_seg -range 0x10000 -offset 0x10150000 [get_bd_addr_spaces accel_group_sg/acceleration_scheduler_sg_xdma/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_indirect_0/apm/S_AXI/Reg] SEG_apm_Reg27 + create_bd_addr_seg -range 0x10000 -offset 0x10190000 [get_bd_addr_spaces accel_group_sg/acceleration_scheduler_sg_xdma/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_indirect_1/apm/S_AXI/Reg] SEG_apm_Reg43 + create_bd_addr_seg -range 0x10000 -offset 0x101D0000 [get_bd_addr_spaces accel_group_sg/acceleration_scheduler_sg_xdma/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_indirect_2/apm/S_AXI/Reg] SEG_apm_Reg59 + create_bd_addr_seg -range 0x10000 -offset 0x10210000 [get_bd_addr_spaces accel_group_sg/acceleration_scheduler_sg_xdma/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_indirect_3/apm/S_AXI/Reg] SEG_apm_Reg75 + create_bd_addr_seg -range 0x10000 -offset 0x10250000 [get_bd_addr_spaces accel_group_sg/acceleration_scheduler_sg_xdma/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_sg/apm/S_AXI/Reg] SEG_apm_Reg89 + create_bd_addr_seg -range 0x10000 -offset 0x10000000 [get_bd_addr_spaces accel_group_sg/acceleration_scheduler_sg_xdma/Data_m_axi_ext_cfg_V] [get_bd_addr_segs axi_interrupt_controller/s_axi/Reg] SEG_axi_interrupt_controller_Reg + create_bd_addr_seg -range 0x10000 -offset 0x10010000 [get_bd_addr_spaces accel_group_sg/acceleration_scheduler_sg_xdma/Data_m_axi_ext_cfg_V] [get_bd_addr_segs axi_uartlite/S_AXI/Reg] SEG_axi_uartlite_Reg + create_bd_addr_seg -range 0x10000 -offset 0x100A0000 [get_bd_addr_spaces accel_group_sg/acceleration_scheduler_sg_xdma/Data_m_axi_ext_cfg_V] [get_bd_addr_segs cdma_fetch/S_AXI_LITE/Reg] SEG_cdma_fetch_Reg + create_bd_addr_seg -range 0x10000 -offset 0x100B0000 [get_bd_addr_spaces accel_group_sg/acceleration_scheduler_sg_xdma/Data_m_axi_ext_cfg_V] [get_bd_addr_segs cdma_send/S_AXI_LITE/Reg] SEG_cdma_send_Reg + create_bd_addr_seg -range 0x10000 -offset 0x100E0000 [get_bd_addr_spaces accel_group_sg/acceleration_scheduler_sg_xdma/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_direct_0/dma/S_AXI_LITE/Reg] SEG_dma_Reg + create_bd_addr_seg -range 0x10000 -offset 0x10120000 [get_bd_addr_spaces accel_group_sg/acceleration_scheduler_sg_xdma/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_direct_1/dma/S_AXI_LITE/Reg] SEG_dma_Reg17 + create_bd_addr_seg -range 0x10000 -offset 0x10160000 [get_bd_addr_spaces accel_group_sg/acceleration_scheduler_sg_xdma/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_indirect_0/dma/S_AXI_LITE/Reg] SEG_dma_Reg31 + create_bd_addr_seg -range 0x10000 -offset 0x101A0000 [get_bd_addr_spaces accel_group_sg/acceleration_scheduler_sg_xdma/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_indirect_1/dma/S_AXI_LITE/Reg] SEG_dma_Reg47 + create_bd_addr_seg -range 0x10000 -offset 0x101E0000 [get_bd_addr_spaces accel_group_sg/acceleration_scheduler_sg_xdma/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_indirect_2/dma/S_AXI_LITE/Reg] SEG_dma_Reg63 + create_bd_addr_seg -range 0x10000 -offset 0x10220000 [get_bd_addr_spaces accel_group_sg/acceleration_scheduler_sg_xdma/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_indirect_3/dma/S_AXI_LITE/Reg] SEG_dma_Reg79 + create_bd_addr_seg -range 0x10000 -offset 0x10290000 [get_bd_addr_spaces accel_group_sg/acceleration_scheduler_sg_xdma/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_sg/dma/S_AXI_LITE/Reg] SEG_dma_Reg93 + create_bd_addr_seg -range 0x10000 -offset 0x10260000 [get_bd_addr_spaces accel_group_sg/acceleration_scheduler_sg_xdma/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_sg/dma_sg_pcie_scheduler/s_axi_cfg/Reg] SEG_dma_sg_pcie_scheduler_Reg + create_bd_addr_seg -range 0x10000 -offset 0x10060000 [get_bd_addr_spaces accel_group_sg/acceleration_scheduler_sg_xdma/Data_m_axi_ext_cfg_V] [get_bd_addr_segs fetch_scheduler/s_axi_int_cfg/Reg] SEG_fetch_scheduler_Reg + create_bd_addr_seg -range 0x10000 -offset 0x10320000 [get_bd_addr_spaces accel_group_sg/acceleration_scheduler_sg_xdma/Data_m_axi_ext_cfg_V] [get_bd_addr_segs gpio_ack/S_AXI/Reg] SEG_gpio_ack_Reg + create_bd_addr_seg -range 0x10000 -offset 0x10040000 [get_bd_addr_spaces accel_group_sg/acceleration_scheduler_sg_xdma/Data_m_axi_ext_cfg_V] [get_bd_addr_segs gpio_msi/S_AXI/Reg] SEG_gpio_msi_Reg + create_bd_addr_seg -range 0x10000 -offset 0x10300000 [get_bd_addr_spaces accel_group_sg/acceleration_scheduler_sg_xdma/Data_m_axi_ext_cfg_V] [get_bd_addr_segs gpio_msi_read/S_AXI/Reg] SEG_gpio_msi_read_Reg + create_bd_addr_seg -range 0x10000 -offset 0x10030000 [get_bd_addr_spaces accel_group_sg/acceleration_scheduler_sg_xdma/Data_m_axi_ext_cfg_V] [get_bd_addr_segs gpio_pcie_interrupt/S_AXI/Reg] SEG_gpio_pcie_interrupt_Reg + create_bd_addr_seg -range 0x10000 -offset 0x10310000 [get_bd_addr_spaces accel_group_sg/acceleration_scheduler_sg_xdma/Data_m_axi_ext_cfg_V] [get_bd_addr_segs interrupt_manager/s_axi_cfg/Reg] SEG_interrupt_manager_Reg + create_bd_addr_seg -range 0x20000000 -offset 0x80000000 [get_bd_addr_spaces accel_group_sg/acceleration_scheduler_sg_xdma/Data_m_axi_ext_cfg_V] [get_bd_addr_segs mig/memmap/memaddr] SEG_mig_memaddr + create_bd_addr_seg -range 0x400000 -offset 0x20000000 [get_bd_addr_spaces accel_group_sg/acceleration_scheduler_sg_xdma/Data_m_axi_ext_cfg_V] [get_bd_addr_segs pcie/S_AXI/BAR0] SEG_pcie_BAR0 + create_bd_addr_seg -range 0x400000 -offset 0x30000000 [get_bd_addr_spaces accel_group_sg/acceleration_scheduler_sg_xdma/Data_m_axi_ext_cfg_V] [get_bd_addr_segs pcie/S_AXI/BAR1] SEG_pcie_BAR1 + create_bd_addr_seg -range 0x400000 -offset 0x40000000 [get_bd_addr_spaces accel_group_sg/acceleration_scheduler_sg_xdma/Data_m_axi_ext_cfg_V] [get_bd_addr_segs pcie/S_AXI/BAR2] SEG_pcie_BAR2 + create_bd_addr_seg -range 0x400000 -offset 0x50000000 [get_bd_addr_spaces accel_group_sg/acceleration_scheduler_sg_xdma/Data_m_axi_ext_cfg_V] [get_bd_addr_segs pcie/S_AXI/BAR3] SEG_pcie_BAR3 + create_bd_addr_seg -range 0x1000 -offset 0x60000000 [get_bd_addr_spaces accel_group_sg/acceleration_scheduler_sg_xdma/Data_m_axi_ext_cfg_V] [get_bd_addr_segs pcie/S_AXI/BAR4] SEG_pcie_BAR4 + create_bd_addr_seg -range 0x1000 -offset 0x70000000 [get_bd_addr_spaces accel_group_sg/acceleration_scheduler_sg_xdma/Data_m_axi_ext_cfg_V] [get_bd_addr_segs pcie/S_AXI/BAR5] SEG_pcie_BAR5 + create_bd_addr_seg -range 0x10000 -offset 0x10020000 [get_bd_addr_spaces accel_group_sg/acceleration_scheduler_sg_xdma/Data_m_axi_ext_cfg_V] [get_bd_addr_segs pcie/S_AXI_CTL/CTL0] SEG_pcie_CTL0 + create_bd_addr_seg -range 0x10000 -offset 0x10080000 [get_bd_addr_spaces accel_group_sg/acceleration_scheduler_sg_xdma/Data_m_axi_ext_cfg_V] [get_bd_addr_segs info_memory_block_fetch/s_axi_int_cfg/Reg] SEG_info_memory_block_fetch_Reg + create_bd_addr_seg -range 0x10000 -offset 0x10090000 [get_bd_addr_spaces accel_group_sg/acceleration_scheduler_sg_xdma/Data_m_axi_ext_cfg_V] [get_bd_addr_segs info_memory_block_send/s_axi_int_cfg/Reg] SEG_info_memory_block_send_Reg + create_bd_addr_seg -range 0x10000 -offset 0x10070000 [get_bd_addr_spaces accel_group_sg/acceleration_scheduler_sg_xdma/Data_m_axi_ext_cfg_V] [get_bd_addr_segs send_scheduler/s_axi_int_cfg/Reg] SEG_send_scheduler_Reg + create_bd_addr_seg -range 0x10000 -offset 0x10050000 [get_bd_addr_spaces accel_group_sg/acceleration_scheduler_sg_xdma/Data_m_axi_ext_cfg_V] [get_bd_addr_segs shared_apm/S_AXI/Reg] SEG_shared_apm_Reg + create_bd_addr_seg -range 0x40000 -offset 0xC0000000 [get_bd_addr_spaces accel_group_sg/acceleration_scheduler_sg_xdma/Data_m_axi_ext_cfg_V] [get_bd_addr_segs shared_metrics_bram_controller/S_AXI/Mem0] SEG_shared_metrics_bram_controller_Mem0 + create_bd_addr_seg -range 0x10000 -offset 0x100F0000 [get_bd_addr_spaces accel_group_sg/acceleration_scheduler_sg_xdma/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_direct_0/sobel_filter/s_axi_S_AXI4_LITE/Reg] SEG_sobel_filter_Reg + create_bd_addr_seg -range 0x10000 -offset 0x10130000 [get_bd_addr_spaces accel_group_sg/acceleration_scheduler_sg_xdma/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_direct_1/sobel_filter/s_axi_S_AXI4_LITE/Reg] SEG_sobel_filter_Reg21 + create_bd_addr_seg -range 0x10000 -offset 0x10170000 [get_bd_addr_spaces accel_group_sg/acceleration_scheduler_sg_xdma/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_indirect_0/sobel_filter/s_axi_S_AXI4_LITE/Reg] SEG_sobel_filter_Reg35 + create_bd_addr_seg -range 0x10000 -offset 0x101B0000 [get_bd_addr_spaces accel_group_sg/acceleration_scheduler_sg_xdma/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_indirect_1/sobel_filter/s_axi_S_AXI4_LITE/Reg] SEG_sobel_filter_Reg51 + create_bd_addr_seg -range 0x10000 -offset 0x101F0000 [get_bd_addr_spaces accel_group_sg/acceleration_scheduler_sg_xdma/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_indirect_2/sobel_filter/s_axi_S_AXI4_LITE/Reg] SEG_sobel_filter_Reg67 + create_bd_addr_seg -range 0x10000 -offset 0x10230000 [get_bd_addr_spaces accel_group_sg/acceleration_scheduler_sg_xdma/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_indirect_3/sobel_filter/s_axi_S_AXI4_LITE/Reg] SEG_sobel_filter_Reg83 + create_bd_addr_seg -range 0x10000 -offset 0x10280000 [get_bd_addr_spaces accel_group_sg/acceleration_scheduler_sg_xdma/Data_m_axi_ext_cfg_V] [get_bd_addr_segs accel_group_sg/sobel_filter/s_axi_S_AXI4_LITE/Reg] SEG_sobel_filter_Reg99 + create_bd_addr_seg -range 0x20000000 -offset 0x80000000 [get_bd_addr_spaces accel_group_sg/dma/Data_MM2S] [get_bd_addr_segs mig/memmap/memaddr] SEG_mig_memaddr + create_bd_addr_seg -range 0x20000000 -offset 0x80000000 [get_bd_addr_spaces accel_group_sg/dma/Data_S2MM] [get_bd_addr_segs mig/memmap/memaddr] SEG_mig_memaddr + create_bd_addr_seg -range 0x400000 -offset 0x20000000 [get_bd_addr_spaces accel_group_sg/dma/Data_MM2S] [get_bd_addr_segs pcie/S_AXI/BAR0] SEG_pcie_BAR0 + create_bd_addr_seg -range 0x400000 -offset 0x20000000 [get_bd_addr_spaces accel_group_sg/dma/Data_S2MM] [get_bd_addr_segs pcie/S_AXI/BAR0] SEG_pcie_BAR0 + create_bd_addr_seg -range 0x400000 -offset 0x30000000 [get_bd_addr_spaces accel_group_sg/dma/Data_MM2S] [get_bd_addr_segs pcie/S_AXI/BAR1] SEG_pcie_BAR1 + create_bd_addr_seg -range 0x400000 -offset 0x30000000 [get_bd_addr_spaces accel_group_sg/dma/Data_S2MM] [get_bd_addr_segs pcie/S_AXI/BAR1] SEG_pcie_BAR1 + create_bd_addr_seg -range 0x400000 -offset 0x40000000 [get_bd_addr_spaces accel_group_sg/dma/Data_MM2S] [get_bd_addr_segs pcie/S_AXI/BAR2] SEG_pcie_BAR2 + create_bd_addr_seg -range 0x400000 -offset 0x40000000 [get_bd_addr_spaces accel_group_sg/dma/Data_S2MM] [get_bd_addr_segs pcie/S_AXI/BAR2] SEG_pcie_BAR2 + create_bd_addr_seg -range 0x400000 -offset 0x50000000 [get_bd_addr_spaces accel_group_sg/dma/Data_MM2S] [get_bd_addr_segs pcie/S_AXI/BAR3] SEG_pcie_BAR3 + create_bd_addr_seg -range 0x400000 -offset 0x50000000 [get_bd_addr_spaces accel_group_sg/dma/Data_S2MM] [get_bd_addr_segs pcie/S_AXI/BAR3] SEG_pcie_BAR3 + create_bd_addr_seg -range 0x1000 -offset 0x60000000 [get_bd_addr_spaces accel_group_sg/dma/Data_MM2S] [get_bd_addr_segs pcie/S_AXI/BAR4] SEG_pcie_BAR4 + create_bd_addr_seg -range 0x1000 -offset 0x60000000 [get_bd_addr_spaces accel_group_sg/dma/Data_S2MM] [get_bd_addr_segs pcie/S_AXI/BAR4] SEG_pcie_BAR4 + create_bd_addr_seg -range 0x1000 -offset 0x70000000 [get_bd_addr_spaces accel_group_sg/dma/Data_MM2S] [get_bd_addr_segs pcie/S_AXI/BAR5] SEG_pcie_BAR5 + create_bd_addr_seg -range 0x1000 -offset 0x70000000 [get_bd_addr_spaces accel_group_sg/dma/Data_S2MM] [get_bd_addr_segs pcie/S_AXI/BAR5] SEG_pcie_BAR5 + create_bd_addr_seg -range 0x10000 -offset 0x100C0000 [get_bd_addr_spaces accel_group_sg/dma_sg_pcie_scheduler/Data_m_axi_cfg_V] [get_bd_addr_segs accel_group_direct_0/acceleration_scheduler_direct/s_axi_mm2s_cfg/Reg] SEG_acceleration_scheduler_direct_Reg + create_bd_addr_seg -range 0x10000 -offset 0x10100000 [get_bd_addr_spaces accel_group_sg/dma_sg_pcie_scheduler/Data_m_axi_cfg_V] [get_bd_addr_segs accel_group_direct_1/acceleration_scheduler_direct/s_axi_mm2s_cfg/Reg] SEG_acceleration_scheduler_direct_Reg11 + create_bd_addr_seg -range 0x10000 -offset 0x10140000 [get_bd_addr_spaces accel_group_sg/dma_sg_pcie_scheduler/Data_m_axi_cfg_V] [get_bd_addr_segs accel_group_indirect_0/acceleration_scheduler_indirect/s_axi_int_cfg/Reg] SEG_acceleration_scheduler_indirect_Reg + create_bd_addr_seg -range 0x10000 -offset 0x10180000 [get_bd_addr_spaces accel_group_sg/dma_sg_pcie_scheduler/Data_m_axi_cfg_V] [get_bd_addr_segs accel_group_indirect_1/acceleration_scheduler_indirect/s_axi_int_cfg/Reg] SEG_acceleration_scheduler_indirect_Reg41 + create_bd_addr_seg -range 0x10000 -offset 0x101C0000 [get_bd_addr_spaces accel_group_sg/dma_sg_pcie_scheduler/Data_m_axi_cfg_V] [get_bd_addr_segs accel_group_indirect_2/acceleration_scheduler_indirect/s_axi_int_cfg/Reg] SEG_acceleration_scheduler_indirect_Reg57 + create_bd_addr_seg -range 0x10000 -offset 0x10200000 [get_bd_addr_spaces accel_group_sg/dma_sg_pcie_scheduler/Data_m_axi_cfg_V] [get_bd_addr_segs accel_group_indirect_3/acceleration_scheduler_indirect/s_axi_int_cfg/Reg] SEG_acceleration_scheduler_indirect_Reg73 + create_bd_addr_seg -range 0x10000 -offset 0x10240000 [get_bd_addr_spaces accel_group_sg/dma_sg_pcie_scheduler/Data_m_axi_cfg_V] [get_bd_addr_segs accel_group_sg/acceleration_scheduler_sg_xdma/s_axi_mm2s_cfg/Reg] SEG_acceleration_scheduler_sg_xdma_Reg + create_bd_addr_seg -range 0x10000 -offset 0x100D0000 [get_bd_addr_spaces accel_group_sg/dma_sg_pcie_scheduler/Data_m_axi_cfg_V] [get_bd_addr_segs accel_group_direct_0/apm/S_AXI/Reg] SEG_apm_Reg + create_bd_addr_seg -range 0x10000 -offset 0x10110000 [get_bd_addr_spaces accel_group_sg/dma_sg_pcie_scheduler/Data_m_axi_cfg_V] [get_bd_addr_segs accel_group_direct_1/apm/S_AXI/Reg] SEG_apm_Reg15 + create_bd_addr_seg -range 0x10000 -offset 0x10150000 [get_bd_addr_spaces accel_group_sg/dma_sg_pcie_scheduler/Data_m_axi_cfg_V] [get_bd_addr_segs accel_group_indirect_0/apm/S_AXI/Reg] SEG_apm_Reg29 + create_bd_addr_seg -range 0x10000 -offset 0x10190000 [get_bd_addr_spaces accel_group_sg/dma_sg_pcie_scheduler/Data_m_axi_cfg_V] [get_bd_addr_segs accel_group_indirect_1/apm/S_AXI/Reg] SEG_apm_Reg45 + create_bd_addr_seg -range 0x10000 -offset 0x101D0000 [get_bd_addr_spaces accel_group_sg/dma_sg_pcie_scheduler/Data_m_axi_cfg_V] [get_bd_addr_segs accel_group_indirect_2/apm/S_AXI/Reg] SEG_apm_Reg61 + create_bd_addr_seg -range 0x10000 -offset 0x10210000 [get_bd_addr_spaces accel_group_sg/dma_sg_pcie_scheduler/Data_m_axi_cfg_V] [get_bd_addr_segs accel_group_indirect_3/apm/S_AXI/Reg] SEG_apm_Reg77 + create_bd_addr_seg -range 0x10000 -offset 0x10250000 [get_bd_addr_spaces accel_group_sg/dma_sg_pcie_scheduler/Data_m_axi_cfg_V] [get_bd_addr_segs accel_group_sg/apm/S_AXI/Reg] SEG_apm_Reg91 + create_bd_addr_seg -range 0x10000 -offset 0x10000000 [get_bd_addr_spaces accel_group_sg/dma_sg_pcie_scheduler/Data_m_axi_cfg_V] [get_bd_addr_segs axi_interrupt_controller/s_axi/Reg] SEG_axi_interrupt_controller_Reg + create_bd_addr_seg -range 0x10000 -offset 0x10010000 [get_bd_addr_spaces accel_group_sg/dma_sg_pcie_scheduler/Data_m_axi_cfg_V] [get_bd_addr_segs axi_uartlite/S_AXI/Reg] SEG_axi_uartlite_Reg + create_bd_addr_seg -range 0x10000 -offset 0x100A0000 [get_bd_addr_spaces accel_group_sg/dma_sg_pcie_scheduler/Data_m_axi_cfg_V] [get_bd_addr_segs cdma_fetch/S_AXI_LITE/Reg] SEG_cdma_fetch_Reg + create_bd_addr_seg -range 0x10000 -offset 0x100B0000 [get_bd_addr_spaces accel_group_sg/dma_sg_pcie_scheduler/Data_m_axi_cfg_V] [get_bd_addr_segs cdma_send/S_AXI_LITE/Reg] SEG_cdma_send_Reg + create_bd_addr_seg -range 0x10000 -offset 0x100E0000 [get_bd_addr_spaces accel_group_sg/dma_sg_pcie_scheduler/Data_m_axi_cfg_V] [get_bd_addr_segs accel_group_direct_0/dma/S_AXI_LITE/Reg] SEG_dma_Reg + create_bd_addr_seg -range 0x10000 -offset 0x10120000 [get_bd_addr_spaces accel_group_sg/dma_sg_pcie_scheduler/Data_m_axi_cfg_V] [get_bd_addr_segs accel_group_direct_1/dma/S_AXI_LITE/Reg] SEG_dma_Reg19 + create_bd_addr_seg -range 0x10000 -offset 0x10160000 [get_bd_addr_spaces accel_group_sg/dma_sg_pcie_scheduler/Data_m_axi_cfg_V] [get_bd_addr_segs accel_group_indirect_0/dma/S_AXI_LITE/Reg] SEG_dma_Reg33 + create_bd_addr_seg -range 0x10000 -offset 0x101A0000 [get_bd_addr_spaces accel_group_sg/dma_sg_pcie_scheduler/Data_m_axi_cfg_V] [get_bd_addr_segs accel_group_indirect_1/dma/S_AXI_LITE/Reg] SEG_dma_Reg49 + create_bd_addr_seg -range 0x10000 -offset 0x101E0000 [get_bd_addr_spaces accel_group_sg/dma_sg_pcie_scheduler/Data_m_axi_cfg_V] [get_bd_addr_segs accel_group_indirect_2/dma/S_AXI_LITE/Reg] SEG_dma_Reg65 + create_bd_addr_seg -range 0x10000 -offset 0x10220000 [get_bd_addr_spaces accel_group_sg/dma_sg_pcie_scheduler/Data_m_axi_cfg_V] [get_bd_addr_segs accel_group_indirect_3/dma/S_AXI_LITE/Reg] SEG_dma_Reg81 + create_bd_addr_seg -range 0x10000 -offset 0x10290000 [get_bd_addr_spaces accel_group_sg/dma_sg_pcie_scheduler/Data_m_axi_cfg_V] [get_bd_addr_segs accel_group_sg/dma/S_AXI_LITE/Reg] SEG_dma_Reg95 + create_bd_addr_seg -range 0x10000 -offset 0x10260000 [get_bd_addr_spaces accel_group_sg/dma_sg_pcie_scheduler/Data_m_axi_cfg_V] [get_bd_addr_segs accel_group_sg/dma_sg_pcie_scheduler/s_axi_cfg/Reg] SEG_dma_sg_pcie_scheduler_Reg + create_bd_addr_seg -range 0x10000 -offset 0x10060000 [get_bd_addr_spaces accel_group_sg/dma_sg_pcie_scheduler/Data_m_axi_cfg_V] [get_bd_addr_segs fetch_scheduler/s_axi_int_cfg/Reg] SEG_fetch_scheduler_Reg + create_bd_addr_seg -range 0x10000 -offset 0x10320000 [get_bd_addr_spaces accel_group_sg/dma_sg_pcie_scheduler/Data_m_axi_cfg_V] [get_bd_addr_segs gpio_ack/S_AXI/Reg] SEG_gpio_ack_Reg + create_bd_addr_seg -range 0x10000 -offset 0x10040000 [get_bd_addr_spaces accel_group_sg/dma_sg_pcie_scheduler/Data_m_axi_cfg_V] [get_bd_addr_segs gpio_msi/S_AXI/Reg] SEG_gpio_msi_Reg + create_bd_addr_seg -range 0x10000 -offset 0x10300000 [get_bd_addr_spaces accel_group_sg/dma_sg_pcie_scheduler/Data_m_axi_cfg_V] [get_bd_addr_segs gpio_msi_read/S_AXI/Reg] SEG_gpio_msi_read_Reg + create_bd_addr_seg -range 0x10000 -offset 0x10030000 [get_bd_addr_spaces accel_group_sg/dma_sg_pcie_scheduler/Data_m_axi_cfg_V] [get_bd_addr_segs gpio_pcie_interrupt/S_AXI/Reg] SEG_gpio_pcie_interrupt_Reg + create_bd_addr_seg -range 0x10000 -offset 0x10310000 [get_bd_addr_spaces accel_group_sg/dma_sg_pcie_scheduler/Data_m_axi_cfg_V] [get_bd_addr_segs interrupt_manager/s_axi_cfg/Reg] SEG_interrupt_manager_Reg + create_bd_addr_seg -range 0x20000000 -offset 0x80000000 [get_bd_addr_spaces accel_group_sg/dma_sg_pcie_scheduler/Data_m_axi_cfg_V] [get_bd_addr_segs mig/memmap/memaddr] SEG_mig_memaddr + create_bd_addr_seg -range 0x400000 -offset 0x20000000 [get_bd_addr_spaces accel_group_sg/dma_sg_pcie_scheduler/Data_m_axi_cfg_V] [get_bd_addr_segs pcie/S_AXI/BAR0] SEG_pcie_BAR0 + create_bd_addr_seg -range 0x400000 -offset 0x30000000 [get_bd_addr_spaces accel_group_sg/dma_sg_pcie_scheduler/Data_m_axi_cfg_V] [get_bd_addr_segs pcie/S_AXI/BAR1] SEG_pcie_BAR1 + create_bd_addr_seg -range 0x400000 -offset 0x40000000 [get_bd_addr_spaces accel_group_sg/dma_sg_pcie_scheduler/Data_m_axi_cfg_V] [get_bd_addr_segs pcie/S_AXI/BAR2] SEG_pcie_BAR2 + create_bd_addr_seg -range 0x400000 -offset 0x50000000 [get_bd_addr_spaces accel_group_sg/dma_sg_pcie_scheduler/Data_m_axi_cfg_V] [get_bd_addr_segs pcie/S_AXI/BAR3] SEG_pcie_BAR3 + create_bd_addr_seg -range 0x1000 -offset 0x60000000 [get_bd_addr_spaces accel_group_sg/dma_sg_pcie_scheduler/Data_m_axi_cfg_V] [get_bd_addr_segs pcie/S_AXI/BAR4] SEG_pcie_BAR4 + create_bd_addr_seg -range 0x1000 -offset 0x70000000 [get_bd_addr_spaces accel_group_sg/dma_sg_pcie_scheduler/Data_m_axi_cfg_V] [get_bd_addr_segs pcie/S_AXI/BAR5] SEG_pcie_BAR5 + create_bd_addr_seg -range 0x10000 -offset 0x10020000 [get_bd_addr_spaces accel_group_sg/dma_sg_pcie_scheduler/Data_m_axi_cfg_V] [get_bd_addr_segs pcie/S_AXI_CTL/CTL0] SEG_pcie_CTL0 + create_bd_addr_seg -range 0x10000 -offset 0x10080000 [get_bd_addr_spaces accel_group_sg/dma_sg_pcie_scheduler/Data_m_axi_cfg_V] [get_bd_addr_segs info_memory_block_fetch/s_axi_int_cfg/Reg] SEG_info_memory_block_fetch_Reg + create_bd_addr_seg -range 0x10000 -offset 0x10090000 [get_bd_addr_spaces accel_group_sg/dma_sg_pcie_scheduler/Data_m_axi_cfg_V] [get_bd_addr_segs info_memory_block_send/s_axi_int_cfg/Reg] SEG_info_memory_block_send_Reg + create_bd_addr_seg -range 0x10000 -offset 0x10070000 [get_bd_addr_spaces accel_group_sg/dma_sg_pcie_scheduler/Data_m_axi_cfg_V] [get_bd_addr_segs send_scheduler/s_axi_int_cfg/Reg] SEG_send_scheduler_Reg + create_bd_addr_seg -range 0x10000 -offset 0x10050000 [get_bd_addr_spaces accel_group_sg/dma_sg_pcie_scheduler/Data_m_axi_cfg_V] [get_bd_addr_segs shared_apm/S_AXI/Reg] SEG_shared_apm_Reg + create_bd_addr_seg -range 0x40000 -offset 0xC0000000 [get_bd_addr_spaces accel_group_sg/dma_sg_pcie_scheduler/Data_m_axi_cfg_V] [get_bd_addr_segs shared_metrics_bram_controller/S_AXI/Mem0] SEG_shared_metrics_bram_controller_Mem0 + create_bd_addr_seg -range 0x10000 -offset 0x100F0000 [get_bd_addr_spaces accel_group_sg/dma_sg_pcie_scheduler/Data_m_axi_cfg_V] [get_bd_addr_segs accel_group_direct_0/sobel_filter/s_axi_S_AXI4_LITE/Reg] SEG_sobel_filter_Reg + create_bd_addr_seg -range 0x10000 -offset 0x10130000 [get_bd_addr_spaces accel_group_sg/dma_sg_pcie_scheduler/Data_m_axi_cfg_V] [get_bd_addr_segs accel_group_direct_1/sobel_filter/s_axi_S_AXI4_LITE/Reg] SEG_sobel_filter_Reg23 + create_bd_addr_seg -range 0x10000 -offset 0x10170000 [get_bd_addr_spaces accel_group_sg/dma_sg_pcie_scheduler/Data_m_axi_cfg_V] [get_bd_addr_segs accel_group_indirect_0/sobel_filter/s_axi_S_AXI4_LITE/Reg] SEG_sobel_filter_Reg37 + create_bd_addr_seg -range 0x10000 -offset 0x101B0000 [get_bd_addr_spaces accel_group_sg/dma_sg_pcie_scheduler/Data_m_axi_cfg_V] [get_bd_addr_segs accel_group_indirect_1/sobel_filter/s_axi_S_AXI4_LITE/Reg] SEG_sobel_filter_Reg53 + create_bd_addr_seg -range 0x10000 -offset 0x101F0000 [get_bd_addr_spaces accel_group_sg/dma_sg_pcie_scheduler/Data_m_axi_cfg_V] [get_bd_addr_segs accel_group_indirect_2/sobel_filter/s_axi_S_AXI4_LITE/Reg] SEG_sobel_filter_Reg69 + create_bd_addr_seg -range 0x10000 -offset 0x10230000 [get_bd_addr_spaces accel_group_sg/dma_sg_pcie_scheduler/Data_m_axi_cfg_V] [get_bd_addr_segs accel_group_indirect_3/sobel_filter/s_axi_S_AXI4_LITE/Reg] SEG_sobel_filter_Reg85 + create_bd_addr_seg -range 0x10000 -offset 0x10280000 [get_bd_addr_spaces accel_group_sg/dma_sg_pcie_scheduler/Data_m_axi_cfg_V] [get_bd_addr_segs accel_group_sg/sobel_filter/s_axi_S_AXI4_LITE/Reg] SEG_sobel_filter_Reg101 + + # Perform GUI Layout + regenerate_bd_layout -layout_string { + guistr: "# # String gsaved with Nlview 6.5.5 2015-06-26 bk=1.3371 VDI=38 GEI=35 GUI=JA:1.8 +# -string -flagsOSRD +preplace port ddr3_sdram -pg 1 -y 2160 -defaultsOSRD +preplace port perst -pg 1 -y 2580 -defaultsOSRD +preplace port rs232_uart -pg 1 -y 1980 -defaultsOSRD +preplace port REFCLK -pg 1 -y 1960 -defaultsOSRD +preplace port init_calib_complete -pg 1 -y 2240 -defaultsOSRD +preplace port reset -pg 1 -y 2520 -defaultsOSRD +preplace port pcie_7x_mgt -pg 1 -y 2200 -defaultsOSRD +preplace port sys_diff_clock -pg 1 -y 2500 -defaultsOSRD +preplace inst accel_group_direct_1 -pg 1 -lvl 4 -y 540 -defaultsOSRD +preplace inst ic_dmas -pg 1 -lvl 6 -y 1350 -defaultsOSRD +preplace inst psr_pcie -pg 1 -lvl 3 -y 2050 -defaultsOSRD +preplace inst interrupt_manager -pg 1 -lvl 2 -y 1700 -defaultsOSRD +preplace inst shared_metrics_bram_controller -pg 1 -lvl 6 -y 3614 -defaultsOSRD +preplace inst shared_apm -pg 1 -lvl 6 -y 3074 -defaultsOSRD +preplace inst mdm -pg 1 -lvl 3 -y 2390 -defaultsOSRD +preplace inst cdma_fetch -pg 1 -lvl 6 -y 2224 -defaultsOSRD +preplace inst mig -pg 1 -lvl 8 -y 2200 -defaultsOSRD +preplace inst shared_metrics_bram_controller_bram -pg 1 -lvl 7 -y 2970 -defaultsOSRD +preplace inst clocking_wizard -pg 1 -lvl 1 -y 2510 -defaultsOSRD +preplace inst axi_interrupt_controller -pg 1 -lvl 3 -y 2240 -defaultsOSRD +preplace inst pcie -pg 1 -lvl 4 -y 2260 -defaultsOSRD +preplace inst axi_uartlite -pg 1 -lvl 8 -y 1990 -defaultsOSRD +preplace inst ic_main -pg 1 -lvl 5 -y 1500 -defaultsOSRD +preplace inst info_memory_block_fetch -pg 1 -lvl 6 -y 2844 -defaultsOSRD +preplace inst accel_group_indirect_0 -pg 1 -lvl 4 -y 1110 -defaultsOSRD +preplace inst gpio_msi_read -pg 1 -lvl 6 -y 2524 -defaultsOSRD +preplace inst xlconcat -pg 1 -lvl 2 -y 790 -defaultsOSRD +preplace inst accel_group_indirect_1 -pg 1 -lvl 4 -y 1360 -defaultsOSRD +preplace inst psr_mig -pg 1 -lvl 6 -y 3454 -defaultsOSRD +preplace inst fetch_scheduler -pg 1 -lvl 4 -y 100 -defaultsOSRD +preplace inst accel_group_indirect_2 -pg 1 -lvl 4 -y 1616 -defaultsOSRD +preplace inst ic_accel_groups -pg 1 -lvl 3 -y 1660 -defaultsOSRD +preplace inst microblaze_0 -pg 1 -lvl 4 -y 2460 -defaultsOSRD +preplace inst accel_group_sg -pg 1 -lvl 4 -y 2010 -defaultsOSRD +preplace inst accel_group_indirect_3 -pg 1 -lvl 4 -y 1790 -defaultsOSRD +preplace inst cdma_send -pg 1 -lvl 6 -y 2704 -defaultsOSRD +preplace inst gpio_pcie_interrupt -pg 1 -lvl 6 -y 2034 -defaultsOSRD +preplace inst ic_pcie_mig -pg 1 -lvl 7 -y 2160 -defaultsOSRD +preplace inst send_scheduler -pg 1 -lvl 4 -y 360 -defaultsOSRD +preplace inst gpio_ack -pg 1 -lvl 2 -y 1860 -defaultsOSRD +preplace inst psr_main -pg 1 -lvl 2 -y 2470 -defaultsOSRD +preplace inst microblaze_bram -pg 1 -lvl 5 -y 2410 -defaultsOSRD +preplace inst info_memory_block_send -pg 1 -lvl 6 -y 3284 -defaultsOSRD +preplace inst accel_group_direct_0 -pg 1 -lvl 4 -y 770 -defaultsOSRD +preplace inst gpio_msi -pg 1 -lvl 6 -y 2384 -defaultsOSRD +preplace netloc S05_AXI_2 1 4 2 NJ 670 NJ +preplace netloc mig_7series_0_DDR3 1 8 1 NJ +preplace netloc acceleration_scheduler_direct_interrupt 1 1 4 310 490 NJ 490 NJ 860 2040 +preplace netloc ic_main_M05_AXI 1 5 1 2910 +preplace netloc S10_AXI_1 1 4 1 2410 +preplace netloc ic_main_M08_AXI 1 5 1 2890 +preplace netloc ic_main_M06_AXI 1 5 1 2880 +preplace netloc gpio_msi_gpio2_io_o 1 3 4 1430 2630 NJ 2630 NJ 2610 3460 +preplace netloc sys_diff_clock_1 1 0 1 NJ +preplace netloc accel_group_indirect_3_M_AXI_MM2S 1 4 2 2270 640 NJ +preplace netloc accel_group_indirect_1_M_AXI_S2MM 1 4 2 NJ 620 NJ +preplace netloc ic_main_M04_AXI 1 5 1 2920 +preplace netloc axi_uartlite_UART 1 8 1 NJ +preplace netloc clocking_wizard_clk_out2 1 1 7 NJ 2370 NJ 2460 NJ 2590 NJ 2590 NJ 1860 NJ 1860 NJ +preplace netloc psr_pcie_interconnect_aresetn 1 3 4 1260 2560 2440 2290 NJ 2140 NJ +preplace netloc accel_group_indirect_0_interrupt 1 1 4 270 1210 NJ 1210 NJ 1210 NJ +preplace netloc cdma_send_cdma_introut 1 1 6 260 440 NJ 440 1220 440 NJ 440 NJ 440 3490 +preplace netloc mig_mmcm_locked 1 5 4 NJ 1870 NJ 1850 NJ 1850 5300 +preplace netloc ic_accel_groups_M06_AXI 1 3 1 1310 +preplace netloc accel_group_indirect_1_m_axi_ext_cfg_V 1 4 1 2360 +preplace netloc ic_main_M14_AXI 1 3 3 1430 240 NJ 240 2830 +preplace netloc ic_accel_groups_M01_AXI 1 3 1 1250 +preplace netloc psr_pcie_peripheral_aresetn 1 3 3 NJ 2540 2450 2490 NJ +preplace netloc gpio_pcie_interrupt_ip2intc_irpt 1 1 6 350 540 NJ 540 NJ 630 NJ 550 NJ 550 3470 +preplace netloc microblaze_0_dlmb_1 1 4 1 2430 +preplace netloc microblaze_0_intc_axi 1 2 4 870 270 NJ 270 NJ 270 2800 +preplace netloc rst_clk_wiz_1_100M_mb_reset 1 2 2 850 2490 N +preplace netloc ic_main_M13_AXI 1 5 1 2840 +preplace netloc accel_group_indirect_1_interrupt 1 1 4 290 1220 NJ 1220 NJ 1220 2040 +preplace netloc cdma_fetch_cdma_introut 1 1 6 300 500 NJ 500 1420 640 NJ 540 NJ 540 3480 +preplace netloc psr_mig_interconnect_aresetn 1 6 2 3550 1930 NJ +preplace netloc ic_main_M10_AXI 1 5 1 2900 +preplace netloc accel_group_direct_1_interrupt 1 1 4 270 480 NJ 480 NJ 660 2040 +preplace netloc ic_accel_groups_M05_AXI 1 3 1 1320 +preplace netloc accel_group_direct_1_M_AXI_S2MM 1 4 2 NJ 520 3080 +preplace netloc rst_clk_wiz_1_100M_bus_struct_reset 1 2 3 NJ 2500 NJ 2550 2480 +preplace netloc accel_group_sg_s2mm_introut 1 1 4 250 2580 NJ 2580 NJ 2580 2050 +preplace netloc S01_AXI_1 1 4 1 2180 +preplace netloc ic_main_M03_AXI 1 5 2 NJ 840 NJ +preplace netloc pcie_axi_aclk_out 1 2 5 860 2600 NJ 2600 2470 2520 2800 2600 NJ +preplace netloc S01_AXI_2 1 4 2 NJ 660 NJ +preplace netloc ic_main_M12_AXI 1 5 1 2860 +preplace netloc S01_AXI_3 1 6 1 3540 +preplace netloc ic_main_M09_AXI 1 2 4 860 250 NJ 250 NJ 250 2810 +preplace netloc microblaze_0_ilmb_1 1 4 1 2460 +preplace netloc accel_group_sg_interrupt 1 1 4 300 1950 NJ 1950 NJ 1890 2040 +preplace netloc S09_AXI_1 1 4 2 2280 690 NJ +preplace netloc accel_group_indirect_2_M_AXI_MM2S 1 4 2 NJ 630 NJ +preplace netloc ic_accel_groups_M00_AXI 1 3 1 1260 +preplace netloc microblaze_0_interrupt 1 3 1 1290 +preplace netloc ic_main_M11_AXI 1 5 1 2870 +preplace netloc mdm_1_debug_sys_rst 1 1 3 350 2380 NJ 2450 1230 +preplace netloc ic_pcie_mig_M00_AXI 1 3 5 1410 890 NJ 510 NJ 510 NJ 510 4980 +preplace netloc pcie_mmcm_lock 1 2 3 880 2570 NJ 2570 2040 +preplace netloc accel_group_indirect_0_M_AXI_MM2S 1 4 2 NJ 610 NJ +preplace netloc S02_AXI_1 1 4 1 2330 +preplace netloc S02_AXI_2 1 4 2 NJ 490 3090 +preplace netloc S02_AXI_3 1 6 1 3500 +preplace netloc M02_ACLK_1 1 4 1 2430 +preplace netloc ic_accel_groups_M08_AXI 1 1 3 330 1340 NJ 1340 1220 +preplace netloc S11_AXI_1 1 4 2 2310 700 NJ +preplace netloc accel_group_indirect_0_s2mm_introut 1 1 4 260 1200 NJ 1200 NJ 1200 NJ +preplace netloc microblaze_0_Clk 1 1 7 220 1620 830 1360 1330 960 2370 580 2930 1940 3590 1920 5010 +preplace netloc S11_AXI_2 1 4 1 2420 +preplace netloc accel_group_direct_1_dma_intr_in_V 1 1 4 330 510 NJ 510 NJ 670 2050 +preplace netloc aux_reset_in_1 1 0 6 NJ 2580 NJ 2590 820 2590 NJ 2610 NJ 2610 NJ +preplace netloc ic_main_M07_AXI 1 5 1 2850 +preplace netloc ic_main_M01_AXI 1 5 3 NJ 820 NJ 820 5040 +preplace netloc accel_group_indirect_3_m_axi_ext_cfg_V 1 4 1 2390 +preplace netloc accel_group_indirect_3_s2mm_introut 1 1 4 350 1040 NJ 1010 NJ 1010 2070 +preplace netloc shared_metrics_bram_controller_BRAM_PORTA 1 6 1 NJ +preplace netloc fetch_scheduler_interrupt 1 1 4 320 550 NJ 550 NJ 650 2060 +preplace netloc ic_accel_groups_M03_AXI 1 3 1 1300 +preplace netloc clk_wiz_1_locked 1 1 1 240 +preplace netloc ic_accel_groups_M04_AXI 1 3 1 1310 +preplace netloc microblaze_0_debug 1 3 1 1270 +preplace netloc gpio_pcie_interrupt_gpio_io_o 1 6 1 3460 +preplace netloc interrupt_manager_m_axi_ext_cfg_V 1 2 3 780 990 NJ 990 NJ +preplace netloc microblaze_0_axi_dp 1 4 1 2400 +preplace netloc ic_main_M02_AXI 1 3 3 1400 880 NJ 710 2790 +preplace netloc ic_accel_groups_M07_AXI 1 1 3 350 1330 NJ 1330 1230 +preplace netloc S06_AXI_1 1 4 1 2300 +preplace netloc ic_main_M15_AXI 1 3 3 1430 260 NJ 260 2820 +preplace netloc rst_clk_wiz_1_100M_interconnect_aresetn 1 2 5 790 1370 1390 910 2380 570 3030 810 3560 +preplace netloc S06_AXI_2 1 4 2 2240 680 NJ +preplace netloc fetch_scheduler_start_0_V 1 3 2 1430 900 2070 +preplace netloc accel_group_indirect_2_s2mm_introut 1 1 4 340 1030 NJ 970 NJ 970 2080 +preplace netloc accel_group_indirect_3_interrupt 1 1 4 280 1940 NJ 1940 NJ 1880 2040 +preplace netloc gpio_ack_gpio_io_o 1 1 2 350 1780 750 +preplace netloc dma_s2mm_introut 1 1 4 340 520 NJ 520 NJ 870 2050 +preplace netloc accel_group_sg_M_AXI_MM2S 1 4 2 2250 590 NJ +preplace netloc accel_group_indirect_2_m_axi_ext_cfg_V 1 4 1 2210 +preplace netloc mig_ui_clk 1 5 4 3090 2130 3520 1880 NJ 1880 5290 +preplace netloc send_scheduler_interrupt 1 1 4 250 280 NJ 280 NJ 280 2040 +preplace netloc S13_AXI_1 1 4 2 2260 600 NJ +preplace netloc S04_AXI_1 1 4 1 2340 +preplace netloc ic_pcie_mig_M01_AXI 1 7 1 N +preplace netloc start_V_1 1 3 2 1420 1230 2110 +preplace netloc mig_init_calib_complete 1 8 1 NJ +preplace netloc REFCLK_1 1 0 4 NJ 1960 NJ 1960 NJ 1960 NJ +preplace netloc accel_group_indirect_1_s2mm_introut 1 1 4 320 1060 NJ 1060 NJ 980 2060 +preplace netloc start_V_2 1 3 2 1430 1240 2100 +preplace netloc pcie_pcie_7x_mgt 1 4 5 NJ 2280 NJ 1890 NJ 1890 NJ 1890 NJ +preplace netloc ic_accel_groups_M02_AXI 1 3 1 1280 +preplace netloc accel_group_sg_interrupt1 1 1 4 310 2140 NJ 2140 NJ 2130 2040 +preplace netloc microblaze_0_intr 1 2 1 810 +preplace netloc start_V_3 1 3 2 1430 2120 2120 +preplace netloc S03_AXI_1 1 4 1 2130 +preplace netloc reset_1 1 0 8 -50 2440 240 2350 840 2470 NJ 2640 NJ 2640 3050 1910 NJ 1910 NJ +preplace netloc accel_group_indirect_2_interrupt 1 1 4 330 1050 NJ 950 NJ 950 2090 +preplace netloc S05_AXI_1 1 4 1 2320 +preplace netloc S03_AXI_2 1 6 1 3570 +preplace netloc S00_AXI_1 1 4 2 NJ 720 NJ +preplace netloc gpio_msi_gpio_io_o 1 3 4 1420 2620 NJ 2620 NJ 2620 3470 +preplace netloc rst_clk_wiz_1_100M_peripheral_aresetn 1 1 7 340 1790 800 1380 1360 920 2350 560 2940 1900 3530 1900 NJ +levelinfo -pg 1 -70 115 580 1050 1810 2636 3290 4829 5168 5330 -top -40 -bot 3690 +", +} + + # Restore current instance + current_bd_instance $oldCurInst + + save_bd_design +} +# End of create_root_design() + + +################################################################## +# MAIN FLOW +################################################################## + +create_root_design "" + + diff --git a/Hardware/Vivado_HLS_IPs/.keep b/Hardware/Vivado_HLS_IPs/.keep new file mode 100644 index 0000000..e69de29 diff --git a/Hardware/Vivado_HLS_IPs/Acceleration_Scheduler_Direct/.keep b/Hardware/Vivado_HLS_IPs/Acceleration_Scheduler_Direct/.keep new file mode 100644 index 0000000..e69de29 diff --git a/Hardware/Vivado_HLS_IPs/Acceleration_Scheduler_Direct/acceleration_scheduler_direct.cpp b/Hardware/Vivado_HLS_IPs/Acceleration_Scheduler_Direct/acceleration_scheduler_direct.cpp new file mode 100644 index 0000000..c246282 --- /dev/null +++ b/Hardware/Vivado_HLS_IPs/Acceleration_Scheduler_Direct/acceleration_scheduler_direct.cpp @@ -0,0 +1,518 @@ +#include +#include +#include +#include "ap_int.h" +#include "ap_utils.h" +#include "ap_cint.h" +#include "ap_utils.h" +#include "ap_int.h" +#include "acceleration_scheduler_direct.h" + +/* + * ----------------------------- + * Registers of the Sobel Filter + * ----------------------------- + */ +#define XSOBEL_FILTER_S_AXI4_LITE_ADDR_AP_CTRL 0x00 +#define XSOBEL_FILTER_S_AXI4_LITE_ADDR_ROWS_DATA 0x18 +#define XSOBEL_FILTER_S_AXI4_LITE_ADDR_COLS_DATA 0x20 + + +/* + * ------------------------------ + * Registers and Masks of the DMA + * ------------------------------ + */ + +/* + * Tx Channel Registers Base Offset. + */ +#define XAXIDMA_TX_OFFSET 0x00000000 + +/* + * Rx Channel Registers Base Offset. + */ +#define XAXIDMA_RX_OFFSET 0x00000030 + + +/* + * This Set of Registers are Applicable for both Channels of the DMA. + * Add XAXIDMA_TX_OFFSET to Get to TX channel, and XAXIDMA_RX_OFFSET to Get to RX Channel. + */ +#define XAXIDMA_CR_OFFSET 0x00000000 // Control Register. +#define XAXIDMA_SR_OFFSET 0x00000004 // Status Register. +#define XAXIDMA_SRCADDR_OFFSET 0x00000018 // Source Address Register. +#define XAXIDMA_DESTADDR_OFFSET 0x00000018 // Destination Address Register. +#define XAXIDMA_BUFFLEN_OFFSET 0x00000028 // Transfer Data Size Register. + +#define XAXIDMA_CR_RUNSTOP_MASK 0x00000001 // Start/Stop DMA Channel Mask. +#define XAXIDMA_CR_RESET_MASK 0x00000004 // Reset DMA Mask. + +#define XAXIDMA_IRQ_IOC_MASK 0x00001000 // Completion Interrupt Mask. +#define XAXIDMA_IRQ_DELAY_MASK 0x00002000 // Delay Interrupt Mask. +#define XAXIDMA_IRQ_ERROR_MASK 0x00004000 // Error Interrupt Mask. +#define XAXIDMA_IRQ_ALL_MASK 0x00007000 // All Interrupts Mask. + + +/* + * ------------------------------------------------------------- + * Registers and Masks of the AXI Performance Monitor Unit (APM) + * ------------------------------------------------------------- + */ +#define XAPM_CR_GCC_RESET_MASK 0x00020000 // Global Clock Counter (GCC) Reset Mask. +#define XAPM_CR_GCC_ENABLE_MASK 0x00010000 // Global Clock Counter (GCC) Enable Mask. +#define XAPM_CR_MCNTR_RESET_MASK 0x00000002 // Metrics Counter Reset Mask. +#define XAPM_CR_MCNTR_ENABLE_MASK 0x00000001 // Metrics Counter Enable Mask. + +#define XAPM_CTL_OFFSET 0x0300 // Control Register Offset. +#define XAPM_GCC_HIGH_OFFSET 0x0000 // Global Clock Counter 32 to 63 bits (Upper) Register Offset. +#define XAPM_GCC_LOW_OFFSET 0x0004 // Global Clock Counter 0 to 31 bits (Lower) Register Offset. + +#define XAPM_MC0_OFFSET 0x0100 // Metrics Counter 0 Register Offset. +#define XAPM_MC1_OFFSET 0x0110 // Metrics Counter 1 Register Offset. +#define XAPM_MC2_OFFSET 0x0120 // Metrics Counter 2 Register Offset. +#define XAPM_MC3_OFFSET 0x0130 // Metrics Counter 3 Register Offset. +#define XAPM_MC4_OFFSET 0x0140 // Metrics Counter 4 Register Offset. +#define XAPM_MC5_OFFSET 0x0150 // Metrics Counter 5 Register Offset. + +/* + * acceleration_scheduler_direct() + * + * The Hardware Funtionality of the Acceleration Scheduler Direct Core. + * + * The Acceleration Scheduler Direct Core is Part of the Acceleration Group Direct and is Used to Manage the whole Acceleration Procedure. + * It Interacts with the DMA, Sobel Filter and APM of the Acceleration Group Direct as well as the Shared Timer (Shared APM) to Get Time Metrics. + * It, also, Interacts with the Interrupt Manager to Signalize the Completion of the Acceleration Procedure. + * + * The Sequential Steps of the Acceleration Procedure are as Follows: + * + * a --> Enable the Counters of the AXI Performance Monitor Unit (APM). + * b --> Read the Current Value of the Shared Timer to Get the Time that the Acceleration Started. + * c --> Setup and Start the Sobel Filter. + * d --> Setup and Start the S2MM and MM2S DMA Transfers. + * e --> Wait for an Interrupt by the DMA on Completion of the Transfer. + * f --> Read the Current Value of the Shared Timer to Get the Time that the Acceleration Ended. + * g --> Disable the Counters of the AXI Performance Monitor Unit (APM). + * h --> Acknowledge the DMA Interrupt. + * i --> Collect the Metrics from the Counters of the AXI Performance Monitor Unit (APM). + * j --> Reset the Counters of the AXI Performance Monitor Unit (APM). + * k --> Inform the Interrupt Manager About the Completion of the Acceleration Procedure. + * + * The Function Parameters are the Input/Output Ports/Interfaces of the Core: + * + * 01 --------> The AXI Master Interface of the Core Used to Access External Devices and Memories. + * 02 --------> Single Bit Input Used to Receive External Interrupts from the DMA. + * 03 to 13 --> Registers of the Core that are Accessed through the AXI Slave Lite Interface of the Core. + */ +int acceleration_scheduler_direct(/*01*/volatile ap_uint<32> *mm2s_ext_cfg, + /*02*/volatile ap_uint<1> *dma_intr_in, + /*03*/unsigned int dma_device_address, + /*04*/unsigned int sobel_device_address, + /*05*/unsigned int interrupt_manager_register_offset, + /*06*/unsigned int apm_device_address, + /*07*/unsigned int shared_apm_device_address, + /*08*/unsigned int shared_metrics_address, + /*09*/unsigned int image_cols, + /*10*/unsigned int image_rows, + /*11*/unsigned int host_mem_src_data_address, + /*12*/unsigned int host_mem_dst_data_address, + /*13*/unsigned int initiator_group + ) +{ + +/* + * The mm2s_ext_cfg is the AXI Master Interface of the Core. + */ +#pragma HLS INTERFACE m_axi port=mm2s_ext_cfg + +/* + * The dma_intr_in is a Single Bit Input which is Used to Receive External Interrupts from the DMA. + */ +#pragma HLS INTERFACE ap_none port=dma_intr_in + +/* + * The dma_device_address is a Register to Store the Base Address of the DMA that this Core + * will Need to Access through the mm2s_ext_cfg AXI Master Interface. + * This Register is Accessed through the AXI Slave Lite Interface (mm2s_cfg) of the Core. + */ +#pragma HLS INTERFACE s_axilite port=dma_device_address bundle=mm2s_cfg + +/* + * The sobel_device_address is a Register to Store the Base Address of the Sobel Filter that this Core + * will Need to Access through the mm2s_ext_cfg AXI Master Interface. + * This Register is Accessed through the AXI Slave Lite Interface (mm2s_cfg) of the Core. + */ +#pragma HLS INTERFACE s_axilite port=sobel_device_address bundle=mm2s_cfg + +/* + * The interrupt_manager_register_offset is a Register to Store the Offset of a Specific Register of the Interrupt Manager that this Core + * will Need to Access through the mm2s_ext_cfg AXI Master Interface. + * This Register is Accessed through the AXI Slave Lite Interface (mm2s_cfg) of the Core. + */ +#pragma HLS INTERFACE s_axilite port=interrupt_manager_register_offset bundle=mm2s_cfg + +/* + * The apm_device_address is a Register to Store the Base Address of the AXI Performance Monitor Unit (APM) that this Core + * will Need to Access through the mm2s_ext_cfg AXI Master Interface. + * This Register is Accessed through the AXI Slave Lite Interface (mm2s_cfg) of the Core. + */ +#pragma HLS INTERFACE s_axilite port=apm_device_address bundle=mm2s_cfg + +/* + * The shared_apm_device_address is a Register to Store the Base Address of the Shared Timer (APM) that this Core + * will Need to Access through the mm2s_ext_cfg AXI Master Interface. + * This Register is Accessed through the AXI Slave Lite Interface (mm2s_cfg) of the Core. + */ +#pragma HLS INTERFACE s_axilite port=shared_apm_device_address bundle=mm2s_cfg + +/* + * The shared_metrics_address is a Register to Store the Base Address of the Memory that this Core + * will Need to Access through the mm2s_ext_cfg AXI Master Interface in Order to Write the Metrics Information. + * This Register is Accessed through the AXI Slave Lite Interface (mm2s_cfg) of the Core. + */ +#pragma HLS INTERFACE s_axilite port=shared_metrics_address bundle=mm2s_cfg + +/* + * The host_mem_src_data_address is a Register to Store the Source Address that the DMA will Use to Read the Initial Image Data. + * This Register is Accessed through the AXI Slave Lite Interface (mm2s_cfg) of the Core. + */ +#pragma HLS INTERFACE s_axilite port=host_mem_src_data_address bundle=mm2s_cfg + +/* + * The host_mem_dst_data_address is a Register to Store the Destination Address that the DMA will Use to Write the Processed Image Data. + * This Register is Accessed through the AXI Slave Lite Interface (mm2s_cfg) of the Core. + */ +#pragma HLS INTERFACE s_axilite port=host_mem_dst_data_address bundle=mm2s_cfg + +/* + * The image_cols is a Register to Store the Number of Columns of the Image that will be Accelerated. + * This Register is Accessed through the AXI Slave Lite Interface (mm2s_cfg) of the Core. + */ +#pragma HLS INTERFACE s_axilite port=image_cols bundle=mm2s_cfg + +/* + * The image_rows is a Register to Store the Number of Rows of the Image that will be Accelerated. + * This Register is Accessed through the AXI Slave Lite Interface (mm2s_cfg) of the Core. + */ +#pragma HLS INTERFACE s_axilite port=image_rows bundle=mm2s_cfg + +/* + * The initiator_group is a Register to Store the Acceleration Group Number (0-6) that this Core Belongs to. + * This Register is Accessed through the AXI Slave Lite Interface (mm2s_cfg) of the Core. + */ +#pragma HLS INTERFACE s_axilite port=initiator_group bundle=mm2s_cfg + +#pragma HLS INTERFACE s_axilite port=return bundle=mm2s_cfg + + + +ap_uint<32> data_register; // Used to Temporalily Store Values when Reading or Writing from/to Registers of External Devices. +ap_uint<32> initial_data_register; // Used to Temporalily Store Values when Reading or Writing from/to Registers of External Devices. + +ap_uint<32> read_transactions; // Store the Read Transactions from the APM. +ap_uint<32> read_bytes; // Store the Read Bytes from the APM. + +ap_uint<32> write_transactions; // Store the Write Transactions from the APM. +ap_uint<32> write_bytes; // Store the Write Bytes from the APM. + +ap_uint<32> stream_packets; // Store the Stream Packets from the APM. +ap_uint<32> stream_bytes; // Store the Stream Bytes from the APM. + +ap_uint<32> gcc_lower; // Store the Global Clock Counter Lower Register from the APM. +ap_uint<32> gcc_upper; // Store the Global Clock Counter Upper Register from the APM. + +ap_uint<32> dma_accel_time_start_gcc_l; // Store the Acceleration Start Time Lower Register from the Shared Timer (Shared APM). +ap_uint<32> dma_accel_time_start_gcc_u; // Store the Acceleration Start Time Upper Register from the Shared Timer (Shared APM). + +ap_uint<32> dma_accel_time_end_gcc_l; // Store the Acceleration End Time Lower Register from the Shared Timer (Shared APM). +ap_uint<32> dma_accel_time_end_gcc_u; // Store the Acceleration End Time Upper Register from the Shared Timer (Shared APM). + +ap_uint<1> dma_intr_in_value; // Used to Read the Last Value of the dma_intr_in Input Port. + + + +/* + * ----------------------- + * Enable the APM Counters + * ----------------------- + */ + +//Read the Control Register of the APM. +memcpy(&data_register, (const ap_uint<32> *)(mm2s_ext_cfg + (apm_device_address + XAPM_CTL_OFFSET) / 4), sizeof(ap_uint<32>)); + +//Set the Recently Read Value with the Masks Required to Enable the GCC and Metrics Counters. +data_register = data_register | XAPM_CR_GCC_ENABLE_MASK | XAPM_CR_MCNTR_ENABLE_MASK; + +//Write the new Value Back to the Control Register of the APM to Enable the GCC and Metrics Counters. +memcpy((ap_uint<32> *)(mm2s_ext_cfg + (apm_device_address + XAPM_CTL_OFFSET) / 4), &data_register, sizeof(ap_uint<32>)); + + +/* + * --------------------------------------------------------------------------------------------------------------------- + * Read the Upper and Lower Registers of the Global Clock Counter of the Shared Timer to Get DMA Acceleration Start Time + * --------------------------------------------------------------------------------------------------------------------- + */ + +//Read the Lower Register of the GCC of the Shared Timer to Get the 32 LSBs of the Acceleration Start Time. +memcpy(&dma_accel_time_start_gcc_l, (const ap_uint<32> *)(mm2s_ext_cfg + (shared_apm_device_address + XAPM_GCC_LOW_OFFSET) / 4), sizeof(ap_uint<32>)); + +//Store the 32 LSBs of the Acceleration Start Time to a Specific Offset of the Metrics Memory. +memcpy((ap_uint<32> *)(mm2s_ext_cfg + (shared_metrics_address + (sizeof(struct metrics) * initiator_group) + DMA_ACCEL_TIME_START_L_OFFSET) / 4), &dma_accel_time_start_gcc_l, sizeof(ap_uint<32>)); + + +//Read the Upper Register of the GCC of the Shared Timer to Get the 32 MSBs of the Acceleration Start Time. +memcpy(&dma_accel_time_start_gcc_u, (const ap_uint<32> *)(mm2s_ext_cfg + (shared_apm_device_address + XAPM_GCC_HIGH_OFFSET) / 4), sizeof(ap_uint<32>)); + +//Store the 32 MSBs of the Acceleration Start Time to a Specific Offset of the Metrics Memory. +memcpy((ap_uint<32> *)(mm2s_ext_cfg + (shared_metrics_address + (sizeof(struct metrics) * initiator_group) + DMA_ACCEL_TIME_START_U_OFFSET) / 4), &dma_accel_time_start_gcc_u, sizeof(ap_uint<32>)); + + +/* + * -------------------------------- + * Setup and Start the Sobel Filter + * -------------------------------- + */ + +//Get the Sobel Filter Columns from the Internal Register (image_cols) of the Core. +data_register = image_cols; + +//Write the Sobel Filter Columns to a Specific Offset of the Sobel Filter Device. +memcpy((ap_uint<32> *)(mm2s_ext_cfg + (sobel_device_address + XSOBEL_FILTER_S_AXI4_LITE_ADDR_COLS_DATA) / 4), &data_register, sizeof(ap_uint<32>)); + +//Get the Sobel Filter Rows from the Internal Register (image_rows) of the Core. +data_register = image_rows; + +//Write the Sobel Filter Rows to a Specific Offset of the Sobel Filter Device. +memcpy((ap_uint<32> *)(mm2s_ext_cfg + (sobel_device_address + XSOBEL_FILTER_S_AXI4_LITE_ADDR_ROWS_DATA) / 4), &data_register, sizeof(ap_uint<32>)); + + +//Read the Control Register of the Sobel Filter. +memcpy(&data_register, (const ap_uint<32> *)(mm2s_ext_cfg + (sobel_device_address + XSOBEL_FILTER_S_AXI4_LITE_ADDR_AP_CTRL) / 4), sizeof(ap_uint<32>)); + +//Set the Appropriate Masks According to the Recently Read Value that Will be Needed to Start the Sobel Filter. +data_register = data_register & 0x80; +data_register = data_register | 0x01; + +//Write the new Value Back to the Control Register of the Sobel Filter so that the Sobel Filter Gets Started. +memcpy((ap_uint<32> *)(mm2s_ext_cfg + (sobel_device_address + XSOBEL_FILTER_S_AXI4_LITE_ADDR_AP_CTRL) / 4), &data_register, sizeof(ap_uint<32>)); + + + +/* + * --------------------------------------------- + * Setup and Start Device to DMA Transfer (S2MM) + * --------------------------------------------- + */ + +//Get from the Internal Register (host_mem_dst_data_address) of the Core the Destination Address that the DMA will Use to Write the Processed Image Data. +data_register = host_mem_dst_data_address; + +//Write the Destination Address to the Destination Register of the DMA. +memcpy((ap_uint<32> *)(mm2s_ext_cfg + (dma_device_address + XAXIDMA_RX_OFFSET + XAXIDMA_DESTADDR_OFFSET) / 4), &data_register, sizeof(ap_uint<32>)); + +//Read the S2MM Control Register of the DMA. +memcpy(&data_register, (const ap_uint<32> *)(mm2s_ext_cfg + (dma_device_address + XAXIDMA_RX_OFFSET + XAXIDMA_CR_OFFSET) / 4), sizeof(ap_uint<32>)); + +//Set the Recently Read Value with the Mask Required to Enable the S2MM DMA Channel. +data_register = data_register | XAXIDMA_CR_RUNSTOP_MASK; + +//Write the new Value Back to the Control Register of the DMA in Order to Enable the S2MM Channel. +memcpy((ap_uint<32> *)(mm2s_ext_cfg + (dma_device_address + XAXIDMA_RX_OFFSET + XAXIDMA_CR_OFFSET) / 4), &data_register, sizeof(ap_uint<32>)); + +//Calculate the Image/Transfer Size According to the Internal Registers (image_cols, image_rows) of the Core. +data_register = (image_cols * image_rows) * 4; + +//Write the Transfer Size to the S2MM Length Register of the DMA which Starts the S2MM Transfer. +memcpy((ap_uint<32> *)(mm2s_ext_cfg + (dma_device_address + XAXIDMA_RX_OFFSET + XAXIDMA_BUFFLEN_OFFSET) / 4), &data_register, sizeof(ap_uint<32>)); + + + +/* + * --------------------------------------------- + * Setup and Start DMA to Device Transfer (MM2S) + * --------------------------------------------- + */ + +//Get from the Internal Register (host_mem_src_data_address) of the Core the Source Address that the DMA will Use to Read the Initial Image Data. +data_register = host_mem_src_data_address; + +//Write the Source Address to the Source Register of the DMA. +memcpy((ap_uint<32> *)(mm2s_ext_cfg + (dma_device_address + XAXIDMA_TX_OFFSET + XAXIDMA_SRCADDR_OFFSET) / 4), &data_register, sizeof(ap_uint<32>)); + +//Read the MM2S Control Register of the DMA. +memcpy(&data_register, (const ap_uint<32> *)(mm2s_ext_cfg + (dma_device_address + XAXIDMA_TX_OFFSET + XAXIDMA_CR_OFFSET) / 4), sizeof(ap_uint<32>)); + +//Set the Recently Read Value with the Mask Required to Enable the MM2S DMA Channel. +data_register = data_register | XAXIDMA_CR_RUNSTOP_MASK; + +//Write the new Value Back to the Control Register of the DMA in Order to Enable the MM2S Channel. +memcpy((ap_uint<32> *)(mm2s_ext_cfg + (dma_device_address + XAXIDMA_TX_OFFSET + XAXIDMA_CR_OFFSET) / 4), &data_register, sizeof(ap_uint<32>)); + +//Calculate the Image/Transfer Size According to the Internal Registers (image_cols, image_rows) of the Core. +data_register = (image_cols * image_rows) * 4; + +//Write the Transfer Size to the MM2S Length Register of the DMA which Starts the MM2S Transfer. +memcpy((ap_uint<32> *)(mm2s_ext_cfg + (dma_device_address + XAXIDMA_TX_OFFSET + XAXIDMA_BUFFLEN_OFFSET) / 4), &data_register, sizeof(ap_uint<32>)); + + +/* + * ------------------------ + * Wait for a DMA Interrupt + * ------------------------ + */ + +//Make an Initial Read of the Current State of the dma_intr_in Input. +dma_intr_in_value = *dma_intr_in; + +//Keep Looping for as long as the dma_intr_in Input Does not Reach a Logic 1 Value. +while(dma_intr_in_value != 1) +{ + //Keep Reading the Last Value of the dma_intr_in Input. + dma_intr_in_value = *dma_intr_in; +} + +//Reset the Reader Variable. +dma_intr_in_value = 0; + + +/* + * --------------------------------------------------------------------------------------------------------------------- + * Read the Upper and Lower Registers of the Global Clock Counter of the Shared Timer to Get DMA Acceleration End Time + * --------------------------------------------------------------------------------------------------------------------- + */ + +//Read the Lower Register of the GCC of the Shared Timer to Get the 32 LSBs of the Acceleration End Time. +memcpy(&dma_accel_time_end_gcc_l, (const ap_uint<32> *)(mm2s_ext_cfg + (shared_apm_device_address + XAPM_GCC_LOW_OFFSET) / 4), sizeof(ap_uint<32>)); + +//Store the 32 LSBs of the Acceleration End Time to a Specific Offset of the Metrics Memory. +memcpy((ap_uint<32> *)(mm2s_ext_cfg + (shared_metrics_address + (sizeof(struct metrics) * initiator_group) + DMA_ACCEL_TIME_END_L_OFFSET) / 4), &dma_accel_time_end_gcc_l, sizeof(ap_uint<32>)); + +//Read the Upper Register of the GCC of the Shared Timer to Get the 32 MSBs of the Acceleration End Time. +memcpy(&dma_accel_time_end_gcc_u, (const ap_uint<32> *)(mm2s_ext_cfg + (shared_apm_device_address + XAPM_GCC_HIGH_OFFSET) / 4), sizeof(ap_uint<32>)); + +//Store the 32 MSBs of the Acceleration End Time to a Specific Offset of the Metrics Memory. +memcpy((ap_uint<32> *)(mm2s_ext_cfg + (shared_metrics_address + (sizeof(struct metrics) * initiator_group) + DMA_ACCEL_TIME_END_U_OFFSET) / 4), &dma_accel_time_end_gcc_u, sizeof(ap_uint<32>)); + + + +/* + * ------------------------ + * Disable the APM Counters + * ------------------------ + */ + +//Read the Control Register of the APM. +memcpy(&data_register, (const ap_uint<32> *)(mm2s_ext_cfg + (apm_device_address + XAPM_CTL_OFFSET) / 4), sizeof(ap_uint<32>)); + +//Set the Recently Read Value with the Masks Accordingly to Disable the GCC and Metrics Counters. +data_register = data_register & ~(XAPM_CR_GCC_ENABLE_MASK) & ~(XAPM_CR_MCNTR_ENABLE_MASK); + +//Write the new Value Back to the Control Register of the APM to Disable the GCC and Metrics Counters. +memcpy((ap_uint<32> *)(mm2s_ext_cfg + (apm_device_address + XAPM_CTL_OFFSET) / 4), &data_register, sizeof(ap_uint<32>)); + + + +/* + * --------------------------------------------------------------------- + * Read the DMA S2MM Status Register to Get the IRQs (IOC, Delay, Error) + * IOC Stands for: Interrupt On Complete + * --------------------------------------------------------------------- + */ + +//Read the S2MM Status Register of the DMA which among others Includes the Status of the DMA's IRQs. +memcpy(&data_register, (const ap_uint<32> *)(mm2s_ext_cfg + (dma_device_address + XAXIDMA_RX_OFFSET + XAXIDMA_SR_OFFSET) / 4), sizeof(ap_uint<32>)); + +//Filter the Recently Read Value with the XAXIDMA_IRQ_ALL_MASK so as to Keep ONLY the IRQs that were Triggered. +data_register = data_register & XAXIDMA_IRQ_ALL_MASK; + +/* + * ------------------------------------ + * Acknowledge the Triggered Interrupts + * ------------------------------------ + */ + +//Write the new Value Back to the Status Register of the DMA which Acknowledges the Triggered Interrupts. +memcpy((ap_uint<32> *)(mm2s_ext_cfg + (dma_device_address + XAXIDMA_RX_OFFSET + XAXIDMA_SR_OFFSET) / 4), &data_register, sizeof(ap_uint<32>)); + + + +/* + * -------------------------------------------------------------------------- + * Read the APM Metrics Counters and Store their Values to the Metrics Memory + * -------------------------------------------------------------------------- + */ + +//Get the Read Transactions from the APM and Write it to the Shared Metrics Memory. +memcpy(&read_transactions, (const ap_uint<32> *)(mm2s_ext_cfg + (apm_device_address + XAPM_MC0_OFFSET) / 4), sizeof(ap_uint<32>)); +memcpy((ap_uint<32> *)(mm2s_ext_cfg + (shared_metrics_address + (sizeof(struct metrics) * initiator_group) + APM_READ_TRANSACTIONS_OFFSET) / 4), &read_transactions, sizeof(ap_uint<32>)); + +//Get the Read Bytes from the APM and Write it to the Shared Metrics Memory. +memcpy(&read_bytes, (const ap_uint<32> *)(mm2s_ext_cfg + (apm_device_address + XAPM_MC1_OFFSET) / 4), sizeof(ap_uint<32>)); +memcpy((ap_uint<32> *)(mm2s_ext_cfg + (shared_metrics_address + (sizeof(struct metrics) * initiator_group) + APM_READ_BYTES_OFFSET) / 4), &read_bytes, sizeof(ap_uint<32>)); + +//Get the Write Transactions from the APM and Write it to the Shared Metrics Memory. +memcpy(&write_transactions, (const ap_uint<32> *)(mm2s_ext_cfg + (apm_device_address + XAPM_MC2_OFFSET) / 4), sizeof(ap_uint<32>)); +memcpy((ap_uint<32> *)(mm2s_ext_cfg + (shared_metrics_address + (sizeof(struct metrics) * initiator_group) + APM_WRITE_TRANSACTIONS_OFFSET) / 4), &write_transactions, sizeof(ap_uint<32>)); + +//Get the Write Bytes from the APM and Write it to the Shared Metrics Memory. +memcpy(&write_bytes, (const ap_uint<32> *)(mm2s_ext_cfg + (apm_device_address + XAPM_MC3_OFFSET) / 4), sizeof(ap_uint<32>)); +memcpy((ap_uint<32> *)(mm2s_ext_cfg + (shared_metrics_address + (sizeof(struct metrics) * initiator_group) + APM_WRITE_BYTES_OFFSET) / 4), &write_bytes, sizeof(ap_uint<32>)); + +//Get the Stream Packets from the APM and Write it to the Shared Metrics Memory. +memcpy(&stream_packets, (const ap_uint<32> *)(mm2s_ext_cfg + (apm_device_address + XAPM_MC4_OFFSET) / 4), sizeof(ap_uint<32>)); +memcpy((ap_uint<32> *)(mm2s_ext_cfg + (shared_metrics_address + (sizeof(struct metrics) * initiator_group) + APM_PACKETS_OFFSET) / 4), &stream_packets, sizeof(ap_uint<32>)); + +//Get the Stream Bytes from the APM and Write it to the Shared Metrics Memory. +memcpy(&stream_bytes, (const ap_uint<32> *)(mm2s_ext_cfg + (apm_device_address + XAPM_MC5_OFFSET) / 4), sizeof(ap_uint<32>)); +memcpy((ap_uint<32> *)(mm2s_ext_cfg + (shared_metrics_address + (sizeof(struct metrics) * initiator_group) + APM_BYTES_OFFSET) / 4), &stream_bytes, sizeof(ap_uint<32>)); + +//Get the GCC Lower Register from the APM and Write it to the Shared Metrics Memory. +memcpy(&gcc_lower, (const ap_uint<32> *)(mm2s_ext_cfg + (apm_device_address + XAPM_GCC_LOW_OFFSET) / 4), sizeof(ap_uint<32>)); +memcpy((ap_uint<32> *)(mm2s_ext_cfg + (shared_metrics_address + (sizeof(struct metrics) * initiator_group) + APM_GCC_L_OFFSET) / 4), &gcc_lower, sizeof(ap_uint<32>)); + +//Get the GCC Upper Register from the APM and Write it to the Shared Metrics Memory. +memcpy(&gcc_upper, (const ap_uint<32> *)(mm2s_ext_cfg + (apm_device_address + XAPM_GCC_HIGH_OFFSET) / 4), sizeof(ap_uint<32>)); +memcpy((ap_uint<32> *)(mm2s_ext_cfg + (shared_metrics_address + (sizeof(struct metrics) * initiator_group) + APM_GCC_U_OFFSET) / 4), &gcc_upper, sizeof(ap_uint<32>)); + + +/* + * ---------------------- + * Reset the APM Counters + * ---------------------- + */ + +//Read the Control Register of the APM. +memcpy(&initial_data_register, (const ap_uint<32> *)(mm2s_ext_cfg + (apm_device_address + XAPM_CTL_OFFSET) / 4), sizeof(ap_uint<32>)); + +//Set the Recently Read Value with the Masks Accordingly to Reset the GCC and Metrics Counters. +data_register = initial_data_register | XAPM_CR_GCC_RESET_MASK | XAPM_CR_MCNTR_RESET_MASK; + +//Write the new Value Back to the Control Register of the APM to Reset the GCC and Metrics Counters. +memcpy((ap_uint<32> *)(mm2s_ext_cfg + (apm_device_address + XAPM_CTL_OFFSET) / 4), &data_register, sizeof(ap_uint<32>)); + +//Now Reverse the Value of the Previous Masks in order to Release the Reset. +data_register = initial_data_register & ~(XAPM_CR_GCC_RESET_MASK) & ~(XAPM_CR_MCNTR_RESET_MASK); + +//Write the new Value Back to the Control Register of the APM to Release the Reset. +memcpy((ap_uint<32> *)(mm2s_ext_cfg + (apm_device_address + XAPM_CTL_OFFSET) / 4), &data_register, sizeof(ap_uint<32>)); + + +/* + * ------------------------------------------------------------------------------------ + * Inform the Interrupt Manager that this Core Has Completed the Acceleration Procedure + * ------------------------------------------------------------------------------------ + */ + +//Get from the Internal Register (initiator_group) of the Core the Current Acceleration Group Number that this Core Belongs to. +data_register = initiator_group; + +//Write the Current Acceleration Group Number to a Specific Register of the Interrupt Manager to Let It Know which Acceleration Group Has Completed. +memcpy((ap_uint<32> *)(mm2s_ext_cfg + (interrupt_manager_register_offset) / 4), &data_register, sizeof(ap_uint<32>)); + + +return 1; + + +} + + diff --git a/Hardware/Vivado_HLS_IPs/Acceleration_Scheduler_Direct/acceleration_scheduler_direct.h b/Hardware/Vivado_HLS_IPs/Acceleration_Scheduler_Direct/acceleration_scheduler_direct.h new file mode 100644 index 0000000..0e396c0 --- /dev/null +++ b/Hardware/Vivado_HLS_IPs/Acceleration_Scheduler_Direct/acceleration_scheduler_direct.h @@ -0,0 +1,126 @@ +#define APM_READ_TRANSACTIONS_OFFSET 0 +#define APM_READ_BYTES_OFFSET 4 + +#define APM_WRITE_TRANSACTIONS_OFFSET 8 +#define APM_WRITE_BYTES_OFFSET 12 + +#define APM_PACKETS_OFFSET 16 +#define APM_BYTES_OFFSET 20 + +#define APM_GCC_L_OFFSET 24 +#define APM_GCC_U_OFFSET 28 + +#define CDMA_FETCH_TIME_START_L_OFFSET 32 +#define CDMA_FETCH_TIME_START_U_OFFSET 36 + +#define CDMA_FETCH_TIME_END_L_OFFSET 40 +#define CDMA_FETCH_TIME_END_U_OFFSET 44 + +#define CDMA_SEND_TIME_START_L_OFFSET 48 +#define CDMA_SEND_TIME_START_U_OFFSET 52 + +#define CDMA_SEND_TIME_END_L_OFFSET 56 +#define CDMA_SEND_TIME_END_U_OFFSET 60 + +#define DMA_ACCEL_TIME_START_L_OFFSET 64 +#define DMA_ACCEL_TIME_START_U_OFFSET 68 + +#define DMA_ACCEL_TIME_END_L_OFFSET 72 +#define DMA_ACCEL_TIME_END_U_OFFSET 76 + + +struct image_info +{ + ap_uint<32> rows; + ap_uint<32> columns; + ap_uint<64> size; +}; + +struct metrics +{ + /* + * AXI Performance Monitor Metrics + */ + ap_uint<32> apm_read_transactions; //Offset 0 Bytes + ap_uint<32> apm_read_bytes; //Offset 4 Bytes + + ap_uint<32> apm_write_transactions; //Offset 8 Bytes + ap_uint<32> apm_write_bytes; //Offset 12 Bytes + + ap_uint<32> apm_packets; //Offset 16 Bytes + ap_uint<32> apm_bytes; //Offset 20 Bytes + + ap_uint<32> apm_gcc_l; //Offset 24 Bytes + ap_uint<32> apm_gcc_u; //Offset 28 Bytes + + ap_uint<32> cdma_fetch_time_start_l; //Offset 32 Bytes + ap_uint<32> cdma_fetch_time_start_u; //Offset 36 Bytes + ap_uint<32> cdma_fetch_time_end_l; //Offset 40 Bytes + ap_uint<32> cdma_fetch_time_end_u; //Offset 44 Bytes + + ap_uint<32> cdma_send_time_start_l; //Offset 48 Bytes + ap_uint<32> cdma_send_time_start_u; //Offset 52 Bytes + ap_uint<32> cdma_send_time_end_l; //Offset 56 Bytes + ap_uint<32> cdma_send_time_end_u; //Offset 60 Bytes + + ap_uint<32> dma_accel_time_start_l; //Offset 64 Bytes + ap_uint<32> dma_accel_time_start_u; //Offset 68 Bytes + ap_uint<32> dma_accel_time_end_l; //Offset 72 Bytes + ap_uint<32> dma_accel_time_end_u; //Offset 76 Bytes + + struct image_info shared_image_info; // Offset 80 Bytes + + /* + * Kernel and Userspace Metrics + */ + + ap_uint<64> total_time_start; + ap_uint<64> total_time_end; + + ap_uint<64> sleep_time_start; + ap_uint<64> sleep_time_end; + + ap_uint<64> preparation_time_start; + ap_uint<64> preparation_time_end; + + ap_uint<64> load_time_start; + ap_uint<64> load_time_end; + + ap_uint<64> save_time_start; + ap_uint<64> save_time_end; + + +}; + +struct status_flags +{ + ap_uint<32> accel_direct_0_occupied_pid; + ap_uint<32> accel_direct_1_occupied_pid; + + ap_uint<32> accel_indirect_0_occupied_pid; + ap_uint<32> accel_indirect_1_occupied_pid; + ap_uint<32> accel_indirect_2_occupied_pid; + ap_uint<32> accel_indirect_3_occupied_pid; + + ap_uint<32> accel_sg_0_occupied_pid; + + + ap_uint<32> accelerator_busy; + ap_uint<32> open_modules; +}; + +struct shared_repository +{ + struct metrics accel_direct_0_shared_metrics; + struct metrics accel_direct_1_shared_metrics; + + struct metrics accel_indirect_0_shared_metrics; + struct metrics accel_indirect_1_shared_metrics; + struct metrics accel_indirect_2_shared_metrics; + struct metrics accel_indirect_3_shared_metrics; + + struct metrics accel_sg_0_shared_metrics; + + struct status_flags shared_status_flags; + +}; diff --git a/Hardware/Vivado_HLS_IPs/Acceleration_Scheduler_Direct/run_hls.tcl b/Hardware/Vivado_HLS_IPs/Acceleration_Scheduler_Direct/run_hls.tcl new file mode 100644 index 0000000..af56b49 --- /dev/null +++ b/Hardware/Vivado_HLS_IPs/Acceleration_Scheduler_Direct/run_hls.tcl @@ -0,0 +1,17 @@ +open_project Acceleration_Scheduler_Direct + +set_top acceleration_scheduler_direct + +add_files acceleration_scheduler_direct.cpp + +open_solution "solution1" + +#The Part Refers to the Xilinx Virtex 7 VC707 FPGA Development Board +set_part {xc7vx485tffg1761-2} +create_clock -period 10 -name default + +csynth_design + +export_design -format ip_catalog -display_name "Acceleration Scheduler Direct" -version "3.5" + +exit diff --git a/Hardware/Vivado_HLS_IPs/Acceleration_Scheduler_Indirect/.keep b/Hardware/Vivado_HLS_IPs/Acceleration_Scheduler_Indirect/.keep new file mode 100644 index 0000000..e69de29 diff --git a/Hardware/Vivado_HLS_IPs/Acceleration_Scheduler_Indirect/acceleration_scheduler_indirect.cpp b/Hardware/Vivado_HLS_IPs/Acceleration_Scheduler_Indirect/acceleration_scheduler_indirect.cpp new file mode 100644 index 0000000..63d17f5 --- /dev/null +++ b/Hardware/Vivado_HLS_IPs/Acceleration_Scheduler_Indirect/acceleration_scheduler_indirect.cpp @@ -0,0 +1,715 @@ +#include +#include +#include +#include "ap_int.h" +#include "ap_utils.h" +#include "ap_cint.h" +#include "ap_utils.h" +#include "ap_int.h" +#include "acceleration_scheduler_indirect.h" + +/* + * ----------------------------- + * Registers of the Sobel Filter + * ----------------------------- + */ +#define XSOBEL_FILTER_S_AXI4_LITE_ADDR_AP_CTRL 0x00 +#define XSOBEL_FILTER_S_AXI4_LITE_ADDR_ROWS_DATA 0x18 +#define XSOBEL_FILTER_S_AXI4_LITE_ADDR_COLS_DATA 0x20 + +/* + * ------------------------------ + * Registers and Masks of the DMA + * ------------------------------ + */ + +/* + * Tx Channel Registers Base Offset. + */ +#define XAXIDMA_TX_OFFSET 0x00000000 + +/* + * Rx Channel Registers Base Offset. + */ +#define XAXIDMA_RX_OFFSET 0x00000030 + + +/* + * This Set of Registers are Applicable for both Channels of the DMA. + * Add XAXIDMA_TX_OFFSET to Get to TX channel, and XAXIDMA_RX_OFFSET to Get to RX Channel. + */ +#define XAXIDMA_CR_OFFSET 0x00000000 // Control Register. +#define XAXIDMA_SR_OFFSET 0x00000004 // Status Register. +#define XAXIDMA_SRCADDR_OFFSET 0x00000018 // Source Address Register. +#define XAXIDMA_DESTADDR_OFFSET 0x00000018 // Destination Address Register. +#define XAXIDMA_BUFFLEN_OFFSET 0x00000028 // Transfer Data Size Register. + +#define XAXIDMA_CR_RUNSTOP_MASK 0x00000001 // Start/Stop DMA Channel Mask. +#define XAXIDMA_CR_RESET_MASK 0x00000004 // Reset DMA Mask. + +#define XAXIDMA_IRQ_IOC_MASK 0x00001000 // Completion Interrupt Mask. +#define XAXIDMA_IRQ_DELAY_MASK 0x00002000 // Delay Interrupt Mask. +#define XAXIDMA_IRQ_ERROR_MASK 0x00004000 // Error Interrupt Mask. +#define XAXIDMA_IRQ_ALL_MASK 0x00007000 // All Interrupts Mask. + + +/* + * ------------------------------------------------------------- + * Registers and Masks of the AXI Performance Monitor Unit (APM) + * ------------------------------------------------------------- + */ +#define XAPM_CR_GCC_RESET_MASK 0x00020000 // Global Clock Counter (GCC) Reset Mask. +#define XAPM_CR_GCC_ENABLE_MASK 0x00010000 // Global Clock Counter (GCC) Enable Mask. +#define XAPM_CR_MCNTR_RESET_MASK 0x00000002 // Metrics Counter Reset Mask. +#define XAPM_CR_MCNTR_ENABLE_MASK 0x00000001 // Metrics Counter Enable Mask. + +#define XAPM_CTL_OFFSET 0x0300 // Control Register Offset. +#define XAPM_GCC_HIGH_OFFSET 0x0000 // Global Clock Counter 32 to 63 bits (Upper) Register Offset. +#define XAPM_GCC_LOW_OFFSET 0x0004 // Global Clock Counter 0 to 31 bits (Lower) Register Offset. + +#define XAPM_MC0_OFFSET 0x0100 // Metrics Counter 0 Register Offset. +#define XAPM_MC1_OFFSET 0x0110 // Metrics Counter 1 Register Offset. +#define XAPM_MC2_OFFSET 0x0120 // Metrics Counter 2 Register Offset. +#define XAPM_MC3_OFFSET 0x0130 // Metrics Counter 3 Register Offset. +#define XAPM_MC4_OFFSET 0x0140 // Metrics Counter 4 Register Offset. +#define XAPM_MC5_OFFSET 0x0150 // Metrics Counter 5 Register Offset. + +/* + * acceleration_scheduler_indirect() + * + * The Hardware Funtionality of the Acceleration Scheduler Indirect Core. + * + * The Acceleration Scheduler Indirect Core is Part of the Acceleration Group Indirect and is Used to Manage the whole Acceleration Procedure. + * It Interacts with the DMA, Sobel Filter and APM of the Acceleration Group Direct as well as the Shared Timer (Shared APM) to Get Time Metrics. + * It, also, Interacts with the CDMA Fetch and CDMA Send Peripherals and the Interrupt Manager to Signalize the Completion of the Acceleration Procedure. + * + * The Sequential Steps of the Acceleration Procedure are as Follows: + * + * a --> Set the Scheduler Buffer of the Fetch Scheduler with Info that the Fetch Scheduler will Use to Start the CDMA Fetch Transfer + * from the Host Memory to the FPGA's DDR3. + * b --> Wait for the Fetch Scheduler to Send a Start Signal (start Input) when the CDMA Fetch Has Completed the Transfer. + * c --> Enable the Counters of the AXI Performance Monitor Unit (APM). + * d --> Read the Current Value of the Shared Timer to Get the Time that the Acceleration Started. + * e --> Setup and Start the Sobel Filter. + * f --> Setup and Start the S2MM and MM2S DMA Transfers. + * g --> Wait for an Interrupt by the DMA on Completion of the Transfer. + * h --> Read the Current Value of the Shared Timer to Get the Time that the Acceleration Ended. + * i --> Disable the Counters of the AXI Performance Monitor Unit (APM). + * j --> Acknowledge the DMA Interrupt. + * k --> Collect the Metrics from the Counters of the AXI Performance Monitor Unit (APM). + * l --> Reset the Counters of the AXI Performance Monitor Unit (APM). + * m --> Set the Scheduler Buffer of the Send Scheduler with Info that the Send Scheduler will Use to Start the CDMA Send Transfer + * from the Host Memory to the FPGA's DDR3. + * + * The Function Parameters are the Input/Output Ports/Interfaces of the Core: + * + * 01 --------> The AXI Master Interface of the Core Used to Access External Devices and Memories. + * 02 --------> Single Bit Input Used to Receive External Start Signals from the Fetch Scheduler. + * 03 --------> Single Bit Input Used to Receive External Interrupts from the DMA. + * 04 to 27 --> Registers of the Core that are Accessed through the AXI Slave Lite Interface of the Core. + */ +int acceleration_scheduler_indirect(/*01*/volatile ap_uint<32> *ext_cfg, + /*02*/volatile ap_uint<1> *start, + /*03*/volatile ap_uint<1> *dma_intr_in, + /*04*/unsigned int scheduler_buffer_base_address_f, + /*05*/unsigned int src_address_reg_offset_f, + /*06*/unsigned int dst_address_reg_offset_f, + /*07*/unsigned int data_size_reg_offset_f, + /*08*/unsigned int offset_reg_offset_f, + /*09*/unsigned int src_address_f, + /*10*/unsigned int dst_address_f, + /*11*/unsigned int offset_f, + /*12*/unsigned int scheduler_buffer_base_address_s, + /*13*/unsigned int src_address_reg_offset_s, + /*14*/unsigned int dst_address_reg_offset_s, + /*15*/unsigned int data_size_reg_offset_s, + /*16*/unsigned int offset_reg_offset_s, + /*17*/unsigned int src_address_s, + /*18*/unsigned int dst_address_s, + /*19*/unsigned int offset_s, + /*20*/unsigned int dma_base_address, + /*21*/unsigned int sobel_base_address, + /*22*/unsigned int image_cols, + /*23*/unsigned int image_rows, + /*24*/unsigned int accel_group, + /*25*/unsigned int shared_apm_base_address, + /*26*/unsigned int shared_metrics_base_address, + /*27*/unsigned int apm_base_address + ) +{ + +/* + * The ext_cfg is the AXI Master Interface of the Core. + */ +#pragma HLS INTERFACE m_axi port=ext_cfg + +/* + * The start is a Single Bit Input which is Used to Receive External Start Signals from the Fetch Scheduler. + */ +#pragma HLS INTERFACE ap_none port=start + +/* + * The dma_intr_in is a Single Bit Input which is Used to Receive External Interrupts from the DMA. + */ +#pragma HLS INTERFACE ap_none port=dma_intr_in + +/* + * The scheduler_buffer_base_address_f is a Register to Store the Base Address of the Scheduler Buffer of the Fetch Scheduler. + * This Base Address will be Needed by the ext_cfg AXI Master Interface to Access the Scheduler Buffer. + * This Register of the Core Can be Read/Written through the AXI Slave Lite Interface (int_cfg) of the Core. + */ +#pragma HLS INTERFACE s_axilite port=scheduler_buffer_base_address_f bundle=int_cfg + +/* + * The src_address_reg_offset_f is a Register to Store the Offset in the Scheduler Buffer where we Should + * Write the Source Address that the CDMA Fetch will Read the Data from. + * This Register of the Core Can be Read/Written through the AXI Slave Lite Interface (int_cfg) of the Core. + */ +#pragma HLS INTERFACE s_axilite port=src_address_reg_offset_f bundle=int_cfg + +/* + * The dst_address_reg_offset_f is a Register to Store the Offset in the Scheduler Buffer where we Should + * Write the Destination Address that the CDMA Fetch will Write the Data to. + * This Register of the Core Can be Read/Written through the AXI Slave Lite Interface (int_cfg) of the Core. + */ +#pragma HLS INTERFACE s_axilite port=dst_address_reg_offset_f bundle=int_cfg + +/* + * The data_size_reg_offset_f is a Register to Store the Offset in the Scheduler Buffer where we Should + * Write the Data Size of the CDMA Fetch Transfer. + * This Register of the Core Can be Read/Written through the AXI Slave Lite Interface (int_cfg) of the Core. + */ +#pragma HLS INTERFACE s_axilite port=data_size_reg_offset_f bundle=int_cfg + +/* + * The offset_reg_offset_f is a Register to Store the Offset in the Scheduler Buffer where we Should + * Write the Offset from the Source and Destination Base Addresses that the CDMA Fetch will Use to Make the Transfer. + * This Register of the Core Can be Read/Written through the AXI Slave Lite Interface (int_cfg) of the Core. + */ +#pragma HLS INTERFACE s_axilite port=offset_reg_offset_f bundle=int_cfg + +/* + * The src_address_f is a Register to Store the Source Address that the CDMA Fetch will Use to Read the Data. + * This Register of the Core Can be Read/Written through the AXI Slave Lite Interface (int_cfg) of the Core. + */ +#pragma HLS INTERFACE s_axilite port=src_address_f bundle=int_cfg + +/* + * The dst_address_f is a Register to Store the Destination Address that the CDMA Fetch will Use to Write the Data. + * This Register of the Core Can be Read/Written through the AXI Slave Lite Interface (int_cfg) of the Core. + */ +#pragma HLS INTERFACE s_axilite port=dst_address_f bundle=int_cfg + +/* + * The offset_f is a Register to Store the Offset from the Source and Destination Base Addresses where the Image Data Might be Present. + * This Register of the Core Can be Read/Written through the AXI Slave Lite Interface (int_cfg) of the Core. + */ +#pragma HLS INTERFACE s_axilite port=offset_f bundle=int_cfg + +/* + * The scheduler_buffer_base_address_s is a Register to Store the Base Address of the Scheduler Buffer of the Send Scheduler. + * This Base Address will be Needed by the ext_cfg AXI Master Interface to Access the Scheduler Buffer. + * This Register of the Core Can be Read/Written through the AXI Slave Lite Interface (int_cfg) of the Core. + */ +#pragma HLS INTERFACE s_axilite port=scheduler_buffer_base_address_s bundle=int_cfg + +/* + * The src_address_reg_offset_s is a Register to Store the Offset in the Scheduler Buffer where we Should + * Write the Source Address that the CDMA Send will Read the Data from. + * This Register of the Core Can be Read/Written through the AXI Slave Lite Interface (int_cfg) of the Core. + */ +#pragma HLS INTERFACE s_axilite port=src_address_reg_offset_s bundle=int_cfg + +/* + * The dst_address_reg_offset_s is a Register to Store the Offset in the Scheduler Buffer where we Should + * Write the Destination Address that the CDMA Send will Write the Data to. + * This Register of the Core Can be Read/Written through the AXI Slave Lite Interface (int_cfg) of the Core. + */ +#pragma HLS INTERFACE s_axilite port=dst_address_reg_offset_s bundle=int_cfg + +/* + * The data_size_reg_offset_s is a Register to Store the Offset in the Scheduler Buffer where we Should + * Write the Data Size of the CDMA Send Transfer. + * This Register of the Core Can be Read/Written through the AXI Slave Lite Interface (int_cfg) of the Core. + */ +#pragma HLS INTERFACE s_axilite port=data_size_reg_offset_s bundle=int_cfg + +/* + * The offset_reg_offset_s is a Register to Store the Offset in the Scheduler Buffer where we Should + * Write the Offset from the Source and Destination Base Addresses that the CDMA Send will Use to Make the Transfer. + * This Register of the Core Can be Read/Written through the AXI Slave Lite Interface (int_cfg) of the Core. + */ +#pragma HLS INTERFACE s_axilite port=offset_reg_offset_s bundle=int_cfg + +/* + * The src_address_s is a Register to Store the Source Address that the CDMA Send will Use to Read the Data. + * This Register of the Core Can be Read/Written through the AXI Slave Lite Interface (int_cfg) of the Core. + */ +#pragma HLS INTERFACE s_axilite port=src_address_s bundle=int_cfg + +/* + * The dst_address_s is a Register to Store the Destination Address that the CDMA Send will Use to Write the Data. + * This Register of the Core Can be Read/Written through the AXI Slave Lite Interface (int_cfg) of the Core. + */ +#pragma HLS INTERFACE s_axilite port=dst_address_s bundle=int_cfg + +/* + * The offset_s is a Register to Store the Offset from the Source and Destination Base Addresses where the Image Data Might be Present. + * This Register of the Core Can be Read/Written through the AXI Slave Lite Interface (int_cfg) of the Core. + */ +#pragma HLS INTERFACE s_axilite port=offset_s bundle=int_cfg + +/* + * The dma_base_address is a Register to Store the Base Address of the DMA that this Core + * will Need to Access through the ext_cfg AXI Master Interface. + * This Register is Accessed through the AXI Slave Lite Interface (int_cfg) of the Core. + */ +#pragma HLS INTERFACE s_axilite port=dma_base_address bundle=int_cfg + +/* + * The sobel_base_address is a Register to Store the Base Address of the Sobel Filter that this Core + * will Need to Access through the ext_cfg AXI Master Interface. + * This Register is Accessed through the AXI Slave Lite Interface (int_cfg) of the Core. + */ +#pragma HLS INTERFACE s_axilite port=sobel_base_address bundle=int_cfg + +/* + * The image_cols is a Register to Store the Number of Columns of the Image that will be Accelerated. + * This Register is Accessed through the AXI Slave Lite Interface (int_cfg) of the Core. + */ +#pragma HLS INTERFACE s_axilite port=image_cols bundle=int_cfg + +/* + * The image_rows is a Register to Store the Number of Rows of the Image that will be Accelerated. + * This Register is Accessed through the AXI Slave Lite Interface (int_cfg) of the Core. + */ +#pragma HLS INTERFACE s_axilite port=image_rows bundle=int_cfg + +/* + * The accel_group is a Register to Store the Acceleration Group Number (0-6) that this Core Belongs to. + * This Register is Accessed through the AXI Slave Lite Interface (int_cfg) of the Core. + */ +#pragma HLS INTERFACE s_axilite port=accel_group bundle=int_cfg + +/* + * The shared_apm_base_address is a Register to Store the Base Address of the Shared Timer (APM) that this Core + * will Need to Access through the ext_cfg AXI Master Interface. + * This Register is Accessed through the AXI Slave Lite Interface (int_cfg) of the Core. + */ +#pragma HLS INTERFACE s_axilite port=shared_apm_base_address bundle=int_cfg + +/* + * The shared_metrics_base_address is a Register to Store the Base Address of the Memory that this Core + * will Need to Access through the ext_cfg AXI Master Interface in Order to Write the Metrics Information. + * This Register is Accessed through the AXI Slave Lite Interface (int_cfg) of the Core. + */ +#pragma HLS INTERFACE s_axilite port=shared_metrics_base_address bundle=int_cfg + +/* + * The apm_base_address is a Register to Store the Base Address of the AXI Performance Monitor Unit (APM) that this Core + * will Need to Access through the ext_cfg AXI Master Interface. + * This Register is Accessed through the AXI Slave Lite Interface (int_cfg) of the Core. + */ +#pragma HLS INTERFACE s_axilite port=apm_base_address bundle=int_cfg + +#pragma HLS INTERFACE s_axilite port=return bundle=int_cfg + + + +ap_uint<32> data_register; // Used to Temporalily Store Values when Reading or Writing from/to Registers of External Devices. +ap_uint<32> initial_data_register; // Used to Temporalily Store Values when Reading or Writing from/to Registers of External Devices. + +ap_uint<1> start_value; // Used to Read the Last Value of the start Input Port. +ap_uint<1> dma_intr_in_value; // Used to Read the Last Value of the dma_intr_in Input Port. + + +ap_uint<32> dma_accel_time_start_gcc_l; // Store the Acceleration Start Time Lower Register from the Shared Timer (Shared APM). +ap_uint<32> dma_accel_time_start_gcc_u; // Store the Acceleration Start Time Upper Register from the Shared Timer (Shared APM). + +ap_uint<32> dma_accel_time_end_gcc_l; // Store the Acceleration End Time Lower Register from the Shared Timer (Shared APM). +ap_uint<32> dma_accel_time_end_gcc_u; // Store the Acceleration End Time Upper Register from the Shared Timer (Shared APM). + +ap_uint<32> read_transactions; // Store the Read Transactions from the APM. +ap_uint<32> read_bytes; // Store the Read Bytes from the APM. + +ap_uint<32> write_transactions; // Store the Write Transactions from the APM. +ap_uint<32> write_bytes; // Store the Write Bytes from the APM. + +ap_uint<32> stream_packets; // Store the Stream Packets from the APM. +ap_uint<32> stream_bytes; // Store the Stream Bytes from the APM. + +ap_uint<32> gcc_lower; // Store the Global Clock Counter Lower Register from the APM. +ap_uint<32> gcc_upper; // Store the Global Clock Counter Upper Register from the APM. + + + + +/* + * ----------------------------------------------------------------------------------------------------------------------------------------- + * Set the Registers of the Scheduler Buffer of the Fetch Scheduler with the Source and Destination Addresses, the Offset and the Data Size. + * The Fetch Scheduler will Use the above to Start the CDMA Fetch Transfer from the Host Memory to the FPGA's DDR3. + * ----------------------------------------------------------------------------------------------------------------------------------------- + */ + +//Get from the Internal Register (src_address_f) the Source Address for the CDMA Fetch Transfer. +data_register = src_address_f; + +//Write the Source Address for the CDMA Fetch Transfer to the Source Address Register in the Scheduler Buffer of the Fetch Scheduler. +memcpy((ap_uint<32> *)(ext_cfg + (scheduler_buffer_base_address_f + src_address_reg_offset_f) / 4), &data_register, sizeof(ap_uint<32>)); + + +//Get from the Internal Register (dst_address_f) the Destination Address for the CDMA Fetch Transfer. +data_register = dst_address_f; + +//Write the Destination Address for the CDMA Fetch Transfer to the Destination Address Register in the Scheduler Buffer of the Fetch Scheduler. +memcpy((ap_uint<32> *)(ext_cfg + (scheduler_buffer_base_address_f + dst_address_reg_offset_f) / 4), &data_register, sizeof(ap_uint<32>)); + + +//Get from the Internal Register (offset_f) the Offset Value for the CDMA Fetch Transfer. +data_register = offset_f; + +//Write the Offset Value for the CDMA Fetch Transfer to the Offset Register in the Scheduler Buffer of the Fetch Scheduler. +memcpy((ap_uint<32> *)(ext_cfg + (scheduler_buffer_base_address_f + offset_reg_offset_f) / 4), &data_register, sizeof(ap_uint<32>)); + + +//Calculate from the Internal Registers (image_cols, image_rows) the Data Size for the CDMA Fetch Transfer. +data_register = (image_cols * image_rows * 4); + +//Write the Data Size for the CDMA Fetch Transfer to the Data Size Register in the Scheduler Buffer of the Fetch Scheduler. +memcpy((ap_uint<32> *)(ext_cfg + (scheduler_buffer_base_address_f + data_size_reg_offset_f) / 4), &data_register, sizeof(ap_uint<32>)); + + + +/* + * ---------------------------------------------- + * Wait for Start Signal from the Fetch Scheduler + * ---------------------------------------------- + */ + +//Make an Initial Read of the Current State of the start Input. +start_value = *start; + +//Keep Looping for as long as the start Input Does not Reach a Logic 1 Value. +while(start_value != 1) +{ + //Keep Reading the Last Value of the start Input. + start_value = *start; +} + +//Reset the Reader Variable. +start_value = 0; + + + +/* + * ----------------------- + * Enable the APM Counters + * ----------------------- + */ + +//Read the Control Register of the APM. +memcpy(&data_register, (const ap_uint<32> *)(ext_cfg + (apm_base_address + XAPM_CTL_OFFSET) / 4), sizeof(ap_uint<32>)); + +//Set the Recently Read Value with the Masks Required to Enable the GCC and Metrics Counters. +data_register = data_register | XAPM_CR_GCC_ENABLE_MASK | XAPM_CR_MCNTR_ENABLE_MASK; + +//Write the new Value Back to the Control Register of the APM to Enable the GCC and Metrics Counters. +memcpy((ap_uint<32> *)(ext_cfg + (apm_base_address + XAPM_CTL_OFFSET) / 4), &data_register, sizeof(ap_uint<32>)); + + + +/* + * --------------------------------------------------------------------------------------------------------------------- + * Read the Upper and Lower Registers of the Global Clock Counter of the Shared Timer to Get DMA Acceleration Start Time + * --------------------------------------------------------------------------------------------------------------------- + */ + +//Read the Lower Register of the GCC of the Shared Timer to Get the 32 LSBs of the Acceleration Start Time. +memcpy(&dma_accel_time_start_gcc_l, (const ap_uint<32> *)(ext_cfg + (shared_apm_base_address + XAPM_GCC_LOW_OFFSET) / 4), sizeof(ap_uint<32>)); + +//Store the 32 LSBs of the Acceleration Start Time to a Specific Offset of the Metrics Memory. +memcpy((ap_uint<32> *)(ext_cfg + (shared_metrics_base_address + (sizeof(struct metrics) * 2) + (sizeof(struct metrics) * accel_group) + DMA_ACCEL_TIME_START_L_OFFSET) / 4), &dma_accel_time_start_gcc_l, sizeof(ap_uint<32>)); + + +//Read the Upper Register of the GCC of the Shared Timer to Get the 32 MSBs of the Acceleration Start Time. +memcpy(&dma_accel_time_start_gcc_u, (const ap_uint<32> *)(ext_cfg + (shared_apm_base_address + XAPM_GCC_HIGH_OFFSET) / 4), sizeof(ap_uint<32>)); + +//Store the 32 MSBs of the Acceleration Start Time to a Specific Offset of the Metrics Memory. +memcpy((ap_uint<32> *)(ext_cfg + (shared_metrics_base_address + (sizeof(struct metrics) * 2) + (sizeof(struct metrics) * accel_group) + DMA_ACCEL_TIME_START_U_OFFSET) / 4), &dma_accel_time_start_gcc_u, sizeof(ap_uint<32>)); + + + +/* + * -------------------------------- + * Setup and Start the Sobel Filter + * -------------------------------- + */ + +//Get the Sobel Filter Columns from the Internal Register (image_cols) of the Core. +data_register = image_cols; + +//Write the Sobel Filter Columns to a Specific Offset of the Sobel Filter Device. +memcpy((ap_uint<32> *)(ext_cfg + (sobel_base_address + XSOBEL_FILTER_S_AXI4_LITE_ADDR_COLS_DATA) / 4), &data_register, sizeof(ap_uint<32>)); + +//Get the Sobel Filter Rows from the Internal Register (image_rows) of the Core. +data_register = image_rows; + +//Write the Sobel Filter Rows to a Specific Offset of the Sobel Filter Device. +memcpy((ap_uint<32> *)(ext_cfg + (sobel_base_address + XSOBEL_FILTER_S_AXI4_LITE_ADDR_ROWS_DATA) / 4), &data_register, sizeof(ap_uint<32>)); + + +//Read the Control Register of the Sobel Filter. +memcpy(&data_register, (const ap_uint<32> *)(ext_cfg + (sobel_base_address + XSOBEL_FILTER_S_AXI4_LITE_ADDR_AP_CTRL) / 4), sizeof(ap_uint<32>)); + +//Set the Appropriate Masks According to the Recently Read Value that Will be Needed to Start the Sobel Filter. +data_register = data_register & 0x80; +data_register = data_register | 0x01; + +//Write the new Value Back to the Control Register of the Sobel Filter so that the Sobel Filter Gets Started. +memcpy((ap_uint<32> *)(ext_cfg + (sobel_base_address + XSOBEL_FILTER_S_AXI4_LITE_ADDR_AP_CTRL) / 4), &data_register, sizeof(ap_uint<32>)); + + + +/* + * --------------------------------------------- + * Setup and Start Device to DMA Transfer (S2MM) + * --------------------------------------------- + */ + +//Get from the Internal Register (src_address_s) of the Core the Destination Address that the DMA will Use to Write the Processed Image Data. +//NOTE that the Destination Address of the DMA S2MM Transfer is the Source Address of the CDMA Send Transfer. +data_register = src_address_s; + +//Write the Destination Address to the Destination Register of the DMA. +memcpy((ap_uint<32> *)(ext_cfg + (dma_base_address + XAXIDMA_RX_OFFSET + XAXIDMA_DESTADDR_OFFSET) / 4), &data_register, sizeof(ap_uint<32>)); + +//Read the S2MM Control Register of the DMA. +memcpy(&data_register, (const ap_uint<32> *)(ext_cfg + (dma_base_address + XAXIDMA_RX_OFFSET + XAXIDMA_CR_OFFSET) / 4), sizeof(ap_uint<32>)); + +//Set the Recently Read Value with the Mask Required to Enable the S2MM DMA Channel. +data_register = data_register | XAXIDMA_CR_RUNSTOP_MASK; + +//Write the new Value Back to the Control Register of the DMA in Order to Enable the S2MM Channel. +memcpy((ap_uint<32> *)(ext_cfg + (dma_base_address + XAXIDMA_RX_OFFSET + XAXIDMA_CR_OFFSET) / 4), &data_register, sizeof(ap_uint<32>)); + +//Calculate the Image/Transfer Size According to the Internal Registers (image_cols, image_rows) of the Core. +data_register = (image_cols * image_rows * 4); + +//Write the Transfer Size to the S2MM Length Register of the DMA which Starts the S2MM Transfer. +memcpy((ap_uint<32> *)(ext_cfg + (dma_base_address + XAXIDMA_RX_OFFSET + XAXIDMA_BUFFLEN_OFFSET) / 4), &data_register, sizeof(ap_uint<32>)); + + + +/* + * --------------------------------------------- + * Setup and Start DMA to Device Transfer (MM2S) + * --------------------------------------------- + */ + +//Get from the Internal Register (dst_address_f) of the Core the Source Address that the DMA will Use to Read the Initial Image Data. +//NOTE that the Destination Address of the CDMA Fetch Transfer is the Source Address of the DMA MM2S Transfer. +data_register = dst_address_f; + +//Write the Source Address to the Source Register of the DMA. +memcpy((ap_uint<32> *)(ext_cfg + (dma_base_address + XAXIDMA_TX_OFFSET + XAXIDMA_SRCADDR_OFFSET) / 4), &data_register, sizeof(ap_uint<32>)); + +//Read the MM2S Control Register of the DMA. +memcpy(&data_register, (const ap_uint<32> *)(ext_cfg + (dma_base_address + XAXIDMA_TX_OFFSET + XAXIDMA_CR_OFFSET) / 4), sizeof(ap_uint<32>)); + +//Set the Recently Read Value with the Mask Required to Enable the MM2S DMA Channel. +data_register = data_register | XAXIDMA_CR_RUNSTOP_MASK; + +//Write the new Value Back to the Control Register of the DMA in Order to Enable the MM2S Channel. +memcpy((ap_uint<32> *)(ext_cfg + (dma_base_address + XAXIDMA_TX_OFFSET + XAXIDMA_CR_OFFSET) / 4), &data_register, sizeof(ap_uint<32>)); + +//Calculate the Image/Transfer Size According to the Internal Registers (image_cols, image_rows) of the Core. +data_register = (image_cols * image_rows * 4); + +//Write the Transfer Size to the MM2S Length Register of the DMA which Starts the MM2S Transfer. +memcpy((ap_uint<32> *)(ext_cfg + (dma_base_address + XAXIDMA_TX_OFFSET + XAXIDMA_BUFFLEN_OFFSET) / 4), &data_register, sizeof(ap_uint<32>)); + + + +/* + * ------------------------ + * Wait for a DMA Interrupt + * ------------------------ + */ + +//Make an Initial Read of the Current State of the dma_intr_in Input. +dma_intr_in_value = *dma_intr_in; + +//Keep Looping for as long as the dma_intr_in Input Does not Reach a Logic 1 Value. +while(dma_intr_in_value != 1) +{ + //Keep Reading the Last Value of the dma_intr_in Input. + dma_intr_in_value = *dma_intr_in; +} + +//Reset the Reader Variable. +dma_intr_in_value = 0; + + + +/* + * --------------------------------------------------------------------------------------------------------------------- + * Read the Upper and Lower Registers of the Global Clock Counter of the Shared Timer to Get DMA Acceleration End Time + * --------------------------------------------------------------------------------------------------------------------- + */ + +//Read the Lower Register of the GCC of the Shared Timer to Get the 32 LSBs of the Acceleration End Time. +memcpy(&dma_accel_time_end_gcc_l, (const ap_uint<32> *)(ext_cfg + (shared_apm_base_address + XAPM_GCC_LOW_OFFSET) / 4), sizeof(ap_uint<32>)); + +//Store the 32 LSBs of the Acceleration End Time to a Specific Offset of the Metrics Memory. +memcpy((ap_uint<32> *)(ext_cfg + (shared_metrics_base_address + (sizeof(struct metrics) * 2) + (sizeof(struct metrics) * accel_group) + DMA_ACCEL_TIME_END_L_OFFSET) / 4), &dma_accel_time_end_gcc_l, sizeof(ap_uint<32>)); + +//Read the Upper Register of the GCC of the Shared Timer to Get the 32 MSBs of the Acceleration End Time. +memcpy(&dma_accel_time_end_gcc_u, (const ap_uint<32> *)(ext_cfg + (shared_apm_base_address + XAPM_GCC_HIGH_OFFSET) / 4), sizeof(ap_uint<32>)); + +//Store the 32 MSBs of the Acceleration End Time to a Specific Offset of the Metrics Memory. +memcpy((ap_uint<32> *)(ext_cfg + (shared_metrics_base_address + (sizeof(struct metrics) * 2) + (sizeof(struct metrics) * accel_group) + DMA_ACCEL_TIME_END_U_OFFSET) / 4), &dma_accel_time_end_gcc_u, sizeof(ap_uint<32>)); + + +/* + * ------------------------ + * Disable the APM Counters + * ------------------------ + */ + +//Read the Control Register of the APM. +memcpy(&data_register, (const ap_uint<32> *)(ext_cfg + (apm_base_address + XAPM_CTL_OFFSET) / 4), sizeof(ap_uint<32>)); + +//Set the Recently Read Value with the Masks Accordingly to Disable the GCC and Metrics Counters. +data_register = data_register & ~(XAPM_CR_GCC_ENABLE_MASK) & ~(XAPM_CR_MCNTR_ENABLE_MASK); + +//Write the new Value Back to the Control Register of the APM to Disable the GCC and Metrics Counters. +memcpy((ap_uint<32> *)(ext_cfg + (apm_base_address + XAPM_CTL_OFFSET) / 4), &data_register, sizeof(ap_uint<32>)); + + + +/* + * --------------------------------------------------------------------- + * Read the DMA S2MM Status Register to Get the IRQs (IOC, Delay, Error) + * IOC Stands for: Interrupt On Complete + * --------------------------------------------------------------------- + */ + +//Read the S2MM Status Register of the DMA which among others Includes the Status of the DMA's IRQs. +memcpy(&data_register, (const ap_uint<32> *)(ext_cfg + (dma_base_address + XAXIDMA_RX_OFFSET + XAXIDMA_SR_OFFSET) / 4), sizeof(ap_uint<32>)); + +//Filter the Recently Read Value with the XAXIDMA_IRQ_ALL_MASK so as to Keep ONLY the IRQs that were Triggered. +data_register = data_register & XAXIDMA_IRQ_ALL_MASK; + +/* + * ------------------------------------ + * Acknowledge the Triggered Interrupts + * ------------------------------------ + */ + +//Write the new Value Back to the Status Register of the DMA which Acknowledges the Triggered Interrupts. +memcpy((ap_uint<32> *)(ext_cfg + (dma_base_address + XAXIDMA_RX_OFFSET + XAXIDMA_SR_OFFSET) / 4), &data_register, sizeof(ap_uint<32>)); + + + +/* + * -------------------------------------------------------------------------- + * Read the APM Metrics Counters and Store their Values to the Metrics Memory + * -------------------------------------------------------------------------- + */ + +//Get the Read Transactions from the APM and Write it to the Shared Metrics Memory +memcpy(&read_transactions, (const ap_uint<32> *)(ext_cfg + (apm_base_address + XAPM_MC0_OFFSET) / 4), sizeof(ap_uint<32>)); +memcpy((ap_uint<32> *)(ext_cfg + (shared_metrics_base_address + (sizeof(struct metrics) * 2) + (sizeof(struct metrics) * accel_group) + APM_READ_TRANSACTIONS_OFFSET) / 4), &read_transactions, sizeof(ap_uint<32>)); + +//Get the Read Bytes from the APM and Write it to the Shared Metrics Memory +memcpy(&read_bytes, (const ap_uint<32> *)(ext_cfg + (apm_base_address + XAPM_MC1_OFFSET) / 4), sizeof(ap_uint<32>)); +memcpy((ap_uint<32> *)(ext_cfg + (shared_metrics_base_address + (sizeof(struct metrics) * 2) + (sizeof(struct metrics) * accel_group) + APM_READ_BYTES_OFFSET) / 4), &read_bytes, sizeof(ap_uint<32>)); + +//Get the Write Transactions from the APM and Write it to the Shared Metrics Memory +memcpy(&write_transactions, (const ap_uint<32> *)(ext_cfg + (apm_base_address + XAPM_MC2_OFFSET) / 4), sizeof(ap_uint<32>)); +memcpy((ap_uint<32> *)(ext_cfg + (shared_metrics_base_address + (sizeof(struct metrics) * 2) + (sizeof(struct metrics) * accel_group) + APM_WRITE_TRANSACTIONS_OFFSET) / 4), &write_transactions, sizeof(ap_uint<32>)); + +//Get the Write Bytes from the APM and Write it to the Shared Metrics Memory +memcpy(&write_bytes, (const ap_uint<32> *)(ext_cfg + (apm_base_address + XAPM_MC3_OFFSET) / 4), sizeof(ap_uint<32>)); +memcpy((ap_uint<32> *)(ext_cfg + (shared_metrics_base_address + (sizeof(struct metrics) * 2) + (sizeof(struct metrics) * accel_group) + APM_WRITE_BYTES_OFFSET) / 4), &write_bytes, sizeof(ap_uint<32>)); + +//Get the Stream Packets from the APM and Write it to the Shared Metrics Memory +memcpy(&stream_packets, (const ap_uint<32> *)(ext_cfg + (apm_base_address + XAPM_MC4_OFFSET) / 4), sizeof(ap_uint<32>)); +memcpy((ap_uint<32> *)(ext_cfg + (shared_metrics_base_address + (sizeof(struct metrics) * 2) + (sizeof(struct metrics) * accel_group) + APM_PACKETS_OFFSET) / 4), &stream_packets, sizeof(ap_uint<32>)); + +//Get the Stream Bytes from the APM and Write it to the Shared Metrics Memory +memcpy(&stream_bytes, (const ap_uint<32> *)(ext_cfg + (apm_base_address + XAPM_MC5_OFFSET) / 4), sizeof(ap_uint<32>)); +memcpy((ap_uint<32> *)(ext_cfg + (shared_metrics_base_address + (sizeof(struct metrics) * 2) + (sizeof(struct metrics) * accel_group) + APM_BYTES_OFFSET) / 4), &stream_bytes, sizeof(ap_uint<32>)); + +//Get the GCC Lower Register from the APM and Write it to the Shared Metrics Memory +memcpy(&gcc_lower, (const ap_uint<32> *)(ext_cfg + (apm_base_address + XAPM_GCC_LOW_OFFSET) / 4), sizeof(ap_uint<32>)); +memcpy((ap_uint<32> *)(ext_cfg + (shared_metrics_base_address + (sizeof(struct metrics) * 2) + (sizeof(struct metrics) * accel_group) + APM_GCC_L_OFFSET) / 4), &gcc_lower, sizeof(ap_uint<32>)); + +//Get the GCC Upper Register from the APM and Write it to the Shared Metrics Memory +memcpy(&gcc_upper, (const ap_uint<32> *)(ext_cfg + (apm_base_address + XAPM_GCC_HIGH_OFFSET) / 4), sizeof(ap_uint<32>)); +memcpy((ap_uint<32> *)(ext_cfg + (shared_metrics_base_address + (sizeof(struct metrics) * 2) + (sizeof(struct metrics) * accel_group) + APM_GCC_U_OFFSET) / 4), &gcc_upper, sizeof(ap_uint<32>)); + + +/* + * ---------------------- + * Reset the APM Counters + * ---------------------- + */ + +//Read the Control Register of the APM. +memcpy(&initial_data_register, (const ap_uint<32> *)(ext_cfg + (apm_base_address + XAPM_CTL_OFFSET) / 4), sizeof(ap_uint<32>)); + +//Set the Recently Read Value with the Masks Accordingly to Reset the GCC and Metrics Counters. +data_register = initial_data_register | XAPM_CR_GCC_RESET_MASK | XAPM_CR_MCNTR_RESET_MASK; + +//Write the new Value Back to the Control Register of the APM to Reset the GCC and Metrics Counters. +memcpy((ap_uint<32> *)(ext_cfg + (apm_base_address + XAPM_CTL_OFFSET) / 4), &data_register, sizeof(ap_uint<32>)); + +//Now Reverse the Value of the Previous Masks in order to Release the Reset. +data_register = initial_data_register & ~(XAPM_CR_GCC_RESET_MASK) & ~(XAPM_CR_MCNTR_RESET_MASK); + +//Write the new Value Back to the Control Register of the APM to Release the Reset. +memcpy((ap_uint<32> *)(ext_cfg + (apm_base_address + XAPM_CTL_OFFSET) / 4), &data_register, sizeof(ap_uint<32>)); + + +/* + * ----------------------------------------------------------------------------------------------------------------------------------------- + * Set the Registers of the Scheduler Buffer of the Send Scheduler with the Source and Destination Addresses, the Offset and the Data Size. + * The Send Scheduler will Use the above to Start the CDMA Send Transfer from the Host Memory to the FPGA's DDR3. + * ----------------------------------------------------------------------------------------------------------------------------------------- + */ + +//Get from the Internal Register (src_address_s) the Source Address for the CDMA Transfer. +data_register = src_address_s; + +//Write the Source Address for the CDMA Send Transfer to the Source Address Register in the Scheduler Buffer of the Send Scheduler. +memcpy((ap_uint<32> *)(ext_cfg + (scheduler_buffer_base_address_s + src_address_reg_offset_s) / 4), &data_register, sizeof(ap_uint<32>)); + + +//Get from the Internal Register (dst_address_s) the Destination Address for the CDMA Send Transfer. +data_register = dst_address_s; + +//Write the Destination Address for the CDMA Send Transfer to the Destination Address Register in the Scheduler Buffer of the Send Scheduler. +memcpy((ap_uint<32> *)(ext_cfg + (scheduler_buffer_base_address_s + dst_address_reg_offset_s) / 4), &data_register, sizeof(ap_uint<32>)); + + +//Get from the Internal Register (offset_s) the Offset Value for the CDMA Send Transfer. +data_register = offset_s; + +//Write the Offset Value for the CDMA Send Transfer to the Offset Register in the Scheduler Buffer of the Send Scheduler. +memcpy((ap_uint<32> *)(ext_cfg + (scheduler_buffer_base_address_s + offset_reg_offset_s) / 4), &data_register, sizeof(ap_uint<32>)); + + +//Calculate from the Internal Registers (image_cols, image_rows) the Data Size for the CDMA Send Transfer. +data_register = (image_cols * image_rows * 4); + +//Write the Data Size for the CDMA Send Transfer to the Data Size Register in the Scheduler Buffer of the Send Scheduler. +memcpy((ap_uint<32> *)(ext_cfg + (scheduler_buffer_base_address_s + data_size_reg_offset_s) / 4), &data_register, sizeof(ap_uint<32>)); + + +return 1; + + +} + + diff --git a/Hardware/Vivado_HLS_IPs/Acceleration_Scheduler_Indirect/acceleration_scheduler_indirect.h b/Hardware/Vivado_HLS_IPs/Acceleration_Scheduler_Indirect/acceleration_scheduler_indirect.h new file mode 100644 index 0000000..0e396c0 --- /dev/null +++ b/Hardware/Vivado_HLS_IPs/Acceleration_Scheduler_Indirect/acceleration_scheduler_indirect.h @@ -0,0 +1,126 @@ +#define APM_READ_TRANSACTIONS_OFFSET 0 +#define APM_READ_BYTES_OFFSET 4 + +#define APM_WRITE_TRANSACTIONS_OFFSET 8 +#define APM_WRITE_BYTES_OFFSET 12 + +#define APM_PACKETS_OFFSET 16 +#define APM_BYTES_OFFSET 20 + +#define APM_GCC_L_OFFSET 24 +#define APM_GCC_U_OFFSET 28 + +#define CDMA_FETCH_TIME_START_L_OFFSET 32 +#define CDMA_FETCH_TIME_START_U_OFFSET 36 + +#define CDMA_FETCH_TIME_END_L_OFFSET 40 +#define CDMA_FETCH_TIME_END_U_OFFSET 44 + +#define CDMA_SEND_TIME_START_L_OFFSET 48 +#define CDMA_SEND_TIME_START_U_OFFSET 52 + +#define CDMA_SEND_TIME_END_L_OFFSET 56 +#define CDMA_SEND_TIME_END_U_OFFSET 60 + +#define DMA_ACCEL_TIME_START_L_OFFSET 64 +#define DMA_ACCEL_TIME_START_U_OFFSET 68 + +#define DMA_ACCEL_TIME_END_L_OFFSET 72 +#define DMA_ACCEL_TIME_END_U_OFFSET 76 + + +struct image_info +{ + ap_uint<32> rows; + ap_uint<32> columns; + ap_uint<64> size; +}; + +struct metrics +{ + /* + * AXI Performance Monitor Metrics + */ + ap_uint<32> apm_read_transactions; //Offset 0 Bytes + ap_uint<32> apm_read_bytes; //Offset 4 Bytes + + ap_uint<32> apm_write_transactions; //Offset 8 Bytes + ap_uint<32> apm_write_bytes; //Offset 12 Bytes + + ap_uint<32> apm_packets; //Offset 16 Bytes + ap_uint<32> apm_bytes; //Offset 20 Bytes + + ap_uint<32> apm_gcc_l; //Offset 24 Bytes + ap_uint<32> apm_gcc_u; //Offset 28 Bytes + + ap_uint<32> cdma_fetch_time_start_l; //Offset 32 Bytes + ap_uint<32> cdma_fetch_time_start_u; //Offset 36 Bytes + ap_uint<32> cdma_fetch_time_end_l; //Offset 40 Bytes + ap_uint<32> cdma_fetch_time_end_u; //Offset 44 Bytes + + ap_uint<32> cdma_send_time_start_l; //Offset 48 Bytes + ap_uint<32> cdma_send_time_start_u; //Offset 52 Bytes + ap_uint<32> cdma_send_time_end_l; //Offset 56 Bytes + ap_uint<32> cdma_send_time_end_u; //Offset 60 Bytes + + ap_uint<32> dma_accel_time_start_l; //Offset 64 Bytes + ap_uint<32> dma_accel_time_start_u; //Offset 68 Bytes + ap_uint<32> dma_accel_time_end_l; //Offset 72 Bytes + ap_uint<32> dma_accel_time_end_u; //Offset 76 Bytes + + struct image_info shared_image_info; // Offset 80 Bytes + + /* + * Kernel and Userspace Metrics + */ + + ap_uint<64> total_time_start; + ap_uint<64> total_time_end; + + ap_uint<64> sleep_time_start; + ap_uint<64> sleep_time_end; + + ap_uint<64> preparation_time_start; + ap_uint<64> preparation_time_end; + + ap_uint<64> load_time_start; + ap_uint<64> load_time_end; + + ap_uint<64> save_time_start; + ap_uint<64> save_time_end; + + +}; + +struct status_flags +{ + ap_uint<32> accel_direct_0_occupied_pid; + ap_uint<32> accel_direct_1_occupied_pid; + + ap_uint<32> accel_indirect_0_occupied_pid; + ap_uint<32> accel_indirect_1_occupied_pid; + ap_uint<32> accel_indirect_2_occupied_pid; + ap_uint<32> accel_indirect_3_occupied_pid; + + ap_uint<32> accel_sg_0_occupied_pid; + + + ap_uint<32> accelerator_busy; + ap_uint<32> open_modules; +}; + +struct shared_repository +{ + struct metrics accel_direct_0_shared_metrics; + struct metrics accel_direct_1_shared_metrics; + + struct metrics accel_indirect_0_shared_metrics; + struct metrics accel_indirect_1_shared_metrics; + struct metrics accel_indirect_2_shared_metrics; + struct metrics accel_indirect_3_shared_metrics; + + struct metrics accel_sg_0_shared_metrics; + + struct status_flags shared_status_flags; + +}; diff --git a/Hardware/Vivado_HLS_IPs/Acceleration_Scheduler_Indirect/run_hls.tcl b/Hardware/Vivado_HLS_IPs/Acceleration_Scheduler_Indirect/run_hls.tcl new file mode 100644 index 0000000..1143a16 --- /dev/null +++ b/Hardware/Vivado_HLS_IPs/Acceleration_Scheduler_Indirect/run_hls.tcl @@ -0,0 +1,17 @@ +open_project Acceleration_Scheduler_Indirect + +set_top acceleration_scheduler_indirect + +add_files acceleration_scheduler_indirect.cpp + +open_solution "solution1" + +#The Part Refers to the Xilinx Virtex 7 VC707 FPGA Development Board +set_part {xc7vx485tffg1761-2} +create_clock -period 10 -name default + +csynth_design + +export_design -format ip_catalog -display_name "Acceleration Scheduler Indirect" -version "2.0" + +exit diff --git a/Hardware/Vivado_HLS_IPs/Acceleration_Scheduler_SG_XDMA/.keep b/Hardware/Vivado_HLS_IPs/Acceleration_Scheduler_SG_XDMA/.keep new file mode 100644 index 0000000..e69de29 diff --git a/Hardware/Vivado_HLS_IPs/Acceleration_Scheduler_SG_XDMA/acceleration_scheduler_sg_xdma.cpp b/Hardware/Vivado_HLS_IPs/Acceleration_Scheduler_SG_XDMA/acceleration_scheduler_sg_xdma.cpp new file mode 100644 index 0000000..172e3cf --- /dev/null +++ b/Hardware/Vivado_HLS_IPs/Acceleration_Scheduler_SG_XDMA/acceleration_scheduler_sg_xdma.cpp @@ -0,0 +1,476 @@ +#include +#include +#include +#include "ap_int.h" +#include "ap_utils.h" +#include "ap_cint.h" +#include "ap_utils.h" +#include "ap_int.h" +#include "acceleration_scheduler_sg_xdma.h" + + +/* + * ----------------------------- + * Registers of the Sobel Filter + * ----------------------------- + */ +#define XSOBEL_FILTER_S_AXI4_LITE_ADDR_AP_CTRL 0x00 +#define XSOBEL_FILTER_S_AXI4_LITE_ADDR_ROWS_DATA 0x18 +#define XSOBEL_FILTER_S_AXI4_LITE_ADDR_COLS_DATA 0x20 + + +/* + * ------------------------------------------------------------- + * Registers and Masks of the AXI Performance Monitor Unit (APM) + * ------------------------------------------------------------- + */ +#define XAPM_CR_GCC_RESET_MASK 0x00020000 // Global Clock Counter (GCC) Reset Mask. +#define XAPM_CR_GCC_ENABLE_MASK 0x00010000 // Global Clock Counter (GCC) Enable Mask. +#define XAPM_CR_MCNTR_RESET_MASK 0x00000002 // Metrics Counter Reset Mask. +#define XAPM_CR_MCNTR_ENABLE_MASK 0x00000001 // Metrics Counter Enable Mask. + +#define XAPM_CTL_OFFSET 0x0300 // Control Register Offset. +#define XAPM_GCC_HIGH_OFFSET 0x0000 // Global Clock Counter 32 to 63 bits (Upper) Register Offset. +#define XAPM_GCC_LOW_OFFSET 0x0004 // Global Clock Counter 0 to 31 bits (Lower) Register Offset. + +#define XAPM_MC0_OFFSET 0x0100 // Metrics Counter 0 Register Offset. +#define XAPM_MC1_OFFSET 0x0110 // Metrics Counter 1 Register Offset. +#define XAPM_MC2_OFFSET 0x0120 // Metrics Counter 2 Register Offset. +#define XAPM_MC3_OFFSET 0x0130 // Metrics Counter 3 Register Offset. +#define XAPM_MC4_OFFSET 0x0140 // Metrics Counter 4 Register Offset. +#define XAPM_MC5_OFFSET 0x0150 // Metrics Counter 5 Register Offset. + + +/* + * -------------------------------------- + * Registers of the DMA SG PCIe Scheduler + * -------------------------------------- + */ +#define XDMA_SG_PCIE_SCHEDULER_CFG_ADDR_AP_CTRL 0x00 // Control Register Offset. +#define XDMA_SG_PCIE_SCHEDULER_CFG_ADDR_GIE 0x04 // Global Interrupt Enable Register Offset. +#define XDMA_SG_PCIE_SCHEDULER_CFG_ADDR_IER 0x08 // Interrupt Enable Register Offset. +#define XDMA_SG_PCIE_SCHEDULER_CFG_ADDR_ISR 0x0C // Interrupt Interrupt Status Register Offset. +#define XDMA_SG_PCIE_SCHEDULER_CFG_ADDR_REQUESTED_DATA_SIZE_DATA 0x20 // Data Size Register for the Scatter/Gather Transfer. + +/* + * acceleration_scheduler_sg_xdma() + * + * The Hardware Funtionality of the Acceleration Scheduler Scatter/Gather Core. + * + * The Acceleration Scheduler Scatter/Gather Core is Part of the Acceleration Group Scatter/Gather and is Used to Manage the whole Acceleration Procedure. + * It Interacts with the DMA SG PCIe Scheduler, Sobel Filter and APM of the Acceleration Group Direct as well as the Shared Timer (Shared APM) to Get Time Metrics. + * It, also, Interacts with the Interrupt Manager to Signalize the Completion of the Acceleration Procedure. + * + * The Sequential Steps of the Acceleration Procedure are as Follows: + * + * a --> Enable the Counters of the AXI Performance Monitor Unit (APM). + * b --> Read the Current Value of the Shared Timer to Get the Time that the Acceleration Started. + * c --> Setup and Start the Sobel Filter. + * d --> Enable the Interrupts of the DMA SG PCIe Scheduler. + * e --> Setup and Start the DMA SG PCIe Scheduler. + * f --> Wait for an Interrupt by the DMA SG PCIe Scheduler on Completion of the Acceleration. + * g --> Read the Current Value of the Shared Timer to Get the Time that the Acceleration Ended. + * h --> Disable the Counters of the AXI Performance Monitor Unit (APM). + * i --> Clear and Re-Enable the Interrupts of the DMA SG PCIe Scheduler. + * j --> Collect the Metrics from the Counters of the AXI Performance Monitor Unit (APM). + * k --> Reset the Counters of the AXI Performance Monitor Unit (APM). + * l --> Inform the Interrupt Manager About the Completion of the Acceleration Procedure. + * + * The Function Parameters are the Input/Output Ports/Interfaces of the Core: + * + * 01 --------> The AXI Master Interface of the Core Used to Access External Devices and Memories. + * 02 --------> Single Bit Input Used to Receive External Interrupts from the DMA SG PCIe Scheduler. + * 03 to 11 --> Registers of the Core that are Accessed through the AXI Slave Lite Interface of the Core. + */ +int acceleration_scheduler_sg_xdma(/*01*/volatile ap_uint<32> *ext_cfg, + /*02*/volatile ap_uint<1> *scheduler_intr_in, + /*03*/unsigned int dma_sg_pcie_scheduler_base_address, + /*04*/unsigned int sobel_device_address, + /*05*/unsigned int interrupt_manager_register_offset, + /*06*/unsigned int apm_device_address, + /*07*/unsigned int shared_apm_device_address, + /*08*/unsigned int shared_metrics_address, + /*09*/unsigned int image_cols, + /*10*/unsigned int image_rows, + /*11*/unsigned int accel_group + ) +{ + +/* + * The ext_cfg is the AXI Master Interface of the Core. + */ +#pragma HLS INTERFACE m_axi port=ext_cfg + +/* + * The scheduler_intr_in is a Single Bit Input which is Used to Receive External Interrupts from the DMA SG PCIe Scheduler. + */ +#pragma HLS INTERFACE ap_none port=scheduler_intr_in + +/* + * The dma_sg_pcie_scheduler_base_address is a Register to Store the Base Address of the DMA SG PCIe Scheduler that this Core + * will Need to Access through the ext_cfg AXI Master Interface. + * This Register is Accessed through the AXI Slave Lite Interface (mm2s_cfg) of the Core. + */ +#pragma HLS INTERFACE s_axilite port=dma_sg_pcie_scheduler_base_address bundle=mm2s_cfg + +/* + * The sobel_device_address is a Register to Store the Base Address of the Sobel Filter that this Core + * will Need to Access through the ext_cfg AXI Master Interface. + * This Register is Accessed through the AXI Slave Lite Interface (mm2s_cfg) of the Core. + */ +#pragma HLS INTERFACE s_axilite port=sobel_device_address bundle=mm2s_cfg + +/* + * The interrupt_manager_register_offset is a Register to Store the Offset of a Specific Register of the Interrupt Manager that this Core + * will Need to Access through the ext_cfg AXI Master Interface. + * This Register is Accessed through the AXI Slave Lite Interface (mm2s_cfg) of the Core. + */ +#pragma HLS INTERFACE s_axilite port=interrupt_manager_register_offset bundle=mm2s_cfg + +/* + * The apm_device_address is a Register to Store the Base Address of the AXI Performance Monitor Unit (APM) that this Core + * will Need to Access through the ext_cfg AXI Master Interface. + * This Register is Accessed through the AXI Slave Lite Interface (mm2s_cfg) of the Core. + */ +#pragma HLS INTERFACE s_axilite port=apm_device_address bundle=mm2s_cfg + +/* + * The shared_apm_device_address is a Register to Store the Base Address of the Shared Timer (APM) that this Core + * will Need to Access through the ext_cfg AXI Master Interface. + * This Register is Accessed through the AXI Slave Lite Interface (mm2s_cfg) of the Core. + */ +#pragma HLS INTERFACE s_axilite port=shared_apm_device_address bundle=mm2s_cfg + +/* + * The shared_metrics_address is a Register to Store the Base Address of the Memory that this Core + * will Need to Access through the ext_cfg AXI Master Interface in Order to Write the Metrics Information. + * This Register is Accessed through the AXI Slave Lite Interface (mm2s_cfg) of the Core. + */ +#pragma HLS INTERFACE s_axilite port=shared_metrics_address bundle=mm2s_cfg + +/* + * The image_cols is a Register to Store the Number of Columns of the Image that will be Accelerated. + * This Register is Accessed through the AXI Slave Lite Interface (mm2s_cfg) of the Core. + */ +#pragma HLS INTERFACE s_axilite port=image_cols bundle=mm2s_cfg + +/* + * The image_rows is a Register to Store the Number of Rows of the Image that will be Accelerated. + * This Register is Accessed through the AXI Slave Lite Interface (mm2s_cfg) of the Core. + */ +#pragma HLS INTERFACE s_axilite port=image_rows bundle=mm2s_cfg + +/* + * The accel_group is a Register to Store the Acceleration Group Number (0-6) that this Core Belongs to. + * This Register is Accessed through the AXI Slave Lite Interface (mm2s_cfg) of the Core. + */ +#pragma HLS INTERFACE s_axilite port=accel_group bundle=mm2s_cfg + +#pragma HLS INTERFACE s_axilite port=return bundle=mm2s_cfg + + + +ap_uint<32> data_register; // Used to Temporalily Store Values when Reading or Writing from/to Registers of External Devices. +ap_uint<32> initial_data_register; // Used to Temporalily Store Values when Reading or Writing from/to Registers of External Devices. + +ap_uint<32> read_transactions; // Store the Read Transactions from the APM. +ap_uint<32> read_bytes; // Store the Read Bytes from the APM. + +ap_uint<32> write_transactions; // Store the Write Transactions from the APM +ap_uint<32> write_bytes; // Store the Write Bytes from the APM. + +ap_uint<32> stream_packets; // Store the Stream Packets from the APM. +ap_uint<32> stream_bytes; // Store the Stream Bytes from the APM. + +ap_uint<32> gcc_lower; // Store the Global Clock Counter Lower Register from the APM. +ap_uint<32> gcc_upper; // Store the Global Clock Counter Upper Register from the APM. + +ap_uint<32> dma_accel_time_start_gcc_l; // Store the Acceleration Start Time Lower Register from the Shared Timer (Shared APM). +ap_uint<32> dma_accel_time_start_gcc_u; // Store the Acceleration Start Time Upper Register from the Shared Timer (Shared APM). + +ap_uint<32> dma_accel_time_end_gcc_l; // Store the Acceleration End Time Lower Register from the Shared Timer (Shared APM). +ap_uint<32> dma_accel_time_end_gcc_u; // Store the Acceleration End Time Upper Register from the Shared Timer (Shared APM). + +ap_uint<1> scheduler_intr_in_value; // Used to Read the Last Value of the scheduler_intr_in_value Input Port. + + + +/* + * ----------------------- + * Enable the APM Counters + * ----------------------- + */ + +//Read the Control Register of the APM. +memcpy(&data_register, (const ap_uint<32> *)(ext_cfg + (apm_device_address + XAPM_CTL_OFFSET) / 4), sizeof(ap_uint<32>)); + +//Set the Recently Read Value with the Masks Required to Enable the GCC and Metrics Counters. +data_register = data_register | XAPM_CR_GCC_ENABLE_MASK | XAPM_CR_MCNTR_ENABLE_MASK; + +//Write the new Value Back to the Control Register of the APM to Enable the GCC and Metrics Counters. +memcpy((ap_uint<32> *)(ext_cfg + (apm_device_address + XAPM_CTL_OFFSET) / 4), &data_register, sizeof(ap_uint<32>)); + + + +/* + * --------------------------------------------------------------------------------------------------------------------- + * Read the Upper and Lower Registers of the Global Clock Counter of the Shared Timer to Get DMA Acceleration Start Time + * --------------------------------------------------------------------------------------------------------------------- + */ + +//Read the Lower Register of the GCC of the Shared Timer to Get the 32 LSBs of the Acceleration Start Time. +memcpy(&dma_accel_time_start_gcc_l, (const ap_uint<32> *)(ext_cfg + (shared_apm_device_address + XAPM_GCC_LOW_OFFSET) / 4), sizeof(ap_uint<32>)); + +//Store the 32 LSBs of the Acceleration Start Time to a Specific Offset of the Metrics Memory. +memcpy((ap_uint<32> *)(ext_cfg + (shared_metrics_address + (sizeof(struct metrics) * accel_group) + DMA_ACCEL_TIME_START_L_OFFSET) / 4), &dma_accel_time_start_gcc_l, sizeof(ap_uint<32>)); + +//Read the Upper Register of the GCC of the Shared Timer to Get the 32 MSBs of the Acceleration Start Time. +memcpy(&dma_accel_time_start_gcc_u, (const ap_uint<32> *)(ext_cfg + (shared_apm_device_address + XAPM_GCC_HIGH_OFFSET) / 4), sizeof(ap_uint<32>)); + +//Store the 32 MSBs of the Acceleration Start Time to a Specific Offset of the Metrics Memory. +memcpy((ap_uint<32> *)(ext_cfg + (shared_metrics_address + (sizeof(struct metrics) * accel_group) + DMA_ACCEL_TIME_START_U_OFFSET) / 4), &dma_accel_time_start_gcc_u, sizeof(ap_uint<32>)); + + + +/* + * -------------------------------- + * Setup and Start the Sobel Filter + * -------------------------------- + */ + +//Get the Sobel Filter Columns from the Internal Register (image_cols) of the Core. +data_register = image_cols; + +//Write the Sobel Filter Columns to a Specific Offset of the Sobel Filter Device. +memcpy((ap_uint<32> *)(ext_cfg + (sobel_device_address + XSOBEL_FILTER_S_AXI4_LITE_ADDR_COLS_DATA) / 4), &data_register, sizeof(ap_uint<32>)); + +//Get the Sobel Filter Rows from the Internal Register (image_rows) of the Core. +data_register = image_rows; + +//Write the Sobel Filter Rows to a Specific Offset of the Sobel Filter Device. +memcpy((ap_uint<32> *)(ext_cfg + (sobel_device_address + XSOBEL_FILTER_S_AXI4_LITE_ADDR_ROWS_DATA) / 4), &data_register, sizeof(ap_uint<32>)); + + +//Read the Control Register of the Sobel Filter. +memcpy(&data_register, (const ap_uint<32> *)(ext_cfg + (sobel_device_address + XSOBEL_FILTER_S_AXI4_LITE_ADDR_AP_CTRL) / 4), sizeof(ap_uint<32>)); + +//Set the Appropriate Masks According to the Recently Read Value that Will be Needed to Start the Sobel Filter. +data_register = data_register & 0x80; +data_register = data_register | 0x01; + +//Write the new Value Back to the Control Register of the Sobel Filter so that the Sobel Filter Gets Started. +memcpy((ap_uint<32> *)(ext_cfg + (sobel_device_address + XSOBEL_FILTER_S_AXI4_LITE_ADDR_AP_CTRL) / 4), &data_register, sizeof(ap_uint<32>)); + + +/* + * --------------------------------------------------- + * Enable the Interrupts for the DMA SG PCIe Scheduler + * -------------------------------------------------- + */ + +//Read the Interrupt Enable Register (IER) Register of the DMA SG PCIe Scheduler. +memcpy(&data_register, (const ap_uint<32> *)(ext_cfg + (dma_sg_pcie_scheduler_base_address + XDMA_SG_PCIE_SCHEDULER_CFG_ADDR_IER) / 4), sizeof(ap_uint<32>)); + +//Set the Recently Read Value with a Mask to Configure the IER that all the Available IRQs Should be Enabled. +data_register = data_register | 0xFFFFFFFF; + +//Write the new Value Back to the Interrupt Enable Register (IER) Register of the DMA SG PCIe Scheduler. +memcpy((ap_uint<32> *)(ext_cfg + (dma_sg_pcie_scheduler_base_address + XDMA_SG_PCIE_SCHEDULER_CFG_ADDR_IER) / 4), &data_register, sizeof(ap_uint<32>)); + +data_register = 0x1; + +//Write the data_register Value to the Global Interrupt Enable Register (GIE) of the DMA SG PCIe Scheduler to Enable the Interrupts. +memcpy((ap_uint<32> *)(ext_cfg + (dma_sg_pcie_scheduler_base_address + XDMA_SG_PCIE_SCHEDULER_CFG_ADDR_GIE) / 4), &data_register, sizeof(ap_uint<32>)); + + +/* + * ----------------------------------------- + * Setup and Start the DMA SG PCIe Scheduler + * ----------------------------------------- + */ + +//Calculate the Image/Transfer Size According to the Internal Registers (image_cols, image_rows) of the Core. +data_register = image_rows * image_cols * 4; + +//Write the Transfer Size to the Requested Data Size Register of the DMA SG PCIe Scheduler. +memcpy((ap_uint<32> *)(ext_cfg + (dma_sg_pcie_scheduler_base_address + XDMA_SG_PCIE_SCHEDULER_CFG_ADDR_REQUESTED_DATA_SIZE_DATA) / 4), &data_register, sizeof(ap_uint<32>)); + + +//Read the Control Register of the DMA SG PCIe Scheduler. +memcpy(&data_register, (const ap_uint<32> *)(ext_cfg + (dma_sg_pcie_scheduler_base_address + XDMA_SG_PCIE_SCHEDULER_CFG_ADDR_AP_CTRL) / 4), sizeof(ap_uint<32>)); + +//Set the Appropriate Masks According to the Recently Read Value that Will be Needed to Start the Sobel Filter. +data_register = data_register & 0x80; +data_register = data_register | 0x01; + +//Write the new Value Back to the Control Register of the DMA SG PCIe Scheduler so that the DMA SG PCIe Scheduler Gets Started. +memcpy((ap_uint<32> *)(ext_cfg + (dma_sg_pcie_scheduler_base_address + XDMA_SG_PCIE_SCHEDULER_CFG_ADDR_AP_CTRL) / 4), &data_register, sizeof(ap_uint<32>)); + + + +/* + * ------------------------------------------ + * Wait for a DMA SG PCIe Scheduler Interrupt + * ------------------------------------------ + */ + +//Make an Initial Read of the Current State of the scheduler_intr_in_value Input. +scheduler_intr_in_value = *scheduler_intr_in; + +//Keep Looping for as long as the scheduler_intr_in_value Input Does not Reach a Logic 1 Value. +while(scheduler_intr_in_value != 1) +{ + //Keep Reading the Last Value of the scheduler_intr_in Input. + scheduler_intr_in_value = *scheduler_intr_in; +} + +//Reset the Reader Variable. +scheduler_intr_in_value = 0; + + +/* + * --------------------------------------------------------------------------------------------------------------------- + * Read the Upper and Lower Registers of the Global Clock Counter of the Shared Timer to Get DMA Acceleration End Time + * --------------------------------------------------------------------------------------------------------------------- + */ + +//Read the Lower Register of the GCC of the Shared Timer to Get the 32 LSBs of the Acceleration End Time. +memcpy(&dma_accel_time_end_gcc_l, (const ap_uint<32> *)(ext_cfg + (shared_apm_device_address + XAPM_GCC_LOW_OFFSET) / 4), sizeof(ap_uint<32>)); + +//Store the 32 LSBs of the Acceleration End Time to a Specific Offset of the Metrics Memory. +memcpy((ap_uint<32> *)(ext_cfg + (shared_metrics_address + (sizeof(struct metrics) * accel_group) + DMA_ACCEL_TIME_END_L_OFFSET) / 4), &dma_accel_time_end_gcc_l, sizeof(ap_uint<32>)); + +//Read the Upper Register of the GCC of the Shared Timer to Get the 32 MSBs of the Acceleration End Time. +memcpy(&dma_accel_time_end_gcc_u, (const ap_uint<32> *)(ext_cfg + (shared_apm_device_address + XAPM_GCC_HIGH_OFFSET) / 4), sizeof(ap_uint<32>)); + +//Store the 32 MSBs of the Acceleration End Time to a Specific Offset of the Metrics Memory. +memcpy((ap_uint<32> *)(ext_cfg + (shared_metrics_address + (sizeof(struct metrics) * accel_group) + DMA_ACCEL_TIME_END_U_OFFSET) / 4), &dma_accel_time_end_gcc_u, sizeof(ap_uint<32>)); + +/* + * ------------------------ + * Disable the APM Counters + * ------------------------ + */ + +//Read the Control Register of the APM. +memcpy(&data_register, (const ap_uint<32> *)(ext_cfg + (apm_device_address + XAPM_CTL_OFFSET) / 4), sizeof(ap_uint<32>)); + +//Set the Recently Read Value with the Masks Accordingly to Disable the GCC and Metrics Counters. +data_register = data_register & ~(XAPM_CR_GCC_ENABLE_MASK) & ~(XAPM_CR_MCNTR_ENABLE_MASK); + +//Write the new Value Back to the Control Register of the APM to Disable the GCC and Metrics Counters. +memcpy((ap_uint<32> *)(ext_cfg + (apm_device_address + XAPM_CTL_OFFSET) / 4), &data_register, sizeof(ap_uint<32>)); + + + +/* + * ------------------------------------------------------------- + * Clear and then Re-Enable the DMA SG PCIe Scheduler Interrupts + * ------------------------------------------------------------- + */ + +//Set a Mask to Clear the Interrupt Status Register of the DMA SG PCIe Scheduler. +data_register = data_register | 0xFFFFFFFF; + +//Clear the Interrupt Status Register of the DMA SG PCIe Scheduler According to the Previous Mask. +memcpy((ap_uint<32> *)(ext_cfg + (dma_sg_pcie_scheduler_base_address + XDMA_SG_PCIE_SCHEDULER_CFG_ADDR_ISR) / 4), &data_register, sizeof(ap_uint<32>)); + + + +//Read the Interrupt Enable Register of the DMA SG PCIe Scheduler +memcpy(&data_register, (const ap_uint<32> *)(ext_cfg + (dma_sg_pcie_scheduler_base_address + XDMA_SG_PCIE_SCHEDULER_CFG_ADDR_IER) / 4), sizeof(ap_uint<32>)); + +//Set the Recently Read Value with a Mask to Configure the IER that all the Available IRQs Should be Enabled. +data_register = data_register | 0xFFFFFFFF; + +//Write the new Value Back to the Interrupt Enable Register (IER) Register of the DMA SG PCIe Scheduler. +memcpy((ap_uint<32> *)(ext_cfg + (dma_sg_pcie_scheduler_base_address + XDMA_SG_PCIE_SCHEDULER_CFG_ADDR_IER) / 4), &data_register, sizeof(ap_uint<32>)); + +data_register = 0x1; +//Write the data_register Value to the Global Interrupt Enable Register (GIE) of the DMA SG PCIe Scheduler to Enable the Interrupts. +memcpy((ap_uint<32> *)(ext_cfg + (dma_sg_pcie_scheduler_base_address + XDMA_SG_PCIE_SCHEDULER_CFG_ADDR_GIE) / 4), &data_register, sizeof(ap_uint<32>)); + + + +/* + * -------------------------------------------------------------------------- + * Read the APM Metrics Counters and Store their Values to the Metrics Memory + * -------------------------------------------------------------------------- + */ + +//Get the Read Transactions from the APM and Write it to the Shared Metrics Memory +memcpy(&read_transactions, (const ap_uint<32> *)(ext_cfg + (apm_device_address + XAPM_MC0_OFFSET) / 4), sizeof(ap_uint<32>)); +memcpy((ap_uint<32> *)(ext_cfg + (shared_metrics_address + (sizeof(struct metrics) * accel_group) + APM_READ_TRANSACTIONS_OFFSET) / 4), &read_transactions, sizeof(ap_uint<32>)); + +//Get the Read Bytes from the APM and Write it to the Shared Metrics Memory +memcpy(&read_bytes, (const ap_uint<32> *)(ext_cfg + (apm_device_address + XAPM_MC1_OFFSET) / 4), sizeof(ap_uint<32>)); +memcpy((ap_uint<32> *)(ext_cfg + (shared_metrics_address + (sizeof(struct metrics) * accel_group) + APM_READ_BYTES_OFFSET) / 4), &read_bytes, sizeof(ap_uint<32>)); + +//Get the Write Transactions from the APM and Write it to the Shared Metrics Memory +memcpy(&write_transactions, (const ap_uint<32> *)(ext_cfg + (apm_device_address + XAPM_MC2_OFFSET) / 4), sizeof(ap_uint<32>)); +memcpy((ap_uint<32> *)(ext_cfg + (shared_metrics_address + (sizeof(struct metrics) * accel_group) + APM_WRITE_TRANSACTIONS_OFFSET) / 4), &write_transactions, sizeof(ap_uint<32>)); + +//Get the Write Bytes from the APM and Write it to the Shared Metrics Memory +memcpy(&write_bytes, (const ap_uint<32> *)(ext_cfg + (apm_device_address + XAPM_MC3_OFFSET) / 4), sizeof(ap_uint<32>)); +memcpy((ap_uint<32> *)(ext_cfg + (shared_metrics_address + (sizeof(struct metrics) * accel_group) + APM_WRITE_BYTES_OFFSET) / 4), &write_bytes, sizeof(ap_uint<32>)); + +//Get the Stream Packets from the APM and Write it to the Shared Metrics Memory +memcpy(&stream_packets, (const ap_uint<32> *)(ext_cfg + (apm_device_address + XAPM_MC4_OFFSET) / 4), sizeof(ap_uint<32>)); +memcpy((ap_uint<32> *)(ext_cfg + (shared_metrics_address + (sizeof(struct metrics) * accel_group) + APM_PACKETS_OFFSET) / 4), &stream_packets, sizeof(ap_uint<32>)); + +//Get the Stream Bytes from the APM and Write it to the Shared Metrics Memory +memcpy(&stream_bytes, (const ap_uint<32> *)(ext_cfg + (apm_device_address + XAPM_MC5_OFFSET) / 4), sizeof(ap_uint<32>)); +memcpy((ap_uint<32> *)(ext_cfg + (shared_metrics_address + (sizeof(struct metrics) * accel_group) + APM_BYTES_OFFSET) / 4), &stream_bytes, sizeof(ap_uint<32>)); + +//Get the GCC Lower Register from the APM and Write it to the Shared Metrics Memory +memcpy(&gcc_lower, (const ap_uint<32> *)(ext_cfg + (apm_device_address + XAPM_GCC_LOW_OFFSET) / 4), sizeof(ap_uint<32>)); +memcpy((ap_uint<32> *)(ext_cfg + (shared_metrics_address + (sizeof(struct metrics) * accel_group) + APM_GCC_L_OFFSET) / 4), &gcc_lower, sizeof(ap_uint<32>)); + +//Get the GCC Upper Register from the APM and Write it to the Shared Metrics Memory +memcpy(&gcc_upper, (const ap_uint<32> *)(ext_cfg + (apm_device_address + XAPM_GCC_HIGH_OFFSET) / 4), sizeof(ap_uint<32>)); +memcpy((ap_uint<32> *)(ext_cfg + (shared_metrics_address + (sizeof(struct metrics) * accel_group) + APM_GCC_U_OFFSET) / 4), &gcc_upper, sizeof(ap_uint<32>)); + + + +/* + * ---------------------- + * Reset the APM Counters + * ---------------------- + */ + +//Read the Control Register of the APM. +memcpy(&initial_data_register, (const ap_uint<32> *)(ext_cfg + (apm_device_address + XAPM_CTL_OFFSET) / 4), sizeof(ap_uint<32>)); + +//Set the Recently Read Value with the Masks Accordingly to Reset the GCC and Metrics Counters. +data_register = initial_data_register | XAPM_CR_GCC_RESET_MASK | XAPM_CR_MCNTR_RESET_MASK; + +//Write the new Value Back to the Control Register of the APM to Reset the GCC and Metrics Counters. +memcpy((ap_uint<32> *)(ext_cfg + (apm_device_address + XAPM_CTL_OFFSET) / 4), &data_register, sizeof(ap_uint<32>)); + +//Now Reverse the Value of the Previous Masks in order to Release the Reset. +data_register = initial_data_register & ~(XAPM_CR_GCC_RESET_MASK) & ~(XAPM_CR_MCNTR_RESET_MASK); + +//Write the new Value Back to the Control Register of the APM to Release the Reset. +memcpy((ap_uint<32> *)(ext_cfg + (apm_device_address + XAPM_CTL_OFFSET) / 4), &data_register, sizeof(ap_uint<32>)); + + + +/* + * ------------------------------------------------------------------------------------ + * Inform the Interrupt Manager that this Core Has Completed the Acceleration Procedure + * ------------------------------------------------------------------------------------ + */ + +//Get from the Internal Register (accel_group) of the Core the Current Acceleration Group Number that this Core Belongs to. +data_register = accel_group; + +//Write the Current Acceleration Group Number to a Specific Register of the Interrupt Manager to Let It Know which Acceleration Group Has Completed. +memcpy((ap_uint<32> *)(ext_cfg + (interrupt_manager_register_offset) / 4), &data_register, sizeof(ap_uint<32>)); + + +return 1; + + +} + + diff --git a/Hardware/Vivado_HLS_IPs/Acceleration_Scheduler_SG_XDMA/acceleration_scheduler_sg_xdma.h b/Hardware/Vivado_HLS_IPs/Acceleration_Scheduler_SG_XDMA/acceleration_scheduler_sg_xdma.h new file mode 100644 index 0000000..0e396c0 --- /dev/null +++ b/Hardware/Vivado_HLS_IPs/Acceleration_Scheduler_SG_XDMA/acceleration_scheduler_sg_xdma.h @@ -0,0 +1,126 @@ +#define APM_READ_TRANSACTIONS_OFFSET 0 +#define APM_READ_BYTES_OFFSET 4 + +#define APM_WRITE_TRANSACTIONS_OFFSET 8 +#define APM_WRITE_BYTES_OFFSET 12 + +#define APM_PACKETS_OFFSET 16 +#define APM_BYTES_OFFSET 20 + +#define APM_GCC_L_OFFSET 24 +#define APM_GCC_U_OFFSET 28 + +#define CDMA_FETCH_TIME_START_L_OFFSET 32 +#define CDMA_FETCH_TIME_START_U_OFFSET 36 + +#define CDMA_FETCH_TIME_END_L_OFFSET 40 +#define CDMA_FETCH_TIME_END_U_OFFSET 44 + +#define CDMA_SEND_TIME_START_L_OFFSET 48 +#define CDMA_SEND_TIME_START_U_OFFSET 52 + +#define CDMA_SEND_TIME_END_L_OFFSET 56 +#define CDMA_SEND_TIME_END_U_OFFSET 60 + +#define DMA_ACCEL_TIME_START_L_OFFSET 64 +#define DMA_ACCEL_TIME_START_U_OFFSET 68 + +#define DMA_ACCEL_TIME_END_L_OFFSET 72 +#define DMA_ACCEL_TIME_END_U_OFFSET 76 + + +struct image_info +{ + ap_uint<32> rows; + ap_uint<32> columns; + ap_uint<64> size; +}; + +struct metrics +{ + /* + * AXI Performance Monitor Metrics + */ + ap_uint<32> apm_read_transactions; //Offset 0 Bytes + ap_uint<32> apm_read_bytes; //Offset 4 Bytes + + ap_uint<32> apm_write_transactions; //Offset 8 Bytes + ap_uint<32> apm_write_bytes; //Offset 12 Bytes + + ap_uint<32> apm_packets; //Offset 16 Bytes + ap_uint<32> apm_bytes; //Offset 20 Bytes + + ap_uint<32> apm_gcc_l; //Offset 24 Bytes + ap_uint<32> apm_gcc_u; //Offset 28 Bytes + + ap_uint<32> cdma_fetch_time_start_l; //Offset 32 Bytes + ap_uint<32> cdma_fetch_time_start_u; //Offset 36 Bytes + ap_uint<32> cdma_fetch_time_end_l; //Offset 40 Bytes + ap_uint<32> cdma_fetch_time_end_u; //Offset 44 Bytes + + ap_uint<32> cdma_send_time_start_l; //Offset 48 Bytes + ap_uint<32> cdma_send_time_start_u; //Offset 52 Bytes + ap_uint<32> cdma_send_time_end_l; //Offset 56 Bytes + ap_uint<32> cdma_send_time_end_u; //Offset 60 Bytes + + ap_uint<32> dma_accel_time_start_l; //Offset 64 Bytes + ap_uint<32> dma_accel_time_start_u; //Offset 68 Bytes + ap_uint<32> dma_accel_time_end_l; //Offset 72 Bytes + ap_uint<32> dma_accel_time_end_u; //Offset 76 Bytes + + struct image_info shared_image_info; // Offset 80 Bytes + + /* + * Kernel and Userspace Metrics + */ + + ap_uint<64> total_time_start; + ap_uint<64> total_time_end; + + ap_uint<64> sleep_time_start; + ap_uint<64> sleep_time_end; + + ap_uint<64> preparation_time_start; + ap_uint<64> preparation_time_end; + + ap_uint<64> load_time_start; + ap_uint<64> load_time_end; + + ap_uint<64> save_time_start; + ap_uint<64> save_time_end; + + +}; + +struct status_flags +{ + ap_uint<32> accel_direct_0_occupied_pid; + ap_uint<32> accel_direct_1_occupied_pid; + + ap_uint<32> accel_indirect_0_occupied_pid; + ap_uint<32> accel_indirect_1_occupied_pid; + ap_uint<32> accel_indirect_2_occupied_pid; + ap_uint<32> accel_indirect_3_occupied_pid; + + ap_uint<32> accel_sg_0_occupied_pid; + + + ap_uint<32> accelerator_busy; + ap_uint<32> open_modules; +}; + +struct shared_repository +{ + struct metrics accel_direct_0_shared_metrics; + struct metrics accel_direct_1_shared_metrics; + + struct metrics accel_indirect_0_shared_metrics; + struct metrics accel_indirect_1_shared_metrics; + struct metrics accel_indirect_2_shared_metrics; + struct metrics accel_indirect_3_shared_metrics; + + struct metrics accel_sg_0_shared_metrics; + + struct status_flags shared_status_flags; + +}; diff --git a/Hardware/Vivado_HLS_IPs/Acceleration_Scheduler_SG_XDMA/run_hls.tcl b/Hardware/Vivado_HLS_IPs/Acceleration_Scheduler_SG_XDMA/run_hls.tcl new file mode 100644 index 0000000..c061e08 --- /dev/null +++ b/Hardware/Vivado_HLS_IPs/Acceleration_Scheduler_SG_XDMA/run_hls.tcl @@ -0,0 +1,17 @@ +open_project Acceleration_Scheduler_SG_XDMA + +set_top acceleration_scheduler_sg_xdma + +add_files acceleration_scheduler_sg_xdma.cpp + +open_solution "solution1" + +#The Part Refers to the Xilinx Virtex 7 VC707 FPGA Development Board +set_part {xc7vx485tffg1761-2} +create_clock -period 10 -name default + +csynth_design + +export_design -format ip_catalog -display_name "Acceleration Scheduler SG XDMA" -version "3.5" + +exit diff --git a/Hardware/Vivado_HLS_IPs/DMA_SG_PCIe_Scheduler/.keep b/Hardware/Vivado_HLS_IPs/DMA_SG_PCIe_Scheduler/.keep new file mode 100644 index 0000000..e69de29 diff --git a/Hardware/Vivado_HLS_IPs/DMA_SG_PCIe_Scheduler/dma_sg_pcie_scheduler.cpp b/Hardware/Vivado_HLS_IPs/DMA_SG_PCIe_Scheduler/dma_sg_pcie_scheduler.cpp new file mode 100644 index 0000000..9ac79fd --- /dev/null +++ b/Hardware/Vivado_HLS_IPs/DMA_SG_PCIe_Scheduler/dma_sg_pcie_scheduler.cpp @@ -0,0 +1,698 @@ +#include +#include +#include +#include "ap_int.h" +#include "ap_utils.h" +#include "ap_cint.h" +#include "ap_utils.h" +#include "ap_int.h" +#include "dma_sg_pcie_scheduler.h" + + +/* + * ------------------------------ + * Registers and Masks of the DMA + * ------------------------------ + */ + +/* + * Tx Channel Registers Base Offset. + */ +#define XAXIDMA_TX_OFFSET 0x00000000 + +/* + * Rx Channel Registers Base Offset. + */ +#define XAXIDMA_RX_OFFSET 0x00000030 + + +/* + * This Set of Registers are Applicable for both Channels of the DMA. + * Add XAXIDMA_TX_OFFSET to Get to TX channel, and XAXIDMA_RX_OFFSET to Get to RX Channel. + */ +#define XAXIDMA_CR_OFFSET 0x00000000 // Control Register. +#define XAXIDMA_SR_OFFSET 0x00000004 // Status Register. +#define XAXIDMA_SRCADDR_OFFSET 0x00000018 // Source Address Register. +#define XAXIDMA_DESTADDR_OFFSET 0x00000018 // Destination Address Register. +#define XAXIDMA_BUFFLEN_OFFSET 0x00000028 // Transfer Data Size Register. + +#define XAXIDMA_CR_RUNSTOP_MASK 0x00000001 // Start/Stop DMA Channel Mask. +#define XAXIDMA_CR_RESET_MASK 0x00000004 // Reset DMA Mask. + +#define XAXIDMA_IRQ_IOC_MASK 0x00001000 // Completion Interrupt Mask. +#define XAXIDMA_IRQ_DELAY_MASK 0x00002000 // Delay Interrupt Mask. +#define XAXIDMA_IRQ_ERROR_MASK 0x00004000 // Error Interrupt Mask. +#define XAXIDMA_IRQ_ALL_MASK 0x00007000 // All Interrupts Mask. + +/* + * serve_mm2s_transfer() + * + * Invoked from the dma_sg_pcie_scheduler() Top Function. + * + * The Usability of this Function is as Follows: + * + * a --> Get from the Scatter/Gather List of the Source Memory the Physical Address of the Current Page to Transfer. + * b --> Set the Address Translation Register of the PCIe Bridge's Source AXI BAR with the Physical Address of the Current Page to Transfer. + * c --> Setup and Start the DMA. + * + * The Function Parameters are: + * + * 01 --> The AXI Master Interface of the Core (cfg). + * 02 --> The Base Address of the DMA. + * 03 --> The Data Size of the MM2S Transfer. + * 04 --> The Address of the Scatter/Gather List of the Source Memory. + * 05 --> The Address of the BCIe Bridge's Source AXI BAR. + * 06 --> The Offset in the PCIe Bridge of the Address Translation Register that Refers to the Source AXI BAR. + * 07 --> The Current Value of the Page Counter in order to Know which Physical Address to Extract from the Source Scatter/Gather List. + * 08 --> The Transfer Size for the Current Page which Might be Less than the Page Size. + */ +int serve_mm2s_transfer(/*01*/volatile ap_uint<32> *cfg, + /*02*/unsigned int dma_device_address, + /*03*/unsigned int src_data_size, + /*04*/unsigned int sgl_address, + /*05*/unsigned int axi_bar_src_address, + /*06*/unsigned int axi_bar_src_cfg_address, + /*07*/int page_counter, + /*08*/ap_uint<32>current_transfer_size + ) +{ + ap_uint<32> data_register_array[2]; // Used to Temporalily Store Values when Reading or Writing from/to Registers of External Devices. + ap_uint<32> data_register; // Used to Temporalily Store Values when Reading or Writing from/to Registers of External Devices. + + + /* + * --------------------------------------------------------------------------------------------------------------------- + * Get the Physical Address of the Current Page of the Scatter/Gather List and Set the Source AXI BAR of the PCIe Bridge + * --------------------------------------------------------------------------------------------------------------------- + */ + + //Get the 64 Bit Physical Address of the Current Page from the Source Scatter/Gather List. + //The data_register_array[0] Holds the 32 LSBs of the Physical Address. + //The data_register_array[1] Holds the 32 MSBs of the Physical Address. + memcpy(data_register_array, (const ap_uint<32> *)(cfg + ((sgl_address + (page_counter * sizeof(ap_uint<64>))) / 4)), sizeof(ap_uint<64>)); + + data_register = data_register_array[0]; + //Write the 32 LSBs of the Physical Address of the Current Page to the Lower Register of the Source AXI BAR. + memcpy((ap_uint<32> *)(cfg + (axi_bar_src_cfg_address) / 4), &data_register, sizeof(ap_uint<32>)); + + data_register = data_register_array[1]; + //Write the 32 MSBs of the Physical Address of the Current Page to the Upper Register of the Source AXI BAR. + memcpy((ap_uint<32> *)(cfg + (axi_bar_src_cfg_address - 4) / 4), &data_register, sizeof(ap_uint<32>)); + + + + /* + * --------------------------------------------- + * Setup and Start DMA to Device Transfer (MM2S) + * --------------------------------------------- + */ + + //Get from the Internal Register (axi_bar_src_address) of the Core the Source Address that the DMA will Use to Read the Initial Image Data. + //The Source Address of the DMA MM2S Channel will be the Source AXI BAR which Corresponds to the Physical Address of the Current Page. + data_register = axi_bar_src_address; + + //Write the Source Address to the Source Register of the DMA. + memcpy((ap_uint<32> *)(cfg + (dma_device_address + XAXIDMA_TX_OFFSET + XAXIDMA_SRCADDR_OFFSET) / 4), &data_register, sizeof(ap_uint<32>)); + + //Read the MM2S Control Register of the DMA. + memcpy(&data_register, (const ap_uint<32> *)(cfg + (dma_device_address + XAXIDMA_TX_OFFSET + XAXIDMA_CR_OFFSET) / 4), sizeof(ap_uint<32>)); + + //Set the Recently Read Value with the Mask Required to Enable the MM2S DMA Channel. + data_register = data_register | XAXIDMA_CR_RUNSTOP_MASK; + + //Write the new Value Back to the Control Register of the DMA in Order to Enable the MM2S Channel. + memcpy((ap_uint<32> *)(cfg + (dma_device_address + XAXIDMA_TX_OFFSET + XAXIDMA_CR_OFFSET) / 4), &data_register, sizeof(ap_uint<32>)); + + //Write the Transfer Size to the MM2S Length Register of the DMA which Starts the MM2S Transfer. + memcpy((ap_uint<32> *)(cfg + (dma_device_address + XAXIDMA_TX_OFFSET + XAXIDMA_BUFFLEN_OFFSET) / 4), ¤t_transfer_size, sizeof(ap_uint<32>)); + + + return 1; + +} + +/* + * serve_s2mm_transfer() + * + * Invoked from the dma_sg_pcie_scheduler() Top Function. + * + * The Usability of this Function is as Follows: + * + * a --> Get from the Scatter/Gather List of the Destination Memory the Physical Address of the Current Page to Transfer. + * b --> Set the Address Translation Register of the PCIe Bridge's Destination AXI BAR with the Physical Address of the Current Page to Transfer. + * c --> Setup and Start the DMA. + * + * The Function Parameters are: + * + * 01 --> The AXI Master Interface of the Core (cfg). + * 02 --> The Base Address of the DMA. + * 03 --> The Data Size of the S2MM Transfer. + * 04 --> The Address of the Scatter/Gather List of the Destination Memory. + * 05 --> The Address of the BCIe Bridge's Destination AXI BAR. + * 06 --> The Offset in the PCIe Bridge of the Address Translation Register that Refers to the Source AXI BAR. + * 07 --> The Current Value of the Page Counter in order to Know which Physical Address to Extract from the Source Scatter/Gather List. + * 08 --> The Transfer Size for the Current Page which Might be Less than the Page Size. + */ +int serve_s2mm_transfer(/*01*/volatile ap_uint<32> *cfg, + /*02*/unsigned int dma_device_address, + /*03*/unsigned int src_data_size, + /*04*/unsigned int sgl_address, + /*05*/unsigned int axi_bar_dst_address, + /*06*/unsigned int axi_bar_dst_cfg_address, + /*07*/int page_counter, + /*08*/ap_uint<32>current_transfer_size) +{ + ap_uint<32> data_register_array[2]; // Used to Temporalily Store Values when Reading or Writing from/to Registers of External Devices. + ap_uint<32> data_register; // Used to Temporalily Store Values when Reading or Writing from/to Registers of External Devices. + + /* + * --------------------------------------------------------------------------------------------------------------------- + * Get the Physical Address of the Current Page of the Scatter/Gather List and Set the Destination AXI BAR of the PCIe Bridge + * --------------------------------------------------------------------------------------------------------------------- + */ + + //Get the 64 Bit Physical Address of the Current Page from the Destination Scatter/Gather List. + //The data_register_array[0] Holds the 32 LSBs of the Physical Address. + //The data_register_array[1] Holds the 32 MSBs of the Physical Address. + memcpy(data_register_array, (const ap_uint<32> *)(cfg + ((sgl_address + (page_counter * sizeof(ap_uint<64>))) / 4)), sizeof(ap_uint<64>)); + + data_register = data_register_array[0]; + //Write the 32 LSBs of the Physical Address of the Current Page to the Lower Register of the Destination AXI BAR. + memcpy((ap_uint<32> *)(cfg + (axi_bar_dst_cfg_address) / 4), &data_register, sizeof(ap_uint<32>)); + + data_register = data_register_array[1]; + //Write the 32 MSBs of the Physical Address of the Current Page to the Upper Register of the Destination AXI BAR. + memcpy((ap_uint<32> *)(cfg + (axi_bar_dst_cfg_address - 4) / 4), &data_register, sizeof(ap_uint<32>)); + + + + /* + * --------------------------------------------- + * Setup and Start Device to DMA Transfer (S2MM) + * --------------------------------------------- + */ + + //Get from the Internal Register (axi_bar_dst_address) of the Core the Destination Address that the DMA will Use to Read the Initial Image Data. + //The Destination Address of the DMA S2MM Channel will be the Destination AXI BAR which Corresponds to the Physical Address of the Current Page. + data_register = axi_bar_dst_address; + + //Write the Destination Address to the Source Register of the DMA. + memcpy((ap_uint<32> *)(cfg + (dma_device_address + XAXIDMA_RX_OFFSET + XAXIDMA_DESTADDR_OFFSET) / 4), &data_register, sizeof(ap_uint<32>)); + + //Read the S2MM Control Register of the DMA. + memcpy(&data_register, (const ap_uint<32> *)(cfg + (dma_device_address + XAXIDMA_RX_OFFSET + XAXIDMA_CR_OFFSET) / 4), sizeof(ap_uint<32>)); + + //Set the Recently Read Value with the Mask Required to Enable the S2MM DMA Channel. + data_register = data_register | XAXIDMA_CR_RUNSTOP_MASK; + + //Write the new Value Back to the Control Register of the DMA in Order to Enable the S2MM Channel. + memcpy((ap_uint<32> *)(cfg + (dma_device_address + XAXIDMA_RX_OFFSET + XAXIDMA_CR_OFFSET) / 4), &data_register, sizeof(ap_uint<32>)); + + //Write the Transfer Size to the S2MM Length Register of the DMA which Starts the S2MM Transfer. + memcpy((ap_uint<32> *)(cfg + (dma_device_address + XAXIDMA_RX_OFFSET + XAXIDMA_BUFFLEN_OFFSET) / 4), ¤t_transfer_size, sizeof(ap_uint<32>)); + + return 1; + +} + +/* + * serve_mm2s_interrupt() + * + * Invoked from the dma_sg_pcie_scheduler() Top Function. + * + * The Usability of this Function is to Acknowledge Triggered Interrupts on the MM2S Channel of the DMA. + * + * The Function Parameters are: + * + * 01 --> The AXI Master Interface of the Core (cfg). + * 02 --> The Base Address of the DMA. + */ +int serve_mm2s_interrupt(volatile ap_uint<32> *cfg, unsigned int dma_device_address) +{ + ap_uint<32> data_register; // Used to Temporalily Store Values when Reading or Writing from/to Registers of External Devices. + + //Read the DMA MM2S Status Register of the DMA to Get the IRQs. + memcpy(&data_register, (const ap_uint<32> *)(cfg + (dma_device_address + XAXIDMA_TX_OFFSET + XAXIDMA_SR_OFFSET) / 4), sizeof(ap_uint<32>)); + + //Filter the Recently Read Value with the XAXIDMA_IRQ_ALL_MASK so as to Keep ONLY the IRQs that were Triggered. + data_register = data_register & XAXIDMA_IRQ_ALL_MASK; + + //Write the new Value Back to the MM2S Status Register of the DMA which Acknowledges the Triggered Interrupts on the MM2S Channel. + memcpy((ap_uint<32> *)(cfg + (dma_device_address + XAXIDMA_TX_OFFSET + XAXIDMA_SR_OFFSET) / 4), &data_register, sizeof(ap_uint<32>)); + + return 1; + +} + +/* + * serve_s2mm_interrupt() + * + * Invoked from the dma_sg_pcie_scheduler() Top Function. + * + * The Usability of this Function is to Acknowledge Triggered Interrupts on the S2MM Channel of the DMA. + * + * The Function Parameters are: + * + * 01 --> The AXI Master Interface of the Core (cfg). + * 02 --> The Base Address of the DMA. + */ +int serve_s2mm_interrupt(volatile ap_uint<32> *cfg, unsigned int dma_device_address) +{ + ap_uint<32> data_register; // Used to Temporalily Store Values when Reading or Writing from/to Registers of External Devices. + + //Read the DMA S2MM Status Register of the DMA to Get the IRQs. + memcpy(&data_register, (const ap_uint<32> *)(cfg + (dma_device_address + XAXIDMA_RX_OFFSET + XAXIDMA_SR_OFFSET) / 4), sizeof(ap_uint<32>)); + + //Filter the Recently Read Value with the XAXIDMA_IRQ_ALL_MASK so as to Keep ONLY the IRQs that were Triggered. + data_register = data_register & XAXIDMA_IRQ_ALL_MASK; + + //Write the new Value Back to the S2MM Status Register of the DMA which Acknowledges the Triggered Interrupts on the S2MM Channel. + memcpy((ap_uint<32> *)(cfg + (dma_device_address + XAXIDMA_RX_OFFSET + XAXIDMA_SR_OFFSET) / 4), &data_register, sizeof(ap_uint<32>)); + + return 1; + +} + +/* + * dma_sg_pcie_scheduler() Top Function + * + * The Hardware Funtionality of the DMA SG PCIe Scheduler Core. + * + * The DMA SG PCIe Scheduler Core is Part of the Acceleration Group Scatter/Gather. + * It is Used to Manage the the MM2S and S2MM Channels of the DMA when a Scatter/Gather List is Required to Transfer the Image Data. + * The DMA SG PCIe Scheduler Interacts with the DMA of the Acceleration Group Scatter/Gather and the Configuration AXI Interface of the PCIe Bridge. + * + * The Sequential Steps of the Core's Functionality are as Follows: + * + * a --> Calculate the Number of Pages to Transfer for the MM2S and S2MM Channels of the DMA. + * b --> Enable the DMA MM2S Interrupts. + * c --> Enable the DMA S2MM Interrupts. + * d --> Start a Page Transfer over the MM2S Channel (See the serve_mm2s_transfer() Function for Details). + * e --> Start a Page Transfer over the S2MM Channel (See the serve_s2mm_transfer() Function for Details). + * f --> Loop for as long as Both Channels Require to Complete the Transfer of all the Pages (both_done). + * g --> In Every Loop Check if Either the MM2S or the S2MM Channels Have Triggered an Interrupt on Completion of the Page Transfer. + * h --> If any of the Channels Triggers an Interrupt then Clear the Channel's Interrupt + * (See the serve_mm2s_interrupt() and serve_s2MM_interrupt Functions for Details) + * and Start the Channel's next Page Transfer. + * + * The Function Parameters are the Input/Output Ports/Interfaces of the Core: + * + * 01 --------> The AXI Master Interface of the Core Used to Access External Devices and Memories. + * 02 --------> Single Bit Input Used to Receive External Interrupts from the DMA MM2S Channel. + * 03 --------> Single Bit Input Used to Receive External Interrupts from the DMA S2MM Channel. + * 04 to 12 --> Registers of the Core that are Accessed through the AXI Slave Lite Interface of the Core. + */ +int dma_sg_pcie_scheduler(/*01*/volatile ap_uint<32> *cfg, + /*02*/volatile ap_uint<1> *mm2s_intr_in, + /*03*/volatile ap_uint<1> *s2mm_intr_in, + /*04*/unsigned int dma_device_address, + /*05*/unsigned int requested_data_size, + /*06*/unsigned int page_size, + /*07*/unsigned int mm2s_sgl_address, + /*08*/unsigned int axi_bar_src_address, + /*09*/unsigned int axi_bar_src_cfg_address, + /*10*/unsigned int s2mm_sgl_address, + /*11*/unsigned int axi_bar_dst_address, + /*12*/unsigned int axi_bar_dst_cfg_address + ) +{ + +/* + * The cfg is the AXI Master Interface of the Core. + */ +#pragma HLS INTERFACE m_axi port=cfg + +/* + * The mm2s_intr_in is a Single Bit Input which is Used to Receive External Interrupts from the DMA MM2S Channel. + */ +#pragma HLS INTERFACE ap_none port=mm2s_intr_in + +/* + * The s2mm_intr_in is a Single Bit Input which is Used to Receive External Interrupts from the DMA S2MM Channel. + */ +#pragma HLS INTERFACE ap_none port=s2mm_intr_in + +/* + * The dma_device_address is a Register to Store the Base Address of the DMA that this Core + * will Need to Access through the cfg AXI Master Interface. + * This Register is Accessed through the AXI Slave Lite Interface (s_axilite_cfg) of the Core. + */ +#pragma HLS INTERFACE s_axilite port=dma_device_address bundle=cfg + +/* + * The requested_data_size is a Register to Store the Size of the Data that will be Transferred. + * This Register is Accessed through the AXI Slave Lite Interface (s_axilite_cfg) of the Core. + */ +#pragma HLS INTERFACE s_axilite port=requested_data_size bundle=cfg + +/* + * The page_size is a Register to Store the Size of each Page(Usually 4K in Linux) that will be Transferred. + * This Register is Accessed through the AXI Slave Lite Interface (s_axilite_cfg) of the Core. + */ +#pragma HLS INTERFACE s_axilite port=page_size bundle=cfg + +/* + * The mm2s_sgl_address is a Register to Store the Address of the Scatter/Gather List of the Source Data. + * This Register is Accessed through the AXI Slave Lite Interface (s_axilite_cfg) of the Core. + */ +#pragma HLS INTERFACE s_axilite port=mm2s_sgl_address bundle=cfg + +/* + * The axi_bar_src_address is a Register to Store the Address of the AXI BAR that the DMA will Use to Read the Source Data. + * This Register is Accessed through the AXI Slave Lite Interface (s_axilite_cfg) of the Core. + */ +#pragma HLS INTERFACE s_axilite port=axi_bar_src_address bundle=cfg + +/* + * The axi_bar_src_cfg_address is a Register to Store the Address/Offset of the PCIe Bridge's Address Translation Register that Refers to the Source AXI BAR. + * This Register is Accessed through the AXI Slave Lite Interface (s_axilite_cfg) of the Core. + */ +#pragma HLS INTERFACE s_axilite port=axi_bar_src_cfg_address bundle=cfg + +/* + * The s2mm_sgl_address is a Register to Store the Address of the Scatter/Gather List of the Destination Data. + * This Register is Accessed through the AXI Slave Lite Interface (s_axilite_cfg) of the Core. + */ +#pragma HLS INTERFACE s_axilite port=s2mm_sgl_address bundle=cfg + +/* + * The axi_bar_dst_address is a Register to Store the Address of the AXI BAR that the DMA will Use to Write the Destination Data. + * This Register is Accessed through the AXI Slave Lite Interface (s_axilite_cfg) of the Core. + */ +#pragma HLS INTERFACE s_axilite port=axi_bar_dst_address bundle=cfg + +/* + * The axi_bar_src_cfg_address is a Register to Store the Address/Offset of the PCIe Bridge's Address Translation Register that Refers to the Source AXI BAR. + * This Register is Accessed through the AXI Slave Lite Interface (s_axilite_cfg) of the Core. + */ +#pragma HLS INTERFACE s_axilite port=axi_bar_dst_cfg_address bundle=cfg + +#pragma HLS INTERFACE s_axilite port=return bundle=cfg + + + +ap_uint<32> data_register_array[2]; // Used to Temporalily Store Values when Reading or Writing from/to Registers of External Devices. +ap_uint<32> data_register; // Used to Temporalily Store Values when Reading or Writing from/to Registers of External Devices. + +ap_uint<32> mm2s_data_size; // The Data Size to Transfer for a Page of the MM2S Channel (The Last Page may not be Full). +ap_uint<32> s2mm_data_size; // The Data Size to Transfer for a Page of the S2MM Channel (The Last Page may not be Full). + +ap_uint<1> dma_mm2s_intr_in_value; // Used to Read the Last Value of the dma_mm2s_intr_in_value Input Port. +ap_uint<1> dma_s2mm_intr_in_value; // Used to Read the Last Value of the dma_s2mm_intr_in_value Input Port. + +int mm2s_pages_counter = 0; // Used to Count the Number of Tranferred Pages for the MM2S Channel. +int s2mm_pages_counter = 0; // Used to Count the Number of Tranferred Pages for the S2MM Channel. + +int mm2s_pages_number; // The Number of Pages to Transfer for the MM2S Channel. +int s2mm_pages_number; // The Number of Pages to Transfer for the S2MM Channel. +int mm2s_remaining_bytes; // Used to Count the Remaining Bytes of the MM2S Transfer. +int s2mm_remaining_bytes; // Used to Count the Remaining Bytes of the S2MM Transfer. + +ap_uint<32> current_transfer_size; + +int both_done = 0; // Flag to Know When Both Channels (MM2S/S2MM) are Done. + + + +//Divide the Size of the Data to Transfer by the Page Size to Get the Number of Pages to Transfer over the MM2S and S2mm Channels. +mm2s_pages_number = requested_data_size / page_size; +s2mm_pages_number = requested_data_size / page_size; + + +/* + * If the Value of the MM2S Pages Number Multiplied by the Page Size is Less than the Initial Data Size + * then there is One More Page with Less Data than the Page Size. + * + * So, Increment mm2s_pages_number Variable by 1. + */ +if((mm2s_pages_number * page_size) < requested_data_size) +{ + mm2s_pages_number = mm2s_pages_number + 1; +} + + +//Initialize the Remaining Bytes for the MM2S Channel to be Equal to the Data Transfer Size. +mm2s_remaining_bytes = requested_data_size; + + +/* + * If the Value of the S2MM Pages Number Multiplied by the Page Size is Less than the Initial Data Size + * then there is One More Page with Less Data than the Page Size. + * + * So, Increment s2mm_pages_number Variable by 1. + */ +if((s2mm_pages_number * page_size) < requested_data_size) +{ + s2mm_pages_number = s2mm_pages_number + 1; +} + + +//Initialize the Remaining Bytes for the S2MM Channel to be Equal to the Data Transfer Size. +s2mm_remaining_bytes = requested_data_size; + + + +/* + * ---------------------------------------------- + * Enable the DMA MM2S Interrupts (DMA to Device) + * ---------------------------------------------- + */ + +//Read the Control Register of the MM2S Channel of the DMA. +memcpy(&data_register, (const ap_uint<32> *)(cfg + (dma_device_address + XAXIDMA_TX_OFFSET + XAXIDMA_CR_OFFSET) / 4), sizeof(ap_uint<32>)); + +//Set the Recently Read Value with the Masks Required to Enable the IOC, Delay and Error IRQs. +//NOTE that IOC Stands for Interrupt On Complete. +data_register = data_register | (XAXIDMA_IRQ_ERROR_MASK | XAXIDMA_IRQ_IOC_MASK | XAXIDMA_IRQ_DELAY_MASK); + +//Write the new Value Back to the Control Register of the DMA to Enable the MM2S Interrupts. +memcpy((ap_uint<32> *)(cfg + (dma_device_address + XAXIDMA_TX_OFFSET + XAXIDMA_CR_OFFSET) / 4), &data_register, sizeof(ap_uint<32>)); + + + +/* + * ---------------------------------------------- + * Enable the DMA S2MM Interrupts (Device to DMA) + * ---------------------------------------------- + */ + +//Read the Control Register of the S2MM Channel of the DMA. +memcpy(&data_register, (const ap_uint<32> *)(cfg + (dma_device_address + XAXIDMA_RX_OFFSET + XAXIDMA_CR_OFFSET) / 4), sizeof(ap_uint<32>)); + +//Set the Recently Read Value with the Masks Required to Enable the IOC, Delay and Error IRQs. +//NOTE that IOC Stands for Interrupt On Complete. +data_register = data_register | (XAXIDMA_IRQ_ERROR_MASK | XAXIDMA_IRQ_IOC_MASK | XAXIDMA_IRQ_DELAY_MASK); + +//Write the new Value Back to the Control Register of the DMA to Enable the S2MM Interrupts. +memcpy((ap_uint<32> *)(cfg + (dma_device_address + XAXIDMA_RX_OFFSET + XAXIDMA_CR_OFFSET) / 4), &data_register, sizeof(ap_uint<32>)); + + +/* + * If the Value of the Remaining Bytes is Larger that a Page Size then we Can Set the DMA to Transfer a whole Page over the MM2S Channel. + */ +if(mm2s_remaining_bytes >= page_size) +{ + mm2s_data_size = page_size; +} + +/* + * If the Value of the Remaining Bytes is Less that a Page Size then we Can Set the DMA to Transfer the Remaining Bytes over the MM2S Channel. + */ +if((mm2s_remaining_bytes > 0) && (mm2s_remaining_bytes < page_size)) +{ + mm2s_data_size = mm2s_remaining_bytes; +} + +current_transfer_size = mm2s_data_size; + +//Start a DMA Page Transfer over the MM2S Channel +//The Transfer Can be of Size Equal to a whole Page Size or Just the Remaining Bytes According to the current_transfer_size Variable. +serve_mm2s_transfer(cfg, + dma_device_address, + requested_data_size, + mm2s_sgl_address, + axi_bar_src_address, + axi_bar_src_cfg_address, + 0, + current_transfer_size); + +//Decrement the MM2S Channel's Remaining Bytes According to the mm2s_data_size Variable in order to Know Hom Many Bytes are left to be Transferred. +mm2s_remaining_bytes = mm2s_remaining_bytes - mm2s_data_size; + + +/* + * If the Value of the Remaining Bytes is Larger that a Page Size then we Can Set the DMA to Transfer a whole Page over the S2MM Channel. + */ +if(s2mm_remaining_bytes >= page_size) +{ + s2mm_data_size = page_size; +} + +/* + * If the Value of the Remaining Bytes is Less that a Page Size then we Can Set the DMA to Transfer the Remaining Bytes over the S2MM Channel. + */ +if((s2mm_remaining_bytes > 0) && (s2mm_remaining_bytes < page_size)) +{ + s2mm_data_size = s2mm_remaining_bytes; +} + +current_transfer_size = s2mm_data_size; + +//Start a DMA Page Transfer over the S2MM Channel +//The Transfer Can be of Size Equal to a whole Page Size or Just the Remaining Bytes According to the current_transfer_size Variable. +serve_s2mm_transfer(cfg, + dma_device_address, + requested_data_size, + s2mm_sgl_address, + axi_bar_dst_address, + axi_bar_dst_cfg_address, + 0, + current_transfer_size); + +//Decrement the S2MM Channel's Remaining Bytes According to the s2mm_data_size Variable in order to Know Hom Many Bytes are left to be Transferred. +s2mm_remaining_bytes = s2mm_remaining_bytes - s2mm_data_size; + + +//Start Looping for as Long as the Rest of the Pages for the MM2S and S2MM Channels are Being Transferred. +while(both_done < 2) +{ + //Read the Current State of the mm2s_intr_in Input. + dma_mm2s_intr_in_value = *mm2s_intr_in; + + //Read the Current State of the s2mm_intr_in Input. + dma_s2mm_intr_in_value = *s2mm_intr_in; + + /* + * If we Have an Interrupt from the MM2S Channel than we Should Clear the Interrupt and Start the Next Page Transfer. + */ + if(dma_mm2s_intr_in_value == 1) + { + //Acknowledge the Triggered Interrupt of the DMA MM2S Channel. + serve_mm2s_interrupt(cfg, dma_device_address); + + //If the MM2S Pages Counter of the Current Page Has Not Reached the Total Number of Pages then Proceed to Start the Next Page Transfer. + if(mm2s_pages_counter < (mm2s_pages_number - 1)) + { + /* + * If the Value of the Remaining Bytes is Larger that a Page Size then we Can Set the DMA to Transfer a whole Page over the MM2S Channel. + */ + if(mm2s_remaining_bytes >= page_size) + { + mm2s_data_size = page_size; + } + + /* + * If the Value of the Remaining Bytes is Less that a Page Size then we Can Set the DMA to Transfer the Remaining Bytes over the MM2S Channel. + */ + if((mm2s_remaining_bytes > 0) && (mm2s_remaining_bytes < page_size)) + { + mm2s_data_size = mm2s_remaining_bytes; + } + + current_transfer_size = mm2s_data_size; + + //Start a DMA Page Transfer over the MM2S Channel According to the current_transfer_size Variable. + serve_mm2s_transfer(cfg, + dma_device_address, + requested_data_size, + mm2s_sgl_address, + axi_bar_src_address, + axi_bar_src_cfg_address, + mm2s_pages_counter + 1, + current_transfer_size); + + //Decrement the MM2S Channel's Remaining Bytes According to the mm2s_data_size Variable in order to Know Hom Many Bytes are left to be Transferred. + mm2s_remaining_bytes = mm2s_remaining_bytes - mm2s_data_size; + } + + //Increment the MM2S Pages Counter to Keep Track of the Remaining MM2S Pages to Transfer. + mm2s_pages_counter++; + + } + + /* + * If we Have an Interrupt from the S2MM Channel than we Should Clear the Interrupt and Start the Next Page Transfer. + */ + if(dma_s2mm_intr_in_value == 1) + { + //Acknowledge the Triggered Interrupt of the DMA S2MM Channel. + serve_s2mm_interrupt(cfg, dma_device_address); + + //If the S2MM Pages Counter of the Current Page Has Not Reached the Total Number of Pages then Proceed to Start the Next Page Transfer. + if(s2mm_pages_counter < (s2mm_pages_number - 1)) + { + /* + * If the Value of the Remaining Bytes is Larger that a Page Size then we Can Set the DMA to Transfer a whole Page over the S2MM Channel. + */ + if(s2mm_remaining_bytes >= page_size) + { + s2mm_data_size = page_size; + } + + /* + * If the Value of the Remaining Bytes is Less that a Page Size then we Can Set the DMA to Transfer the Remaining Bytes over the S2MM Channel. + */ + if((s2mm_remaining_bytes > 0) && (s2mm_remaining_bytes < page_size)) + { + s2mm_data_size = s2mm_remaining_bytes; + } + + current_transfer_size = s2mm_data_size; + + //Start a DMA Page Transfer over the S2MM Channel According to the current_transfer_size Variable. + serve_s2mm_transfer(cfg, + dma_device_address, + requested_data_size, + s2mm_sgl_address, + axi_bar_dst_address, + axi_bar_dst_cfg_address, + s2mm_pages_counter + 1, + current_transfer_size); + + //Decrement the S2MM Channel's Remaining Bytes According to the s2mm_data_size Variable in order to Know Hom Many Bytes are left to be Transferred. + s2mm_remaining_bytes = s2mm_remaining_bytes - s2mm_data_size; + + } + + //Increment the S2MM Pages Counter to Keep Track of the Remaining S2MM Pages to Transfer. + s2mm_pages_counter++; + + } + + //If the MM2S Pages Counter Has Reached the Total Number of Pages then the MM2S Channel Has Finished the Data Transfer. + if(mm2s_pages_counter == (mm2s_pages_number)) + { + //Increment the mm2s_pages_counter Variable so that will not Enter the Current if Condition Again. + mm2s_pages_counter++; + + //Increment the both_done Variable on Behalf of the MM2S Channel. + //The both_done Variable will ONLY be Incremented Once on Behalf of the MM2S Channel because we will not Enter this if Condition Again. + //When the S2MM Channel, also, Increments the both_done Variable the Data Transfer is Completed (both_done =2). + both_done++; + } + + //If the S2MM Pages Counter Has Reached the Total Number of Pages then the S2MM Channel Has Finished the Data Transfer. + if(s2mm_pages_counter == (s2mm_pages_number)) + { + //Increment the s2mm_pages_counter Variable so that will not Enter the Current if Condition Again. + s2mm_pages_counter++; + + //Increment the both_done Variable on Behalf of the S2MM Channel. + //The both_done Variable will ONLY be Incremented Once on Behalf of the S2MM Channel because we will not Enter this if Condition Again. + //When the MM2S Channel, also, Increments the both_done Variable the Data Transfer is Completed (both_done =2). + both_done++; + } + +} + +//Reset the Variables. +dma_mm2s_intr_in_value = 0; +dma_s2mm_intr_in_value = 0; +both_done = 0; + +return 1; + + +} + + diff --git a/Hardware/Vivado_HLS_IPs/DMA_SG_PCIe_Scheduler/dma_sg_pcie_scheduler.h b/Hardware/Vivado_HLS_IPs/DMA_SG_PCIe_Scheduler/dma_sg_pcie_scheduler.h new file mode 100644 index 0000000..0e396c0 --- /dev/null +++ b/Hardware/Vivado_HLS_IPs/DMA_SG_PCIe_Scheduler/dma_sg_pcie_scheduler.h @@ -0,0 +1,126 @@ +#define APM_READ_TRANSACTIONS_OFFSET 0 +#define APM_READ_BYTES_OFFSET 4 + +#define APM_WRITE_TRANSACTIONS_OFFSET 8 +#define APM_WRITE_BYTES_OFFSET 12 + +#define APM_PACKETS_OFFSET 16 +#define APM_BYTES_OFFSET 20 + +#define APM_GCC_L_OFFSET 24 +#define APM_GCC_U_OFFSET 28 + +#define CDMA_FETCH_TIME_START_L_OFFSET 32 +#define CDMA_FETCH_TIME_START_U_OFFSET 36 + +#define CDMA_FETCH_TIME_END_L_OFFSET 40 +#define CDMA_FETCH_TIME_END_U_OFFSET 44 + +#define CDMA_SEND_TIME_START_L_OFFSET 48 +#define CDMA_SEND_TIME_START_U_OFFSET 52 + +#define CDMA_SEND_TIME_END_L_OFFSET 56 +#define CDMA_SEND_TIME_END_U_OFFSET 60 + +#define DMA_ACCEL_TIME_START_L_OFFSET 64 +#define DMA_ACCEL_TIME_START_U_OFFSET 68 + +#define DMA_ACCEL_TIME_END_L_OFFSET 72 +#define DMA_ACCEL_TIME_END_U_OFFSET 76 + + +struct image_info +{ + ap_uint<32> rows; + ap_uint<32> columns; + ap_uint<64> size; +}; + +struct metrics +{ + /* + * AXI Performance Monitor Metrics + */ + ap_uint<32> apm_read_transactions; //Offset 0 Bytes + ap_uint<32> apm_read_bytes; //Offset 4 Bytes + + ap_uint<32> apm_write_transactions; //Offset 8 Bytes + ap_uint<32> apm_write_bytes; //Offset 12 Bytes + + ap_uint<32> apm_packets; //Offset 16 Bytes + ap_uint<32> apm_bytes; //Offset 20 Bytes + + ap_uint<32> apm_gcc_l; //Offset 24 Bytes + ap_uint<32> apm_gcc_u; //Offset 28 Bytes + + ap_uint<32> cdma_fetch_time_start_l; //Offset 32 Bytes + ap_uint<32> cdma_fetch_time_start_u; //Offset 36 Bytes + ap_uint<32> cdma_fetch_time_end_l; //Offset 40 Bytes + ap_uint<32> cdma_fetch_time_end_u; //Offset 44 Bytes + + ap_uint<32> cdma_send_time_start_l; //Offset 48 Bytes + ap_uint<32> cdma_send_time_start_u; //Offset 52 Bytes + ap_uint<32> cdma_send_time_end_l; //Offset 56 Bytes + ap_uint<32> cdma_send_time_end_u; //Offset 60 Bytes + + ap_uint<32> dma_accel_time_start_l; //Offset 64 Bytes + ap_uint<32> dma_accel_time_start_u; //Offset 68 Bytes + ap_uint<32> dma_accel_time_end_l; //Offset 72 Bytes + ap_uint<32> dma_accel_time_end_u; //Offset 76 Bytes + + struct image_info shared_image_info; // Offset 80 Bytes + + /* + * Kernel and Userspace Metrics + */ + + ap_uint<64> total_time_start; + ap_uint<64> total_time_end; + + ap_uint<64> sleep_time_start; + ap_uint<64> sleep_time_end; + + ap_uint<64> preparation_time_start; + ap_uint<64> preparation_time_end; + + ap_uint<64> load_time_start; + ap_uint<64> load_time_end; + + ap_uint<64> save_time_start; + ap_uint<64> save_time_end; + + +}; + +struct status_flags +{ + ap_uint<32> accel_direct_0_occupied_pid; + ap_uint<32> accel_direct_1_occupied_pid; + + ap_uint<32> accel_indirect_0_occupied_pid; + ap_uint<32> accel_indirect_1_occupied_pid; + ap_uint<32> accel_indirect_2_occupied_pid; + ap_uint<32> accel_indirect_3_occupied_pid; + + ap_uint<32> accel_sg_0_occupied_pid; + + + ap_uint<32> accelerator_busy; + ap_uint<32> open_modules; +}; + +struct shared_repository +{ + struct metrics accel_direct_0_shared_metrics; + struct metrics accel_direct_1_shared_metrics; + + struct metrics accel_indirect_0_shared_metrics; + struct metrics accel_indirect_1_shared_metrics; + struct metrics accel_indirect_2_shared_metrics; + struct metrics accel_indirect_3_shared_metrics; + + struct metrics accel_sg_0_shared_metrics; + + struct status_flags shared_status_flags; + +}; diff --git a/Hardware/Vivado_HLS_IPs/DMA_SG_PCIe_Scheduler/run_hls.tcl b/Hardware/Vivado_HLS_IPs/DMA_SG_PCIe_Scheduler/run_hls.tcl new file mode 100644 index 0000000..7d4c9a8 --- /dev/null +++ b/Hardware/Vivado_HLS_IPs/DMA_SG_PCIe_Scheduler/run_hls.tcl @@ -0,0 +1,17 @@ +open_project DMA_SG_PCIe_Scheduler + +set_top dma_sg_pcie_scheduler + +add_files dma_sg_pcie_scheduler.cpp + +open_solution "solution1" + +#The Part Refers to the Xilinx Virtex 7 VC707 FPGA Development Board +set_part {xc7vx485tffg1761-2} +create_clock -period 10 -name default + +csynth_design + +export_design -format ip_catalog -display_name "DMA SG PCIe Scheduler" -version "1.0" + +exit diff --git a/Hardware/Vivado_HLS_IPs/Fetch_Scheduler/.keep b/Hardware/Vivado_HLS_IPs/Fetch_Scheduler/.keep new file mode 100644 index 0000000..e69de29 diff --git a/Hardware/Vivado_HLS_IPs/Fetch_Scheduler/fetch_scheduler.cpp b/Hardware/Vivado_HLS_IPs/Fetch_Scheduler/fetch_scheduler.cpp new file mode 100644 index 0000000..25ef7e2 --- /dev/null +++ b/Hardware/Vivado_HLS_IPs/Fetch_Scheduler/fetch_scheduler.cpp @@ -0,0 +1,513 @@ +#include +#include +#include +#include "ap_int.h" +#include "ap_utils.h" +#include "ap_cint.h" +#include "ap_utils.h" +#include "ap_int.h" +#include "fetch_scheduler.h" + + +/* + * ------------------------------ + * Registers and Masks of the DMA + * ------------------------------ + */ +#define XAXICDMA_CR_OFFSET 0x00000000 // Control Register. +#define XAXICDMA_SR_OFFSET 0x00000004 // Status Register. + + +#define XAXICDMA_SRCADDR_OFFSET 0x00000018 // Source Address Register. +#define XAXICDMA_DSTADDR_OFFSET 0x00000020 // Destination Address Register. +#define XAXICDMA_BTT_OFFSET 0x00000028 // Bytes to Transfer Register. + + + +#define XAXICDMA_CR_RESET_MASK 0x00000004 // Reset CDMA Mask. + +#define XAXICDMA_XR_IRQ_IOC_MASK 0x00001000 // Interrupt On Completion (IOC) Mask. +#define XAXICDMA_XR_IRQ_DELAY_MASK 0x00002000 // Delay Interrupt Mask. +#define XAXICDMA_XR_IRQ_ERROR_MASK 0x00004000 // Error Interrupt Mask. +#define XAXICDMA_XR_IRQ_ALL_MASK 0x00007000 // All Interrupt Mask. + +/* + * -------------------------------------------------------------------------- + * Registers and Masks of the AXI Performance Monitor Unit (APM/Shared Timer) + * -------------------------------------------------------------------------- + */ + +#define XAPM_GCC_HIGH_OFFSET 0x0000 //Global Clock Counter 32 to 63 Bits (Upper). +#define XAPM_GCC_LOW_OFFSET 0x0004 //Global Clock Counter 0 to 31 Bits (Lower). + + +/* + * fetch_scheduler() + * + * The Hardware Funtionality of the Fetch Scheduler Core. + * + * The Fetch Scheduler Core Does not Belong to Any Particular Acceleration Group but it is Used by ALL(4) the Acceleration Groups Indirect (AGIs). + * The Responsibility of this Core is to Manage the Procedure of Fetching Data to the DDR3 Memory that will be Processed by the AGIs. + * It Checks its Scheduler Buffer in Round Robin for new Transfer Requests by any of the AGIs. + * If it Finds Information for new Transfer it Starts the CDMA Fetch Core to Transfer Image Data from the Host's Memory to the FPGA's DDR3. + * The Corresponding AGIs will be then Signaled by the Fetch Scheduler to Process the Image Data. + * + * When an AGI wants to Request Image Data from the Fetch Scheduler it Has to Write the Source and Destination Addresses as well as the Transfer Size + * and, if Required, an Address Offset to the Scheduler Buffer that Belongs to the Fetch Scheduler. + * + * The Scheduler Buffer Has 4 Sets of Registers with 4 Registers for each Set. + * The 4 Registers are Used to Store the Source Address, the Destination Address, the Transfer Size and an Address Offset (If Required) Respectively. + * Each Set Corresponds to One of the 4 AGIs. + * + * When an AGI Writes the Above Information to the Scheduler Buffer, the Fetch Scheduler Starts a CDMA Transfer Accordingly + * to Fetch the Image Data in the FPGA's DDR3. + * + * The Sequential Steps of the Acceleration Procedure are as Follows: + * + * Start a for Loop of 4 Iterations where in each Iteration we Check for new CDMA Transfer Requests by each of the 4 AGIs Respectively. + * + * a --> Read the Data Size Register from the Current Set of Registers of the Scheduler Buffer. + * If there is a Non-Zero Value then we Know that the Corresponding AGI Has Written the Required + * Info (Source/Destination Address, Transfer Size, Addrress Offset) in Order to Request a Transfer by the CDMA Fetch. + * If there is a Zero Value then we Check the Data Size Register of the Next Set for a Transfer Request by the Next AGI. + * b --> Enable the Interrupts on the CDMA Fetch Core. + * c --> Setup the CDMA with the Source and Destination Addresses. + * If the Source Data Should be Fetched through the PCIe Bridge then Get the Source Address from the Scheduler Buffer and Set the + * Address Translation Register of the Corresponding AXI BAR of the PCIe Bridge with this Address. + * Then Set the Source Address Register of the CDMA Fetch Core to be the Corresponding AXI BAR. + * If the Source Data Should not be Fetched through the PCIe Bridge then Just Set the Source Address Register of the CDMA Fetch Core + * with the Source Address of the Scheduler Buffer. + * d --> Read the Current Value of the Shared Timer to Get the Time that the CDMA Fetch Transfer Started. + * e --> Setup the Bytes to Transfer Register with the Transfer Size which Triggers the CDMA Fetch Transfer. + * f --> Wait for an Interrupt by the CDMA Fetch on Completion of the Transfer. + * g --> Read the Current Value of the Shared Timer to Get the Time that the CDMA Fetch Transfer Ended. + * h --> Acknowledge the CDMA Fetch Interrupt. + * i --> Reset the CDMA Fetch Core. + * j --> Re-Enable the Interrupts on the CDMA Fetch Core. + * k --> Clear the Set of Registers of the Scheduler Buffer that Refer to the Current AGI. + * l --> Send a Start Signal to the Acceleration Scheduler Indirect of the Corresponding AGI to Initiate the Acceleration Procedure. + * + * Repeat the Above Steps (a to l) for the Next Set of Registers of the Scheduler Buffer. + * + * + * The Function Parameters are the Input/Output Ports/Interfaces of the Core: + * + * 01 --------> The AXI Master Interface of the Core Used to Access External Devices and Memories. + * 02 --------> Single Bit Input Used to Receive External Interrupts from the CDMA Fetch Core. + * 03 --------> Single Bit Output Used to Send Start Signals to the Acceleration Scheduler Indirect of the AGI0. + * 04 --------> Single Bit Output Used to Send Start Signals to the Acceleration Scheduler Indirect of the AGI1. + * 05 --------> Single Bit Output Used to Send Start Signals to the Acceleration Scheduler Indirect of the AGI2. + * 06 --------> Single Bit Output Used to Send Start Signals to the Acceleration Scheduler Indirect of the AGI3. + * 07 to 19 --> Registers of the Core that are Accessed through the AXI Slave Lite Interface of the Core. + * + * NOTE datr in pcie_ctl_datr_address Stands for Dynamic Address Translator Register. + */ +int fetch_scheduler(/*01*/volatile ap_uint<32> *ext_cfg, + /*02*/volatile ap_uint<1> *cdma_intr_in, + /*03*/volatile ap_uint<1> *start_0, + /*04*/volatile ap_uint<1> *start_1, + /*05*/volatile ap_uint<1> *start_2, + /*06*/volatile ap_uint<1> *start_3, + /*07*/unsigned int cdma_base_address, + /*08*/unsigned int scheduler_buffer_base_address, + /*09*/unsigned int src_address_first_reg_offset, + /*10*/unsigned int dst_address_first_reg_offset, + /*11*/unsigned int data_size_first_reg_offset, + /*12*/unsigned int offset_first_reg_offset, + /*13*/unsigned int step_offset, + /*14*/unsigned int shared_apm_base_address, + /*15*/unsigned int shared_metrics_base_address, + /*16*/unsigned int axi_bar_base_address, + /*17*/unsigned int pcie_ctl_datr_address, + /*17*/unsigned int pcie_mode, + /*19*/unsigned int accel_group_jump + ) +{ + +/* + * The ext_cfg is the AXI Master Interface of the Core. + */ +#pragma HLS INTERFACE m_axi port=ext_cfg + +/* + * The cdma_intr_in is a Single Bit Input which is Used to Receive External Interrupts from the CDMA Fetch Core. + */ +#pragma HLS INTERFACE ap_none port=cdma_intr_in + +/* + * The start_0 is a Single Bit Output which is Used to Send Start Signals to the Acceleration Scheduler Indirect of the AGI0. + */ +#pragma HLS INTERFACE ap_ovld port=start_0 + +/* + * The start_1 is a Single Bit Output which is Used to Send Start Signals to the Acceleration Scheduler Indirect of the AGI1. + */ +#pragma HLS INTERFACE ap_ovld port=start_1 + +/* + * The start_2 is a Single Bit Output which is Used to Send Start Signals to the Acceleration Scheduler Indirect of the AGI2. + */ +#pragma HLS INTERFACE ap_ovld port=start_2 + +/* + * The start_3 is a Single Bit Output which is Used to Send Start Signals to the Acceleration Scheduler Indirect of the AGI3. + */ +#pragma HLS INTERFACE ap_ovld port=start_3 + +/* + * The cdma_base_address is a Register to Store the Base Address of the CDMA Fetch that this Core + * will Need to Access through the ext_cfg AXI Master Interface. + * This Register is Accessed through the AXI Slave Lite Interface (int_cfg) of the Core. + */ +#pragma HLS INTERFACE s_axilite port=cdma_base_address bundle=int_cfg + +/* + * The scheduler_buffer_base_address is a Register to Store the Base Address of the Scheduler Buffer that this Core + * will Need to Access through the ext_cfg AXI Master Interface. + * This Register is Accessed through the AXI Slave Lite Interface (int_cfg) of the Core. + */ +#pragma HLS INTERFACE s_axilite port=scheduler_buffer_base_address bundle=int_cfg + +/* + * The src_address_first_reg_offset is a Register to Store the Address Offset where the Source Address Register + * of the First Set of Registers inside the Scheduler Buffer is Located. + * This Register is Accessed through the AXI Slave Lite Interface (int_cfg) of the Core. + */ +#pragma HLS INTERFACE s_axilite port=src_address_first_reg_offset bundle=int_cfg + +/* + * The dst_address_first_reg_offset is a Register to Store the Address Offset where the Destination Address Register + * of the First Set of Registers inside the Scheduler Buffer is Located. + * This Register is Accessed through the AXI Slave Lite Interface (int_cfg) of the Core. + */ +#pragma HLS INTERFACE s_axilite port=dst_address_first_reg_offset bundle=int_cfg + +/* + * The data_size_first_reg_offset is a Register to Store the Address Offset where the Transfer Size Register + * of the First Set of Registers inside the Scheduler Buffer is Located. + * This Register is Accessed through the AXI Slave Lite Interface (int_cfg) of the Core. + */ +#pragma HLS INTERFACE s_axilite port=data_size_first_reg_offset bundle=int_cfg + +/* + * The offset_first_reg_offset is a Register to Store the Address Offset where the Offset Register + * of the First Set of Registers inside the Scheduler Buffer is Located. + * This Register is Accessed through the AXI Slave Lite Interface (int_cfg) of the Core. + */ +#pragma HLS INTERFACE s_axilite port=offset_first_reg_offset bundle=int_cfg + +/* + * The step_offset is a Register to Store the Number of Bytes to Jump inside the Scheduler Buffer + * in order to Locate the Next Set of Registers. + * This Register is Accessed through the AXI Slave Lite Interface (int_cfg) of the Core. + */ +#pragma HLS INTERFACE s_axilite port=step_offset bundle=int_cfg + +/* + * The shared_apm_base_address is a Register to Store the Base Address of the Shared Timer (APM) that this Core + * will Need to Access through the ext_cfg AXI Master Interface. + * This Register is Accessed through the AXI Slave Lite Interface (int_cfg) of the Core. + */ +#pragma HLS INTERFACE s_axilite port=shared_apm_base_address bundle=int_cfg + +/* + * The shared_metrics_base_address is a Register to Store the Base Address of the Memory that this Core + * will Need to Access through the ext_cfg AXI Master Interface in Order to Write the Metrics Information. + * This Register is Accessed through the AXI Slave Lite Interface (int_cfg) of the Core. + */ +#pragma HLS INTERFACE s_axilite port=shared_metrics_base_address bundle=int_cfg + +/* + * The axi_bar_base_address is a Register to Store the Base Address of the Source AXI BAR of the PCIe Bridge that this Core + * will Need to Access through the ext_cfg AXI Master Interface in Order to Read the Image Data over the PCIe Bus. + * This Register is Accessed through the AXI Slave Lite Interface (int_cfg) of the Core. + */ +#pragma HLS INTERFACE s_axilite port=axi_bar_base_address bundle=int_cfg + +/* + * The pcie_ctl_datr_address is a Register to Store the Address/Offset of the PCIe Bridge's Address Translation Register that Refers to the Source AXI BAR. + * This Register is Accessed through the AXI Slave Lite Interface (s_axilite_cfg) of the Core. + */ +#pragma HLS INTERFACE s_axilite port=pcie_ctl_datr_address bundle=int_cfg + +/* + * The pcie_mode is a Register to Store a Value (0 or 1) that Indicates whether we Access the Source Image Data through the PCIe Bridge or not. + * This Register is Accessed through the AXI Slave Lite Interface (int_cfg) of the Core. + */ +#pragma HLS INTERFACE s_axilite port=pcie_mode bundle=int_cfg + +/* + * The accel_group_jump is a Register to Store a Value that Helps to Access the Correct Metrics Structure in the Metrics Memory in order + * to Store the Time Metrics that Refer to the Current AGI. + * This Register is Accessed through the AXI Slave Lite Interface (int_cfg) of the Core. + */ +#pragma HLS INTERFACE s_axilite port=accel_group_jump bundle=int_cfg + +#pragma HLS INTERFACE s_axilite port=return bundle=int_cfg + + +int repeat; + + +ap_uint<32> data_register; // Used to Temporalily Store Values when Reading or Writing from/to Registers of External Devices. +ap_uint<32> irq; // Used to Temporalily Store the IRQ Mask. +ap_uint<32> source_address_register; // Used to Temporalily Store the Value of the Source Address Register of the Scheduler Buffer. +ap_uint<32> destination_address_register; // Used to Temporalily Store the Value of the Destination Address Register of the Scheduler Buffer. +ap_uint<32> data_size_register; // Used to Temporalily Store the Value of the Data Size Register of the Scheduler Buffer. +ap_uint<32> offset_register; // Used to Temporalily Store the Value of the Offset Register of the Scheduler Buffer. + +ap_uint<32> address; // Used to Calculate an Address along with an Offset. + + +ap_uint<1> cdma_intr_in_value; // Used to Read the Last Value of the cdma_intr_in_value Input Port. + +ap_uint<32> cdma_fetch_time_start_gcc_l; // Store the CDMA Fetch Transfer Start Time Lower Register from the Shared Timer (Shared APM). +ap_uint<32> cdma_fetch_time_start_gcc_u; // Store the CDMA Fetch Transfer Start Time Upper Register from the Shared Timer (Shared APM). + +ap_uint<32> cdma_fetch_time_end_gcc_l; // Store the CDMA Fetch Transfer End Time Lower Register from the Shared Timer (Shared APM). +ap_uint<32> cdma_fetch_time_end_gcc_u; // Store the CDMA Fetch Transfer End Time Upper Register from the Shared Timer (Shared APM). + +/* + * Start an Infinite Loop. + */ +while(1) +{ + + /* + * Make 4 Iterations and each Time Check the Current Set of Registers of the Scheduler Buffer for a New CDMA Fetch Transfer Request + * by the AGI that Refers to the Current Set of Registers. + */ + for(repeat = 0; repeat < 4; repeat++) + { + //Read the Data Size Register of the Current Set of Registers of the Scheduler Buffer. + memcpy(&data_size_register, (const ap_uint<32> *)(ext_cfg + (scheduler_buffer_base_address + data_size_first_reg_offset + (repeat * step_offset)) / 4), sizeof(ap_uint<32>)); + + //If the Data Size Register is not Empty then we Have a New CDMA Fetch Transfer Request. + //Else the Fetch Scheduler will Check the Data Size Register of the Next Set in the Next Iteration. + if(data_size_register != 0) + { + + + /* + * -------------------------------------------- + * Enable the Interrupts on the CDMA Fetch Core + * -------------------------------------------- + */ + + //Read the Control Register of the CDMA Fetch Core. + memcpy(&data_register, (const ap_uint<32> *)(ext_cfg + (cdma_base_address + XAXICDMA_CR_OFFSET) / 4), sizeof(ap_uint<32>)); + + //Set the Recently Read Value with the Masks Required to Enable the IOC, Delay and Error IRQs. + //NOTE that IOC Stands for Interrupt On Complete. + data_register = data_register | (XAXICDMA_XR_IRQ_ERROR_MASK | XAXICDMA_XR_IRQ_IOC_MASK | XAXICDMA_XR_IRQ_DELAY_MASK); + + //Write the new Value Back to the Control Register of the CDMA Fetch Core to Enable the Interrupts. + memcpy((ap_uint<32> *)(ext_cfg + (cdma_base_address + XAXICDMA_CR_OFFSET) / 4), &data_register, sizeof(ap_uint<32>)); + + /* + * ------------------------------------------------------------------------- + * Setup the Source and Destination Address Registers of the CDMA Fetch Core + * ------------------------------------------------------------------------- + */ + + //If the PCIe Mode is Enabled then the Source Data Should be Read through the PCIe Bridge. + //This Mode Requires to Set the Address Tranlation Register of the Source AXI BAR of the PCI Bridge. + if(pcie_mode == 1) + { + //Read the Source Physical Address from the Source Address Register from the Current Set of the Scheduler Buffer. + memcpy(&source_address_register, (const ap_uint<32> *)(ext_cfg + (scheduler_buffer_base_address + src_address_first_reg_offset + (repeat * step_offset)) / 4), sizeof(ap_uint<32>)); + + //Set the Address Tranlation Register of the Source AXI BAR of the PCI Bridge with the Source Physical Address. + memcpy((ap_uint<32> *)(ext_cfg + (pcie_ctl_datr_address) / 4), &source_address_register, sizeof(ap_uint<32>)); + + //Read the Address Offset from the Offset Register from the Current Set of the Scheduler Buffer. + //NOTE it is Possible that this Register Has a Zero Value if there is no Offset Required to Access the Data. + memcpy(&offset_register, (const ap_uint<32> *)(ext_cfg + (scheduler_buffer_base_address + offset_first_reg_offset + (repeat * step_offset)) / 4), sizeof(ap_uint<32>)); + + //Set the Source Address Register of the CDMA Fetch Core to be the Specified Source AXI BAR along with a Possible Offset. + address = axi_bar_base_address + offset_register; + memcpy((ap_uint<32> *)(ext_cfg + (cdma_base_address + XAXICDMA_SRCADDR_OFFSET) / 4), &address, sizeof(ap_uint<32>)); + } + //If the PCIe Mode is Disabled there is no Need to Set the Address Translation Registers of the PCIe Bridge. + else + { + //Read the Source Physical Address from the Source Address Register from the Current Set of the Scheduler Buffer. + memcpy(&source_address_register, (const ap_uint<32> *)(ext_cfg + (scheduler_buffer_base_address + src_address_first_reg_offset + (repeat * step_offset)) / 4), sizeof(ap_uint<32>)); + + //Read the Address Offset from the Offset Register from the Current Set of the Scheduler Buffer. + //NOTE it is Possible that this Register Has a Zero Value if there is no Offset Required to Access the Data. + memcpy(&offset_register, (const ap_uint<32> *)(ext_cfg + (scheduler_buffer_base_address + offset_first_reg_offset + (repeat * step_offset)) / 4), sizeof(ap_uint<32>)); + + //Set the Source Address Register of the CDMA Fetch Core with the Source Address along with the Offset Read from the Scheduler Buffer. + address = source_address_register + offset_register; + memcpy((ap_uint<32> *)(ext_cfg + (cdma_base_address + XAXICDMA_SRCADDR_OFFSET) / 4), &address, sizeof(ap_uint<32>)); + + } + + //Read the Destination Physical Address from the Destination Address Register from the Current Set of the Scheduler Buffer. + memcpy(&destination_address_register, (const ap_uint<32> *)(ext_cfg + (scheduler_buffer_base_address + dst_address_first_reg_offset + (repeat * step_offset)) / 4), sizeof(ap_uint<32>)); + + //Set the Destination Address Register of the CDMA Fetch Core with the Destination Address. + memcpy((ap_uint<32> *)(ext_cfg + (cdma_base_address + XAXICDMA_DSTADDR_OFFSET) / 4), &destination_address_register, sizeof(ap_uint<32>)); + + + /* + * ---------------------------------------------------------------------------------------------------------------------------- + * Read the Upper and Lower Registers of the Global Clock Counter of the Shared Timer to Get the CDMA Fetch Transfer Start Time + * ---------------------------------------------------------------------------------------------------------------------------- + */ + + //Read the Lower Register of the GCC of the Shared Timer to Get the 32 LSBs of the CDMA Fetch Transfer Start Time. + memcpy(&cdma_fetch_time_start_gcc_l, (const ap_uint<32> *)(ext_cfg + (shared_apm_base_address + XAPM_GCC_LOW_OFFSET) / 4), sizeof(ap_uint<32>)); + + //Store the 32 LSBs of the CDMA Fetch Transfer Start Time to a Specific Offset of the Metrics Memory. + memcpy((ap_uint<32> *)(ext_cfg + (shared_metrics_base_address + (sizeof(struct metrics) * accel_group_jump) + (sizeof(struct metrics) * repeat) + CDMA_FETCH_TIME_START_L_OFFSET) / 4), &cdma_fetch_time_start_gcc_l, sizeof(ap_uint<32>)); + + //Read the Upper Register of the GCC of the Shared Timer to Get the 32 MSBs of the CDMA Fetch Transfer Start Time. + memcpy(&cdma_fetch_time_start_gcc_u, (const ap_uint<32> *)(ext_cfg + (shared_apm_base_address + XAPM_GCC_HIGH_OFFSET) / 4), sizeof(ap_uint<32>)); + + //Store the 32 MSBs of the CDMA Fetch Transfer Start Time to a Specific Offset of the Metrics Memory. + memcpy((ap_uint<32> *)(ext_cfg + (shared_metrics_base_address + (sizeof(struct metrics) * accel_group_jump) + (sizeof(struct metrics) * repeat) + CDMA_FETCH_TIME_START_U_OFFSET) / 4), &cdma_fetch_time_start_gcc_u, sizeof(ap_uint<32>)); + + + /* + * --------------------------------------------------------------------------------------------- + * Setup the Bytes To Transfer (BTT) Register of the CDMA Fetch Core which Triggers the Transfer + * --------------------------------------------------------------------------------------------- + */ + + //Set the Bytes To Tranfer Register of the CDMA Fetch Core with the Transfer Size in Bytes. + memcpy((ap_uint<32> *)(ext_cfg + (cdma_base_address + XAXICDMA_BTT_OFFSET) / 4), &data_size_register, sizeof(ap_uint<32>)); + + + /* + * ------------------------- + * Wait for a CDMA Interrupt + * ------------------------- + */ + + //Make an Initial Read of the Current State of the cdma_intr_in Input. + cdma_intr_in_value = *cdma_intr_in; + + //Keep Looping for as long as the cdma_intr_in Input Does not Reach a Logic 1 Value. + while(cdma_intr_in_value != 1) + { + //Keep Reading the Last Value of the cdma_intr_in Input. + cdma_intr_in_value = *cdma_intr_in; + } + + //Reset the Reader Variable. + cdma_intr_in_value = 0; + + + /* + * ------------------------------------------------------------------------------------------------------------------------- + * Read the Upper and Lower Registers of the Global Clock Counter of the Shared Timer to Get the CDMA Fetch Tranfer End Time + * ------------------------------------------------------------------------------------------------------------------------- + */ + + //Read the Lower Register of the GCC of the Shared Timer to Get the 32 LSBs of the CDMA Fetch Tranfer End Time. + memcpy(&cdma_fetch_time_end_gcc_l, (const ap_uint<32> *)(ext_cfg + (shared_apm_base_address + XAPM_GCC_LOW_OFFSET) / 4), sizeof(ap_uint<32>)); + + //Store the 32 LSBs of the CDMA Fetch Tranfer End Time to a Specific Offset of the Metrics Memory. + memcpy((ap_uint<32> *)(ext_cfg + (shared_metrics_base_address + (sizeof(struct metrics) * accel_group_jump) + (sizeof(struct metrics) * repeat) + CDMA_FETCH_TIME_END_L_OFFSET) / 4), &cdma_fetch_time_end_gcc_l, sizeof(ap_uint<32>)); + + //Read the Upper Register of the GCC of the Shared Timer to Get the 32 MSBs of the CDMA Fetch Tranfer End Time. + memcpy(&cdma_fetch_time_end_gcc_u, (const ap_uint<32> *)(ext_cfg + (shared_apm_base_address + XAPM_GCC_HIGH_OFFSET) / 4), sizeof(ap_uint<32>)); + + //Store the 32 MSBs of the CDMA Fetch Tranfer End Time to a Specific Offset of the Metrics Memory. + memcpy((ap_uint<32> *)(ext_cfg + (shared_metrics_base_address + (sizeof(struct metrics) * accel_group_jump) + (sizeof(struct metrics) * repeat) + CDMA_FETCH_TIME_END_U_OFFSET) / 4), &cdma_fetch_time_end_gcc_u, sizeof(ap_uint<32>)); + + + /* + * ------------------------------------ + * Acknowledge the CDMA Fetch Interrupt + * ------------------------------------ + */ + + //Read the Status Register of the CDMA Fetch Core which among others Includes the Status of the DMA's IRQs. + memcpy(&data_register, (const ap_uint<32> *)(ext_cfg + (cdma_base_address + XAXICDMA_SR_OFFSET) / 4), sizeof(ap_uint<32>)); + + //Filter the Recently Read Value with the XAXICDMA_IRQ_ALL_MASK so as to Keep ONLY the IRQs that were Triggered. + irq = data_register & XAXICDMA_XR_IRQ_ALL_MASK; + + //Write the new Value Back to the Status Register of the CDMA Fetch Core which Acknowledges the Triggered Interrupts. + memcpy((ap_uint<32> *)(ext_cfg + (cdma_base_address + XAXICDMA_SR_OFFSET) / 4), &irq, sizeof(ap_uint<32>)); + + /* + * ------------------------- + * Reset the CDMA Fetch Core + * ------------------------- + */ + + //Write the Reset Mask to the Control Register of the CDMA Fetch Core in order to Reset the Core. + data_register = XAXICDMA_CR_RESET_MASK; + memcpy((ap_uint<32> *)(ext_cfg + (cdma_base_address + XAXICDMA_CR_OFFSET) / 4), &data_register, sizeof(ap_uint<32>)); + + + /* + * ----------------------------------------------- + * Re-Enable the Interrupts on the CDMA Fetch Core + * ----------------------------------------------- + */ + + //Read the Control Register of the CDMA Fetch Core. + memcpy(&data_register, (const ap_uint<32> *)(ext_cfg + (cdma_base_address + XAXICDMA_CR_OFFSET) / 4), sizeof(ap_uint<32>)); + + //Set the Recently Read Value with the Masks Required to Enable the IOC, Delay and Error IRQs. + //NOTE that IOC Stands for Interrupt On Complete. + data_register = data_register | (XAXICDMA_XR_IRQ_ERROR_MASK | XAXICDMA_XR_IRQ_IOC_MASK | XAXICDMA_XR_IRQ_DELAY_MASK); + + //Write the new Value Back to the Control Register of the CDMA Fetch Core to Enable the Interrupts. + memcpy((ap_uint<32> *)(ext_cfg + (cdma_base_address + XAXICDMA_CR_OFFSET) / 4), &data_register, sizeof(ap_uint<32>)); + + /* + * Reset to Zero the 4 Registers of the Current Set of Registers of the Scheduler Buffer + */ + data_register = 0; + memcpy((ap_uint<32> *)(ext_cfg + (scheduler_buffer_base_address + src_address_first_reg_offset + (repeat * step_offset)) / 4), &data_register, sizeof(ap_uint<32>)); + memcpy((ap_uint<32> *)(ext_cfg + (scheduler_buffer_base_address + dst_address_first_reg_offset + (repeat * step_offset)) / 4), &data_register, sizeof(ap_uint<32>)); + memcpy((ap_uint<32> *)(ext_cfg + (scheduler_buffer_base_address + data_size_first_reg_offset + (repeat * step_offset)) / 4), &data_register, sizeof(ap_uint<32>)); + memcpy((ap_uint<32> *)(ext_cfg + (scheduler_buffer_base_address + offset_first_reg_offset + (repeat * step_offset)) / 4), &data_register, sizeof(ap_uint<32>)); + + + /* + * Each Iteration Refers to a Specific AGI. + * Check the Current Iteration Value and Start the Acceleration Scheduler Indirect of the Correct AGI. + */ + if(repeat == 0) + { + //Trigger the start_0 Signal for one Clock Cycle. + *start_0 = 0; + *start_0 = 1; + } + + if(repeat == 1) + { + //Trigger the start_1 Signal for one Clock Cycle. + *start_1 = 0; + *start_1 = 1; + } + + if(repeat == 2) + { + //Trigger the start_2 Signal for one Clock Cycle. + *start_2 = 0; + *start_2 = 1; + } + + if(repeat == 3) + { + //Trigger the start_3 Signal for one Clock Cycle. + *start_3 = 0; + *start_3 = 1; + } + } + } +} + +return 1; + +} + + diff --git a/Hardware/Vivado_HLS_IPs/Fetch_Scheduler/fetch_scheduler.h b/Hardware/Vivado_HLS_IPs/Fetch_Scheduler/fetch_scheduler.h new file mode 100644 index 0000000..0e396c0 --- /dev/null +++ b/Hardware/Vivado_HLS_IPs/Fetch_Scheduler/fetch_scheduler.h @@ -0,0 +1,126 @@ +#define APM_READ_TRANSACTIONS_OFFSET 0 +#define APM_READ_BYTES_OFFSET 4 + +#define APM_WRITE_TRANSACTIONS_OFFSET 8 +#define APM_WRITE_BYTES_OFFSET 12 + +#define APM_PACKETS_OFFSET 16 +#define APM_BYTES_OFFSET 20 + +#define APM_GCC_L_OFFSET 24 +#define APM_GCC_U_OFFSET 28 + +#define CDMA_FETCH_TIME_START_L_OFFSET 32 +#define CDMA_FETCH_TIME_START_U_OFFSET 36 + +#define CDMA_FETCH_TIME_END_L_OFFSET 40 +#define CDMA_FETCH_TIME_END_U_OFFSET 44 + +#define CDMA_SEND_TIME_START_L_OFFSET 48 +#define CDMA_SEND_TIME_START_U_OFFSET 52 + +#define CDMA_SEND_TIME_END_L_OFFSET 56 +#define CDMA_SEND_TIME_END_U_OFFSET 60 + +#define DMA_ACCEL_TIME_START_L_OFFSET 64 +#define DMA_ACCEL_TIME_START_U_OFFSET 68 + +#define DMA_ACCEL_TIME_END_L_OFFSET 72 +#define DMA_ACCEL_TIME_END_U_OFFSET 76 + + +struct image_info +{ + ap_uint<32> rows; + ap_uint<32> columns; + ap_uint<64> size; +}; + +struct metrics +{ + /* + * AXI Performance Monitor Metrics + */ + ap_uint<32> apm_read_transactions; //Offset 0 Bytes + ap_uint<32> apm_read_bytes; //Offset 4 Bytes + + ap_uint<32> apm_write_transactions; //Offset 8 Bytes + ap_uint<32> apm_write_bytes; //Offset 12 Bytes + + ap_uint<32> apm_packets; //Offset 16 Bytes + ap_uint<32> apm_bytes; //Offset 20 Bytes + + ap_uint<32> apm_gcc_l; //Offset 24 Bytes + ap_uint<32> apm_gcc_u; //Offset 28 Bytes + + ap_uint<32> cdma_fetch_time_start_l; //Offset 32 Bytes + ap_uint<32> cdma_fetch_time_start_u; //Offset 36 Bytes + ap_uint<32> cdma_fetch_time_end_l; //Offset 40 Bytes + ap_uint<32> cdma_fetch_time_end_u; //Offset 44 Bytes + + ap_uint<32> cdma_send_time_start_l; //Offset 48 Bytes + ap_uint<32> cdma_send_time_start_u; //Offset 52 Bytes + ap_uint<32> cdma_send_time_end_l; //Offset 56 Bytes + ap_uint<32> cdma_send_time_end_u; //Offset 60 Bytes + + ap_uint<32> dma_accel_time_start_l; //Offset 64 Bytes + ap_uint<32> dma_accel_time_start_u; //Offset 68 Bytes + ap_uint<32> dma_accel_time_end_l; //Offset 72 Bytes + ap_uint<32> dma_accel_time_end_u; //Offset 76 Bytes + + struct image_info shared_image_info; // Offset 80 Bytes + + /* + * Kernel and Userspace Metrics + */ + + ap_uint<64> total_time_start; + ap_uint<64> total_time_end; + + ap_uint<64> sleep_time_start; + ap_uint<64> sleep_time_end; + + ap_uint<64> preparation_time_start; + ap_uint<64> preparation_time_end; + + ap_uint<64> load_time_start; + ap_uint<64> load_time_end; + + ap_uint<64> save_time_start; + ap_uint<64> save_time_end; + + +}; + +struct status_flags +{ + ap_uint<32> accel_direct_0_occupied_pid; + ap_uint<32> accel_direct_1_occupied_pid; + + ap_uint<32> accel_indirect_0_occupied_pid; + ap_uint<32> accel_indirect_1_occupied_pid; + ap_uint<32> accel_indirect_2_occupied_pid; + ap_uint<32> accel_indirect_3_occupied_pid; + + ap_uint<32> accel_sg_0_occupied_pid; + + + ap_uint<32> accelerator_busy; + ap_uint<32> open_modules; +}; + +struct shared_repository +{ + struct metrics accel_direct_0_shared_metrics; + struct metrics accel_direct_1_shared_metrics; + + struct metrics accel_indirect_0_shared_metrics; + struct metrics accel_indirect_1_shared_metrics; + struct metrics accel_indirect_2_shared_metrics; + struct metrics accel_indirect_3_shared_metrics; + + struct metrics accel_sg_0_shared_metrics; + + struct status_flags shared_status_flags; + +}; diff --git a/Hardware/Vivado_HLS_IPs/Fetch_Scheduler/run_hls.tcl b/Hardware/Vivado_HLS_IPs/Fetch_Scheduler/run_hls.tcl new file mode 100644 index 0000000..07689b6 --- /dev/null +++ b/Hardware/Vivado_HLS_IPs/Fetch_Scheduler/run_hls.tcl @@ -0,0 +1,17 @@ +open_project Fetch_Scheduler + +set_top fetch_scheduler + +add_files fetch_scheduler.cpp + +open_solution "solution1" + +#The Part Refers to the Xilinx Virtex 7 VC707 FPGA Development Board +set_part {xc7vx485tffg1761-2} +create_clock -period 10 -name default + +csynth_design + +export_design -format ip_catalog -display_name "Fetch Scheduler" -version "1.0" + +exit diff --git a/Hardware/Vivado_HLS_IPs/Info_Memory_Block/.keep b/Hardware/Vivado_HLS_IPs/Info_Memory_Block/.keep new file mode 100644 index 0000000..e69de29 diff --git a/Hardware/Vivado_HLS_IPs/Info_Memory_Block/info_memory_block.cpp b/Hardware/Vivado_HLS_IPs/Info_Memory_Block/info_memory_block.cpp new file mode 100644 index 0000000..2de50ae --- /dev/null +++ b/Hardware/Vivado_HLS_IPs/Info_Memory_Block/info_memory_block.cpp @@ -0,0 +1,102 @@ +#include +#include +#include +#include "ap_int.h" +#include "ap_utils.h" +#include "ap_cint.h" +#include "ap_utils.h" +#include "ap_int.h" +#include "info_memory_block.h" + + +/* + * info_memory_block() + * + * The Hardware Funtionality of the Info Memory Block Core. + * + * The Info Memory Block Core is Used to Aid the Acceleration Procedure of the Acceleration Groups Indirect (AGIs). + * It is Accessed by the Acceleration Scheduler Indirect Cores of the AGIs as well as the Fetch and Send Schedulers. + * + * It Could be Considered as a Block of 16 Registers. + * The Registers are Categorized in 4 Groups/Sets with 4 Registers in each Group/Set. + * + * Every Set of Registers Refers to one of the 4 AGIs. + * + * Set 0 Refers to AGI0. + * Set 1 Refers to AGI1. + * Set 2 Refers to AGI2. + * Set 3 Refers to AGI3. + * + * The 4 Registers of Each Set Carry the Following Information: + * + * Register 0: Source Address. + * Register 1: Destination Address. + * Register 2: Data Size (Transfer Size). + * Register 3: Address Offset. + * + * If an Acceleration Scheduler Indirect Requests a CDMA Transfer it Writes the Information Above to its own Set of Registers inside the Info Memory Block. + * The Fetch or Send Scheduler Reads the Above Information from the Info Memory Block and Starts a CDMA Transfer Accordingly. + * + * The Function Parameters are the Input Ports/Interfaces of the Core: + * + * 01 to 16 --> Registers of the Core that are Accessed through the AXI Slave Lite Interface of the Core. + */ +int info_memory_block(/*01*/unsigned int src_address_0, + /*02*/unsigned int dst_address_0, + /*03*/unsigned int data_size_0, + /*04*/unsigned int offset_0, + /*05*/unsigned int src_address_1, + /*06*/unsigned int dst_address_1, + /*07*/unsigned int data_size_1, + /*08*/unsigned int offset_1, + /*09*/unsigned int src_address_2, + /*10*/unsigned int dst_address_2, + /*11*/unsigned int data_size_2, + /*12*/unsigned int offset_2, + /*13*/unsigned int src_address_3, + /*14*/unsigned int dst_address_3, + /*15*/unsigned int data_size_3, + /*16*/unsigned int offset_3 + ) +{ + +/* + * Source Address, Destination Address, Data Size and Address Offset Registers of the First Group/Set + */ +#pragma HLS INTERFACE s_axilite port=src_address_0 bundle=int_cfg +#pragma HLS INTERFACE s_axilite port=dst_address_0 bundle=int_cfg +#pragma HLS INTERFACE s_axilite port=data_size_0 bundle=int_cfg +#pragma HLS INTERFACE s_axilite port=offset_0 bundle=int_cfg + +/* + * Source Address, Destination Address, Data Size and Address Offset Registers of the Second Group/Set + */ +#pragma HLS INTERFACE s_axilite port=src_address_1 bundle=int_cfg +#pragma HLS INTERFACE s_axilite port=dst_address_1 bundle=int_cfg +#pragma HLS INTERFACE s_axilite port=data_size_1 bundle=int_cfg +#pragma HLS INTERFACE s_axilite port=offset_1 bundle=int_cfg + +/* + * Source Address, Destination Address, Data Size and Address Offset Registers of the Third Group/Set + */ +#pragma HLS INTERFACE s_axilite port=src_address_2 bundle=int_cfg +#pragma HLS INTERFACE s_axilite port=dst_address_2 bundle=int_cfg +#pragma HLS INTERFACE s_axilite port=data_size_2 bundle=int_cfg +#pragma HLS INTERFACE s_axilite port=offset_2 bundle=int_cfg + +/* + * Source Address, Destination Address, Data Size and Address Offset Registers of the Fourth Group/Set + */ +#pragma HLS INTERFACE s_axilite port=src_address_3 bundle=int_cfg +#pragma HLS INTERFACE s_axilite port=dst_address_3 bundle=int_cfg +#pragma HLS INTERFACE s_axilite port=data_size_3 bundle=int_cfg +#pragma HLS INTERFACE s_axilite port=offset_3 bundle=int_cfg + +#pragma HLS INTERFACE s_axilite port=return bundle=int_cfg + + +return 1; + +} + + diff --git a/Hardware/Vivado_HLS_IPs/Info_Memory_Block/info_memory_block.h b/Hardware/Vivado_HLS_IPs/Info_Memory_Block/info_memory_block.h new file mode 100644 index 0000000..e033ddf --- /dev/null +++ b/Hardware/Vivado_HLS_IPs/Info_Memory_Block/info_memory_block.h @@ -0,0 +1,95 @@ +struct image_info +{ + ap_uint<32> rows; + ap_uint<32> columns; + ap_uint<64> size; +}; + +struct metrics +{ + /* + * AXI Performance Monitor Metrics + */ + ap_uint<32> apm_read_transactions; //Offset 0 Bytes + ap_uint<32> apm_read_bytes; //Offset 4 Bytes + + ap_uint<32> apm_write_transactions; //Offset 8 Bytes + ap_uint<32> apm_write_bytes; //Offset 12 Bytes + + ap_uint<32> apm_packets; //Offset 16 Bytes + ap_uint<32> apm_bytes; //Offset 20 Bytes + + ap_uint<32> apm_gcc_l; //Offset 24 Bytes + ap_uint<32> apm_gcc_u; //Offset 28 Bytes + + ap_uint<32> cdma_fetch_time_start_l; //Offset 32 Bytes + ap_uint<32> cdma_fetch_time_start_u; //Offset 36 Bytes + ap_uint<32> cdma_fetch_time_end_l; //Offset 40 Bytes + ap_uint<32> cdma_fetch_time_end_u; //Offset 44 Bytes + + ap_uint<32> cdma_send_time_start_l; //Offset 48 Bytes + ap_uint<32> cdma_send_time_start_u; //Offset 52 Bytes + ap_uint<32> cdma_send_time_end_l; //Offset 56 Bytes + ap_uint<32> cdma_send_time_end_u; //Offset 60 Bytes + + ap_uint<32> dma_accel_time_start_l; //Offset 64 Bytes + ap_uint<32> dma_accel_time_start_u; //Offset 68 Bytes + ap_uint<32> dma_accel_time_end_l; //Offset 72 Bytes + ap_uint<32> dma_accel_time_end_u; //Offset 76 Bytes + + struct image_info shared_image_info; // Offset 80 Bytes + + /* + * Kernel and Userspace Metrics + */ + + ap_uint<64> total_time_start; + ap_uint<64> total_time_end; + + ap_uint<64> sleep_time_start; + ap_uint<64> sleep_time_end; + + ap_uint<64> preparation_time_start; + ap_uint<64> preparation_time_end; + + ap_uint<64> load_time_start; + ap_uint<64> load_time_end; + + ap_uint<64> save_time_start; + ap_uint<64> save_time_end; + + +}; + +struct status_flags +{ + ap_uint<32> accel_direct_0_occupied_pid; + ap_uint<32> accel_direct_1_occupied_pid; + + ap_uint<32> accel_indirect_0_occupied_pid; + ap_uint<32> accel_indirect_1_occupied_pid; + ap_uint<32> accel_indirect_2_occupied_pid; + ap_uint<32> accel_indirect_3_occupied_pid; + + ap_uint<32> accel_sg_0_occupied_pid; + + + ap_uint<32> accelerator_busy; + ap_uint<32> open_modules; +}; + +struct shared_repository +{ + struct metrics accel_direct_0_shared_metrics; + struct metrics accel_direct_1_shared_metrics; + + struct metrics accel_indirect_0_shared_metrics; + struct metrics accel_indirect_1_shared_metrics; + struct metrics accel_indirect_2_shared_metrics; + struct metrics accel_indirect_3_shared_metrics; + + struct metrics accel_sg_0_shared_metrics; + + struct status_flags shared_status_flags; + +}; diff --git a/Hardware/Vivado_HLS_IPs/Info_Memory_Block/run_hls.tcl b/Hardware/Vivado_HLS_IPs/Info_Memory_Block/run_hls.tcl new file mode 100644 index 0000000..1d337ff --- /dev/null +++ b/Hardware/Vivado_HLS_IPs/Info_Memory_Block/run_hls.tcl @@ -0,0 +1,17 @@ +open_project Info_Memory_Block + +set_top info_memory_block + +add_files info_memory_block.cpp + +open_solution "solution1" + +#The Part Refers to the Xilinx Virtex 7 VC707 FPGA Development Board +set_part {xc7vx485tffg1761-2} +create_clock -period 10 -name default + +csynth_design + +export_design -format ip_catalog -display_name "Info Memory Block" -version "1.0" + +exit diff --git a/Hardware/Vivado_HLS_IPs/Interrupt_Manager/.keep b/Hardware/Vivado_HLS_IPs/Interrupt_Manager/.keep new file mode 100644 index 0000000..e69de29 diff --git a/Hardware/Vivado_HLS_IPs/Interrupt_Manager/interrupt_manager.cpp b/Hardware/Vivado_HLS_IPs/Interrupt_Manager/interrupt_manager.cpp new file mode 100644 index 0000000..68f72cd --- /dev/null +++ b/Hardware/Vivado_HLS_IPs/Interrupt_Manager/interrupt_manager.cpp @@ -0,0 +1,206 @@ +#include +#include +#include +#include "ap_int.h" +#include "ap_utils.h" +#include "ap_cint.h" +#include "ap_utils.h" +#include "interrupt_manager.h" + + +/* + * interrupt_manager() + * + * The Hardware Funtionality of the Interrupt Manager Core. + * + * The Interrupt Manager Core is Developed to Handle and Forward the Completion Interrupts from the 7 Acceleration Groups. + * + * The Goal of each Acceleration Group is to Inform the Linux Kernel Driver for the Completion of the Acceleration Procedure. + * The Communication of the FPGA with the Host System is Achieved through a PCIe Bus, thus, the Way to Signal the Driver is to Send MSI Interrupts. + * + * Sending a MSI is a Responsibility of the FPGA's PCIe Bridge. + * The PCIe Bridge Carries a 5-Bit Input to Set the Vector Number of the MSI and a 1-Bit Input which is Used to Trigger the MSI According to the Vector Number. + * In the Current Block Design the 2 Inputs of the PCIe Bridge are Connected with the Two Channels of a GPIO Peripheral. + * This GPIO from now on will be Recognized as GPIO-MSI. + * Writing Values in the Data Registers of the 2 Channels of the GPIO-MSI Leads to Triggering a MSI Interrupt. + * + * In Older Approaches the Acceleration Scheduler of each Acceleration Group would Simply Access the GPIO-MSI to Send MSI Interrupts on Completion of an Image Process. + * This Approach was Proved to be Unreliable Since the Concurrent Access to the GPIO-MSI by Multiple Acceleration Groups + * Could Lead to Possible Loss of Interrupts that were NEVER Transmitted. + * + * The new Approach to Ensure Zero Loss of Interrupts was to Develop the Current Interrupt Manager. + * The Interrupt Manager Includes an Array of 7 Registers where each Register Refers to each of the 7 Acceleration Groups. + * + * Register_Array[0] Refers to AGD0 + * Register_Array[1] Refers to AGD1 + * Register_Array[2] Refers to AGI0 + * Register_Array[3] Refers to AGI1 + * Register_Array[4] Refers to AGI2 + * Register_Array[5] Refers to AGI3 + * Register_Array[6] Refers to AGSG + * + * When an Acceleration Scheduler of any of the Acceleration Groups Requires to Send an MSI Interrupt for the Completion of its Acceleration Procedure + * it Simply Writes a Vector Number Value to the Corresponding Field of the Register Array of the Interrupt Manager as a MSI Request. + * The Kernel Driver Identifies the Acceleration Group that "Sent" the MSI by the Vector Number. + * + * Vector Number:0 --> AGD0 + * Vector Number:1 --> AGD1 + * Vector Number:2 --> AGI0 + * Vector Number:3 --> AGI1 + * Vector Number:4 --> AGI2 + * Vector Number:5 --> AGI3 + * Vector Number:6 --> AGSG + * + * The Interrupt Manager Checks in a Round Robin Manner the Fields of the Register Array for a Non-Zero Value which Indicates a new MSI Request. + * This Makes it Obvious that the Acceleration Schedulers Write to the Register Array of the Interrupt Manager the Vector Number Incremented by 1. + * This is Done to Avoid Zero Values that are not Identified by the Interrupt Manager as MSI Requests. + * + * If the Interrupt Manager Finds a Field of the Register Array with Non-Zero Value then it Decreases this Value by 1 in order to Produce + * the Correct Vector Number and Writes this Value to the GPIO-MSI Peripheral to Trigger the MSI Interrupt. + * + * The Interrupt Manager, then, Waits until it Receives an Acknowledgment Signal from the Kernel Driver before Checking for another MSI Request. + * The Kernel Driver, actually, Writes a Logic 1 Value to another GPIO Peripheral whose 1-Bit Output Signals the Interrupt Manager. + * This GPIO Peripheral from now on will be Recognized as GPIO-ACK. + * + * + * The Sequential Steps of the Interrupt Management are as Follows: + * + * Start a for Loop with 7 Iterations where each Iteration is to Check for a MSI Request by the Corresponding Acceleration Group. + * NOTE Enabling the Auto Restart Mode of the Current Core will Lead to Starting Over the for Loop. + * + * a --> Check if the Current Field of the Register Array Has a Non-Zero Value. + * If this is the Case Proceed to Send a MSI Interrupt. + * b --> Decrease the Value of the Current Field of the Register Array to Get the Correct Vector Number. + * c --> Write the Vector Number to the GPIO-MSI Peripheral that is Connected with the PCIe Bridge to Trigger an MSI Interrupt. + * d --> Wait for an Acknowledgment Signal from the Driver through the GPIO-ACK Peripheral. + * e --> Self-Clear to Zero the Current Field of the Register Array of the Interrupt Manager. + * The Next Time we Find a Non-Zero Value in this Field we Know that an Acceleration Group Has Made a Valid MSI Request. + * f --> Clear the Data Register of the GPIO-ACk Peripheral. + * + * The Function Parameters are the Input/Output Ports/Interfaces of the Core: + * + * 01 --------> The AXI Master Interface of the Core Used to Access External Devices and Memories. + * 02 --------> Single Bit Input Used to Receive External Acknowledgements from the Linux Kernel Driver. + * 03 to 06 --> Registers of the Core that are Accessed through the AXI Slave Lite Interface of the Core. + */ +int interrupt_manager(/*01*/volatile ap_uint<32> *ext_cfg, + /*02*/volatile ap_uint<1> *intr_ack, + /*03*/unsigned int gpio_msi_device_address, + /*04*/unsigned int gpio_ack_device_address, + /*05*/unsigned int self_msi_request_offset, + /*06*/unsigned int msi_request[7] + ) +{ + +/* + * The ext_cfg is the AXI Master Interface of the Core. + */ +#pragma HLS INTERFACE m_axi port=ext_cfg + +/* + * The gpio_msi_device_address is a Register to Store the Base Address of the GPIO-MSI that this Core + * will Need to Access through the ext_cfg AXI Master Interface. + * This Register is Accessed through the AXI Slave Lite Interface (cfg) of the Core. + */ +#pragma HLS INTERFACE s_axilite port=gpio_msi_device_address bundle=cfg + +/* + * The gpio_ack_device_address is a Register to Store the Base Address of the GPIO-ACK that this Core + * will Need to Access through the ext_cfg AXI Master Interface. + * This Register is Accessed through the AXI Slave Lite Interface (cfg) of the Core. + */ +#pragma HLS INTERFACE s_axilite port=gpio_ack_device_address bundle=cfg + +/* + * The self_msi_request_offset is a Register to Store the Address Offset where the Register Array (msi_request) is Located. + * This Address Offset Actually Leads the Interrupt Manager to Access its Own Configuration Registers through its AXI Slave Lite (cfg) Interface. + */ +#pragma HLS INTERFACE s_axilite port=self_msi_request_offset bundle=cfg + +#pragma HLS INTERFACE s_axilite port=msi_request bundle=cfg + +/* + * The intr_ack is a Single Bit Input which is Used to Receive External Acknowledgements from the Linux Kernel Driver. + */ +#pragma HLS INTERFACE ap_none port=intr_ack + +#pragma HLS INTERFACE s_axilite port=return bundle=cfg + +ap_uint<32> data_register; // Used to Temporalily Store Values when Reading or Writing from/to Registers of External Devices. +ap_uint<1> intr_ack_value; // Used to Read the Last Value of the intr_ack Input Port. + + +for(int repeat = 0; repeat < 7; repeat++) +{ + + //If the Current Field of the Register Array (msi_request) Has a Non-Zero Value then we Have a Valid MSI Request by the Corresponding Acceleration Group. + if(msi_request[repeat] != 0) + { + /* + * --------------------------------------------------------- + * Send a MSI Interrupt by Writing to the GPIO-MSI Registers + * --------------------------------------------------------- + */ + + //Decrease the Value of the Current Field of the Register Array to Get the Correct Vector Number. + data_register = msi_request[repeat] - 1; + + //Write the Vector Number to the Data Register of the Second Channel of the GPIO-MSI. + memcpy((ap_uint<32> *)(ext_cfg + (gpio_msi_device_address + XGPIO_DATA_OFFSET + XGPIO_CHANNEL_2_OFFSET) / 4), &data_register, sizeof(ap_uint<32>)); + + //Write a Logic 1 Value to the Data Register of the First Channel of the GPIO-MSI to Trigger the MSI Interrupt. + data_register = 0x1; + memcpy((ap_uint<32> *)(ext_cfg + (gpio_msi_device_address + XGPIO_DATA_OFFSET + XGPIO_CHANNEL_1_OFFSET) / 4), &data_register, sizeof(ap_uint<32>)); + + //Set the Data Register of the First Channel of the GPIO-MSI back to Zero. + data_register = 0x0; + memcpy((ap_uint<32> *)(ext_cfg + (gpio_msi_device_address + XGPIO_DATA_OFFSET + XGPIO_CHANNEL_1_OFFSET) / 4), &data_register, sizeof(ap_uint<32>)); + + + /* + * ------------------------------------ + * Wait for a Interrupt Acknowledgement + * ------------------------------------ + */ + + //Make an Initial Read of the Current State of the intr_ack Input. + intr_ack_value = *intr_ack; + + //Keep Looping for as long as the intr_ack Input Does not Reach a Logic 1 Value. + while(intr_ack_value != 1) + { + //Keep Reading the Last Value of the intr_ack Input. + intr_ack_value = *intr_ack; + } + + //Reset the Reader Variable. + intr_ack_value = 0; + + data_register = 0x0; + + /* --------------------------------------------------------------------------- + * Self-Clear the Current Field of the Register Array of the Interrupt Manager + * --------------------------------------------------------------------------- + */ + + //Write a Zero Value to the Current Field of the Register Array of the Interrupt Manager to Clear the Field. + //NOTE the Interrupt Manager Herein Uses its AXI Master Interface to Write to its own AXI Slave Lite Interface. + memcpy((ap_uint<32> *)(ext_cfg + (self_msi_request_offset + (repeat * 4)) / 4), &data_register, sizeof(ap_uint<32>)); + + /* + * ----------------------------- + * Clear the GPIO-ACK Peripheral + * ----------------------------- + */ + + //Clear the GPIO-ACK by Writing a Zero Value to its Data Register. + memcpy((ap_uint<32> *)(ext_cfg + (gpio_ack_device_address + XGPIO_DATA_OFFSET + XGPIO_CHANNEL_1_OFFSET) / 4), &data_register, sizeof(ap_uint<32>)); + + } +} + +return 1; + +} + + diff --git a/Hardware/Vivado_HLS_IPs/Interrupt_Manager/interrupt_manager.h b/Hardware/Vivado_HLS_IPs/Interrupt_Manager/interrupt_manager.h new file mode 100644 index 0000000..50cefbf --- /dev/null +++ b/Hardware/Vivado_HLS_IPs/Interrupt_Manager/interrupt_manager.h @@ -0,0 +1,16 @@ +/* + * --------------------------------------------------- + * Registers and Offsets of the Xilinx GPIO Peripheral + * --------------------------------------------------- + */ + +#define XGPIO_CHANNEL_1_OFFSET 0x0 // GPIO Channel 1 Base Offset. +#define XGPIO_CHANNEL_2_OFFSET 0x8 // GPIO Channel 2 Base Offset. + +/* + * GPIO Channel 1 Data Register. + * + * The Data Register of GPIO Channel 2 is XGPIO_DATA_OFFSET + XGPIO_CHANNEL_2_OFFSET. + */ +#define XGPIO_DATA_OFFSET 0x0 + diff --git a/Hardware/Vivado_HLS_IPs/Interrupt_Manager/run_hls.tcl b/Hardware/Vivado_HLS_IPs/Interrupt_Manager/run_hls.tcl new file mode 100644 index 0000000..292fc52 --- /dev/null +++ b/Hardware/Vivado_HLS_IPs/Interrupt_Manager/run_hls.tcl @@ -0,0 +1,17 @@ +open_project Interrupt_Manager + +set_top interrupt_manager + +add_files interrupt_manager.cpp + +open_solution "solution1" + +#The Part Refers to the Xilinx Virtex 7 VC707 FPGA Development Board +set_part {xc7vx485tffg1761-2} +create_clock -period 10 -name default + +csynth_design + +export_design -format ip_catalog -display_name "Interrupt Manager" -version "3.5" + +exit diff --git a/Hardware/Vivado_HLS_IPs/Send_Scheduler/.keep b/Hardware/Vivado_HLS_IPs/Send_Scheduler/.keep new file mode 100644 index 0000000..e69de29 diff --git a/Hardware/Vivado_HLS_IPs/Send_Scheduler/run_hls.tcl b/Hardware/Vivado_HLS_IPs/Send_Scheduler/run_hls.tcl new file mode 100644 index 0000000..415f9a1 --- /dev/null +++ b/Hardware/Vivado_HLS_IPs/Send_Scheduler/run_hls.tcl @@ -0,0 +1,17 @@ +open_project Send_Scheduler + +set_top send_scheduler + +add_files send_scheduler.cpp + +open_solution "solution1" + +#The Part Refers to the Xilinx Virtex 7 VC707 FPGA Development Board +set_part {xc7vx485tffg1761-2} +create_clock -period 10 -name default + +csynth_design + +export_design -format ip_catalog -display_name "Send Scheduler" -version "3.0" + +exit diff --git a/Hardware/Vivado_HLS_IPs/Send_Scheduler/send_scheduler.cpp b/Hardware/Vivado_HLS_IPs/Send_Scheduler/send_scheduler.cpp new file mode 100644 index 0000000..3712056 --- /dev/null +++ b/Hardware/Vivado_HLS_IPs/Send_Scheduler/send_scheduler.cpp @@ -0,0 +1,476 @@ +#include +#include +#include +#include "ap_int.h" +#include "ap_utils.h" +#include "ap_cint.h" +#include "ap_utils.h" +#include "ap_int.h" +#include "send_scheduler.h" + + +/* + * ------------------------------ + * Registers and Masks of the DMA + * ------------------------------ + */ +#define XAXICDMA_CR_OFFSET 0x00000000 // Control Register. +#define XAXICDMA_SR_OFFSET 0x00000004 // Status Register. + + +#define XAXICDMA_SRCADDR_OFFSET 0x00000018 // Source Address Register. +#define XAXICDMA_DSTADDR_OFFSET 0x00000020 // Destination Address Register. +#define XAXICDMA_BTT_OFFSET 0x00000028 // Bytes to Transfer Register. + + + +#define XAXICDMA_CR_RESET_MASK 0x00000004 // Reset CDMA Mask. + +#define XAXICDMA_XR_IRQ_IOC_MASK 0x00001000 // Interrupt On Completion (IOC) Mask. +#define XAXICDMA_XR_IRQ_DELAY_MASK 0x00002000 // Delay Interrupt Mask. +#define XAXICDMA_XR_IRQ_ERROR_MASK 0x00004000 // Error Interrupt Mask. +#define XAXICDMA_XR_IRQ_ALL_MASK 0x00007000 // All Interrupt Mask. + +/* + * -------------------------------------------------------------------------- + * Registers and Masks of the AXI Performance Monitor Unit (APM/Shared Timer) + * -------------------------------------------------------------------------- + */ + +#define XAPM_GCC_HIGH_OFFSET 0x0000 //Global Clock Counter 32 to 63 Bits (Upper). +#define XAPM_GCC_LOW_OFFSET 0x0004 //Global Clock Counter 0 to 31 Bits (Lower). + +/* + * send_scheduler() + * + * The Hardware Funtionality of the Send Scheduler Core. + * + * The Send Scheduler Core Does not Belong to Any Particular Acceleration Group but it is Used by ALL(4) the Acceleration Groups Indirect (AGIs). + * The Responsibility of this Core is to Manage the Procedure of Sending the Processed Data by the AGIs back to the Host's Memory. + * It Checks its Scheduler Buffer in Round Robin for new Transfer Requests by any of the AGIs. + * If it Finds Information for new Transfer it Starts the CDMA Send Core to Transfer Processed Image Data from the FPGA's DDR3 to the Host's Memory. + * The Interrupt Manager will then be Informed about the Completion of the CDMA Send Transfer which is, also, the Completion of the Acceleration Procedure of the Corresponding AGI. + * + * When an AGI wants to Request a Transfer of Processed Image Data from the Send Scheduler it Has to Write the Source and Destination Addresses as well as the Transfer Size + * and, if Required, an Address Offset to the Scheduler Buffer that Belongs to the Send Scheduler. + * + * The Scheduler Buffer Has 4 Sets of Registers with 4 Registers for each Set. + * The 4 Registers are Used to Store the Source Address, the Destination Address, the Transfer Size and an Address Offset (If Required) Respectively. + * Each Set Corresponds to One of the 4 AGIs. + * + * When an AGI Writes the Above Information to the Scheduler Buffer, the Send Scheduler Starts a CDMA Transfer Accordingly + * to Send the Processed Image Data back to the Host's Memory. + * + * The Sequential Steps of the Acceleration Procedure are as Follows: + * + * Start a for Loop of 4 Iterations where in each Iteration we Check for new CDMA Transfer Requests by each of the 4 AGIs Respectively. + * + * a --> Read the Data Size Register from the Current Set of Registers of the Scheduler Buffer. + * If there is a Non-Zero Value then we Know that the Corresponding AGI Has Written the Required + * Info (Source/Destination Address, Transfer Size, Addrress Offset) in Order to Request a Transfer by the CDMA Send. + * If there is a Zero Value then we Check the Data Size Register of the Next Set for a Transfer Request by the Next AGI. + * b --> Enable the Interrupts on the CDMA Send Core. + * c --> Setup the CDMA with the Source and Destination Addresses. + * If the Destination Data Should be Sent through the PCIe Bridge then Get the Destination Address from the Scheduler Buffer and Set the + * Address Translation Register of the Corresponding AXI BAR of the PCIe Bridge with this Address. + * Then Set the Destination Address Register of the CDMA Send Core to be the Corresponding AXI BAR. + * If the Destination Data Should not be Sent through the PCIe Bridge then Just Set the Destination Address Register of the CDMA Send Core + * with the Destination Address of the Scheduler Buffer. + * d --> Read the Current Value of the Shared Timer to Get the Time that the CDMA Send Transfer Started. + * e --> Setup the Bytes to Transfer Register with the Transfer Size which Triggers the CDMA Send Transfer. + * f --> Wait for an Interrupt by the CDMA Send on Completion of the Transfer. + * g --> Read the Current Value of the Shared Timer to Get the Time that the CDMA Send Transfer Ended. + * h --> Acknowledge the CDMA Send Interrupt. + * i --> Reset the CDMA Send Core. + * j --> Re-Enable the Interrupts on the CDMA Send Core. + * k --> Clear the Set of Registers of the Scheduler Buffer that Refer to the Current AGI. + * l --> Inform the Interrupt Manager About the Completion of the CDMA Send Tranfer which is, also, the Completion of the Acceleration Procedure. + * + * Repeat the Above Steps (a to l) for the Next Set of Registers of the Scheduler Buffer. + * + * + * The Function Parameters are the Input/Output Ports/Interfaces of the Core: + * + * 01 --------> The AXI Master Interface of the Core Used to Access External Devices and Memories. + * 02 --------> Single Bit Input Used to Receive External Interrupts from the CDMA Send Core. + * 03 to 16 --> Registers of the Core that are Accessed through the AXI Slave Lite Interface of the Core. + * + * NOTE datr in pcie_ctl_datr_address Stands for Dynamic Address Translator Register. + */ +int send_scheduler(/*01*/volatile ap_uint<32> *ext_cfg, + /*02*/volatile ap_uint<1> *cdma_intr_in, + /*03*/unsigned int cdma_base_address, + /*04*/unsigned int scheduler_buffer_base_address, + /*05*/unsigned int src_address_first_reg_offset, + /*06*/unsigned int dst_address_first_reg_offset, + /*07*/unsigned int data_size_first_reg_offset, + /*08*/unsigned int offset_first_reg_offset, + /*09*/unsigned int step_offset, + /*10*/unsigned int shared_apm_base_address, + /*11*/unsigned int shared_metrics_base_address, + /*12*/unsigned int axi_bar_base_address, + /*13*/unsigned int pcie_ctl_datr_address, + /*14*/unsigned int pcie_mode, + /*15*/unsigned int interrupt_manager_register_offset, + /*16*/unsigned int accel_group_jump + ) +{ + +/* + * The ext_cfg is the AXI Master Interface of the Core. + */ +#pragma HLS INTERFACE m_axi port=ext_cfg + +/* + * The cdma_intr_in is a Single Bit Input which is Used to Receive External Interrupts from the CDMA Send Core. + */ +#pragma HLS INTERFACE ap_none port=cdma_intr_in + +/* + * The cdma_base_address is a Register to Store the Base Address of the CDMA Send that this Core + * will Need to Access through the ext_cfg AXI Master Interface. + * This Register is Accessed through the AXI Slave Lite Interface (int_cfg) of the Core. + */ +#pragma HLS INTERFACE s_axilite port=cdma_base_address bundle=int_cfg + +/* + * The scheduler_buffer_base_address is a Register to Store the Base Address of the Scheduler Buffer that this Core + * will Need to Access through the ext_cfg AXI Master Interface. + * This Register is Accessed through the AXI Slave Lite Interface (int_cfg) of the Core. + */ +#pragma HLS INTERFACE s_axilite port=scheduler_buffer_base_address bundle=int_cfg + +/* + * The src_address_first_reg_offset is a Register to Store the Address Offset where the Source Address Register + * of the First Set of Registers inside the Scheduler Buffer is Located. + * This Register is Accessed through the AXI Slave Lite Interface (int_cfg) of the Core. + */ +#pragma HLS INTERFACE s_axilite port=src_address_first_reg_offset bundle=int_cfg + +/* + * The dst_address_first_reg_offset is a Register to Store the Address Offset where the Destination Address Register + * of the First Set of Registers inside the Scheduler Buffer is Located. + * This Register is Accessed through the AXI Slave Lite Interface (int_cfg) of the Core. + */ +#pragma HLS INTERFACE s_axilite port=dst_address_first_reg_offset bundle=int_cfg + +/* + * The data_size_first_reg_offset is a Register to Store the Address Offset where the Transfer Size Register + * of the First Set of Registers inside the Scheduler Buffer is Located. + * This Register is Accessed through the AXI Slave Lite Interface (int_cfg) of the Core. + */ +#pragma HLS INTERFACE s_axilite port=data_size_first_reg_offset bundle=int_cfg + +/* + * The offset_first_reg_offset is a Register to Store the Address Offset where the Offset Register + * of the First Set of Registers inside the Scheduler Buffer is Located. + * This Register is Accessed through the AXI Slave Lite Interface (int_cfg) of the Core. + */ +#pragma HLS INTERFACE s_axilite port=offset_first_reg_offset bundle=int_cfg + +/* + * The step_offset is a Register to Store the Number of Bytes to Jump inside the Scheduler Buffer + * in order to Locate the Next Set of Registers. + * This Register is Accessed through the AXI Slave Lite Interface (int_cfg) of the Core. + */ +#pragma HLS INTERFACE s_axilite port=step_offset bundle=int_cfg + +/* + * The shared_apm_base_address is a Register to Store the Base Address of the Shared Timer (APM) that this Core + * will Need to Access through the ext_cfg AXI Master Interface. + * This Register is Accessed through the AXI Slave Lite Interface (int_cfg) of the Core. + */ +#pragma HLS INTERFACE s_axilite port=shared_apm_base_address bundle=int_cfg + +/* + * The shared_metrics_base_address is a Register to Store the Base Address of the Memory that this Core + * will Need to Access through the ext_cfg AXI Master Interface in Order to Write the Metrics Information. + * This Register is Accessed through the AXI Slave Lite Interface (int_cfg) of the Core. + */ +#pragma HLS INTERFACE s_axilite port=shared_metrics_base_address bundle=int_cfg + +/* + * The axi_bar_base_address is a Register to Store the Base Address of the Destination AXI BAR of the PCIe Bridge that this Core + * will Need to Access through the ext_cfg AXI Master Interface in Order to Write the Processed Image Data over the PCIe Bus. + * This Register is Accessed through the AXI Slave Lite Interface (int_cfg) of the Core. + */ +#pragma HLS INTERFACE s_axilite port=axi_bar_base_address bundle=int_cfg + +/* + * The pcie_ctl_datr_address is a Register to Store the Address/Offset of the PCIe Bridge's Address Translation Register that Refers to the Destination AXI BAR. + * This Register is Accessed through the AXI Slave Lite Interface (s_axilite_cfg) of the Core. + */ +#pragma HLS INTERFACE s_axilite port=pcie_ctl_datr_address bundle=int_cfg + +/* + * The pcie_mode is a Register to Store a Value (0 or 1) that Indicates whether we Access the Destination Image Data through the PCIe Bridge or not. + * This Register is Accessed through the AXI Slave Lite Interface (int_cfg) of the Core. + */ +#pragma HLS INTERFACE s_axilite port=pcie_mode bundle=int_cfg + +/* + * The interrupt_manager_register_offset is a Register to Store the Offset of a Specific Register of the Interrupt Manager that this Core + * will Need to Access through the ext_cfg AXI Master Interface. + * This Register is Accessed through the AXI Slave Lite Interface (int_cfg) of the Core. + */ +#pragma HLS INTERFACE s_axilite port=interrupt_manager_register_offset bundle=int_cfg + +/* + * The accel_group_jump is a Register to Store a Value that Helps to Access the Correct Metrics Structure in the Metrics Memory in order + * to Store the Time Metrics that Refer to the Current AGI. + * This Register is Accessed through the AXI Slave Lite Interface (int_cfg) of the Core. + */ +#pragma HLS INTERFACE s_axilite port=accel_group_jump bundle=int_cfg + +#pragma HLS INTERFACE s_axilite port=return bundle=int_cfg + + +int repeat; + +ap_uint<1> cdma_intr_in_value; // Used to Read the Last Value of the cdma_intr_in_value Input Port. + +ap_uint<32> data_register; // Used to Temporalily Store Values when Reading or Writing from/to Registers of External Devices. +ap_uint<32> irq; // Used to Temporalily Store the IRQ Mask. +ap_uint<32> source_address_register; // Used to Temporalily Store the Value of the Source Address Register of the Scheduler Buffer. +ap_uint<32> destination_address_register; // Used to Temporalily Store the Value of the Destination Address Register of the Scheduler Buffer. +ap_uint<32> data_size_register; // Used to Temporalily Store the Value of the Data Size Register of the Scheduler Buffer. +ap_uint<32> offset_register; // Used to Temporalily Store the Value of the Offset Register of the Scheduler Buffer. + +ap_uint<32> address; // Used to Calculate an Address along with an Offset. + +ap_uint<32> cdma_send_time_start_gcc_l; // Store the CDMA Send Transfer Start Time Lower Register from the Shared Timer (Shared APM). +ap_uint<32> cdma_send_time_start_gcc_u; // Store the CDMA Send Transfer Start Time Upper Register from the Shared Timer (Shared APM). + +ap_uint<32> cdma_send_time_end_gcc_l; // Store the CDMA Send Transfer End Time Lower Register from the Shared Timer (Shared APM). +ap_uint<32> cdma_send_time_end_gcc_u; // Store the CDMA Send Transfer End Time Upper Register from the Shared Timer (Shared APM). + + +/* + * Start an Infinite Loop. + */ +while(1) +{ + + /* + * Make 4 Iterations and each Time Check the Current Set of Registers of the Scheduler Buffer for a New CDMA Send Transfer Request + * by the AGI that Refers to the Current Set of Registers. + */ + for(repeat = 0; repeat < 4; repeat++) + { + //Read the Data Size Register of the Current Set of Registers of the Scheduler Buffer. + memcpy(&data_size_register, (const ap_uint<32> *)(ext_cfg + (scheduler_buffer_base_address + data_size_first_reg_offset + (repeat * step_offset)) / 4), sizeof(ap_uint<32>)); + + + //If the Data Size Register is not Empty then we Have a New CDMA Send Transfer Request. + //Else the Send Scheduler will Check the Data Size Register of the Next Set in the Next Iteration. + if(data_size_register != 0) + { + + /* + * -------------------------------------------- + * Enable the Interrupts on the CDMA Send Core + * -------------------------------------------- + */ + + //Read the Control Register of the CDMA Send Core. + memcpy(&data_register, (const ap_uint<32> *)(ext_cfg + (cdma_base_address + XAXICDMA_CR_OFFSET) / 4), sizeof(ap_uint<32>)); + + //Set the Recently Read Value with the Masks Required to Enable the IOC, Delay and Error IRQs. + //NOTE that IOC Stands for Interrupt On Complete. + data_register = data_register | (XAXICDMA_XR_IRQ_ERROR_MASK | XAXICDMA_XR_IRQ_IOC_MASK | XAXICDMA_XR_IRQ_DELAY_MASK); + + //Write the new Value Back to the Control Register of the CDMA Send Core to Enable the Interrupts. + memcpy((ap_uint<32> *)(ext_cfg + (cdma_base_address + XAXICDMA_CR_OFFSET) / 4), &data_register, sizeof(ap_uint<32>)); + + /* + * ------------------------------------------------------------------------- + * Setup the Source and Destination Address Registers of the CDMA Send Core + * ------------------------------------------------------------------------- + */ + + //Read the Source Physical Address from the Source Address Register from the Current Set of the Scheduler Buffer. + memcpy(&source_address_register, (const ap_uint<32> *)(ext_cfg + (scheduler_buffer_base_address + src_address_first_reg_offset + (repeat * step_offset)) / 4), sizeof(ap_uint<32>)); + + //Set the Source Address Register of the CDMA Send Core with the Source Address. + memcpy((ap_uint<32> *)(ext_cfg + (cdma_base_address + XAXICDMA_SRCADDR_OFFSET) / 4), &source_address_register, sizeof(ap_uint<32>)); + + //If the PCIe Mode is Enabled then the Destination Data Should be Written through the PCIe Bridge. + //This Mode Requires to Set the Address Tranlation Register of the Destination AXI BAR of the PCI Bridge. + if(pcie_mode == 1) + { + //Read the Destination Physical Address from the Destination Address Register from the Current Set of the Scheduler Buffer. + memcpy(&destination_address_register, (const ap_uint<32> *)(ext_cfg + (scheduler_buffer_base_address + dst_address_first_reg_offset + (repeat * step_offset)) / 4), sizeof(ap_uint<32>)); + + //Set the Address Tranlation Register of the Destination AXI BAR of the PCI Bridge with the Destination Physical Address. + memcpy((ap_uint<32> *)(ext_cfg + (pcie_ctl_datr_address) / 4), &destination_address_register, sizeof(ap_uint<32>)); + + //Read the Address Offset from the Offset Register from the Current Set of the Scheduler Buffer. + //NOTE it is Possible that this Register Has a Zero Value if there is no Offset Required to Access the Data. + memcpy(&offset_register, (const ap_uint<32> *)(ext_cfg + (scheduler_buffer_base_address + offset_first_reg_offset + (repeat * step_offset)) / 4), sizeof(ap_uint<32>)); + + //Set the Destination Address Register of the CDMA Send Core to be the Specified Destination AXI BAR along with a Possible Offset. + address = axi_bar_base_address + offset_register; + memcpy((ap_uint<32> *)(ext_cfg + (cdma_base_address + XAXICDMA_DSTADDR_OFFSET) / 4), &address, sizeof(ap_uint<32>)); + + } + //If the PCIe Mode is Disabled there is no Need to Set the Address Translation Registers of the PCIe Bridge. + else + { + //Read the Destination Physical Address from the Destination Address Register from the Current Set of the Scheduler Buffer. + memcpy(&destination_address_register, (const ap_uint<32> *)(ext_cfg + (scheduler_buffer_base_address + dst_address_first_reg_offset + (repeat * step_offset)) / 4), sizeof(ap_uint<32>)); + + //Read the Address Offset from the Offset Register from the Current Set of the Scheduler Buffer. + //NOTE it is Possible that this Register Has a Zero Value if there is no Offset Required to Access the Data. + memcpy(&offset_register, (const ap_uint<32> *)(ext_cfg + (scheduler_buffer_base_address + offset_first_reg_offset + (repeat * step_offset)) / 4), sizeof(ap_uint<32>)); + + //Set the Destination Address Register of the CDMA Send Core with the Destination Address along with the Offset Read from the Scheduler Buffer. + address = destination_address_register + offset_register; + memcpy((ap_uint<32> *)(ext_cfg + (cdma_base_address + XAXICDMA_DSTADDR_OFFSET) / 4), &address, sizeof(ap_uint<32>)); + + } + + + /* + * --------------------------------------------------------------------------------------------------------------------------- + * Read the Upper and Lower Registers of the Global Clock Counter of the Shared Timer to Get the CDMA Send Transfer Start Time + * --------------------------------------------------------------------------------------------------------------------------- + */ + + //Read the Lower Register of the GCC of the Shared Timer to Get the 32 LSBs of the CDMA Send Transfer Start Time. + memcpy(&cdma_send_time_start_gcc_l, (const ap_uint<32> *)(ext_cfg + (shared_apm_base_address + XAPM_GCC_LOW_OFFSET) / 4), sizeof(ap_uint<32>)); + + //Store the 32 LSBs of the CDMA Send Transfer Start Time to a Specific Offset of the Metrics Memory. + memcpy((ap_uint<32> *)(ext_cfg + (shared_metrics_base_address + (sizeof(struct metrics) * accel_group_jump) + (sizeof(struct metrics) * repeat) + CDMA_SEND_TIME_START_L_OFFSET) / 4), &cdma_send_time_start_gcc_l, sizeof(ap_uint<32>)); + + //Read the Upper Register of the GCC of the Shared Timer to Get the 32 MSBs of the CDMA Send Transfer Start Time. + memcpy(&cdma_send_time_start_gcc_u, (const ap_uint<32> *)(ext_cfg + (shared_apm_base_address + XAPM_GCC_HIGH_OFFSET) / 4), sizeof(ap_uint<32>)); + + //Store the 32 MSBs of the CDMA Send Transfer Start Time to a Specific Offset of the Metrics Memory. + memcpy((ap_uint<32> *)(ext_cfg + (shared_metrics_base_address + (sizeof(struct metrics) * accel_group_jump) + (sizeof(struct metrics) * repeat) + CDMA_SEND_TIME_START_U_OFFSET) / 4), &cdma_send_time_start_gcc_u, sizeof(ap_uint<32>)); + + + /* + * -------------------------------------------------------------------------------------------- + * Setup the Bytes To Transfer (BTT) Register of the CDMA Send Core which Triggers the Transfer + * -------------------------------------------------------------------------------------------- + */ + + //Set the Bytes To Tranfer Register of the CDMA Send Core with the Transfer Size in Bytes. + memcpy((ap_uint<32> *)(ext_cfg + (cdma_base_address + XAXICDMA_BTT_OFFSET) / 4), &data_size_register, sizeof(ap_uint<32>)); + + + /* + * ------------------------- + * Wait for a CDMA Interrupt + * ------------------------- + */ + + //Make an Initial Read of the Current State of the cdma_intr_in Input. + cdma_intr_in_value = *cdma_intr_in; + + //Keep Looping for as long as the cdma_intr_in Input Does not Reach a Logic 1 Value. + while(cdma_intr_in_value != 1) + { + //Keep Reading the Last Value of the cdma_intr_in Input. + cdma_intr_in_value = *cdma_intr_in; + } + + //Reset the Reader Variable. + cdma_intr_in_value = 0; + + + /* + * ------------------------------------------------------------------------------------------------------------------------- + * Read the Upper and Lower Registers of the Global Clock Counter of the Shared Timer to Get the CDMA Send Tranfer End Time + * ------------------------------------------------------------------------------------------------------------------------- + */ + + //Read the Lower Register of the GCC of the Shared Timer to Get the 32 LSBs of the CDMA Send Tranfer End Time. + memcpy(&cdma_send_time_end_gcc_l, (const ap_uint<32> *)(ext_cfg + (shared_apm_base_address + XAPM_GCC_LOW_OFFSET) / 4), sizeof(ap_uint<32>)); + + //Store the 32 LSBs of the CDMA Send Tranfer End Time to a Specific Offset of the Metrics Memory. + memcpy((ap_uint<32> *)(ext_cfg + (shared_metrics_base_address + (sizeof(struct metrics) * accel_group_jump) + (sizeof(struct metrics) * repeat) + CDMA_SEND_TIME_END_L_OFFSET) / 4), &cdma_send_time_end_gcc_l, sizeof(ap_uint<32>)); + + //Read the Upper Register of the GCC of the Shared Timer to Get the 32 MSBs of the CDMA Send Tranfer End Time. + memcpy(&cdma_send_time_end_gcc_u, (const ap_uint<32> *)(ext_cfg + (shared_apm_base_address + XAPM_GCC_HIGH_OFFSET) / 4), sizeof(ap_uint<32>)); + + //Store the 32 MSBs of the CDMA Send Tranfer End Time to a Specific Offset of the Metrics Memory. + memcpy((ap_uint<32> *)(ext_cfg + (shared_metrics_base_address + (sizeof(struct metrics) * accel_group_jump) + (sizeof(struct metrics) * repeat) + CDMA_SEND_TIME_END_U_OFFSET) / 4), &cdma_send_time_end_gcc_u, sizeof(ap_uint<32>)); + + + /* + * ------------------------------------ + * Acknowledge the CDMA Send Interrupt + * ------------------------------------ + */ + + //Read the Status Register of the CDMA Send Core which among others Includes the Status of the DMA's IRQs. + memcpy(&data_register, (const ap_uint<32> *)(ext_cfg + (cdma_base_address + XAXICDMA_SR_OFFSET) / 4), sizeof(ap_uint<32>)); + + //Filter the Recently Read Value with the XAXICDMA_IRQ_ALL_MASK so as to Keep ONLY the IRQs that were Triggered. + irq = data_register & XAXICDMA_XR_IRQ_ALL_MASK; + + //Write the new Value Back to the Status Register of the CDMA Send Core which Acknowledges the Triggered Interrupts. + memcpy((ap_uint<32> *)(ext_cfg + (cdma_base_address + XAXICDMA_SR_OFFSET) / 4), &irq, sizeof(ap_uint<32>)); + + + /* + * ------------------------- + * Reset the CDMA Send Core + * ------------------------- + */ + + //Write the Reset Mask to the Control Register of the CDMA Send Core in order to Reset the Core. + data_register = XAXICDMA_CR_RESET_MASK; + memcpy((ap_uint<32> *)(ext_cfg + (cdma_base_address + XAXICDMA_CR_OFFSET) / 4), &data_register, sizeof(ap_uint<32>)); + + /* + * ----------------------------------------------- + * Re-Enable the Interrupts on the CDMA Send Core + * ----------------------------------------------- + */ + + //Read the Control Register of the CDMA Send Core. + memcpy(&data_register, (const ap_uint<32> *)(ext_cfg + (cdma_base_address + XAXICDMA_CR_OFFSET) / 4), sizeof(ap_uint<32>)); + + //Set the Recently Read Value with the Masks Required to Enable the IOC, Delay and Error IRQs. + //NOTE that IOC Stands for Interrupt On Complete. + data_register = data_register | (XAXICDMA_XR_IRQ_ERROR_MASK | XAXICDMA_XR_IRQ_IOC_MASK | XAXICDMA_XR_IRQ_DELAY_MASK); + + //Write the new Value Back to the Control Register of the CDMA Send Core to Enable the Interrupts. + memcpy((ap_uint<32> *)(ext_cfg + (cdma_base_address + XAXICDMA_CR_OFFSET) / 4), &data_register, sizeof(ap_uint<32>)); + + /* + * Reset to Zero the 4 Registers of the Current Set of Registers of the Scheduler Buffer + */ + data_register = 0; + memcpy((ap_uint<32> *)(ext_cfg + (scheduler_buffer_base_address + src_address_first_reg_offset + (repeat * step_offset)) / 4), &data_register, sizeof(ap_uint<32>)); + memcpy((ap_uint<32> *)(ext_cfg + (scheduler_buffer_base_address + dst_address_first_reg_offset + (repeat * step_offset)) / 4), &data_register, sizeof(ap_uint<32>)); + memcpy((ap_uint<32> *)(ext_cfg + (scheduler_buffer_base_address + data_size_first_reg_offset + (repeat * step_offset)) / 4), &data_register, sizeof(ap_uint<32>)); + memcpy((ap_uint<32> *)(ext_cfg + (scheduler_buffer_base_address + offset_first_reg_offset + (repeat * step_offset)) / 4), &data_register, sizeof(ap_uint<32>)); + + /* + * If the PCIe Mode is Enabled then we Have to Inform the Interrupt Manager to Send a MSI Interrupt Since the CDMA Send Transfer is Complete + * which, also, Means that the Acceleration Procedure is Complete. + */ + if(pcie_mode == 1) + { + //The Current Iteration Value along with the accel_group_jump Value Indicate the Acceleration Group Number of the Acceleration Group Indirect which Can be 2, 3, 4 or 5. + //2 is AGI0. + //3 is AGI1. + //4 is AGI2. + //5 is AGI3. + data_register = repeat + accel_group_jump; + + //Write the Current Acceleration Group Number to a Specific Register of the Interrupt Manager to Let It Know which Acceleration Group Has Completed. + memcpy((ap_uint<32> *)(ext_cfg + (interrupt_manager_register_offset + (repeat * 4)) / 4), &data_register, sizeof(ap_uint<32>)); + } + } + } +} + +return 1; + +} + + diff --git a/Hardware/Vivado_HLS_IPs/Send_Scheduler/send_scheduler.h b/Hardware/Vivado_HLS_IPs/Send_Scheduler/send_scheduler.h new file mode 100644 index 0000000..0e396c0 --- /dev/null +++ b/Hardware/Vivado_HLS_IPs/Send_Scheduler/send_scheduler.h @@ -0,0 +1,126 @@ +#define APM_READ_TRANSACTIONS_OFFSET 0 +#define APM_READ_BYTES_OFFSET 4 + +#define APM_WRITE_TRANSACTIONS_OFFSET 8 +#define APM_WRITE_BYTES_OFFSET 12 + +#define APM_PACKETS_OFFSET 16 +#define APM_BYTES_OFFSET 20 + +#define APM_GCC_L_OFFSET 24 +#define APM_GCC_U_OFFSET 28 + +#define CDMA_FETCH_TIME_START_L_OFFSET 32 +#define CDMA_FETCH_TIME_START_U_OFFSET 36 + +#define CDMA_FETCH_TIME_END_L_OFFSET 40 +#define CDMA_FETCH_TIME_END_U_OFFSET 44 + +#define CDMA_SEND_TIME_START_L_OFFSET 48 +#define CDMA_SEND_TIME_START_U_OFFSET 52 + +#define CDMA_SEND_TIME_END_L_OFFSET 56 +#define CDMA_SEND_TIME_END_U_OFFSET 60 + +#define DMA_ACCEL_TIME_START_L_OFFSET 64 +#define DMA_ACCEL_TIME_START_U_OFFSET 68 + +#define DMA_ACCEL_TIME_END_L_OFFSET 72 +#define DMA_ACCEL_TIME_END_U_OFFSET 76 + + +struct image_info +{ + ap_uint<32> rows; + ap_uint<32> columns; + ap_uint<64> size; +}; + +struct metrics +{ + /* + * AXI Performance Monitor Metrics + */ + ap_uint<32> apm_read_transactions; //Offset 0 Bytes + ap_uint<32> apm_read_bytes; //Offset 4 Bytes + + ap_uint<32> apm_write_transactions; //Offset 8 Bytes + ap_uint<32> apm_write_bytes; //Offset 12 Bytes + + ap_uint<32> apm_packets; //Offset 16 Bytes + ap_uint<32> apm_bytes; //Offset 20 Bytes + + ap_uint<32> apm_gcc_l; //Offset 24 Bytes + ap_uint<32> apm_gcc_u; //Offset 28 Bytes + + ap_uint<32> cdma_fetch_time_start_l; //Offset 32 Bytes + ap_uint<32> cdma_fetch_time_start_u; //Offset 36 Bytes + ap_uint<32> cdma_fetch_time_end_l; //Offset 40 Bytes + ap_uint<32> cdma_fetch_time_end_u; //Offset 44 Bytes + + ap_uint<32> cdma_send_time_start_l; //Offset 48 Bytes + ap_uint<32> cdma_send_time_start_u; //Offset 52 Bytes + ap_uint<32> cdma_send_time_end_l; //Offset 56 Bytes + ap_uint<32> cdma_send_time_end_u; //Offset 60 Bytes + + ap_uint<32> dma_accel_time_start_l; //Offset 64 Bytes + ap_uint<32> dma_accel_time_start_u; //Offset 68 Bytes + ap_uint<32> dma_accel_time_end_l; //Offset 72 Bytes + ap_uint<32> dma_accel_time_end_u; //Offset 76 Bytes + + struct image_info shared_image_info; // Offset 80 Bytes + + /* + * Kernel and Userspace Metrics + */ + + ap_uint<64> total_time_start; + ap_uint<64> total_time_end; + + ap_uint<64> sleep_time_start; + ap_uint<64> sleep_time_end; + + ap_uint<64> preparation_time_start; + ap_uint<64> preparation_time_end; + + ap_uint<64> load_time_start; + ap_uint<64> load_time_end; + + ap_uint<64> save_time_start; + ap_uint<64> save_time_end; + + +}; + +struct status_flags +{ + ap_uint<32> accel_direct_0_occupied_pid; + ap_uint<32> accel_direct_1_occupied_pid; + + ap_uint<32> accel_indirect_0_occupied_pid; + ap_uint<32> accel_indirect_1_occupied_pid; + ap_uint<32> accel_indirect_2_occupied_pid; + ap_uint<32> accel_indirect_3_occupied_pid; + + ap_uint<32> accel_sg_0_occupied_pid; + + + ap_uint<32> accelerator_busy; + ap_uint<32> open_modules; +}; + +struct shared_repository +{ + struct metrics accel_direct_0_shared_metrics; + struct metrics accel_direct_1_shared_metrics; + + struct metrics accel_indirect_0_shared_metrics; + struct metrics accel_indirect_1_shared_metrics; + struct metrics accel_indirect_2_shared_metrics; + struct metrics accel_indirect_3_shared_metrics; + + struct metrics accel_sg_0_shared_metrics; + + struct status_flags shared_status_flags; + +}; diff --git a/Hardware/Vivado_HLS_IPs/Sobel_Filter/.keep b/Hardware/Vivado_HLS_IPs/Sobel_Filter/.keep new file mode 100644 index 0000000..e69de29 diff --git a/Hardware/Vivado_HLS_IPs/Sobel_Filter/ap_axi_sdata2.h b/Hardware/Vivado_HLS_IPs/Sobel_Filter/ap_axi_sdata2.h new file mode 100644 index 0000000..5c789cc --- /dev/null +++ b/Hardware/Vivado_HLS_IPs/Sobel_Filter/ap_axi_sdata2.h @@ -0,0 +1,74 @@ +/******************************************************************************* +Vendor: Xilinx +Associated Filename: ap_axi_sdata.h +Purpose: AXI data type for AutoESL +Revision History: February 13, 2012 - initial release + +******************************************************************************* +© Copyright 2008 - 2012 Xilinx, Inc. All rights reserved. + +This file contains confidential and proprietary information of Xilinx, Inc. and +is protected under U.S. and international copyright and other intellectual +property laws. + +DISCLAIMER +This disclaimer is not a license and does not grant any rights to the materials +distributed herewith. Except as otherwise provided in a valid license issued to +you by Xilinx, and to the maximum extent permitted by applicable law: +(1) THESE MATERIALS ARE MADE AVAILABLE "AS IS" AND WITH ALL FAULTS, AND XILINX +HEREBY DISCLAIMS ALL WARRANTIES AND CONDITIONS, EXPRESS, IMPLIED, OR STATUTORY, +INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, NON-INFRINGEMENT, OR +FITNESS FOR ANY PARTICULAR PURPOSE; and (2) Xilinx shall not be liable (whether +in contract or tort, including negligence, or under any other theory of +liability) for any loss or damage of any kind or nature related to, arising under +or in connection with these materials, including for any direct, or any indirect, +special, incidental, or consequential loss or damage (including loss of data, +profits, goodwill, or any type of loss or damage suffered as a result of any +action brought by a third party) even if such damage or loss was reasonably +foreseeable or Xilinx had been advised of the possibility of the same. + +CRITICAL APPLICATIONS +Xilinx products are not designed or intended to be fail-safe, or for use in any +application requiring fail-safe performance, such as life-support or safety +devices or systems, Class III medical devices, nuclear facilities, applications +related to the deployment of airbags, or any other applications that could lead +to death, personal injury, or severe property or environmental damage +(individually and collectively, "Critical Applications"). Customer assumes the +sole risk and liability of any use of Xilinx products in Critical Applications, +subject only to applicable laws and regulations governing limitations on product +liability. + +THIS COPYRIGHT NOTICE AND DISCLAIMER MUST BE RETAINED AS PART OF THIS FILE AT +ALL TIMES. + +*******************************************************************************/ +#ifndef __AP__AXI_SDATA__ +#define __AP__AXI_SDATA__ + +#define AP_INT_MAX_W 4096 +#include "ap_int.h" + +template + struct ap_axis2{ + ap_int data; + ap_int<(D+7)/8> strb; + ap_int user; + ap_int<1> last; + // ap_int tid; + ap_int tdest; + }; + +template + struct ap_axiu2{ + ap_uint data; + ap_uint<(D+7)/8> strb; + ap_uint user; + ap_uint<1> last; + //ap_uint tid; + ap_uint tdest; + }; + +//typedef ap_axis ap_axis_unsigned; + + +#endif diff --git a/Hardware/Vivado_HLS_IPs/Sobel_Filter/ap_bmp.h b/Hardware/Vivado_HLS_IPs/Sobel_Filter/ap_bmp.h new file mode 100644 index 0000000..8e14669 --- /dev/null +++ b/Hardware/Vivado_HLS_IPs/Sobel_Filter/ap_bmp.h @@ -0,0 +1,99 @@ +/******************************************************************************* +Vendor: Xilinx +Associated Filename: ap_bmp.h +Purpose: BMP image reader and writer header file for AutoESL +Revision History: February 13, 2012 - initial release + +******************************************************************************* +© Copyright 2008 - 2012 Xilinx, Inc. All rights reserved. + +This file contains confidential and proprietary information of Xilinx, Inc. and +is protected under U.S. and international copyright and other intellectual +property laws. + +DISCLAIMER +This disclaimer is not a license and does not grant any rights to the materials +distributed herewith. Except as otherwise provided in a valid license issued to +you by Xilinx, and to the maximum extent permitted by applicable law: +(1) THESE MATERIALS ARE MADE AVAILABLE "AS IS" AND WITH ALL FAULTS, AND XILINX +HEREBY DISCLAIMS ALL WARRANTIES AND CONDITIONS, EXPRESS, IMPLIED, OR STATUTORY, +INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, NON-INFRINGEMENT, OR +FITNESS FOR ANY PARTICULAR PURPOSE; and (2) Xilinx shall not be liable (whether +in contract or tort, including negligence, or under any other theory of +liability) for any loss or damage of any kind or nature related to, arising under +or in connection with these materials, including for any direct, or any indirect, +special, incidental, or consequential loss or damage (including loss of data, +profits, goodwill, or any type of loss or damage suffered as a result of any +action brought by a third party) even if such damage or loss was reasonably +foreseeable or Xilinx had been advised of the possibility of the same. + +CRITICAL APPLICATIONS +Xilinx products are not designed or intended to be fail-safe, or for use in any +application requiring fail-safe performance, such as life-support or safety +devices or systems, Class III medical devices, nuclear facilities, applications +related to the deployment of airbags, or any other applications that could lead +to death, personal injury, or severe property or environmental damage +(individually and collectively, "Critical Applications"). Customer assumes the +sole risk and liability of any use of Xilinx products in Critical Applications, +subject only to applicable laws and regulations governing limitations on product +liability. + +THIS COPYRIGHT NOTICE AND DISCLAIMER MUST BE RETAINED AS PART OF THIS FILE AT +ALL TIMES. + +*******************************************************************************/ + +#ifndef __XLNX__BITMAP__ +#define __XLNX__BITMAP__ + +// Basic color definitions +#define BLACK 0 +#define WHITE 255 + +// Maximum image size +#define MAX_ROWS 1080 +#define MAX_COLS 1920 + +//File Information Header +typedef struct{ + unsigned short FileType; + unsigned int FileSize; + unsigned short Reserved1; + unsigned short Reserved2; + unsigned short Offset; +}BMPHeader; + +typedef struct{ + unsigned int Size; + unsigned int Width; + unsigned int Height; + unsigned short Planes; + unsigned short BitsPerPixel; + unsigned int Compression; + unsigned int SizeOfBitmap; + unsigned int HorzResolution; + unsigned int VertResolution; + unsigned int ColorsUsed; + unsigned int ColorsImportant; +}BMPImageHeader; + +typedef struct{ + BMPHeader *file_header; + BMPImageHeader *image_header; + unsigned int *colors; + unsigned char *data; + unsigned char R[MAX_ROWS][MAX_COLS]; + unsigned char G[MAX_ROWS][MAX_COLS]; + unsigned char B[MAX_ROWS][MAX_COLS]; + unsigned char Y[MAX_ROWS][MAX_COLS]; + char U[MAX_ROWS][MAX_COLS]; + char V[MAX_ROWS][MAX_COLS]; +}BMPImage; + +//Read Function +int BMP_Read(char *file, int row, int col, unsigned char *R, unsigned char *G, unsigned char *B); + +//Write Function +int BMP_Write(char *file, int row, int col, unsigned char *R, unsigned char *G, unsigned char *B); + +#endif diff --git a/Hardware/Vivado_HLS_IPs/Sobel_Filter/ap_video.h b/Hardware/Vivado_HLS_IPs/Sobel_Filter/ap_video.h new file mode 100644 index 0000000..b95725b --- /dev/null +++ b/Hardware/Vivado_HLS_IPs/Sobel_Filter/ap_video.h @@ -0,0 +1,341 @@ +/******************************************************************************* +Vendor: Xilinx +Associated Filename: ap_video.h +Purpose: Video datatype header file for AutoESL +Revision History: February 13, 2012 - initial release + January 28, 2015 - Caes-lab TEI Crete revised +******************************************************************************* +© Copyright 2008 - 2012 Xilinx, Inc. All rights reserved. + +This file contains confidential and proprietary information of Xilinx, Inc. and +is protected under U.S. and international copyright and other intellectual +property laws. + +DISCLAIMER +This disclaimer is not a license and does not grant any rights to the materials +distributed herewith. Except as otherwise provided in a valid license issued to +you by Xilinx, and to the maximum extent permitted by applicable law: +(1) THESE MATERIALS ARE MADE AVAILABLE "AS IS" AND WITH ALL FAULTS, AND XILINX +HEREBY DISCLAIMS ALL WARRANTIES AND CONDITIONS, EXPRESS, IMPLIED, OR STATUTORY, +INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, NON-INFRINGEMENT, OR +FITNESS FOR ANY PARTICULAR PURPOSE; and (2) Xilinx shall not be liable (whether +in contract or tort, including negligence, or under any other theory of +liability) for any loss or damage of any kind or nature related to, arising under +or in connection with these materials, including for any direct, or any indirect, +special, incidental, or consequential loss or damage (including loss of data, +profits, goodwill, or any type of loss or damage suffered as a result of any +action brought by a third party) even if such damage or loss was reasonably +foreseeable or Xilinx had been advised of the possibility of the same. + +CRITICAL APPLICATIONS +Xilinx products are not designed or intended to be fail-safe, or for use in any +application requiring fail-safe performance, such as life-support or safety +devices or systems, Class III medical devices, nuclear facilities, applications +related to the deployment of airbags, or any other applications that could lead +to death, personal injury, or severe property or environmental damage +(individually and collectively, "Critical Applications"). Customer assumes the +sole risk and liability of any use of Xilinx products in Critical Applications, +subject only to applicable laws and regulations governing limitations on product +liability. + +THIS COPYRIGHT NOTICE AND DISCLAIMER MUST BE RETAINED AS PART OF THIS FILE AT +ALL TIMES. + +*******************************************************************************/ + +#ifndef ___AP__VIDEO__ +#define ___AP__VIDEO__ + +#include "ap_int.h" + + +/* Parametrized RGB structure */ +template + struct ap_rgb{ + ap_uint B; + ap_uint G; + ap_uint R; + }; + +/* Parametrized YUV structure */ +template + struct ap_yuv{ + ap_uint Y; + ap_int U; + ap_int V; + }; + +/* Line buffer class definition */ +template + class ap_linebuffer{ + public: + T M[LROW][LCOL]; + + ap_linebuffer(){ +#pragma AP ARRAY_PARTITION variable=M dim=1 complete +//#pragma AP data_pack variable=M +//#pragma AP dependence variable=M intra false +//#pragma AP dependence variable=M inter false +}; + ~ap_linebuffer(){}; + void shift_up(int col); + void shift_down(int col); + void shift_down_all(); + void insert(T value, int row, int col); + void insert_top(T value, int col); + void insert_bottom(T value, int col); + void print(int StartCol, int EndCol); + T getval(int RowIndex,int ColIndex); +}; + +/* Line buffer print function. + * Prints the values of all rows in the line buffer + * between StartCol and EndCol + */ +template + void ap_linebuffer::print(int StartCol, int EndCol) +{ + int i, j; + for(i = LROW-1; i > -1; i--){ + printf("Line %d:\t",i); + for(j=StartCol; j < EndCol; j++){ + printf("%d\t",M[i][j]); + } + printf("\n"); + } + printf("\n"); +} + +/* Line buffer shift up + * Assumes new data pixel will be entered at the bottom of the line buffer + * The bottom is row = 0 + */ +template + void ap_linebuffer::shift_up(int col) +{ +#pragma AP inline + int i; + for(i = LROW-1; i > 0; i--){ +#pragma AP unroll + M[i][col] = M[i-1][col]; + } +} + +/* Line buffer shift down + * Assumes new data pixel will be entered at the top of the line buffer + * The bottom is row = LROW - 1 + */ +template + void ap_linebuffer::shift_down(int col) +{ +#pragma AP inline + int i; + for(i = 0; i < LROW-1; i++){ +#pragma AP unroll + M[i][col] = M[i+1][col]; + } +} + +/* Line buffer shift down + * Assumes new data pixel will be entered at the top of the line buffer + * The bottom is row = LROW - 1 + */ +template + void ap_linebuffer::shift_down_all() +{ +#pragma AP inline + int i, j; + for(i = 0; i < LROW-1; i++){ +#pragma AP unroll + for(j = 0; j < LCOL; j++){ +#pragma AP unroll factor=120 + M[i][j] = M[i+1][j]; + } + } +} + +/* Line buffer insert bottom + * Inserts a new value in the bottom row of the line buffer at column = col + * The bottom is row = 0 + */ +template + void ap_linebuffer::insert_bottom(T value, int col) +{ +#pragma AP inline + + M[0][col] = value; +} + +/* Line buffer insert top + * Inserts a new value in the top row of the line buffer at column = col + * The bottom is row = LROW - 1 + */ +template + void ap_linebuffer::insert_top(T value, int col) +{ +#pragma AP inline + + M[LROW-1][col] = value; +} + +/* Line buffer insert + * Inserts a new value at any location of the line buffer + */ +template + void ap_linebuffer::insert(T value, int row, int col) +{ +#pragma AP inline + M[row][col] = value; +} + +/* Line buffer getval + * Returns the data value in the line buffer at position RowIndex, ColIndex + */ +template + T ap_linebuffer::getval(int RowIndex,int ColIndex) +{ +#pragma AP inline + + T return_value; + return_value = M[RowIndex][ColIndex]; + return return_value; +} + +/* Memory window class definition */ +template + class ap_window{ + public: + T M[LROW][LCOL]; + + ap_window(){ +#pragma AP ARRAY_PARTITION variable=M dim=0 complete + //#pragma AP data_pack variable=M +}; + ~ap_window(){}; + void shift_right(); + void shift_left(); + void shift_up(); + void shift_down(); + void insert(T value, int row,int col); + void print(); + T getval(int RowIndex,int ColIndex); +}; + +/* Window print + * Prints the entire contents of the memory window + */ +template + void ap_window::print() +{ + int i, j; + printf("Window Size = %d x %d\n",LROW,LCOL); + printf("Col \t"); + for(j = 0; j < LCOL; j++){ + printf("%d \t",j); + } + printf("\n"); + for(i = LROW-1; i > -1; i--){ + printf("Row %d: \t",i); + for(j=0; j < LCOL; j++){ + printf("%d\t",M[i][j]); + } + printf("\n"); + } + printf("\n"); +} + +/* Window shift right + * Moves all the contents of the window horizontally + * Assumes new values will be placed in column = LCOL-1 + */ +template + void ap_window::shift_right() +{ +#pragma AP inline + int i, j; + for(i = 0; i < LROW; i++){ +#pragma AP unroll + for(j=0; j < LCOL-1; j++){ +#pragma AP unroll + M[i][j] = M[i][j+1]; + } + } +} + +/* Window shift left + * Moves all the contents of the window horizontally + * Assumes new values will be placed in column = 0 + */ +template + void ap_window::shift_left() +{ +#pragma AP inline + int i, j; + for(i = 0; i < LROW; i++){ +#pragma AP unroll + for(j=LCOL-1; j > 0; j--){ +#pragma AP unroll + M[i][j] = M[i][j-1]; + } + } +} + +/* Window shift up + * Moves all the contents of the window vertically + * Assumes new values will be placed in row = 0 + */ +template + void ap_window::shift_up() +{ +#pragma AP inline + int i, j; + for(i = LROW-1; i > 0; i--){ +#pragma AP unroll + for(j=0; j < LCOL; j++){ +#pragma AP unroll + M[i][j] = M[i-1][j]; + } + } +} + +/* Window shift down + * Moves all the contents of the window vertically + * Assumes new values will be placed in row = LROW - 1 + */ +template + void ap_window::shift_down() +{ +#pragma AP inline + int i, j; + for(i = 0; i < LROW-1; i++){ +#pragma AP unroll + for(j=0; j < LCOL; j++){ +#pragma AP unroll + M[i][j] = M[i+1][j]; + } + } +} + +/* Window insert + * Inserts a new value at any location of the window + */ +template + void ap_window::insert(T value, int row, int col) +{ +#pragma AP inline + M[row][col] = value; +} + +/* Window getval + * Returns the value of any window location + */ +template + T ap_window::getval(int RowIndex, int ColIndex) +{ +#pragma AP inline + T return_value; + return_value = M[RowIndex][ColIndex]; + return return_value; +} + +#endif diff --git a/Hardware/Vivado_HLS_IPs/Sobel_Filter/packet_mode_operations.cpp b/Hardware/Vivado_HLS_IPs/Sobel_Filter/packet_mode_operations.cpp new file mode 100644 index 0000000..8e43a4f --- /dev/null +++ b/Hardware/Vivado_HLS_IPs/Sobel_Filter/packet_mode_operations.cpp @@ -0,0 +1,19 @@ +#include + +#define PAGE_SIZE 4096 + +int is_packet_complete(int *count, int size) { + + //Increase by 4 Bytes. + *count += 4; + + //If the Current Count Value is Equal to the Packet Size then Return 1. + if (*count == size) + { + *count = 0; + return 1; + } else + { + return 0; + } +} diff --git a/Hardware/Vivado_HLS_IPs/Sobel_Filter/packet_mode_operations.h b/Hardware/Vivado_HLS_IPs/Sobel_Filter/packet_mode_operations.h new file mode 100644 index 0000000..9a238bf --- /dev/null +++ b/Hardware/Vivado_HLS_IPs/Sobel_Filter/packet_mode_operations.h @@ -0,0 +1,6 @@ +#ifndef _PACKET_MODE_OPERATIONS_H_ +#define _PACKET_MODE_OPERATIONS_H_ + +int is_packet_complete(int *count, int size); + +#endif diff --git a/Hardware/Vivado_HLS_IPs/Sobel_Filter/run_hls.tcl b/Hardware/Vivado_HLS_IPs/Sobel_Filter/run_hls.tcl new file mode 100644 index 0000000..71b8d3b --- /dev/null +++ b/Hardware/Vivado_HLS_IPs/Sobel_Filter/run_hls.tcl @@ -0,0 +1,17 @@ +open_project Sobel_Filter + +set_top sobel_filter + +add_files sobel.cpp +add_files sobel_operations.cpp +add_files packet_mode_operations.cpp + +open_solution "solution1" + +#The Part Refers to the Xilinx Virtex 7 VC707 FPGA Development Board +set_part {xc7vx485tffg1761-2} +create_clock -period 10 -name default + +csynth_design + +export_design -format ip_catalog -display_name "Sobel Filter" -version "5.8" diff --git a/Hardware/Vivado_HLS_IPs/Sobel_Filter/sobel.cpp b/Hardware/Vivado_HLS_IPs/Sobel_Filter/sobel.cpp new file mode 100644 index 0000000..71e9a14 --- /dev/null +++ b/Hardware/Vivado_HLS_IPs/Sobel_Filter/sobel.cpp @@ -0,0 +1,611 @@ +#include "sobel.h" +#include "sobel_operations.h" +#include "packet_mode_operations.h" + +/* + * sobel_filter() + * + * The Hardware Funtionality of the Sobel Filter (HW Accelerator) Core. + * + * The Sobel Filter is a HW Accelerator that Applies Sobel Edge Detection on Images. + * It Receives and Processes the Image Data in Rows. + * In order to Produce one Processed Row it Requires 3 Received Rows. + * This Precondition is due to the Fact that Edge Detection is Applied to a Pixel according to its Neighbor Pixels. + * + * Once the Sobel Filter Receives the First 3 Rows it Produces one Processed Row. + * Then it Rejects the First Row, Sets the Second Row as First and Sets the Last Row as Second. + * The Next/Newly Received Row is Set as the Last of the Rows. + * Now there are, again, 3 Rows in Order to Produce the Next Processed Row. + * This Procedure Carries on until all the Rows of the Image are Received and Processed. + * + * NOTE that the First and Last Rows of the Processed Image are Filled with Dark Pixels. + * NOTE also that the First and Last Columns of all the Rows of the Processed Image are Filled with Dark Pixels. + * + * The Sobel Edge Detection Cannot be Applied to the Perimetric Pixels of the Image Since they Miss the Required Amount of Neighbors + * this is why they are Filled with Dark Pixels. + * + * The Sequential Steps of the Sobel Filter are as Follows: + * + * a --> Send the First Row which is Filled with Dark Pixels. + * b --> Pre-Fetch the 3 First Rows of the Image. + * c --> Process the 3 Rows. + * d --> Fill the First and Last Columns of the Produced Row with Dark Pixels. + * e --> Send the Produced Row. + * f --> Receive the Next Row. + * g --> Start Again from Step c Until Receiving and Processing all the Rows. + * h --> Send the Last Row which is Filled with Dark Pixels. + * + * The Function Parameters are the Input/Output Ports/Interfaces of the Core: + * + * 01 --------> The AXI Stream Input/Slave Interface of the Core Used to Receive the Image Data. + * 02 --------> The AXI Stream Output/Master Interface of the Core Used to Forward the Processed Image Data. + * 03 to 06 --> Registers of the Core that are Accessed through the AXI Slave Lite Interface of the Core. + * + * + * IMPORTANT TECHNIQUES Used to Improve the Overall Performance: + * + * A)Each Image Row is not Received in a Single Buffer. + * Instead, while it is being Received it is Equally Splitted and Distributed in 16 Sector Buffers. + * Each Sector Buffer has no Dependence with the Rest Sector Buffers so the 16 Pieces of the Image Row Can be Processed in Parallel. + * The HLS Tool Creates 16 Processing Units to Make Parallel Processing Possible. + * + * + * B)Another Improvement Technique is the Usage of Four Line Sector Buffers which Allows + * the Core to Process the Current 3 Rows while Concurrently Receiving the Next Row. + * The Four Line Sector Buffer is Designed with 4 Lines where each is Used to Store the Data of a Single Row. + * When the Sobel Filter Receives and Fills the 3 First Lines with 3 Rows it Starts the Processing. + * The Fourth Line is Free to Start Receiving the Next Row while the Rest 3 Lines are Occupied with the Processing. + * + * + * C)In Older Approaches after 3 Lines of a Three Line Sector Buffer were Processed the Lines would + * Have to be Shifted Up so that the Last Line Could be Fed with the Next Received Row. + * This Approach Required a Significant Amount of Copies where each Pixel of a Line of the Sector Buffer would Have to be Copied to the Upper Line. + * The new Technique Requires Zero Copies as it Uses Indexing to Store the Received Rows in the Four Line Sector Buffer. + * + * Indexing Concerns which Should be Considered as the First, Second and Third Row to Process and where the Next Received Row Should be Stored. + * + * Initially: the First Received Row is Stored in the Line with Index 0 of the Four Line Sector Buffer. + * : the Second Received Row is Stored in the Line with Index 3 of the Four Line Sector Buffer. + * : the Third Received Row is Stored in the Line with Index 2 of the Four Line Sector Buffer. + * : the Line with Index 1 is Used to Store the Next Received Line while the Other 3 are being Processed. + * + * When the Process of the 3 Lines Completes and a new Row is Received then the Indexing Changes so that we Can Start a new Processing and Receive another Row. + * Now the First Row is no Longer Needed so the Line with Index 0 will be Used to Receive the Next Row. + * The Second Row Becomes the First Row for the New Processing so the Line with Index 3 will be Used as the First Row. + * The Third Row Becomes the Second Row for the New Processing so the Line with Index 2 will be Used as the Second Row. + * The Last Received Row Becomes the Third Row for the New Processing so the Line with Index 1 will be Used as the Third Row. + * + * Following the Same Pattern as to which Lines to Process and where to Store the Next Row Leads to the Table Below: + * + * Index 0 | First Row | Next Row | Third Row | Second Row | + * Index 1 | Next Row | Third Row | Second Row | First Row | + * Index 2 | Third Row | Second Row | First Row | Next Row | + * Index 3 | Second Row | First Row | Next Row | Third Row | + * + * To Make Indexing Applicable as Part of the Code we Used the first, second, last and temp Integer Variables which Hold the Current Index + * in the Four Line Sector Buffer where each Row is Stored. + * + * In order to Calculate the Next Indexing for each Row we Used the Formula Below: + * Index = (Index + 3) % 4 + */ +int sobel_filter(/*01*/AXI_PIXEL STREAM_IN[MAX_WIDTH], + /*02*/AXI_PIXEL STREAM_OUT[MAX_WIDTH], + /*03*/int rows, + /*04*/int cols, + /*05*/int packet_mode_en, + /*06*/int packet_size + ) +{ + /* + * Set the Fifo of the STREAM_OUT and STREAM_IN Interfaces to be Implemented with LUT RAM Memory. + */ + #pragma HLS RESOURCE variable=STREAM_OUT core=FIFO_LUTRAM + #pragma HLS RESOURCE variable=STREAM_IN core=FIFO_LUTRAM + + /* + * The rows is a Register to Store the Number of Rows of the Image that will be Accelerated. + * This Register is Accessed through the AXI Slave Lite Interface (S_AXI4_LITE) of the Core. + */ + #pragma HLS INTERFACE s_axilite port=rows bundle=S_AXI4_LITE + + /* + * The cols is a Register to Store the Number of Columns of the Image that will be Accelerated. + * This Register is Accessed through the AXI Slave Lite Interface (S_AXI4_LITE) of the Core. + */ + #pragma HLS INTERFACE s_axilite port=cols bundle=S_AXI4_LITE + + /* + * The packet_mode_en is a Register to Store a Value that Enables/Disables the Packet Mode. + * The Packet Mode Should be Enabled when the Data are Transferred with Scatter/Gather Transactions. + * When the Packet Mode is Enabled the Core Sends a TLAST=1 Signal in the Output Interface for each Transmitted Packet. + * This Register is Accessed through the AXI Slave Lite Interface (S_AXI4_LITE) of the Core. + */ + #pragma HLS INTERFACE s_axilite port=packet_mode_en bundle=S_AXI4_LITE + + /* + * The packet_size is a Register to Store the Size that each Packet Should Have (e.g 4K) when Using Scatter/Gather Transfers. + * This Register is Accessed through the AXI Slave Lite Interface (S_AXI4_LITE) of the Core. + */ + #pragma HLS INTERFACE s_axilite port=packet_size bundle=S_AXI4_LITE + #pragma HLS INTERFACE s_axilite port=return bundle=S_AXI4_LITE + + /* + * Set the STREAM_OUT and STREAM_IN Interfaces of the Core to be AXI Stream Interfaces. + * The Fifo Depth is Set to 1920 which is the Maximum Image Width that the Core Can Support to Process. + */ + #pragma HLS INTERFACE axis depth=1920 port=STREAM_IN + #pragma HLS INTERFACE axis depth=1920 port=STREAM_OUT + + int bytes_count; //Count the Number of Tranferred Bytes. + int first; //Used to Know where the First Received Row is Located in the LINE4_SECTOR_BUFFER. + int second; //Used to Know where the Second Received Row is Located in the LINE4_SECTOR_BUFFER. + int last; //Used to Know where the Last Received Row is Located in the LINE4_SECTOR_BUFFER. + int temp; //Used to Know where the Newest Received Row Should be Temporalily Located in the LINE4_SECTOR_BUFFER. + + /* + * The Number of Iterations Required to Receive or Send each Sector of a Row. + * The sector_iter is an Array with as many Fields as the Number of Sectors. + * The sector_iter Array is Configured to be Completely Partitioned according to the #pragma HLS ARRAY_PARTITION. + */ + int sector_iter[SECTORS]; + #pragma HLS ARRAY_PARTITION variable=sector_iter dim=1 complete + + int sector_size; //The Number of Columns that each Sector Should Store. + int remaining_pixels; //If the Number of Columns is not an Integer Multiple of the Number of Sectors then we Have Remaining Pixels that Should be Distributed in all the Sectors. + + const RGB zero_pixel = {0, 0, 0}; //This is a Dark Pixel Used to Set the First and Last Row and all the First and Last Columns of the Image. + + /* + * Declare 16 Memory Buffers of Type LINE4_SECTOR_BUFFER. + * Each Buffer is Set to be Dual Port BRAM according to the #pragma HLS RESOURCE. + * + * These Buffers are Used to Receive the Image Rows before being Processed. + */ + LINE4_SECTOR_BUFFER LINE4_BUFFER_SECTOR0; + #pragma HLS RESOURCE variable=LINE4_BUFFER_SECTOR0 core=RAM_2P_BRAM + LINE4_SECTOR_BUFFER LINE4_BUFFER_SECTOR1; + #pragma HLS RESOURCE variable=LINE4_BUFFER_SECTOR1 core=RAM_2P_BRAM + LINE4_SECTOR_BUFFER LINE4_BUFFER_SECTOR2; + #pragma HLS RESOURCE variable=LINE4_BUFFER_SECTOR2 core=RAM_2P_BRAM + LINE4_SECTOR_BUFFER LINE4_BUFFER_SECTOR3; + #pragma HLS RESOURCE variable=LINE4_BUFFER_SECTOR3 core=RAM_2P_BRAM + LINE4_SECTOR_BUFFER LINE4_BUFFER_SECTOR4; + #pragma HLS RESOURCE variable=LINE4_BUFFER_SECTOR4 core=RAM_2P_BRAM + LINE4_SECTOR_BUFFER LINE4_BUFFER_SECTOR5; + #pragma HLS RESOURCE variable=LINE4_BUFFER_SECTOR5 core=RAM_2P_BRAM + LINE4_SECTOR_BUFFER LINE4_BUFFER_SECTOR6; + #pragma HLS RESOURCE variable=LINE4_BUFFER_SECTOR6 core=RAM_2P_BRAM + LINE4_SECTOR_BUFFER LINE4_BUFFER_SECTOR7; + #pragma HLS RESOURCE variable=LINE4_BUFFER_SECTOR7 core=RAM_2P_BRAM + LINE4_SECTOR_BUFFER LINE4_BUFFER_SECTOR8; + #pragma HLS RESOURCE variable=LINE4_BUFFER_SECTOR8 core=RAM_2P_BRAM + LINE4_SECTOR_BUFFER LINE4_BUFFER_SECTOR9; + #pragma HLS RESOURCE variable=LINE4_BUFFER_SECTOR9 core=RAM_2P_BRAM + LINE4_SECTOR_BUFFER LINE4_BUFFER_SECTOR10; + #pragma HLS RESOURCE variable=LINE4_BUFFER_SECTOR10 core=RAM_2P_BRAM + LINE4_SECTOR_BUFFER LINE4_BUFFER_SECTOR11; + #pragma HLS RESOURCE variable=LINE4_BUFFER_SECTOR11 core=RAM_2P_BRAM + LINE4_SECTOR_BUFFER LINE4_BUFFER_SECTOR12; + #pragma HLS RESOURCE variable=LINE4_BUFFER_SECTOR12 core=RAM_2P_BRAM + LINE4_SECTOR_BUFFER LINE4_BUFFER_SECTOR13; + #pragma HLS RESOURCE variable=LINE4_BUFFER_SECTOR13 core=RAM_2P_BRAM + LINE4_SECTOR_BUFFER LINE4_BUFFER_SECTOR14; + #pragma HLS RESOURCE variable=LINE4_BUFFER_SECTOR14 core=RAM_2P_BRAM + LINE4_SECTOR_BUFFER LINE4_BUFFER_SECTOR15; + #pragma HLS RESOURCE variable=LINE4_BUFFER_SECTOR15 core=RAM_2P_BRAM + + /* + * Declare 16 Memory Buffers of Type LINE1_SECTOR_BUFFER. + * Each Buffer is Set to be Dual Port BRAM according to the #pragma HLS RESOURCE. + * + * These Buffers are Used to Store the Image Rows after being Processed. + */ + LINE1_SECTOR_BUFFER LINE1_BUFFER_SECTOR0; + #pragma HLS RESOURCE variable=LINE1_BUFFER_SECTOR0 core=RAM_2P_BRAM + LINE1_SECTOR_BUFFER LINE1_BUFFER_SECTOR1; + #pragma HLS RESOURCE variable=LINE1_BUFFER_SECTOR1 core=RAM_2P_BRAM + LINE1_SECTOR_BUFFER LINE1_BUFFER_SECTOR2; + #pragma HLS RESOURCE variable=LINE1_BUFFER_SECTOR2 core=RAM_2P_BRAM + LINE1_SECTOR_BUFFER LINE1_BUFFER_SECTOR3; + #pragma HLS RESOURCE variable=LINE1_BUFFER_SECTOR3 core=RAM_2P_BRAM + LINE1_SECTOR_BUFFER LINE1_BUFFER_SECTOR4; + #pragma HLS RESOURCE variable=LINE1_BUFFER_SECTOR4 core=RAM_2P_BRAM + LINE1_SECTOR_BUFFER LINE1_BUFFER_SECTOR5; + #pragma HLS RESOURCE variable=LINE1_BUFFER_SECTOR5 core=RAM_2P_BRAM + LINE1_SECTOR_BUFFER LINE1_BUFFER_SECTOR6; + #pragma HLS RESOURCE variable=LINE1_BUFFER_SECTOR6 core=RAM_2P_BRAM + LINE1_SECTOR_BUFFER LINE1_BUFFER_SECTOR7; + #pragma HLS RESOURCE variable=LINE1_BUFFER_SECTOR7 core=RAM_2P_BRAM + LINE1_SECTOR_BUFFER LINE1_BUFFER_SECTOR8; + #pragma HLS RESOURCE variable=LINE1_BUFFER_SECTOR8 core=RAM_2P_BRAM + LINE1_SECTOR_BUFFER LINE1_BUFFER_SECTOR9; + #pragma HLS RESOURCE variable=LINE1_BUFFER_SECTOR9 core=RAM_2P_BRAM + LINE1_SECTOR_BUFFER LINE1_BUFFER_SECTOR10; + #pragma HLS RESOURCE variable=LINE1_BUFFER_SECTOR10 core=RAM_2P_BRAM + LINE1_SECTOR_BUFFER LINE1_BUFFER_SECTOR11; + #pragma HLS RESOURCE variable=LINE1_BUFFER_SECTOR11 core=RAM_2P_BRAM + LINE1_SECTOR_BUFFER LINE1_BUFFER_SECTOR12; + #pragma HLS RESOURCE variable=LINE1_BUFFER_SECTOR12 core=RAM_2P_BRAM + LINE1_SECTOR_BUFFER LINE1_BUFFER_SECTOR13; + #pragma HLS RESOURCE variable=LINE1_BUFFER_SECTOR13 core=RAM_2P_BRAM + LINE1_SECTOR_BUFFER LINE1_BUFFER_SECTOR14; + #pragma HLS RESOURCE variable=LINE1_BUFFER_SECTOR14 core=RAM_2P_BRAM + LINE1_SECTOR_BUFFER LINE1_BUFFER_SECTOR15; + #pragma HLS RESOURCE variable=LINE1_BUFFER_SECTOR15 core=RAM_2P_BRAM + + /* + * Set Initial Values. + */ + bytes_count = 0; + first = 0; + second = 3; + last = 2; + temp = 0; + + + //Calculate the Number of Columns that Should be Stored to each Sector Buffer. + //NOTE that this is the Initial Sector Size that is Equal to All the Sector Buffers. + sector_size = (int)(cols / SECTORS); + + /* + * Calculate any Remaining Bytes in Case the Number of Columns is not an Integer Multiple of the Number of Sector Buffers. + * + * For Example, for an Image of Width 524 Pixels we Have 524 Pixels / 16 Sectors = 32.75 Pixels which is Not an Integer Multiple of the 16 Sector Buffers. + * For each Sector Buffer we Have a Sector Size of 32 Pixels so 32 Pixels * 16 Sectors = 512 which Leads to Have 12 Remaining Pixels from the Initial 524. + * + * As a Result each of the 16 Sector Buffers Initially Has a Sector Size of 32. + * The Remaining Pixels Should be Distributed to the Sector Buffers so the First 12 Sector Buffers will Have a Sector Size with one More Pixel which Leads to 33 Pixels Sector Size. + * + * |Sector0 |Sector1 |Sector2 |Sector3 |Sector4 |Sector5 |Sector6 |Sector7 |Sector8 |Sector9 |Sector10 |Sector11 |Sector12 |Sector13 |Sector14 |Sector15| + * |33 |33 |33 |33 |33 |33 |33 |33 |33 |33 |33 |33 |32 |32 |32 |32 | + * + */ + remaining_pixels = cols - (sector_size * SECTORS); + + //Loop to Distribute the Remaining Bytes to the Sector Buffers. + for (int i = 0; i < SECTORS; i++) + { + #pragma HLS PIPELINE II=1 + + //Set the Array Field of the Corresponding Sector Buffer with the Initial Sector Size. + sector_iter[i] = sector_size; + + //Check if we still Have Remaining Pixels + if (remaining_pixels > 0) + { + //Decrease the Number of Remaining Pixels. + remaining_pixels--; + + //Increment by 1 the Sector Size of the Corresponding Sector Buffer + sector_iter[i] ++; + } + } + + /* + * The First Line/Row of an Image Processed with Sobel Edge Detection is Always Filled with Zero Pixels. + * So, Send the First Row of Zero Pixels. + */ + send_1st_line: + for (int col=0; coly)? x - y : y - x) +#define ABS(x) ((x>0)? x : -x) +#define RGB(r,g,b) ((((word)r)<<16)|(((word)g)<<8)|((word)b)) + +typedef ap_rgb <8, 8, 8> RGB; +typedef ap_axiu2 <32, 1, 1, 1> AXI_PIXEL; + +typedef ap_linebuffer LINE4_SECTOR_BUFFER; +typedef ap_linebuffer LINE1_SECTOR_BUFFER; + +int sobel_filter(AXI_PIXEL STREAM_IN[MAX_WIDTH], + AXI_PIXEL STREAM_OUT[MAX_WIDTH], + int rows, + int cols, + int packet_mode_en, + int packet_size); + +#endif diff --git a/Hardware/Vivado_HLS_IPs/Sobel_Filter/sobel_operations.cpp b/Hardware/Vivado_HLS_IPs/Sobel_Filter/sobel_operations.cpp new file mode 100644 index 0000000..37024b1 --- /dev/null +++ b/Hardware/Vivado_HLS_IPs/Sobel_Filter/sobel_operations.cpp @@ -0,0 +1,1456 @@ +#include "sobel.h" +#include "sobel_operations.h" +#include "packet_mode_operations.h" + + +/* + * rgb2y() + * + * Makes RGB to Y Conversion. + * It Returns a Luminance Value that is Used in Edge Detection. + */ +unsigned char rgb2y(RGB pix) +{ + #pragma HLS INLINE off + #pragma HLS EXPRESSION_BALANCE off + + unsigned char y; + + //Luminance Calculation According to the R,G,B Values of the Pixel. + y = ((66 * pix.R.to_int() + 129 * pix.G.to_int() + 25 * pix.B.to_int() + 128) >> 8) + 16; + + return y; +} + +/* + * start_sobel_operations() + * + * Produces a Single Processed Row by Applying Sobel Edge Detection to 3 Rows. + * It Reads the 3 Rows from the 16 Four Line Sector Buffers and Stores the Produced Processed Row in the 16 One Line Sector Buffers. + */ +void start_sobel_operations(LINE4_SECTOR_BUFFER *LINE_BUFFER_SECTOR_0, + LINE4_SECTOR_BUFFER *LINE_BUFFER_SECTOR_1, + LINE4_SECTOR_BUFFER *LINE_BUFFER_SECTOR_2, + LINE4_SECTOR_BUFFER *LINE_BUFFER_SECTOR_3, + LINE4_SECTOR_BUFFER *LINE_BUFFER_SECTOR_4, + LINE4_SECTOR_BUFFER *LINE_BUFFER_SECTOR_5, + LINE4_SECTOR_BUFFER *LINE_BUFFER_SECTOR_6, + LINE4_SECTOR_BUFFER *LINE_BUFFER_SECTOR_7, + LINE4_SECTOR_BUFFER *LINE_BUFFER_SECTOR_8, + LINE4_SECTOR_BUFFER *LINE_BUFFER_SECTOR_9, + LINE4_SECTOR_BUFFER *LINE_BUFFER_SECTOR_10, + LINE4_SECTOR_BUFFER *LINE_BUFFER_SECTOR_11, + LINE4_SECTOR_BUFFER *LINE_BUFFER_SECTOR_12, + LINE4_SECTOR_BUFFER *LINE_BUFFER_SECTOR_13, + LINE4_SECTOR_BUFFER *LINE_BUFFER_SECTOR_14, + LINE4_SECTOR_BUFFER *LINE_BUFFER_SECTOR_15, + LINE1_SECTOR_BUFFER *OUTPUT_BUFFER_SECTOR_0, + LINE1_SECTOR_BUFFER *OUTPUT_BUFFER_SECTOR_1, + LINE1_SECTOR_BUFFER *OUTPUT_BUFFER_SECTOR_2, + LINE1_SECTOR_BUFFER *OUTPUT_BUFFER_SECTOR_3, + LINE1_SECTOR_BUFFER *OUTPUT_BUFFER_SECTOR_4, + LINE1_SECTOR_BUFFER *OUTPUT_BUFFER_SECTOR_5, + LINE1_SECTOR_BUFFER *OUTPUT_BUFFER_SECTOR_6, + LINE1_SECTOR_BUFFER *OUTPUT_BUFFER_SECTOR_7, + LINE1_SECTOR_BUFFER *OUTPUT_BUFFER_SECTOR_8, + LINE1_SECTOR_BUFFER *OUTPUT_BUFFER_SECTOR_9, + LINE1_SECTOR_BUFFER *OUTPUT_BUFFER_SECTOR_10, + LINE1_SECTOR_BUFFER *OUTPUT_BUFFER_SECTOR_11, + LINE1_SECTOR_BUFFER *OUTPUT_BUFFER_SECTOR_12, + LINE1_SECTOR_BUFFER *OUTPUT_BUFFER_SECTOR_13, + LINE1_SECTOR_BUFFER *OUTPUT_BUFFER_SECTOR_14, + LINE1_SECTOR_BUFFER *OUTPUT_BUFFER_SECTOR_15, + int sector_size, + int first, + int second, + int last) +{ + #pragma HLS PIPELINE II=1 + + /* + * Loop for as many Times as the Number of Columns in each Sector Buffer in Order to Apply Sobel Edge Detection to all the Pixels. + */ + loop_sobel_operations: + for (int col = 0; col <= sector_size; col++) + { + + RGB edge0, edge1, edge2, edge3, edge4, edge5, edge6, edge7, + edge8, edge9, edge10, edge11, edge12, edge13, edge14, edge15; + + /* + * Create 16 Instances of the sobel_operator Function Template. + * Each Instance Applies Sobel Edge Detection to the Current Pixel of each Four Line Sector Buffer. + * All Instances are Executed Concurrently Since there is no Dependency between the 16 Four Line Sector Buffers. + */ + edge0 = sobel_operator<0>(LINE_BUFFER_SECTOR_0, col, first, second, last); + edge1 = sobel_operator<1>(LINE_BUFFER_SECTOR_1, col, first, second, last); + edge2 = sobel_operator<2>(LINE_BUFFER_SECTOR_2, col, first, second, last); + edge3 = sobel_operator<3>(LINE_BUFFER_SECTOR_3, col, first, second, last); + edge4 = sobel_operator<4>(LINE_BUFFER_SECTOR_4, col, first, second, last); + edge5 = sobel_operator<5>(LINE_BUFFER_SECTOR_5, col, first, second, last); + edge6 = sobel_operator<6>(LINE_BUFFER_SECTOR_6, col, first, second, last); + edge7 = sobel_operator<7>(LINE_BUFFER_SECTOR_7, col, first, second, last); + edge8 = sobel_operator<8>(LINE_BUFFER_SECTOR_8, col, first, second, last); + edge9 = sobel_operator<9>(LINE_BUFFER_SECTOR_9, col, first, second, last); + edge10 = sobel_operator<10>(LINE_BUFFER_SECTOR_10, col, first, second, last); + edge11 = sobel_operator<11>(LINE_BUFFER_SECTOR_11, col, first, second, last); + edge12 = sobel_operator<12>(LINE_BUFFER_SECTOR_12, col, first, second, last); + edge13 = sobel_operator<13>(LINE_BUFFER_SECTOR_13, col, first, second, last); + edge14 = sobel_operator<14>(LINE_BUFFER_SECTOR_14, col, first, second, last); + edge15 = sobel_operator<15>(LINE_BUFFER_SECTOR_15, col, first, second, last); + + /* + * Insert the Processed Pixels by the Sobel Operator to the Correct Position in the One Line Sector Buffers. + */ + OUTPUT_BUFFER_SECTOR_0->insert(edge0, 0, col); + OUTPUT_BUFFER_SECTOR_1->insert(edge1, 0, col); + OUTPUT_BUFFER_SECTOR_2->insert(edge2, 0, col); + OUTPUT_BUFFER_SECTOR_3->insert(edge3, 0, col); + OUTPUT_BUFFER_SECTOR_4->insert(edge4, 0, col); + OUTPUT_BUFFER_SECTOR_5->insert(edge5, 0, col); + OUTPUT_BUFFER_SECTOR_6->insert(edge6, 0, col); + OUTPUT_BUFFER_SECTOR_7->insert(edge7, 0, col); + OUTPUT_BUFFER_SECTOR_8->insert(edge8, 0, col); + OUTPUT_BUFFER_SECTOR_9->insert(edge9, 0, col); + OUTPUT_BUFFER_SECTOR_10->insert(edge10, 0, col); + OUTPUT_BUFFER_SECTOR_11->insert(edge11, 0, col); + OUTPUT_BUFFER_SECTOR_12->insert(edge12, 0, col); + OUTPUT_BUFFER_SECTOR_13->insert(edge13, 0, col); + OUTPUT_BUFFER_SECTOR_14->insert(edge14, 0, col); + OUTPUT_BUFFER_SECTOR_15->insert(edge15, 0, col); + } +} + +/* + * receive_post_line() + * + * Receives an Image Row through the AXI Stream In Interface. + * The receive_post_line() Takes Over to Equally Split and Distribute the Row (while being Received) to the 16 Four Line Sector Buffers. + */ +void receive_post_line(AXI_PIXEL *STREAM_IN, + LINE4_SECTOR_BUFFER *LINE_BUFFER_SECTOR_0, + LINE4_SECTOR_BUFFER *LINE_BUFFER_SECTOR_1, + LINE4_SECTOR_BUFFER *LINE_BUFFER_SECTOR_2, + LINE4_SECTOR_BUFFER *LINE_BUFFER_SECTOR_3, + LINE4_SECTOR_BUFFER *LINE_BUFFER_SECTOR_4, + LINE4_SECTOR_BUFFER *LINE_BUFFER_SECTOR_5, + LINE4_SECTOR_BUFFER *LINE_BUFFER_SECTOR_6, + LINE4_SECTOR_BUFFER *LINE_BUFFER_SECTOR_7, + LINE4_SECTOR_BUFFER *LINE_BUFFER_SECTOR_8, + LINE4_SECTOR_BUFFER *LINE_BUFFER_SECTOR_9, + LINE4_SECTOR_BUFFER *LINE_BUFFER_SECTOR_10, + LINE4_SECTOR_BUFFER *LINE_BUFFER_SECTOR_11, + LINE4_SECTOR_BUFFER *LINE_BUFFER_SECTOR_12, + LINE4_SECTOR_BUFFER *LINE_BUFFER_SECTOR_13, + LINE4_SECTOR_BUFFER *LINE_BUFFER_SECTOR_14, + LINE4_SECTOR_BUFFER *LINE_BUFFER_SECTOR_15, + int row, + int *sector_iter_array) +{ + + /* Receive the Amount of Pixels of the Current Row that Should be Stored in the LINE_BUFFER_SECTOR_0. + * + * NOTE that this Loop Fills the Fields of the LINE_BUFFER_SECTOR_0 Starting from the Second Field. + */ + loop_in_sector_0: + for (int col = 0; col < sector_iter_array[0]; col++) + { + #pragma HLS PIPELINE II=1 + + unsigned char tempx; + AXI_PIXEL input_pixel; + RGB new_pix; + + //Receive through the AXI Stream In Interface 4 Bytes that Represent the Current Pixel. + input_pixel = STREAM_IN[col]; + + //Get the First Byte from the Received Data that Represents the Blue Value of the Pixel. + new_pix.B = input_pixel.data.range(7, 0); + + //Get the Second Byte from the Received Data that Represents the Green Value of the Pixel. + new_pix.G = input_pixel.data.range(15, 8); + + //Get the First Byte from the Received Data that Represents the Red Value of the Pixel. + new_pix.R = input_pixel.data.range(23, 16); + + //Convert the Received Pixel from RGB to Y that Represents its Luminance Value. + tempx = rgb2y(new_pix); + + //Insert the Y Value of the Received Pixel to the Current Field of the LINE_BUFFER_SECTOR_0. + LINE_BUFFER_SECTOR_0->insert(tempx, row, col+1); + } + + //Insert the Y Value of the Last Pixel of the LINE_BUFFER_SECTOR_0 to the First Field of the LINE_BUFFER_SECTOR_1. + //The Last Pixel of the LINE_BUFFER_SECTOR_0 is the Left Neighbor of the First Pixel of the LINE_BUFFER_SECTOR_1 which is Required to Apply Sobel Edge Detection. + LINE_BUFFER_SECTOR_1->insert(LINE_BUFFER_SECTOR_0->getval(row, sector_iter_array[0]), row, 0); + + + /* Receive the Next Amount of Pixels of the Current Row that Should be Stored in the LINE_BUFFER_SECTOR_1. + * + * NOTE that this Loop Fills the Fields of the LINE_BUFFER_SECTOR_0 Starting from the Second Field. + * The First Field of the LINE_BUFFER_SECTOR_1 is Used to Insert the Last Pixel of the LINE_BUFFER_SECTOR_0. + * The Field Right After the Last Pixel of LINE_BUFFER_SECTOR_1 is Used to Insert the First Pixel of the LINE_BUFFER_SECTOR_2. + */ + loop_in_sector_1: + for (int col = 0; col < sector_iter_array[1]; col++) + { + #pragma HLS PIPELINE II=1 + + unsigned char tempx; + AXI_PIXEL input_pixel; + RGB new_pix; + + //Receive through the AXI Stream In Interface 4 Bytes that Represent the Current Pixel. + input_pixel = STREAM_IN[col]; + + //Get the First Byte from the Received Data that Represents the Blue Value of the Pixel. + new_pix.B = input_pixel.data.range(7, 0); + + //Get the Second Byte from the Received Data that Represents the Green Value of the Pixel. + new_pix.G = input_pixel.data.range(15, 8); + + //Get the Third Byte from the Received Data that Represents the Red Value of the Pixel. + new_pix.R = input_pixel.data.range(23, 16); + + //Convert the Received Pixel from RGB to Y that Represents its Luminance Value. + tempx = rgb2y(new_pix); + + //Insert the Y Value of the Received Pixel to the Current Field of the LINE_BUFFER_SECTOR_1. + LINE_BUFFER_SECTOR_1->insert(tempx, row, col+1); + } + + //Insert the Y Value of the First Pixel of the LINE_BUFFER_SECTOR_1 to the Field Right After the Last Pixel of the LINE_BUFFER_SECTOR_0. + //The First Pixel of the LINE_BUFFER_SECTOR_1 is the Right Neighbor of the Last Pixel of the LINE_BUFFER_SECTOR_0 which is Required to Apply Sobel Edge Detection. + LINE_BUFFER_SECTOR_0->insert(LINE_BUFFER_SECTOR_1->getval(row, 1), row, sector_iter_array[0] + 1); + + //Insert the Y Value of the Last Pixel of the LINE_BUFFER_SECTOR_1 to the First Field of the LINE_BUFFER_SECTOR_2. + //The Last Pixel of the LINE_BUFFER_SECTOR_1 is the Left Neighbor of the First Pixel of the LINE_BUFFER_SECTOR_2 which is Required to Apply Sobel Edge Detection. + LINE_BUFFER_SECTOR_2->insert(LINE_BUFFER_SECTOR_1->getval(row, sector_iter_array[1]), row, 0); + + + /* Receive the Next Amount of Pixels of the Current Row that Should be Stored in the LINE_BUFFER_SECTOR_2. + * + * NOTE that this Loop Fills the Fields of the LINE_BUFFER_SECTOR_2 Starting from the Second Field. + * The First Field of the LINE_BUFFER_SECTOR_2 is Used to Insert the Last Pixel of the LINE_BUFFER_SECTOR_1. + * The Field Right After the Last Pixel of LINE_BUFFER_SECTOR_2 is Used to Insert the First Pixel of the LINE_BUFFER_SECTOR_3. + */ + loop_in_sector_2: + for (int col = 0; col < sector_iter_array[2]; col++) + { + #pragma HLS PIPELINE II=1 + + unsigned char tempx; + AXI_PIXEL input_pixel; + RGB new_pix; + + //Receive through the AXI Stream In Interface 4 Bytes that Represent the Current Pixel. + input_pixel = STREAM_IN[col]; + + //Get the First Byte from the Received Data that Represents the Blue Value of the Pixel. + new_pix.B = input_pixel.data.range(7, 0); + + //Get the Second Byte from the Received Data that Represents the Green Value of the Pixel. + new_pix.G = input_pixel.data.range(15, 8); + + //Get the Third Byte from the Received Data that Represents the Red Value of the Pixel. + new_pix.R = input_pixel.data.range(23, 16); + + //Convert the Received Pixel from RGB to Y that Represents its Luminance Value. + tempx = rgb2y(new_pix); + + //Insert the Y Value of the Received Pixel to the Current Field of the LINE_BUFFER_SECTOR_2. + LINE_BUFFER_SECTOR_2->insert(tempx, row, col+1); + } + + //Insert the Y Value of the First Pixel of the LINE_BUFFER_SECTOR_2 to the Field Right After the Last Pixel of the LINE_BUFFER_SECTOR_1. + //The First Pixel of the LINE_BUFFER_SECTOR_2 is the Right Neighbor of the Last Pixel of the LINE_BUFFER_SECTOR_1 which is Required to Apply Sobel Edge Detection. + LINE_BUFFER_SECTOR_1->insert(LINE_BUFFER_SECTOR_2->getval(row, 1), row, sector_iter_array[1] + 1); + + //Insert the Y Value of the Last Pixel of the LINE_BUFFER_SECTOR_2 to the First Field of the LINE_BUFFER_SECTOR_3. + //The Last Pixel of the LINE_BUFFER_SECTOR_2 is the Left Neighbor of the First Pixel of the LINE_BUFFER_SECTOR_3 which is Required to Apply Sobel Edge Detection. + LINE_BUFFER_SECTOR_3->insert(LINE_BUFFER_SECTOR_2->getval(row, sector_iter_array[2]), row, 0); + + + /* Receive the Next Amount of Pixels of the Current Row that Should be Stored in the LINE_BUFFER_SECTOR_3. + * + * NOTE that this Loop Fills the Fields of the LINE_BUFFER_SECTOR_3 Starting from the Second Field. + * The First Field of the LINE_BUFFER_SECTOR_3 is Used to Insert the Last Pixel of the LINE_BUFFER_SECTOR_2. + * The Field Right After the Last Pixel of LINE_BUFFER_SECTOR_3 is Used to Insert the First Pixel of the LINE_BUFFER_SECTOR_4. + */ + loop_in_sector_3: + for (int col = 0; col < sector_iter_array[3]; col++) + { + #pragma HLS PIPELINE II=1 + + unsigned char tempx; + AXI_PIXEL input_pixel; + RGB new_pix; + + //Receive through the AXI Stream In Interface 4 Bytes that Represent the Current Pixel. + input_pixel = STREAM_IN[col]; + + //Get the First Byte from the Received Data that Represents the Blue Value of the Pixel. + new_pix.B = input_pixel.data.range(7, 0); + + //Get the Second Byte from the Received Data that Represents the Green Value of the Pixel. + new_pix.G = input_pixel.data.range(15, 8); + + //Get the Third Byte from the Received Data that Represents the Red Value of the Pixel. + new_pix.R = input_pixel.data.range(23, 16); + + //Convert the Received Pixel from RGB to Y that Represents its Luminance Value. + tempx = rgb2y(new_pix); + + //Insert the Y Value of the Received Pixel to the Current Field of the LINE_BUFFER_SECTOR_3. + LINE_BUFFER_SECTOR_3->insert(tempx, row, col+1); + } + + //Insert the Y Value of the First Pixel of the LINE_BUFFER_SECTOR_3 to the Field Right After the Last Pixel of the LINE_BUFFER_SECTOR_2. + //The First Pixel of the LINE_BUFFER_SECTOR_3 is the Right Neighbor of the Last Pixel of the LINE_BUFFER_SECTOR_2 which is Required to Apply Sobel Edge Detection. + LINE_BUFFER_SECTOR_2->insert(LINE_BUFFER_SECTOR_3->getval(row, 1), row, sector_iter_array[2] + 1); + + //Insert the Y Value of the Last Pixel of the LINE_BUFFER_SECTOR_3 to the First Field of the LINE_BUFFER_SECTOR_4. + //The Last Pixel of the LINE_BUFFER_SECTOR_3 is the Left Neighbor of the First Pixel of the LINE_BUFFER_SECTOR_4 which is Required to Apply Sobel Edge Detection. + LINE_BUFFER_SECTOR_4->insert(LINE_BUFFER_SECTOR_3->getval(row, sector_iter_array[3]), row, 0); + + + /* Receive the Next Amount of Pixels of the Current Row that Should be Stored in the LINE_BUFFER_SECTOR_4. + * + * NOTE that this Loop Fills the Fields of the LINE_BUFFER_SECTOR_4 Starting from the Second Field. + * The First Field of the LINE_BUFFER_SECTOR_4 is Used to Insert the Last Pixel of the LINE_BUFFER_SECTOR_3. + * The Field Right After the Last Pixel of LINE_BUFFER_SECTOR_4 is Used to Insert the First Pixel of the LINE_BUFFER_SECTOR_5. + */ + loop_in_sector_4: + for (int col = 0; col < sector_iter_array[4]; col++) + { + #pragma HLS PIPELINE II=1 + + unsigned char tempx; + AXI_PIXEL input_pixel; + RGB new_pix; + + //Receive through the AXI Stream In Interface 4 Bytes that Represent the Current Pixel. + input_pixel = STREAM_IN[col]; + + //Get the First Byte from the Received Data that Represents the Blue Value of the Pixel. + new_pix.B = input_pixel.data.range(7, 0); + + //Get the Second Byte from the Received Data that Represents the Green Value of the Pixel. + new_pix.G = input_pixel.data.range(15, 8); + + //Get the Third Byte from the Received Data that Represents the Red Value of the Pixel. + new_pix.R = input_pixel.data.range(23, 16); + + //Convert the Received Pixel from RGB to Y that Represents its Luminance Value. + tempx = rgb2y(new_pix); + + //Insert the Y Value of the Received Pixel to the Current Field of the LINE_BUFFER_SECTOR_4. + LINE_BUFFER_SECTOR_4->insert(tempx, row, col+1); + } + + //Insert the Y Value of the First Pixel of the LINE_BUFFER_SECTOR_4 to the Field Right After the Last Pixel of the LINE_BUFFER_SECTOR_3. + //The First Pixel of the LINE_BUFFER_SECTOR_4 is the Right Neighbor of the Last Pixel of the LINE_BUFFER_SECTOR_3 which is Required to Apply Sobel Edge Detection. + LINE_BUFFER_SECTOR_3->insert(LINE_BUFFER_SECTOR_4->getval(row, 1), row, sector_iter_array[3] + 1); + + //Insert the Y Value of the Last Pixel of the LINE_BUFFER_SECTOR_4 to the First Field of the LINE_BUFFER_SECTOR_5. + //The Last Pixel of the LINE_BUFFER_SECTOR_4 is the Left Neighbor of the First Pixel of the LINE_BUFFER_SECTOR_5 which is Required to Apply Sobel Edge Detection. + LINE_BUFFER_SECTOR_5->insert(LINE_BUFFER_SECTOR_4->getval(row, sector_iter_array[4]), row, 0); + + + /* Receive the Next Amount of Pixels of the Current Row that Should be Stored in the LINE_BUFFER_SECTOR_5. + * + * NOTE that this Loop Fills the Fields of the LINE_BUFFER_SECTOR_5 Starting from the Second Field. + * The First Field of the LINE_BUFFER_SECTOR_5 is Used to Insert the Last Pixel of the LINE_BUFFER_SECTOR_4. + * The Field Right After the Last Pixel of LINE_BUFFER_SECTOR_5 is Used to Insert the First Pixel of the LINE_BUFFER_SECTOR_6. + */ + loop_in_sector_5: + for (int col = 0; col < sector_iter_array[5]; col++) + { + #pragma HLS PIPELINE II=1 + + unsigned char tempx; + AXI_PIXEL input_pixel; + RGB new_pix; + + //Receive through the AXI Stream In Interface 4 Bytes that Represent the Current Pixel. + input_pixel = STREAM_IN[col]; + + //Get the First Byte from the Received Data that Represents the Blue Value of the Pixel. + new_pix.B = input_pixel.data.range(7, 0); + + //Get the Second Byte from the Received Data that Represents the Green Value of the Pixel. + new_pix.G = input_pixel.data.range(15, 8); + + //Get the Third Byte from the Received Data that Represents the Red Value of the Pixel. + new_pix.R = input_pixel.data.range(23, 16); + + //Convert the Received Pixel from RGB to Y that Represents its Luminance Value. + tempx = rgb2y(new_pix); + + //Insert the Y Value of the Received Pixel to the Current Field of the LINE_BUFFER_SECTOR_5. + LINE_BUFFER_SECTOR_5->insert(tempx, row, col+1); + } + + //Insert the Y Value of the First Pixel of the LINE_BUFFER_SECTOR_5 to the Field Right After the Last Pixel of the LINE_BUFFER_SECTOR_4. + //The First Pixel of the LINE_BUFFER_SECTOR_5 is the Right Neighbor of the Last Pixel of the LINE_BUFFER_SECTOR_4 which is Required to Apply Sobel Edge Detection. + LINE_BUFFER_SECTOR_4->insert(LINE_BUFFER_SECTOR_5->getval(row, 1), row, sector_iter_array[4] + 1); + + //Insert the Y Value of the Last Pixel of the LINE_BUFFER_SECTOR_5 to the First Field of the LINE_BUFFER_SECTOR_6. + //The Last Pixel of the LINE_BUFFER_SECTOR_5 is the Left Neighbor of the First Pixel of the LINE_BUFFER_SECTOR_6 which is Required to Apply Sobel Edge Detection. + LINE_BUFFER_SECTOR_6->insert(LINE_BUFFER_SECTOR_5->getval(row, sector_iter_array[5]), row, 0); + + + /* Receive the Next Amount of Pixels of the Current Row that Should be Stored in the LINE_BUFFER_SECTOR_6. + * + * NOTE that this Loop Fills the Fields of the LINE_BUFFER_SECTOR_6 Starting from the Second Field. + * The First Field of the LINE_BUFFER_SECTOR_6 is Used to Insert the Last Pixel of the LINE_BUFFER_SECTOR_5. + * The Field Right After the Last Pixel of LINE_BUFFER_SECTOR_6 is Used to Insert the First Pixel of the LINE_BUFFER_SECTOR_7. + */ + loop_in_sector_6: + for (int col = 0; col < sector_iter_array[6]; col++) + { + #pragma HLS PIPELINE II=1 + + unsigned char tempx; + AXI_PIXEL input_pixel; + RGB new_pix; + + //Receive through the AXI Stream In Interface 4 Bytes that Represent the Current Pixel. + input_pixel = STREAM_IN[col]; + + //Get the First Byte from the Received Data that Represents the Blue Value of the Pixel. + new_pix.B = input_pixel.data.range(7, 0); + + //Get the Second Byte from the Received Data that Represents the Green Value of the Pixel. + new_pix.G = input_pixel.data.range(15, 8); + + //Get the Third Byte from the Received Data that Represents the Red Value of the Pixel. + new_pix.R = input_pixel.data.range(23, 16); + + //Convert the Received Pixel from RGB to Y that Represents its Luminance Value. + tempx = rgb2y(new_pix); + + //Insert the Y Value of the Received Pixel to the Current Field of the LINE_BUFFER_SECTOR_6. + LINE_BUFFER_SECTOR_6->insert(tempx, row, col+1); + } + + //Insert the Y Value of the First Pixel of the LINE_BUFFER_SECTOR_6 to the Field Right After the Last Pixel of the LINE_BUFFER_SECTOR_5. + //The First Pixel of the LINE_BUFFER_SECTOR_6 is the Right Neighbor of the Last Pixel of the LINE_BUFFER_SECTOR_5 which is Required to Apply Sobel Edge Detection. + LINE_BUFFER_SECTOR_5->insert(LINE_BUFFER_SECTOR_6->getval(row, 1), row, sector_iter_array[5] + 1); + + //Insert the Y Value of the Last Pixel of the LINE_BUFFER_SECTOR_6 to the First Field of the LINE_BUFFER_SECTOR_7. + //The Last Pixel of the LINE_BUFFER_SECTOR_6 is the Left Neighbor of the First Pixel of the LINE_BUFFER_SECTOR_7 which is Required to Apply Sobel Edge Detection. + LINE_BUFFER_SECTOR_7->insert(LINE_BUFFER_SECTOR_6->getval(row, sector_iter_array[6]), row, 0); + + + /* Receive the Next Amount of Pixels of the Current Row that Should be Stored in the LINE_BUFFER_SECTOR_7. + * + * NOTE that this Loop Fills the Fields of the LINE_BUFFER_SECTOR_7 Starting from the Second Field. + * The First Field of the LINE_BUFFER_SECTOR_7 is Used to Insert the Last Pixel of the LINE_BUFFER_SECTOR_6. + * The Field Right After the Last Pixel of LINE_BUFFER_SECTOR_7 is Used to Insert the First Pixel of the LINE_BUFFER_SECTOR_8. + */ + loop_in_sector_7: + for (int col = 0; col < sector_iter_array[7]; col++) + { + #pragma HLS PIPELINE II=1 + + unsigned char tempx; + AXI_PIXEL input_pixel; + RGB new_pix; + + //Receive through the AXI Stream In Interface 4 Bytes that Represent the Current Pixel. + input_pixel = STREAM_IN[col]; + + //Get the First Byte from the Received Data that Represents the Blue Value of the Pixel. + new_pix.B = input_pixel.data.range(7, 0); + + //Get the Second Byte from the Received Data that Represents the Green Value of the Pixel. + new_pix.G = input_pixel.data.range(15, 8); + + //Get the Third Byte from the Received Data that Represents the Red Value of the Pixel. + new_pix.R = input_pixel.data.range(23, 16); + + //Convert the Received Pixel from RGB to Y that Represents its Luminance Value. + tempx = rgb2y(new_pix); + + //Insert the Y Value of the Received Pixel to the Current Field of the LINE_BUFFER_SECTOR_7. + LINE_BUFFER_SECTOR_7->insert(tempx, row, col+1); + } + + //Insert the Y Value of the First Pixel of the LINE_BUFFER_SECTOR_7 to the Field Right After the Last Pixel of the LINE_BUFFER_SECTOR_6. + //The First Pixel of the LINE_BUFFER_SECTOR_7 is the Right Neighbor of the Last Pixel of the LINE_BUFFER_SECTOR_6 which is Required to Apply Sobel Edge Detection. + LINE_BUFFER_SECTOR_6->insert(LINE_BUFFER_SECTOR_7->getval(row, 1), row, sector_iter_array[6] + 1); + + //Insert the Y Value of the Last Pixel of the LINE_BUFFER_SECTOR_7 to the First Field of the LINE_BUFFER_SECTOR_8. + //The Last Pixel of the LINE_BUFFER_SECTOR_7 is the Left Neighbor of the First Pixel of the LINE_BUFFER_SECTOR_8 which is Required to Apply Sobel Edge Detection. + LINE_BUFFER_SECTOR_8->insert(LINE_BUFFER_SECTOR_7->getval(row, sector_iter_array[7]), row, 0); + + + /* Receive the Next Amount of Pixels of the Current Row that Should be Stored in the LINE_BUFFER_SECTOR_8. + * + * NOTE that this Loop Fills the Fields of the LINE_BUFFER_SECTOR_8 Starting from the Second Field. + * The First Field of the LINE_BUFFER_SECTOR_8 is Used to Insert the Last Pixel of the LINE_BUFFER_SECTOR_7. + * The Field Right After the Last Pixel of LINE_BUFFER_SECTOR_8 is Used to Insert the First Pixel of the LINE_BUFFER_SECTOR_9. + */ + loop_in_sector_8: + for (int col = 0; col < sector_iter_array[8]; col++) + { + #pragma HLS PIPELINE II=1 + + unsigned char tempx; + AXI_PIXEL input_pixel; + RGB new_pix; + + //Receive through the AXI Stream In Interface 4 Bytes that Represent the Current Pixel. + input_pixel = STREAM_IN[col]; + + //Get the First Byte from the Received Data that Represents the Blue Value of the Pixel. + new_pix.B = input_pixel.data.range(7, 0); + + //Get the Second Byte from the Received Data that Represents the Green Value of the Pixel. + new_pix.G = input_pixel.data.range(15, 8); + + //Get the Third Byte from the Received Data that Represents the Red Value of the Pixel. + new_pix.R = input_pixel.data.range(23, 16); + + //Convert the Received Pixel from RGB to Y that Represents its Luminance Value. + tempx = rgb2y(new_pix); + + //Insert the Y Value of the Received Pixel to the Current Field of the LINE_BUFFER_SECTOR_8. + LINE_BUFFER_SECTOR_8->insert(tempx, row, col+1); + } + + //Insert the Y Value of the First Pixel of the LINE_BUFFER_SECTOR_8 to the Field Right After the Last Pixel of the LINE_BUFFER_SECTOR_7. + //The First Pixel of the LINE_BUFFER_SECTOR_8 is the Right Neighbor of the Last Pixel of the LINE_BUFFER_SECTOR_7 which is Required to Apply Sobel Edge Detection. + LINE_BUFFER_SECTOR_7->insert(LINE_BUFFER_SECTOR_8->getval(row, 1), row, sector_iter_array[7] + 1); + + //Insert the Y Value of the Last Pixel of the LINE_BUFFER_SECTOR_8 to the First Field of the LINE_BUFFER_SECTOR_9. + //The Last Pixel of the LINE_BUFFER_SECTOR_8 is the Left Neighbor of the First Pixel of the LINE_BUFFER_SECTOR_9 which is Required to Apply Sobel Edge Detection. + LINE_BUFFER_SECTOR_9->insert(LINE_BUFFER_SECTOR_8->getval(row, sector_iter_array[8]), row, 0); + + + /* Receive the Next Amount of Pixels of the Current Row that Should be Stored in the LINE_BUFFER_SECTOR_9. + * + * NOTE that this Loop Fills the Fields of the LINE_BUFFER_SECTOR_9 Starting from the Second Field. + * The First Field of the LINE_BUFFER_SECTOR_9 is Used to Insert the Last Pixel of the LINE_BUFFER_SECTOR_8. + * The Field Right After the Last Pixel of LINE_BUFFER_SECTOR_9 is Used to Insert the First Pixel of the LINE_BUFFER_SECTOR_10. + */ + loop_in_sector_9: + for (int col = 0; col < sector_iter_array[9]; col++) + { + #pragma HLS PIPELINE II=1 + + unsigned char tempx; + AXI_PIXEL input_pixel; + RGB new_pix; + + //Receive through the AXI Stream In Interface 4 Bytes that Represent the Current Pixel. + input_pixel = STREAM_IN[col]; + + //Get the First Byte from the Received Data that Represents the Blue Value of the Pixel. + new_pix.B = input_pixel.data.range(7, 0); + + //Get the Second Byte from the Received Data that Represents the Green Value of the Pixel. + new_pix.G = input_pixel.data.range(15, 8); + + //Get the Third Byte from the Received Data that Represents the Red Value of the Pixel. + new_pix.R = input_pixel.data.range(23, 16); + + //Convert the Received Pixel from RGB to Y that Represents its Luminance Value. + tempx = rgb2y(new_pix); + + //Insert the Y Value of the Received Pixel to the Current Field of the LINE_BUFFER_SECTOR_9. + LINE_BUFFER_SECTOR_9->insert(tempx, row, col+1); + } + + //Insert the Y Value of the First Pixel of the LINE_BUFFER_SECTOR_9 to the Field Right After the Last Pixel of the LINE_BUFFER_SECTOR_8. + //The First Pixel of the LINE_BUFFER_SECTOR_9 is the Right Neighbor of the Last Pixel of the LINE_BUFFER_SECTOR_8 which is Required to Apply Sobel Edge Detection. + LINE_BUFFER_SECTOR_8->insert(LINE_BUFFER_SECTOR_9->getval(row, 1), row, sector_iter_array[8] + 1); + + //Insert the Y Value of the Last Pixel of the LINE_BUFFER_SECTOR_9 to the First Field of the LINE_BUFFER_SECTOR_10. + //The Last Pixel of the LINE_BUFFER_SECTOR_9 is the Left Neighbor of the First Pixel of the LINE_BUFFER_SECTOR_10 which is Required to Apply Sobel Edge Detection. + LINE_BUFFER_SECTOR_10->insert(LINE_BUFFER_SECTOR_9->getval(row, sector_iter_array[9]), row, 0); + + + /* Receive the Next Amount of Pixels of the Current Row that Should be Stored in the LINE_BUFFER_SECTOR_10. + * + * NOTE that this Loop Fills the Fields of the LINE_BUFFER_SECTOR_10 Starting from the Second Field. + * The First Field of the LINE_BUFFER_SECTOR_10 is Used to Insert the Last Pixel of the LINE_BUFFER_SECTOR_9. + * The Field Right After the Last Pixel of LINE_BUFFER_SECTOR_10 is Used to Insert the First Pixel of the LINE_BUFFER_SECTOR_11. + */ + loop_in_sector_10: + for (int col = 0; col < sector_iter_array[10]; col++) + { + #pragma HLS PIPELINE II=1 + + unsigned char tempx; + AXI_PIXEL input_pixel; + RGB new_pix; + + //Receive through the AXI Stream In Interface 4 Bytes that Represent the Current Pixel. + input_pixel = STREAM_IN[col]; + + //Get the First Byte from the Received Data that Represents the Blue Value of the Pixel. + new_pix.B = input_pixel.data.range(7, 0); + + //Get the Second Byte from the Received Data that Represents the Green Value of the Pixel. + new_pix.G = input_pixel.data.range(15, 8); + + //Get the Third Byte from the Received Data that Represents the Red Value of the Pixel. + new_pix.R = input_pixel.data.range(23, 16); + + //Convert the Received Pixel from RGB to Y that Represents its Luminance Value. + tempx = rgb2y(new_pix); + + //Insert the Y Value of the Received Pixel to the Current Field of the LINE_BUFFER_SECTOR_10. + LINE_BUFFER_SECTOR_10->insert(tempx, row, col+1); + } + + //Insert the Y Value of the First Pixel of the LINE_BUFFER_SECTOR_10 to the Field Right After the Last Pixel of the LINE_BUFFER_SECTOR_9. + //The First Pixel of the LINE_BUFFER_SECTOR_10 is the Right Neighbor of the Last Pixel of the LINE_BUFFER_SECTOR_9 which is Required to Apply Sobel Edge Detection. + LINE_BUFFER_SECTOR_9->insert(LINE_BUFFER_SECTOR_10->getval(row, 1), row, sector_iter_array[9] + 1); + + //Insert the Y Value of the Last Pixel of the LINE_BUFFER_SECTOR_10 to the First Field of the LINE_BUFFER_SECTOR_11. + //The Last Pixel of the LINE_BUFFER_SECTOR_10 is the Left Neighbor of the First Pixel of the LINE_BUFFER_SECTOR_11 which is Required to Apply Sobel Edge Detection. + LINE_BUFFER_SECTOR_11->insert(LINE_BUFFER_SECTOR_10->getval(row, sector_iter_array[10]), row, 0); + + + /* Receive the Next Amount of Pixels of the Current Row that Should be Stored in the LINE_BUFFER_SECTOR_11. + * + * NOTE that this Loop Fills the Fields of the LINE_BUFFER_SECTOR_11 Starting from the Second Field. + * The First Field of the LINE_BUFFER_SECTOR_11 is Used to Insert the Last Pixel of the LINE_BUFFER_SECTOR_10. + * The Field Right After the Last Pixel of LINE_BUFFER_SECTOR_11 is Used to Insert the First Pixel of the LINE_BUFFER_SECTOR_12. + */ + loop_in_sector_11: + for (int col = 0; col < sector_iter_array[11]; col++) + { + #pragma HLS PIPELINE II=1 + + unsigned char tempx; + AXI_PIXEL input_pixel; + RGB new_pix; + + //Receive through the AXI Stream In Interface 4 Bytes that Represent the Current Pixel. + input_pixel = STREAM_IN[col]; + + //Get the First Byte from the Received Data that Represents the Blue Value of the Pixel. + new_pix.B = input_pixel.data.range(7, 0); + + //Get the Second Byte from the Received Data that Represents the Green Value of the Pixel. + new_pix.G = input_pixel.data.range(15, 8); + + //Get the Third Byte from the Received Data that Represents the Red Value of the Pixel. + new_pix.R = input_pixel.data.range(23, 16); + + //Convert the Received Pixel from RGB to Y that Represents its Luminance Value. + tempx = rgb2y(new_pix); + + //Insert the Y Value of the Received Pixel to the Current Field of the LINE_BUFFER_SECTOR_11. + LINE_BUFFER_SECTOR_11->insert(tempx, row, col+1); + } + + //Insert the Y Value of the First Pixel of the LINE_BUFFER_SECTOR_11 to the Field Right After the Last Pixel of the LINE_BUFFER_SECTOR_10. + //The First Pixel of the LINE_BUFFER_SECTOR_11 is the Right Neighbor of the Last Pixel of the LINE_BUFFER_SECTOR_10 which is Required to Apply Sobel Edge Detection. + LINE_BUFFER_SECTOR_10->insert(LINE_BUFFER_SECTOR_11->getval(row, 1), row, sector_iter_array[10] + 1); + + //Insert the Y Value of the Last Pixel of the LINE_BUFFER_SECTOR_11 to the First Field of the LINE_BUFFER_SECTOR_12. + //The Last Pixel of the LINE_BUFFER_SECTOR_11 is the Left Neighbor of the First Pixel of the LINE_BUFFER_SECTOR_12 which is Required to Apply Sobel Edge Detection. + LINE_BUFFER_SECTOR_12->insert(LINE_BUFFER_SECTOR_11->getval(row, sector_iter_array[11]), row, 0); + + + /* Receive the Next Amount of Pixels of the Current Row that Should be Stored in the LINE_BUFFER_SECTOR_12. + * + * NOTE that this Loop Fills the Fields of the LINE_BUFFER_SECTOR_12 Starting from the Second Field. + * The First Field of the LINE_BUFFER_SECTOR_12 is Used to Insert the Last Pixel of the LINE_BUFFER_SECTOR_11. + * The Field Right After the Last Pixel of LINE_BUFFER_SECTOR_12 is Used to Insert the First Pixel of the LINE_BUFFER_SECTOR_13. + */ + loop_in_sector_12: + for (int col = 0; col < sector_iter_array[12]; col++) + { + #pragma HLS PIPELINE II=1 + + unsigned char tempx; + AXI_PIXEL input_pixel; + RGB new_pix; + + //Receive through the AXI Stream In Interface 4 Bytes that Represent the Current Pixel. + input_pixel = STREAM_IN[col]; + + //Get the First Byte from the Received Data that Represents the Blue Value of the Pixel. + new_pix.B = input_pixel.data.range(7, 0); + + //Get the Second Byte from the Received Data that Represents the Green Value of the Pixel. + new_pix.G = input_pixel.data.range(15, 8); + + //Get the Third Byte from the Received Data that Represents the Red Value of the Pixel. + new_pix.R = input_pixel.data.range(23, 16); + + //Convert the Received Pixel from RGB to Y that Represents its Luminance Value. + tempx = rgb2y(new_pix); + + //Insert the Y Value of the Received Pixel to the Current Field of the LINE_BUFFER_SECTOR_12. + LINE_BUFFER_SECTOR_12->insert(tempx, row, col+1); + } + + //Insert the Y Value of the First Pixel of the LINE_BUFFER_SECTOR_12 to the Field Right After the Last Pixel of the LINE_BUFFER_SECTOR_11. + //The First Pixel of the LINE_BUFFER_SECTOR_12 is the Right Neighbor of the Last Pixel of the LINE_BUFFER_SECTOR_11 which is Required to Apply Sobel Edge Detection. + LINE_BUFFER_SECTOR_11->insert(LINE_BUFFER_SECTOR_12->getval(row, 1), row, sector_iter_array[11] + 1); + + //Insert the Y Value of the Last Pixel of the LINE_BUFFER_SECTOR_12 to the First Field of the LINE_BUFFER_SECTOR_13. + //The Last Pixel of the LINE_BUFFER_SECTOR_12 is the Left Neighbor of the First Pixel of the LINE_BUFFER_SECTOR_13 which is Required to Apply Sobel Edge Detection. + LINE_BUFFER_SECTOR_13->insert(LINE_BUFFER_SECTOR_12->getval(row, sector_iter_array[12]), row, 0); + + + /* Receive the Next Amount of Pixels of the Current Row that Should be Stored in the LINE_BUFFER_SECTOR_13. + * + * NOTE that this Loop Fills the Fields of the LINE_BUFFER_SECTOR_13 Starting from the Second Field. + * The First Field of the LINE_BUFFER_SECTOR_13 is Used to Insert the Last Pixel of the LINE_BUFFER_SECTOR_12. + * The Field Right After the Last Pixel of LINE_BUFFER_SECTOR_13 is Used to Insert the First Pixel of the LINE_BUFFER_SECTOR_14. + */ + loop_in_sector_13: + for (int col = 0; col < sector_iter_array[13]; col++) + { + #pragma HLS PIPELINE II=1 + + unsigned char tempx; + AXI_PIXEL input_pixel; + RGB new_pix; + + //Receive through the AXI Stream In Interface 4 Bytes that Represent the Current Pixel. + input_pixel = STREAM_IN[col]; + + //Get the First Byte from the Received Data that Represents the Blue Value of the Pixel. + new_pix.B = input_pixel.data.range(7, 0); + + //Get the Second Byte from the Received Data that Represents the Green Value of the Pixel. + new_pix.G = input_pixel.data.range(15, 8); + + //Get the Third Byte from the Received Data that Represents the Red Value of the Pixel. + new_pix.R = input_pixel.data.range(23, 16); + + //Convert the Received Pixel from RGB to Y that Represents its Luminance Value. + tempx = rgb2y(new_pix); + + //Insert the Y Value of the Received Pixel to the Current Field of the LINE_BUFFER_SECTOR_13. + LINE_BUFFER_SECTOR_13->insert(tempx, row, col+1); + } + + //Insert the Y Value of the First Pixel of the LINE_BUFFER_SECTOR_13 to the Field Right After the Last Pixel of the LINE_BUFFER_SECTOR_12. + //The First Pixel of the LINE_BUFFER_SECTOR_13 is the Right Neighbor of the Last Pixel of the LINE_BUFFER_SECTOR_12 which is Required to Apply Sobel Edge Detection. + LINE_BUFFER_SECTOR_12->insert(LINE_BUFFER_SECTOR_13->getval(row, 1), row, sector_iter_array[12] + 1); + + //Insert the Y Value of the Last Pixel of the LINE_BUFFER_SECTOR_13 to the First Field of the LINE_BUFFER_SECTOR_14. + //The Last Pixel of the LINE_BUFFER_SECTOR_13 is the Left Neighbor of the First Pixel of the LINE_BUFFER_SECTOR_14 which is Required to Apply Sobel Edge Detection. + LINE_BUFFER_SECTOR_14->insert(LINE_BUFFER_SECTOR_13->getval(row, sector_iter_array[13]), row, 0); + + + /* Receive the Next Amount of Pixels of the Current Row that Should be Stored in the LINE_BUFFER_SECTOR_14. + * + * NOTE that this Loop Fills the Fields of the LINE_BUFFER_SECTOR_14 Starting from the Second Field. + * The First Field of the LINE_BUFFER_SECTOR_14 is Used to Insert the Last Pixel of the LINE_BUFFER_SECTOR_13. + * The Field Right After the Last Pixel of LINE_BUFFER_SECTOR_14 is Used to Insert the First Pixel of the LINE_BUFFER_SECTOR_15. + */ + loop_in_sector_14: + for (int col = 0; col < sector_iter_array[14]; col++) + { + #pragma HLS PIPELINE II=1 + + unsigned char tempx; + AXI_PIXEL input_pixel; + RGB new_pix; + + //Receive through the AXI Stream In Interface 4 Bytes that Represent the Current Pixel. + input_pixel = STREAM_IN[col]; + + //Get the First Byte from the Received Data that Represents the Blue Value of the Pixel. + new_pix.B = input_pixel.data.range(7, 0); + + //Get the Second Byte from the Received Data that Represents the Green Value of the Pixel. + new_pix.G = input_pixel.data.range(15, 8); + + //Get the Third Byte from the Received Data that Represents the Red Value of the Pixel. + new_pix.R = input_pixel.data.range(23, 16); + + //Convert the Received Pixel from RGB to Y that Represents its Luminance Value. + tempx = rgb2y(new_pix); + + //Insert the Y Value of the Received Pixel to the Current Field of the LINE_BUFFER_SECTOR_14. + LINE_BUFFER_SECTOR_14->insert(tempx, row, col+1); + } + + //Insert the Y Value of the First Pixel of the LINE_BUFFER_SECTOR_14 to the Field Right After the Last Pixel of the LINE_BUFFER_SECTOR_13. + //The First Pixel of the LINE_BUFFER_SECTOR_14 is the Right Neighbor of the Last Pixel of the LINE_BUFFER_SECTOR_13 which is Required to Apply Sobel Edge Detection. + LINE_BUFFER_SECTOR_13->insert(LINE_BUFFER_SECTOR_14->getval(row, 1), row, sector_iter_array[13] + 1); + + //Insert the Y Value of the Last Pixel of the LINE_BUFFER_SECTOR_14 to the First Field of the LINE_BUFFER_SECTOR_15. + //The Last Pixel of the LINE_BUFFER_SECTOR_14 is the Left Neighbor of the First Pixel of the LINE_BUFFER_SECTOR_15 which is Required to Apply Sobel Edge Detection. + LINE_BUFFER_SECTOR_15->insert(LINE_BUFFER_SECTOR_14->getval(row, sector_iter_array[14]), row, 0); + + + /* Receive the Next Amount of Pixels of the Current Row that Should be Stored in the LINE_BUFFER_SECTOR_15. + * + * NOTE that this Loop Fills the Fields of the LINE_BUFFER_SECTOR_15 Starting from the Second Field. + * The First Field of the LINE_BUFFER_SECTOR_15 is Used to Insert the Last Pixel of the LINE_BUFFER_SECTOR_14. + */ + loop_in_sector_15: + for (int col = 0; col < sector_iter_array[15]; col++) + { + #pragma HLS PIPELINE II=1 + + unsigned char tempx; + AXI_PIXEL input_pixel; + RGB new_pix; + + //Receive through the AXI Stream In Interface 4 Bytes that Represent the Current Pixel. + input_pixel = STREAM_IN[col]; + + //Get the First Byte from the Received Data that Represents the Blue Value of the Pixel. + new_pix.B = input_pixel.data.range(7, 0); + + //Get the Second Byte from the Received Data that Represents the Green Value of the Pixel. + new_pix.G = input_pixel.data.range(15, 8); + + //Get the Third Byte from the Received Data that Represents the Red Value of the Pixel. + new_pix.R = input_pixel.data.range(23, 16); + + //Convert the Received Pixel from RGB to Y that Represents its Luminance Value. + tempx = rgb2y(new_pix); + + //Insert the Y Value of the Received Pixel to the Current Field of the LINE_BUFFER_SECTOR_15. + LINE_BUFFER_SECTOR_15->insert(tempx, row, col+1); + } + + //Insert the Y Value of the First Pixel of the LINE_BUFFER_SECTOR_15 to the Field Right After the Last Pixel of the LINE_BUFFER_SECTOR_14. + //The First Pixel of the LINE_BUFFER_SECTOR_15 is the Right Neighbor of the Last Pixel of the LINE_BUFFER_SECTOR_14 which is Required to Apply Sobel Edge Detection. + LINE_BUFFER_SECTOR_14->insert(LINE_BUFFER_SECTOR_15->getval(row, 1), row, sector_iter_array[14] + 1); + + } + +/* + * send_line() + * + * Send a Processed Image Row through the AXI Stream Out Interface. + * The Processed Image is Distributed in the 16 One Line Sector Buffers so the send_line() will Send the Pixels of each Sector Buffer Sequencially. + */ +void send_line(AXI_PIXEL *STREAM_OUT, + LINE1_SECTOR_BUFFER *OUTPUT_BUFFER_SECTOR_0, + LINE1_SECTOR_BUFFER *OUTPUT_BUFFER_SECTOR_1, + LINE1_SECTOR_BUFFER *OUTPUT_BUFFER_SECTOR_2, + LINE1_SECTOR_BUFFER *OUTPUT_BUFFER_SECTOR_3, + LINE1_SECTOR_BUFFER *OUTPUT_BUFFER_SECTOR_4, + LINE1_SECTOR_BUFFER *OUTPUT_BUFFER_SECTOR_5, + LINE1_SECTOR_BUFFER *OUTPUT_BUFFER_SECTOR_6, + LINE1_SECTOR_BUFFER *OUTPUT_BUFFER_SECTOR_7, + LINE1_SECTOR_BUFFER *OUTPUT_BUFFER_SECTOR_8, + LINE1_SECTOR_BUFFER *OUTPUT_BUFFER_SECTOR_9, + LINE1_SECTOR_BUFFER *OUTPUT_BUFFER_SECTOR_10, + LINE1_SECTOR_BUFFER *OUTPUT_BUFFER_SECTOR_11, + LINE1_SECTOR_BUFFER *OUTPUT_BUFFER_SECTOR_12, + LINE1_SECTOR_BUFFER *OUTPUT_BUFFER_SECTOR_13, + LINE1_SECTOR_BUFFER *OUTPUT_BUFFER_SECTOR_14, + LINE1_SECTOR_BUFFER *OUTPUT_BUFFER_SECTOR_15, + int *sector_iter_array, + int packet_mode_enable, + int packet_size, + int *remain_bytes) +{ + + int index = 0; + AXI_PIXEL output_pixel; + + output_pixel.strb = 0xF; //Set the Strobe of the AXI Stream Interface so that all 4 Transmitted Bytes are Valid. + output_pixel.user = 0x1; + output_pixel.tdest = 0x1; + + /* + * Send ALL the Pixels of the Processed Row that are Stored in the OUTPUT_BUFFER_SECTOR_0 (One Line Sector Buffer). + */ + loop_out_sector_0: + for (int col = 0; col < sector_iter_array[0]; col++) + { + #pragma HLS PIPELINE II=1 + RGB convert; + + //Get the Processed Pixel from the Current Field of the OUTPUT_BUFFER_SECTOR_0. + convert = OUTPUT_BUFFER_SECTOR_0->getval(0, col); + + //If the Packet Mode is Enabled then we Have to Set the TLAST to 1 if a Full Packet of Size packet_size is Transmitted. + if (packet_mode_enable == 1) + { + //The TLAST(last) Gets the Return Value of the is_packet_complete() which Returns 1 if the Number of Transmitted Bytes is Equal to the Packet Size. + output_pixel.last = is_packet_complete(remain_bytes, packet_size); + } + else + { + output_pixel.last = 0x0; + } + + //Set the First Byte of the Output Data with the Blue Value of the Pixel. + output_pixel.data.range(7, 0) = convert.B; + + //Set the Second Byte of the Output Data with the Green Value of the Pixel. + output_pixel.data.range(15, 8) = convert.G; + + //Set the Third Byte of the Output Data with the Red Value of the Pixel. + output_pixel.data.range(23, 16) = convert.R; + + //Send the Current Processed Pixel through the AXI Stream Out Interface. + STREAM_OUT[index++] = output_pixel; + } + + + /* + * Send ALL the Pixels of the Processed Row that are Stored in the OUTPUT_BUFFER_SECTOR_1 (One Line Sector Buffer). + */ + loop_out_sector_1: + for (int col = 0; col < sector_iter_array[1]; col++) + { + #pragma HLS PIPELINE II=1 + RGB convert; + + //Get the Processed Pixel from the Current Field of the OUTPUT_BUFFER_SECTOR_1. + convert = OUTPUT_BUFFER_SECTOR_1->getval(0, col); + + //If the Packet Mode is Enabled then we Have to Set the TLAST to 1 if a Full Packet of Size packet_size is Transmitted. + if (packet_mode_enable == 1) + { + //The TLAST(last) Gets the Return Value of the is_packet_complete() which Returns 1 if the Number of Transmitted Bytes is Equal to the Packet Size. + output_pixel.last = is_packet_complete(remain_bytes, packet_size); + } + else + { + output_pixel.last = 0x0; + } + + //Set the First Byte of the Output Data with the Blue Value of the Pixel. + output_pixel.data.range(7, 0) = convert.B; + + //Set the Second Byte of the Output Data with the Green Value of the Pixel. + output_pixel.data.range(15, 8) = convert.G; + + //Set the Third Byte of the Output Data with the Red Value of the Pixel. + output_pixel.data.range(23, 16) = convert.R; + + //Send the Current Processed Pixel through the AXI Stream Out Interface. + STREAM_OUT[index++] = output_pixel; + } + + + /* + * Send ALL the Pixels of the Processed Row that are Stored in the OUTPUT_BUFFER_SECTOR_2 (One Line Sector Buffer). + */ + loop_out_sector_2: + for (int col = 0; col < sector_iter_array[2]; col++) + { + #pragma HLS PIPELINE II=1 + RGB convert; + + //Get the Processed Pixel from the Current Field of the OUTPUT_BUFFER_SECTOR_2. + convert = OUTPUT_BUFFER_SECTOR_2->getval(0, col); + + //If the Packet Mode is Enabled then we Have to Set the TLAST to 1 if a Full Packet of Size packet_size is Transmitted. + if (packet_mode_enable == 1) + { + //The TLAST(last) Gets the Return Value of the is_packet_complete() which Returns 1 if the Number of Transmitted Bytes is Equal to the Packet Size. + output_pixel.last = is_packet_complete(remain_bytes, packet_size); + } + else + { + output_pixel.last = 0x0; + } + + //Set the First Byte of the Output Data with the Blue Value of the Pixel. + output_pixel.data.range(7, 0) = convert.B; + + //Set the Second Byte of the Output Data with the Green Value of the Pixel. + output_pixel.data.range(15, 8) = convert.G; + + //Set the Third Byte of the Output Data with the Red Value of the Pixel. + output_pixel.data.range(23, 16) = convert.R; + + //Send the Current Processed Pixel through the AXI Stream Out Interface. + STREAM_OUT[index++] = output_pixel; + } + + + /* + * Send ALL the Pixels of the Processed Row that are Stored in the OUTPUT_BUFFER_SECTOR_3 (One Line Sector Buffer). + */ + loop_out_sector_3: + for (int col = 0; col < sector_iter_array[3]; col++) + { + #pragma HLS PIPELINE II=1 + RGB convert; + + //Get the Processed Pixel from the Current Field of the OUTPUT_BUFFER_SECTOR_3. + convert = OUTPUT_BUFFER_SECTOR_3->getval(0, col); + + //If the Packet Mode is Enabled then we Have to Set the TLAST to 1 if a Full Packet of Size packet_size is Transmitted. + if (packet_mode_enable == 1) + { + //The TLAST(last) Gets the Return Value of the is_packet_complete() which Returns 1 if the Number of Transmitted Bytes is Equal to the Packet Size. + output_pixel.last = is_packet_complete(remain_bytes, packet_size); + } + else + { + output_pixel.last = 0x0; + } + + //Set the First Byte of the Output Data with the Blue Value of the Pixel. + output_pixel.data.range(7, 0) = convert.B; + + //Set the Second Byte of the Output Data with the Green Value of the Pixel. + output_pixel.data.range(15, 8) = convert.G; + + //Set the Third Byte of the Output Data with the Red Value of the Pixel. + output_pixel.data.range(23, 16) = convert.R; + + //Send the Current Processed Pixel through the AXI Stream Out Interface. + STREAM_OUT[index++] = output_pixel; + } + + + /* + * Send ALL the Pixels of the Processed Row that are Stored in the OUTPUT_BUFFER_SECTOR_4 (One Line Sector Buffer). + */ + loop_out_sector_4: + for (int col = 0; col < sector_iter_array[4]; col++) + { + #pragma HLS PIPELINE II=1 + RGB convert; + + //Get the Processed Pixel from the Current Field of the OUTPUT_BUFFER_SECTOR_4. + convert = OUTPUT_BUFFER_SECTOR_4->getval(0, col); + + //If the Packet Mode is Enabled then we Have to Set the TLAST to 1 if a Full Packet of Size packet_size is Transmitted. + if (packet_mode_enable == 1) + { + //The TLAST(last) Gets the Return Value of the is_packet_complete() which Returns 1 if the Number of Transmitted Bytes is Equal to the Packet Size. + output_pixel.last = is_packet_complete(remain_bytes, packet_size); + } + else + { + output_pixel.last = 0x0; + } + + //Set the First Byte of the Output Data with the Blue Value of the Pixel. + output_pixel.data.range(7, 0) = convert.B; + + //Set the Second Byte of the Output Data with the Green Value of the Pixel. + output_pixel.data.range(15, 8) = convert.G; + + //Set the Third Byte of the Output Data with the Red Value of the Pixel. + output_pixel.data.range(23, 16) = convert.R; + + //Send the Current Processed Pixel through the AXI Stream Out Interface. + STREAM_OUT[index++] = output_pixel; + } + + + /* + * Send ALL the Pixels of the Processed Row that are Stored in the OUTPUT_BUFFER_SECTOR_5 (One Line Sector Buffer). + */ + loop_out_sector_5: + for (int col = 0; col < sector_iter_array[5]; col++) + { + #pragma HLS PIPELINE II=1 + RGB convert; + + //Get the Processed Pixel from the Current Field of the OUTPUT_BUFFER_SECTOR_5. + convert = OUTPUT_BUFFER_SECTOR_5->getval(0, col); + + //If the Packet Mode is Enabled then we Have to Set the TLAST to 1 if a Full Packet of Size packet_size is Transmitted. + if (packet_mode_enable == 1) + { + //The TLAST(last) Gets the Return Value of the is_packet_complete() which Returns 1 if the Number of Transmitted Bytes is Equal to the Packet Size. + output_pixel.last = is_packet_complete(remain_bytes, packet_size); + } + else + { + output_pixel.last = 0x0; + } + + //Set the First Byte of the Output Data with the Blue Value of the Pixel. + output_pixel.data.range(7, 0) = convert.B; + + //Set the Second Byte of the Output Data with the Green Value of the Pixel. + output_pixel.data.range(15, 8) = convert.G; + + //Set the Third Byte of the Output Data with the Red Value of the Pixel. + output_pixel.data.range(23, 16) = convert.R; + + //Send the Current Processed Pixel through the AXI Stream Out Interface. + STREAM_OUT[index++] = output_pixel; + } + + + /* + * Send ALL the Pixels of the Processed Row that are Stored in the OUTPUT_BUFFER_SECTOR_6 (One Line Sector Buffer). + */ + loop_out_sector_6: + for (int col = 0; col < sector_iter_array[6]; col++) + { + #pragma HLS PIPELINE II=1 + RGB convert; + + //Get the Processed Pixel from the Current Field of the OUTPUT_BUFFER_SECTOR_6. + convert = OUTPUT_BUFFER_SECTOR_6->getval(0, col); + + //If the Packet Mode is Enabled then we Have to Set the TLAST to 1 if a Full Packet of Size packet_size is Transmitted. + if (packet_mode_enable == 1) + { + //The TLAST(last) Gets the Return Value of the is_packet_complete() which Returns 1 if the Number of Transmitted Bytes is Equal to the Packet Size. + output_pixel.last = is_packet_complete(remain_bytes, packet_size); + } + else + { + output_pixel.last = 0x0; + } + + //Set the First Byte of the Output Data with the Blue Value of the Pixel. + output_pixel.data.range(7, 0) = convert.B; + + //Set the Second Byte of the Output Data with the Green Value of the Pixel. + output_pixel.data.range(15, 8) = convert.G; + + //Set the Third Byte of the Output Data with the Red Value of the Pixel. + output_pixel.data.range(23, 16) = convert.R; + + //Send the Current Processed Pixel through the AXI Stream Out Interface. + STREAM_OUT[index++] = output_pixel; + } + + + /* + * Send ALL the Pixels of the Processed Row that are Stored in the OUTPUT_BUFFER_SECTOR_7 (One Line Sector Buffer). + */ + loop_out_sector_7: + for (int col = 0; col < sector_iter_array[7]; col++) + { + #pragma HLS PIPELINE II=1 + RGB convert; + + //Get the Processed Pixel from the Current Field of the OUTPUT_BUFFER_SECTOR_7. + convert = OUTPUT_BUFFER_SECTOR_7->getval(0, col); + + //If the Packet Mode is Enabled then we Have to Set the TLAST to 1 if a Full Packet of Size packet_size is Transmitted. + if (packet_mode_enable == 1) + { + //The TLAST(last) Gets the Return Value of the is_packet_complete() which Returns 1 if the Number of Transmitted Bytes is Equal to the Packet Size. + output_pixel.last = is_packet_complete(remain_bytes, packet_size); + } + else + { + output_pixel.last = 0x0; + } + + //Set the First Byte of the Output Data with the Blue Value of the Pixel. + output_pixel.data.range(7, 0) = convert.B; + + //Set the Second Byte of the Output Data with the Green Value of the Pixel. + output_pixel.data.range(15, 8) = convert.G; + + //Set the Third Byte of the Output Data with the Red Value of the Pixel. + output_pixel.data.range(23, 16) = convert.R; + + //Send the Current Processed Pixel through the AXI Stream Out Interface. + STREAM_OUT[index++] = output_pixel; + } + + + /* + * Send ALL the Pixels of the Processed Row that are Stored in the OUTPUT_BUFFER_SECTOR_8 (One Line Sector Buffer). + */ + loop_out_sector_8: + for (int col = 0; col < sector_iter_array[8]; col++) + { + #pragma HLS PIPELINE II=1 + RGB convert; + + //Get the Processed Pixel from the Current Field of the OUTPUT_BUFFER_SECTOR_8. + convert = OUTPUT_BUFFER_SECTOR_8->getval(0, col); + + //If the Packet Mode is Enabled then we Have to Set the TLAST to 1 if a Full Packet of Size packet_size is Transmitted. + if (packet_mode_enable == 1) + { + //The TLAST(last) Gets the Return Value of the is_packet_complete() which Returns 1 if the Number of Transmitted Bytes is Equal to the Packet Size. + output_pixel.last = is_packet_complete(remain_bytes, packet_size); + } + else + { + output_pixel.last = 0x0; + } + + //Set the First Byte of the Output Data with the Blue Value of the Pixel. + output_pixel.data.range(7, 0) = convert.B; + + //Set the Second Byte of the Output Data with the Green Value of the Pixel. + output_pixel.data.range(15, 8) = convert.G; + + //Set the Third Byte of the Output Data with the Red Value of the Pixel. + output_pixel.data.range(23, 16) = convert.R; + + //Send the Current Processed Pixel through the AXI Stream Out Interface. + STREAM_OUT[index++] = output_pixel; + } + + + /* + * Send ALL the Pixels of the Processed Row that are Stored in the OUTPUT_BUFFER_SECTOR_9 (One Line Sector Buffer). + */ + loop_out_sector_9: + for (int col = 0; col < sector_iter_array[9]; col++) + { + #pragma HLS PIPELINE II=1 + RGB convert; + + //Get the Processed Pixel from the Current Field of the OUTPUT_BUFFER_SECTOR_9. + convert = OUTPUT_BUFFER_SECTOR_9->getval(0, col); + + //If the Packet Mode is Enabled then we Have to Set the TLAST to 1 if a Full Packet of Size packet_size is Transmitted. + if (packet_mode_enable == 1) + { + //The TLAST(last) Gets the Return Value of the is_packet_complete() which Returns 1 if the Number of Transmitted Bytes is Equal to the Packet Size. + output_pixel.last = is_packet_complete(remain_bytes, packet_size); + } + else + { + output_pixel.last = 0x0; + } + + //Set the First Byte of the Output Data with the Blue Value of the Pixel. + output_pixel.data.range(7, 0) = convert.B; + + //Set the Second Byte of the Output Data with the Green Value of the Pixel. + output_pixel.data.range(15, 8) = convert.G; + + //Set the Third Byte of the Output Data with the Red Value of the Pixel. + output_pixel.data.range(23, 16) = convert.R; + + //Send the Current Processed Pixel through the AXI Stream Out Interface. + STREAM_OUT[index++] = output_pixel; + } + + + /* + * Send ALL the Pixels of the Processed Row that are Stored in the OUTPUT_BUFFER_SECTOR_10 (One Line Sector Buffer). + */ + loop_out_sector_10: + for (int col = 0; col < sector_iter_array[10]; col++) + { + #pragma HLS PIPELINE II=1 + RGB convert; + + //Get the Processed Pixel from the Current Field of the OUTPUT_BUFFER_SECTOR_10. + convert = OUTPUT_BUFFER_SECTOR_10->getval(0, col); + + //If the Packet Mode is Enabled then we Have to Set the TLAST to 1 if a Full Packet of Size packet_size is Transmitted. + if (packet_mode_enable == 1) + { + //The TLAST(last) Gets the Return Value of the is_packet_complete() which Returns 1 if the Number of Transmitted Bytes is Equal to the Packet Size. + output_pixel.last = is_packet_complete(remain_bytes, packet_size); + } + else + { + output_pixel.last = 0x0; + } + + //Set the First Byte of the Output Data with the Blue Value of the Pixel. + output_pixel.data.range(7, 0) = convert.B; + + //Set the Second Byte of the Output Data with the Green Value of the Pixel. + output_pixel.data.range(15, 8) = convert.G; + + //Set the Third Byte of the Output Data with the Red Value of the Pixel. + output_pixel.data.range(23, 16) = convert.R; + + //Send the Current Processed Pixel through the AXI Stream Out Interface. + STREAM_OUT[index++] = output_pixel; + } + + + /* + * Send ALL the Pixels of the Processed Row that are Stored in the OUTPUT_BUFFER_SECTOR_11 (One Line Sector Buffer). + */ + loop_out_sector_11: + for (int col = 0; col < sector_iter_array[11]; col++) + { + #pragma HLS PIPELINE II=1 + RGB convert; + + //Get the Processed Pixel from the Current Field of the OUTPUT_BUFFER_SECTOR_11. + convert = OUTPUT_BUFFER_SECTOR_11->getval(0, col); + + //If the Packet Mode is Enabled then we Have to Set the TLAST to 1 if a Full Packet of Size packet_size is Transmitted. + if (packet_mode_enable == 1) + { + //The TLAST(last) Gets the Return Value of the is_packet_complete() which Returns 1 if the Number of Transmitted Bytes is Equal to the Packet Size. + output_pixel.last = is_packet_complete(remain_bytes, packet_size); + } + else + { + output_pixel.last = 0x0; + } + + //Set the First Byte of the Output Data with the Blue Value of the Pixel. + output_pixel.data.range(7, 0) = convert.B; + + //Set the Second Byte of the Output Data with the Green Value of the Pixel. + output_pixel.data.range(15, 8) = convert.G; + + //Set the Third Byte of the Output Data with the Red Value of the Pixel. + output_pixel.data.range(23, 16) = convert.R; + + //Send the Current Processed Pixel through the AXI Stream Out Interface. + STREAM_OUT[index++] = output_pixel; + } + + + /* + * Send ALL the Pixels of the Processed Row that are Stored in the OUTPUT_BUFFER_SECTOR_12 (One Line Sector Buffer). + */ + loop_out_sector_12: + for (int col = 0; col < sector_iter_array[12]; col++) + { + #pragma HLS PIPELINE II=1 + RGB convert; + + //Get the Processed Pixel from the Current Field of the OUTPUT_BUFFER_SECTOR_12. + convert = OUTPUT_BUFFER_SECTOR_12->getval(0, col); + + //If the Packet Mode is Enabled then we Have to Set the TLAST to 1 if a Full Packet of Size packet_size is Transmitted. + if (packet_mode_enable == 1) + { + //The TLAST(last) Gets the Return Value of the is_packet_complete() which Returns 1 if the Number of Transmitted Bytes is Equal to the Packet Size. + output_pixel.last = is_packet_complete(remain_bytes, packet_size); + } + else + { + output_pixel.last = 0x0; + } + + //Set the First Byte of the Output Data with the Blue Value of the Pixel. + output_pixel.data.range(7, 0) = convert.B; + + //Set the Second Byte of the Output Data with the Green Value of the Pixel. + output_pixel.data.range(15, 8) = convert.G; + + //Set the Third Byte of the Output Data with the Red Value of the Pixel. + output_pixel.data.range(23, 16) = convert.R; + + //Send the Current Processed Pixel through the AXI Stream Out Interface. + STREAM_OUT[index++] = output_pixel; + } + + + /* + * Send ALL the Pixels of the Processed Row that are Stored in the OUTPUT_BUFFER_SECTOR_13 (One Line Sector Buffer). + */ + loop_out_sector_13: + for (int col = 0; col < sector_iter_array[13]; col++) + { + #pragma HLS PIPELINE II=1 + RGB convert; + + //Get the Processed Pixel from the Current Field of the OUTPUT_BUFFER_SECTOR_13. + convert = OUTPUT_BUFFER_SECTOR_13->getval(0, col); + + //If the Packet Mode is Enabled then we Have to Set the TLAST to 1 if a Full Packet of Size packet_size is Transmitted. + if (packet_mode_enable == 1) + { + //The TLAST(last) Gets the Return Value of the is_packet_complete() which Returns 1 if the Number of Transmitted Bytes is Equal to the Packet Size. + output_pixel.last = is_packet_complete(remain_bytes, packet_size); + } + else + { + output_pixel.last = 0x0; + } + + //Set the First Byte of the Output Data with the Blue Value of the Pixel. + output_pixel.data.range(7, 0) = convert.B; + + //Set the Second Byte of the Output Data with the Green Value of the Pixel. + output_pixel.data.range(15, 8) = convert.G; + + //Set the Third Byte of the Output Data with the Red Value of the Pixel. + output_pixel.data.range(23, 16) = convert.R; + + //Send the Current Processed Pixel through the AXI Stream Out Interface. + STREAM_OUT[index++] = output_pixel; + } + + + /* + * Send ALL the Pixels of the Processed Row that are Stored in the OUTPUT_BUFFER_SECTOR_14 (One Line Sector Buffer). + */ + loop_out_sector_14: + for (int col = 0; col < sector_iter_array[14]; col++) + { + #pragma HLS PIPELINE II=1 + RGB convert; + + //Get the Processed Pixel from the Current Field of the OUTPUT_BUFFER_SECTOR_14. + convert = OUTPUT_BUFFER_SECTOR_14->getval(0, col); + + //If the Packet Mode is Enabled then we Have to Set the TLAST to 1 if a Full Packet of Size packet_size is Transmitted. + if (packet_mode_enable == 1) + { + //The TLAST(last) Gets the Return Value of the is_packet_complete() which Returns 1 if the Number of Transmitted Bytes is Equal to the Packet Size. + output_pixel.last = is_packet_complete(remain_bytes, packet_size); + } + else + { + output_pixel.last = 0x0; + } + + //Set the First Byte of the Output Data with the Blue Value of the Pixel. + output_pixel.data.range(7, 0) = convert.B; + + //Set the Second Byte of the Output Data with the Green Value of the Pixel. + output_pixel.data.range(15, 8) = convert.G; + + //Set the Third Byte of the Output Data with the Red Value of the Pixel. + output_pixel.data.range(23, 16) = convert.R; + + //Send the Current Processed Pixel through the AXI Stream Out Interface. + STREAM_OUT[index++] = output_pixel; + } + + + /* + * Send ALL the Pixels of the Processed Row that are Stored in the OUTPUT_BUFFER_SECTOR_15 (One Line Sector Buffer). + */ + loop_out_sector_15: + for (int col = 0; col < sector_iter_array[15]; col++) + { + #pragma HLS PIPELINE II=1 + RGB convert; + + //Get the Processed Pixel from the Current Field of the OUTPUT_BUFFER_SECTOR_15. + convert = OUTPUT_BUFFER_SECTOR_15->getval(0, col); + + //If the Packet Mode is Enabled then we Have to Set the TLAST to 1 if a Full Packet of Size packet_size is Transmitted. + if (packet_mode_enable == 1) + { + //The TLAST(last) Gets the Return Value of the is_packet_complete() which Returns 1 if the Number of Transmitted Bytes is Equal to the Packet Size. + output_pixel.last = is_packet_complete(remain_bytes, packet_size); + } + else + { + output_pixel.last = 0x0; + } + + //Set the First Byte of the Output Data with the Blue Value of the Pixel. + output_pixel.data.range(7, 0) = convert.B; + + //Set the Second Byte of the Output Data with the Green Value of the Pixel. + output_pixel.data.range(15, 8) = convert.G; + + //Set the Third Byte of the Output Data with the Red Value of the Pixel. + output_pixel.data.range(23, 16) = convert.R; + + //Send the Current Processed Pixel through the AXI Stream Out Interface. + STREAM_OUT[index++] = output_pixel; + } + +} diff --git a/Hardware/Vivado_HLS_IPs/Sobel_Filter/sobel_operations.h b/Hardware/Vivado_HLS_IPs/Sobel_Filter/sobel_operations.h new file mode 100644 index 0000000..f81a2e0 --- /dev/null +++ b/Hardware/Vivado_HLS_IPs/Sobel_Filter/sobel_operations.h @@ -0,0 +1,195 @@ +#ifndef _SOBEL_OPERATIONS_H_ +#define _SOBEL_OPERATIONS_H_ + +unsigned char rgb2y(RGB pix); + +/* + * Template of the sobel_operator() + * + * The sobel_operator() Makes Sobel Computation Using a 3x3 Neighborhood + */ +template +RGB sobel_operator(LINE4_SECTOR_BUFFER *window, + unsigned int x_index, + unsigned int y_first, + unsigned int y_second, + unsigned int y_last) +{ + #pragma HLS INLINE off + #pragma HLS EXPRESSION_BALANCE off + + short x_weight = 0; + short y_weight = 0; + + short x_weight_array[9]; + #pragma HLS ARRAY_PARTITION variable=x_weight_array complete dim=1 + short y_weight_array[9]; + #pragma HLS ARRAY_PARTITION variable=y_weight_array complete dim=1 + + short edge_weight; + unsigned char edge_val; + RGB pixel; + + const char x_op[3][3] = { {-1, 0, 1}, + {-2, 0, 2}, + {-1, 0, 1}}; + #pragma HLS ARRAY_PARTITION variable=x_op complete dim=1 + + const char y_op[3][3] = { { 1, 2, 1}, + { 0, 0, 0}, + {-1,-2,-1}}; + #pragma HLS ARRAY_PARTITION variable=y_op complete dim=1 + + sobel_mul: + { + #pragma HLS PIPELINE II=1 + + //Compute Approximation of the Gradients in the X-Y Direction for the First Row of x_op and y_op. + for(char j = 0; j < 3; j++) + { + #pragma HLS UNROLL + #pragma HLS PIPELINE II=1 + + // X Direction Gradient + x_weight_array[j] = (window->getval(y_first,x_index + j) * x_op[0][j]); + // Y Direction Gradient + y_weight_array[j] = (window->getval(y_first,x_index + j) * y_op[0][j]); + } + + //Compute Approximation of the Gradients in the X-Y Direction for the Second Row of x_op and y_op. + for(char j = 0; j < 3; j++) + { + #pragma HLS UNROLL + #pragma HLS PIPELINE II=1 + + // X Direction Gradient + x_weight_array[3+j] = (window->getval(y_second,x_index + j) * x_op[1][j]); + // Y Direction Gradient + y_weight_array[3+j] = (window->getval(y_second,x_index + j) * y_op[1][j]); + } + + //Compute Approximation of the Gradients in the X-Y Direction for the Third Row of x_op and y_op. + for(char j = 0; j < 3; j++){ + #pragma HLS UNROLL + #pragma HLS PIPELINE II=1 + + // X Direction Gradient + x_weight_array[6+j] = (window->getval(y_last,x_index + j) * x_op[2][j]); + // Y Direction Gradient + y_weight_array[6+j] = (window->getval(y_last,x_index + j) * y_op[2][j]); + } + + } + + for(char j = 0; j < 9; j++) { + #pragma HLS UNROLL + #pragma HLS PIPELINE II=1 + + // X Direction Gradient + x_weight += x_weight_array[j]; + // Y Direction Gradient + y_weight += y_weight_array[j]; + } + + edge_weight = ABS(x_weight) + ABS(y_weight); + + edge_val = (255-(unsigned char)(edge_weight)); + + //Edge Thresholding + if(edge_val > 200) + { + edge_val = 255; + } + else if(edge_val < 100) + { + edge_val = 0; + } + + pixel.R = pixel.G = pixel.B = edge_val; + + return pixel; +} + +void start_sobel_operations( + LINE4_SECTOR_BUFFER *LINE_BUFFER_SECTOR_0, + LINE4_SECTOR_BUFFER *LINE_BUFFER_SECTOR_1, + LINE4_SECTOR_BUFFER *LINE_BUFFER_SECTOR_2, + LINE4_SECTOR_BUFFER *LINE_BUFFER_SECTOR_3, + LINE4_SECTOR_BUFFER *LINE_BUFFER_SECTOR_4, + LINE4_SECTOR_BUFFER *LINE_BUFFER_SECTOR_5, + LINE4_SECTOR_BUFFER *LINE_BUFFER_SECTOR_6, + LINE4_SECTOR_BUFFER *LINE_BUFFER_SECTOR_7, + LINE4_SECTOR_BUFFER *LINE_BUFFER_SECTOR_8, + LINE4_SECTOR_BUFFER *LINE_BUFFER_SECTOR_9, + LINE4_SECTOR_BUFFER *LINE_BUFFER_SECTOR_10, + LINE4_SECTOR_BUFFER *LINE_BUFFER_SECTOR_11, + LINE4_SECTOR_BUFFER *LINE_BUFFER_SECTOR_12, + LINE4_SECTOR_BUFFER *LINE_BUFFER_SECTOR_13, + LINE4_SECTOR_BUFFER *LINE_BUFFER_SECTOR_14, + LINE4_SECTOR_BUFFER *LINE_BUFFER_SECTOR_15, + LINE1_SECTOR_BUFFER *OUTPUT_BUFFER_SECTOR_0, + LINE1_SECTOR_BUFFER *OUTPUT_BUFFER_SECTOR_1, + LINE1_SECTOR_BUFFER *OUTPUT_BUFFER_SECTOR_2, + LINE1_SECTOR_BUFFER *OUTPUT_BUFFER_SECTOR_3, + LINE1_SECTOR_BUFFER *OUTPUT_BUFFER_SECTOR_4, + LINE1_SECTOR_BUFFER *OUTPUT_BUFFER_SECTOR_5, + LINE1_SECTOR_BUFFER *OUTPUT_BUFFER_SECTOR_6, + LINE1_SECTOR_BUFFER *OUTPUT_BUFFER_SECTOR_7, + LINE1_SECTOR_BUFFER *OUTPUT_BUFFER_SECTOR_8, + LINE1_SECTOR_BUFFER *OUTPUT_BUFFER_SECTOR_9, + LINE1_SECTOR_BUFFER *OUTPUT_BUFFER_SECTOR_10, + LINE1_SECTOR_BUFFER *OUTPUT_BUFFER_SECTOR_11, + LINE1_SECTOR_BUFFER *OUTPUT_BUFFER_SECTOR_12, + LINE1_SECTOR_BUFFER *OUTPUT_BUFFER_SECTOR_13, + LINE1_SECTOR_BUFFER *OUTPUT_BUFFER_SECTOR_14, + LINE1_SECTOR_BUFFER *OUTPUT_BUFFER_SECTOR_15, + int sector_size, + int first, + int second, + int last); + +void send_line( + AXI_PIXEL *STREAM_OUT, + LINE1_SECTOR_BUFFER *OUTPUT_BUFFER_SECTOR_0, + LINE1_SECTOR_BUFFER *OUTPUT_BUFFER_SECTOR_1, + LINE1_SECTOR_BUFFER *OUTPUT_BUFFER_SECTOR_2, + LINE1_SECTOR_BUFFER *OUTPUT_BUFFER_SECTOR_3, + LINE1_SECTOR_BUFFER *OUTPUT_BUFFER_SECTOR_4, + LINE1_SECTOR_BUFFER *OUTPUT_BUFFER_SECTOR_5, + LINE1_SECTOR_BUFFER *OUTPUT_BUFFER_SECTOR_6, + LINE1_SECTOR_BUFFER *OUTPUT_BUFFER_SECTOR_7, + LINE1_SECTOR_BUFFER *OUTPUT_BUFFER_SECTOR_8, + LINE1_SECTOR_BUFFER *OUTPUT_BUFFER_SECTOR_9, + LINE1_SECTOR_BUFFER *OUTPUT_BUFFER_SECTOR_10, + LINE1_SECTOR_BUFFER *OUTPUT_BUFFER_SECTOR_11, + LINE1_SECTOR_BUFFER *OUTPUT_BUFFER_SECTOR_12, + LINE1_SECTOR_BUFFER *OUTPUT_BUFFER_SECTOR_13, + LINE1_SECTOR_BUFFER *OUTPUT_BUFFER_SECTOR_14, + LINE1_SECTOR_BUFFER *OUTPUT_BUFFER_SECTOR_15, + int *sector_iter_array, + int packet_mode_enable, + int packet_size, + int *remain_bytes); + +void receive_post_line( + AXI_PIXEL *STREAM_IN, + LINE4_SECTOR_BUFFER *LINE_BUFFER_SECTOR_0, + LINE4_SECTOR_BUFFER *LINE_BUFFER_SECTOR_1, + LINE4_SECTOR_BUFFER *LINE_BUFFER_SECTOR_2, + LINE4_SECTOR_BUFFER *LINE_BUFFER_SECTOR_3, + LINE4_SECTOR_BUFFER *LINE_BUFFER_SECTOR_4, + LINE4_SECTOR_BUFFER *LINE_BUFFER_SECTOR_5, + LINE4_SECTOR_BUFFER *LINE_BUFFER_SECTOR_6, + LINE4_SECTOR_BUFFER *LINE_BUFFER_SECTOR_7, + LINE4_SECTOR_BUFFER *LINE_BUFFER_SECTOR_8, + LINE4_SECTOR_BUFFER *LINE_BUFFER_SECTOR_9, + LINE4_SECTOR_BUFFER *LINE_BUFFER_SECTOR_10, + LINE4_SECTOR_BUFFER *LINE_BUFFER_SECTOR_11, + LINE4_SECTOR_BUFFER *LINE_BUFFER_SECTOR_12, + LINE4_SECTOR_BUFFER *LINE_BUFFER_SECTOR_13, + LINE4_SECTOR_BUFFER *LINE_BUFFER_SECTOR_14, + LINE4_SECTOR_BUFFER *LINE_BUFFER_SECTOR_15, + int row, + int *sector_iter_array); + +#endif diff --git a/Hardware/create_project.tcl b/Hardware/create_project.tcl new file mode 100644 index 0000000..c269176 --- /dev/null +++ b/Hardware/create_project.tcl @@ -0,0 +1,49 @@ +################################################################################## +# # +# This Script # +# 1.Creates a New Vivado Project # +# 2.Generates the Block Design Described in "pcie_acceleration_vc707_design.tcl" # +# 3.Imports the Required Constraint File "constraints.xdc" # +# 4.Imports the Required HDL Wrapper File "hdl_wrapper.v" # +# # +################################################################################## + +set relative_directory [pwd] + +set project_directory $relative_directory/pcie_acceleration_vc707 + +set ip_repository $relative_directory/Vivado_HLS_IPs + +set constraints_directory $relative_directory/Constraints + +set hdl_wrapper_directory $relative_directory/HDL_Wrapper + +set block_design_directory $relative_directory/Vivado_Block_Design + +set src_bd_design_directory $relative_directory/pcie_acceleration_vc707/pcie_acceleration_vc707.srcs/sources_1/bd/pcie_acceleration_vc707_design + +#Create a New Project Named "pcie_accel_demo" +create_project pcie_accel_demo $project_directory -part xc7vx485tffg1761-2 + +#Set the Board Part which is Required for Certain Configurations such as the Uartlite Controller (RS-232) +set_property board_part xilinx.com:vc707:part0:1.2 [current_project] + +#Add the HLS IPs before Opening the Block Design +set_property ip_repo_paths {Vivado_HLS_IPs/Acceleration_Scheduler_Direct Vivado_HLS_IPs/Acceleration_Scheduler_Indirect Vivado_HLS_IPs/Acceleration_Scheduler_SG_XDMA Vivado_HLS_IPs/DMA_SG_PCIe_Scheduler Vivado_HLS_IPs/Fetch_Scheduler Vivado_HLS_IPs/Interrupt_Manager Vivado_HLS_IPs/Info_Memory_Block Vivado_HLS_IPs/Send_Scheduler Vivado_HLS_IPs/Sobel_Filter} [current_project] +update_ip_catalog + +#Add the Block Design +source $block_design_directory/pcie_acceleration_vc707_design.tcl + +#Add Constraint Files +add_files -fileset constrs_1 -norecurse $constraints_directory/constraints.xdc +import_files -fileset constrs_1 $constraints_directory/constraints.xdc + +#Add the HDL Wrapper +add_files -norecurse -scan_for_includes $hdl_wrapper_directory/hdl_wrapper.v +import_files -norecurse $hdl_wrapper_directory/hdl_wrapper.v +update_compile_order -fileset sources_1 +update_compile_order -fileset sources_1 +update_compile_order -fileset sim_1 + + diff --git a/Images/.keep b/Images/.keep new file mode 100644 index 0000000..e69de29 diff --git a/Images/system_overview.png b/Images/system_overview.png new file mode 100644 index 0000000000000000000000000000000000000000..aa19f2aaef3b0b7ffdb39fc22bec47f57a84e6c3 GIT binary patch literal 88788 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�wbp*NJ@>#OqK_kES$F;mqf@A<$&?g8 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

{qLI^+&DE<%Y-C%n``vUjjG7AQ?P?2LqpspSZ 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%0A*hWCoRp7-Uq_ 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�z>g}F`KAh3oI@s@cX5XP*6J4(csXt;=y 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 z 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�^Hy@RuEfI8o(V( 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

}#1_$%RJQh^rla||rPzXTy(k+!5JExOME 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 r?7sT_zxtP5*FJ8o zY;0}1vT*RR@qJI6eD+(19{uXR8(%#B!naR-_}l5t7uP@Z%6If^TN|m6?&y6`*u*^PzwdDXgN(jsjfd_-<;W^nd z?t))-1~7I-&)Js;lIqhyNvuD{UeqnB^vm2=9b^4r>7sAitoG@?;Wq*;A#=5y`Oq`7?mKdEq`Zzy6dHmZ za{Gijo=n6Ta#H2wDxTI1}bKG1d_W8x_uBILmo64y%naZ%+yZ(Gc>Ys0#5`Wrs#ihzYS*MMVZL zgGmm-Fw7B1naVy?l$dA%*l}9cLTw<5pq?(L=rLl#nu)rPNJwzjX(bqoQdj}7Wl5q) zmpUCTH;7>7ITB0M?C5pFqYa)YX4;L1Ki)`%>V4dtE-8+=Gx1~Z;C`s0B!gapwF!&%c?eksU1|4=LScU+}iYByHTOL!l-mG}eqy_wXUiiFv-| zY!w3Ib?9RrXh;MWcHgu4_-{+C6JCK%2~vRF*MtLCt@%zMJQm|ZVA}{ zngl|WJGgih&R4^_kA*n(vz*CY;!KlX5YquK7@3M-lHLGe;HUJ|0yVQEE-+PrFWFlj z4joL?MEadAAeSA;Uj|s1Bgp&t2}t~l3IepwIb6N6ff3iUkgnlOgrg>Y=1%ne4!CA^ zfZ@czvM`xS2k2d3KG+##&F=-SnJs^;_)+`qBQ6u3VBxX?ywwM+Q1*lkd|##6USq{r zyp=NqZ7$kncM5|Z15~dq7aU1A-Swoo7}f+$LrI4r?>831u2woSRUKA5!~>duX(Sua zMD3cSb0F;z7FgxbV9rGgBu(BmR14z&tjW9GlR4K!mI7g8JC2@NNSeo#$hux~bZmWB*NriJOV!fu zh3vLz=Uf3TbYy)uvwcQCnbeNQ4YP`Cxk7i~@YcS6@0fchm>1+*ckF1}x3>nCGMO`L z=)OcPuwh3_zrCs1QXbe!pWk})zBPNk{KDePSFHzTHJcj2GixVbI3K&Tad1o1c5L2v zZrOfn!Fyq~n3fT2i?UEluy)w0g_xIc^@_v5{@7o}ZoSEX?+M z?effIoBjFO?#xuH(=Mix{;A1kJmyJf!i+dg9;lsb1`N#DD&&$=sKjJ-!i-`}3OF7Q9#Fmo@ z6uFm!Xzc;T)Us!?#fj;qc)r=1UYl&L$WCl}@vR@d_{Ean?#?akLKn;-7(`(S13Q|nH> z_}m-6AIXmoj+k+Yf&COM7e$q*@D^ryh1Vt+6?H~xURpri2=<$}*$ASR9jT7K%l`sP z83N?00&=zj`O>izIIJEA9*Uths$iC8u+NapDX&HF!_q)_!BC|kVezoVc2cb1sxbZ zQ&ctJw*qW|x|)Cu2s{$=urmVY4LP_AAv9H23;;5xv4aDr#J_;w!Kg= z^^bR*?Rs)<5-~G%xW=M_5j2?BSd177VSJ%!jid=Xk-!;>3Zl5kbU(km7+;w3jdzy5ledt<%U9oSndNuGONnAqUQ zuC_P{H7fY2dP+IA#Jvze!h$K41T)b>7sEZK6x6H~RB*W=80$u_zV6 z;NN^UtM>HJijrD2>nlnEn20FH7#^10c}u51$Xgh6otcPVW3YxNfUZ+b#uQV0k_p zo}7}PX1&(yv{6Naf8n4@rOfzvyVC(LXMw; zK7;HX0K8T$@*b#{1qhSe&}oM#H$=}YQXG7gL&Lcx0}>j5O74PUC}0N54OSwUE~5P||OSWsA2fW7Phf#uSF z7yL45Ggx}$T_U&nK3I@xbMP;9%4ALP<;JRudP$-P@HNlRqCmzNAcjnrfhWHZFe4|1 zG)BaWO;$WC09Q`olOf`S4o=p~@oF(qE5&LhN`|HJalP-*iZheFwW|TYOc89!l7WIL%>emIH)fzNl^yI$lRe}*NT8Wv1SrOK zfRbJsHqvW2myk*!vZLTf@UQIl4*v@i4YmdRf^FrNn?PW+(88_?El?$mG#a~R2EyjV z6!UXWS`h+-!M`j7aK5A2h__c^u7*AiHVTlxELF~IEL6*piKWW`&E=6B>B4S6G58l9 zwJb0}#Z9gNx;)ou;8MlMOPU2(it33g3OJ141!{k^Pt^E`1u^K7wLh$M{89WZd;(+x z(8&nrMmq8YJ^a;_X@h_H3L?cUIybV-k_#RXq8Zze!vF+E+s{=^g&p`8!6C1hq#v;o z73u=oEfE;NdU2`H>mi>(kU%UXcwu#L7bzD|FgH1qoH>_=>?lF}2?!;+xPyF!A+(@? z?}(_i!vqyvkX(Dj18l*hcvx|@qjtc|4NEK0Ss1q2G|EA)b65<*D)#vma3&AGlaRMt z0KXt#Vhp%x8QT!vNaU+t$$o$^DJ&9GKxv+z-wQt|exdxCs4JtiU`~bTbcPRDx>JVX zO||lFvfoM&VVI|o2-g(Gu-l;ZnMVT_w9wj^!=%vPd1xSF)p)eSNted2!}H3~NYV4i zPzW&w74JaGGnxyE{=bTQBp=Ykt(vq8{Hw190l(Nj>lzVLC!w#0;dWh9d2ZroFD$UJ712a>qg8)$ zO*_A1HnO%oSPzWQdv?ccbX~{LPn7p8W_Qen*LA?Z;f&Orm=L2j>j}sTO!!?Tw7R!1O`4gmQzMxPyBw#NUz%it-IC9YZ2#+1s z51P41L8k2Lg4P1`goP$t6_q~OQae}dCzVbzI}t0+TVfNg(i%-_QIlT%@=yQki$D8s zYo7mxX7+gN{D(gIXaCQ~fAaUA`}uFa|5xvQ?I-{66EzkNF z9`McIPix@N_)$;uuqCrS&^#FJ9kbWB2d9sCr;ht(&jwarZybJk{QM`2`(K=X;G?&G z?^j>`&+o0i@y6f{{BaP{OgOafB%6`|LFExKYsIj?{3+5^u*DFx38an z?8=FU&mFpX_Rx(}yRRSHe(mTswhy1&_1O6Xw@&Z5dSKJF!&{!bc+rEBw3ex zXvl-nr5F^np-0ACiblIESn7Z&7PK$zOURJ1E1F~Ai6TyR6aC=4t5#L9$`b~#sIgYc zSx7E?VxmB*s&;Ob%c#W504Ngf)SeOGnN3ty83+-P3V?Y5wix}f&vn906%z~FXNX|_ zNjU-M5PlH3!NpK}H8?atACig5*+@LMdH2!A#JX^K?!v9#x%KLIqhot~y?u?%50qD( z>TJ3^arlW{H$Qj!`ES=YKh)ZOWACGHo_gskumALKH=Vhy8A${)D|5{qYmPqG+;U^~ z#4GFXd-KBcUwz`WZ)kLWozaHQje)r`Y$gd$22l}d1pY4Zr>UGT_*6nv!O}wY5~z?N zS1~Ucc$RyX0CtE>1jtp#9RRByAyAPhm>qB;gB_lMhsb9m5i0R7$K_xeXYOUN12AVk zmyr@%0iso>Q#g7)b_OUCZz~+G@Tl=&@2n1NpXqM`BaBBDq%e#yTrfkjR1j6f>QKX? zDU!p9I{L0gS~kT)EDhPj7T7BnBlJQN4zq)Th{3Xj#jaTRRC-!oCwyq^NaBD6iv?>M?&DCkOQa-;MEE^Y#)N^O$F)m3p&P-6I)Jt8)0uH zoSYNBkxW<<@oM6%V!@$IT(mK&X2|oC?Z^L_q0a;~0kbAxWq(u&Ve-lOIAuW-qj~P` z**1A-4-l9^nOJOgEVeMAEvDQPb!(^SnQVjveUOLz&Cm4`W3_OrMBgQUHR~;>qs?Nt zo=0uSC%~kDV>2HMAtj1s)PUha9yey3!|`V(#-^4K(IET?3~#*MAS|Q^4mK9#i}D%H z0vl??)!J-a4(z;!=_J*u(nQ!=L%CO?p%RtLXtM)T9e2MjMB25SwOuwf3Wi#a6L|l` zeooFTrge!Bt}i%TNvkUyP%$*SW!n=w(T#Cx6S*I8d zY=|2H^=??O=!RiV(;0=ChsH)ElW|=E`2zaL(IHJCD@Qqi$zlmbBCSrRTtxI+sTWI5 zGl3^%p;35A(Z2w6MusvC5jGl@?nJtJlOcn=gACDb{Er=DneBqey z6^71H4@pT|+~bS5TnV2qo>YXQz?$=KSV3wS#Ima-4&)cOu+o z1<6s5L_=WU8n%>nlgpwvj^bvD=2twSP-6qju~9adh#YVoE@cw=C{DDIwKKiNetD@| zTr*i--Oa5T%P+N+$$EBayuNaxG21SVRkPiaGTz9qn(3~X>duWdCpy)sUVWldA8*&% z^-`-=tTjsAelu618+4*jE9NUO#l=dqC6(35d?}pDAogY_o-IU_EVC96pY%J#H2*63 zLJrF{w;NS+CLC6RLB7|3$sDp+)AaVS@z!lDc1cQ8Y2JiT9a7h6=X(z#7@%1d>kh^w zs&yf#7GhVOq;dOnh=d6e6w1VnTF3#GNOBNX4;mQZv<&`*|7B1Q1wa6)i9D+6maL_r zGaZGBT;#dl@oF-#6Nhd z_gLt=mwg~;vW`lpxKLe=AE-JmItROZ7y?ieNP7}bNKOD+f8?cZ1ZOku> z5ucTtyh&0S{)`xu<0*|2j##6V9;h@lJ+c|09Q;+0asY^9urstNIGQbP8yp#M=rPpN z*mdj>DvI23 zT5>gDTaGipxzN5mGY3&ni|2=ZCJa#<3W%7*hQZyP+IHRpPsp<|sGMS;EvHVOGy<^) zoH)N$jd6s;0@nr$EBz2riNw+p)OHEb$%@ihA zny6(UWiyronuOWXNrdMsny5jOat!Bv+5#3>Asz0}8J{5+@U~G7gv|K>TU#k?s>KbJ zsG%I;E_*f3RueM1+6sMv!N{7711wB;B({!TYPjIh6kVFK$2g(*S5(bosr=>%1kW1p zfT0o$OcjQ6Ze7VgTJY-2fswq&R11d|s=@h+V=NtAY!}zh#uqy2RpZ@VYvW73;B3Rc z(6mhDs4R|dAIA<_x1?w$J)_I1fyKD(o~nCC%ecOvU7xpXty#7=-23|GU5(Luin?8O z`{A*nT~*EItY$-Avp#3p+a26g^d6n{9h$u4KglzaU?g>T!`T*X#A7 z%MlfurE6XmaVqt|#7p;fH^>_V$_+4^M85kKfL$7|NP$9|Kk5U z`_vZ_{XLqIvNo{7k=q{apAJu5YHoiav*|Vv*xuZ0tL`-Bc7T6<_5G3VQGb7bWbSxm z@tk+&jAQ0<_rz<954^o_|L3>7@a3m}^f#~l**_bm4=Ot@f9g+vv*+2*z4o)en>_tY zefNXcKmMI>|IuGxynbu%u5GV8`^Yob&)>Xw^vNqH1>ilq@6mJnZ=Tr;{sj($e?hyC zpW6@Y1^m8n|H-E=9e(D@(dX_v&d%+7Pd#?&_|5Z29zJvM(Tm5}xpmE!-n`?nq5 za}VR-u1(uFtXjV`Gd0zdiT8TFSS)7?r3{I8zKt|xUD;#|*9fF-RPKauIu<>P$%M1| z5e%U065=idut8dEx~Tm}U?+V)m>lE)0)u=>*)f=rB;H|}6DuY$8Z}cmKDo%7(079z zvDSDYy$N^B5gD8Uah;V|z4ugfB<(^1`;Dks61jkn5J`PGaEKxICiIh2? zEGR1)>l*%1z&-g8ws$l6q%jF^?ksSsyp1C~A&&+B$^rg`dvej})9WMl1>1sZLB#A2 z^V_w%j1IRjizYU<&_o_s}XhwzIQvTdQ?miU()J|aFV{vtW#2gSZT zF4bJ{CX|(FOf;Ie!HJ*-^k>pY;G}J=Xdi);$h1G|7sk1*7sq*Z6tsLi^!}Me&THW)^xEk{4cp_z>ci29*9r zDbTAM%PGvLY2n1%L%a?0)zJ~7T@mIj<1J7y-Gp(L_KYVo^@;}cU;SYVC!`zz<>DL{#m z$%_FZ1pbXCgk%T&i;*(P2FhtkJG1hVyJodz1;?O+CkOln9hRV%YBM$Mrmn+cHKw1S z%^7u3I)>21?z33zx)GapxTH{y$dn}3Tp&D1oKiJF2U$$jlgZ)3@rB|5s|mMqATaAJ zt1XXU$)>oqUoUK5zj*(dLr*?<;r7+j&p&+e#hX{2fA|vP`1Unvmzjdpu-Adf1eiDO zcYuF;wfwpj)52}hYfEE>Pj1iWrg3Y%l&|D7;ZTG*nOY}$=kf=Z6s4R^Dgn>#&8r_g zfBYeJ{d)TP>F2MXdEucm&s{(D#I*~z?mKhs+>!fE9k_IS|LFre4(`~nZ|mBv>y{4g z+`MslVg0JP9h=v!SuxwJ7AE_x-dHQCL<^OCqf>{gMrO?dmMxVjD=xR&`C1d?s}w5` z#0+k>di_qjOBFKsm(pP5aIgSaFVpln9SYSlnMyq28r9kchmvkjf(jwOI}8KM6eW_q z6w{I;gc!3^tj$*Wq)Y`QcL~hPa>HPjX8M&&4_i#O zvDy}*d>UoaC4|Z=dR#K8stqhqM9V=k6OhXia3|wU{O95)B#2;<0LSV<ekbHVX z1w<4QV(@T@e|ZCV67mNMbCP5jf|dGT@Gs>IFuzh34nK|x7yOF@GsgkHke24>}>-s3)C=0fif%UEysTH}~G|yN!Q$_(0 zM)M5*<;fBMK(;blA`K$UMLq=k$ri#C%S5apSW2KxHMHi72goHt!ZNS2UNFsqCBdzv zG#RkHVpgB118*rvAuSo5Y2$4u{rp|sA}$S%s=^pb`Y3n-`QqdZ@^zz~?vxSgXcK;( zmbZas3AYLcdSgH$*cNEX$0hNv%vyxgNj?p%urc1}D&hnvU|Rf8u>fDm_bv@#fbb0d zKsyT`KWx&!D%R!=qs^ABozQ#pQJ{i`0tNyDhlPC>%>*L>VaiQ4K#sb;6iW$M&xG+s z#4WPKb{*+r0ARF|l^)T6^e}C*X|0t{L5~j7wvw!}RSSh0%;FI4B8i5*#-Lr#&VWq^ zl?)0Vbi$D0%TF6YBUg(IAd!{{@JlBn)d&k*!4Oy&XR6U*A`lQUF=xJ3PQov%>IEWWxTcu(y}1O^S=?A_25__u4*txbb`8KwzB;81DB z%qqrB4oV;l2nDN3l*(P~bIBOAkT4?%?Ma^)b;GC#xyf-NQ*?;1SWITZDZ*i)6i>ou z&@QN!XXa_;lS2x#M)Umg<$%4c+5#y9i&$07M9De^k77Xw7o)0D1w~XqS(x+CAW5AV zUYDex2{nMdB+N;?1Aox60&q}*;hO~r(hLp}mc*4b_*bSMwUk`hNfL%eo$)|^EL2(% zX{^gF9GX7xSZ?Fh*qZycKK0J*{hvMh@t-~XyELtMPCpH^ zeD8@Tubz7P{Nqxe;n5eMvEpOsQ6e-K1WNt?q3SVZd- z!EHrI*Zp{#sjPrxgh|b@G6H)EHTjl>z)!Wkf!jC>^d%T|Vq?68_hxiVYv zX4G18p*vEC2!SZN0R{6X+pLhkY|(E^*HG@|bKpZD4{+BFj2({f;lQU58L|vfN5(QF z^4{Sf4&>Oc;mbtcp4f?kUqTmx2mEb-epq*cf{9x|!35}J!b$a$3@3~MBo34Lr>-jQ z2L*$Fh2S~vH75P2n6SD6>O%hNQ-RTxUvRa6StUrvUSES!)})XLzlV+Zh*z?Pq%GL_)y(|OGa74J706K{Ohs0}&{@!bkzw`1VUw!GZ zFMsIPS6_bOYp>k?;)ia%`Rw)AZ(n`w(aWzt^}uI8@W{uWxL1tZ_kZA_a}S=}_2`9z z4_-RBX=QiwGLolGzpl*nYm@y-uTh*FZ#Gn6b1|RCYai2RG@MeR4uioG{nldCSm=|qShYO5MdLQL8dS2YL_&jmmChsauo>|w> zHcPKa0w+QsiGSgLS(sR%5S|1nr4EZ$4h#%}oDmPQXIv}Ejv^TXz=|3fwIwvHC8&*S zQm6LD0>r@rtNfkl_>8O+m>`U^aMYn32HZ+rOu)rfOnn6E>NF^yP)w3en^<(H`o!k? zeVa|z2-Y1I2;K<;S8BGhK@yWHPl9a}?+PXn48=kwmZA53DqtTd-3`Q|vi~ou3E4}D zUL~Go4sp{2Ta^0J+fU5-Xw4BJNZOa-=V6r$tl}rOM1O`zvy)1cPcHRa#WV#dy z!=<1Xo)?2?Q0HCR7if&oml6!>b5VLAM8TqpZ;PR$@+B6b2^nU6?e*&!@v*URy%DTc z!j&?f0C4NllM~E~o*B*;@)wHJ91qdJ7p#XWCfjd>OKIROD+OdLmBp+n7<7XoL35CO z5PT?#DWc&VDt{|8{S8O<40tT$Q4tZP#u_Xik+C}YOhnECPSP8wmi4p?WImyH&7}mB zKl8j~dyxa#s)|`U^m^Fy>EEd_a*PCjO7J&$cUBx*K z@h#a5zFFX#WH8zC8Ild)b7Sgebpzqjhg!%rGL%sVtuZgdmJA@G#!ZWYa^r-2z7{gXue6% zB8u;5mTfd>1_w9?Jp<=RaW&5-()d;rXcv-~9jEDM#zrGbS8jt_fp)r3+bYDX%_eFE6x} znX<3RLhnm2HeB6=uIL#lxV=c1$Ft^oWCZvbH{0rQXDg-6c#MU>K*Zv##uz%qO@pN2 zsFi9dWw8tR^;8qqTyQ9C<;>xf6C~^GrV95=rf6d{m)GQM$<_53rdU%gjKIdbgvNoZnZbaQpC9~M++_S2(X4c!vo69jr zJL{P)BZtm3&r|3G1O^?GQ%q6| z6%Pwl3oQsW8elBXDW6R~xfDXPD3H{>`|9lQQ~+ldYhW*LNgPojFoiSJOyQ12!7tG$ zEU;8T)39}TREzO1C>Z-IdV#T0gLL=@4w4ZCjT9JE)R+i9pr;dYy0i>g9D^3pEIwPT zHsYx&{Vn^heH8qgT)w#azE2+e*uOsW=|A1~ksqCY>yJ*o_0v!P0FVHqDCV4#BvKM3 zQHi8TF(^Ih=>@-MbwAIt$8C4Fm)mZSr`ztZraf!c^k}|YM^+naud`0wx^;oNs5)o= zd;k02HATAmYUkW)U!S{Si+9>?N84W4%mX>DVVSBX*V3G8>eNM-`8sx6TepFK9dmXW zrf*YE+g_MjZ<~LlX5|(Ck`u!hpM3gvKOTPe7gaMh%$T}1bmqa!|MKJAAO4O?(zpNU zKRy39|JU1}|NhL4H^%nvJTkuZ>cL%?cdb9YdF147^1q7@Z0MU>-wW~`Up1dm7{?E9 z8Up_UdzpZLkM9834r9RH<6D+aty*+!(-M#`uos(J)q7^=%A*^Gm>gWw&xG;7`hg>x zmjHneZdkm3bssjhVes&lrIQ<$;4OfEU)!}7*h@B~Ma=d8}w_U5{} zbR-`2dc5q5$gC(43<3XATufe=O`o7Q6VXfyKLG>zLVOase;FY(qsadPa$z;|e+LNj z1HxtGA@L7*&Q#Jdr_>jOOHvqI4E{wjEjLGok3rssNV}Ae)@Z!`K&rk)uCZ!taa(*w zN8gU_)vr04RwWiqrTPx8KJ<3`(u4H*z5l~M?SJsYjc@*sw}1OzmFeMN@2=fEqtu^U%ji(($GyPe)G*v|UJBOJp7ve~}9o4Kby_zSOeQ1o8## zf_X8(FApg+;E0?#&6f4Z+z|VKv1B9>0zTs9$Wl?6%eDgerR0z4l&?TxSgu)}Wl++$0(L2Wg{QOLKeLG}u%#t|Aw`8I6~a~&dC4p)Qp1$}X4|Sk zzNY4=u_>Z&2qE2UZA~KAY-&l8SIu+LAlQzTg*_OYVT?2=MvXA|7ZgcmImf0gaT#H? z@?P+n@tkoWX(^H=FQQ7C@H_lBij~mk1XIE12mDe?CA}Z1T&JDMqaEk>Vr^?QWlb2#i)Z)m2WfW zf^tlTJe@|;!y$yH(;!>`{w3`T2Z?n_;9r&|Y0pttk?N(w0xSv8h5U?Q6eL)9(PUaN zvTYdq7vyJH5Z+L*W7bTmSQY7Gx2q{t<2CBd6=gpBdAcbT=2evt{+9!O>%#syEp^>( z4I4%W*DqVFD$BQIFf!oOKntXjQZ0Eo3XoxEpdTrf^P;1~KT2w>(UwS!%%8h+bjiyH zZ@zr{#?v=1ym7cK`O~6ZcPyKfE~g&rLkNeDL}8L!X`>|LDTO_fGG7 z|J>9E=MUUFzW2>zyYHPC#{j>#j_v~dzH{N=wWGW5pFi}`%~K!WI(_TH!3TFv-??&h z)5`wg-kFGL)FylbJ#z;7=GLccLP0Nu(jZ?Ta6FNyNhSlqDEL=sb4B@)9tR>GkI!jy zoAhCqy~gc?{0#E-!%l~5>ACi#mYR!qHy zh~oi)(Hes9$`_d&872k#h<55#A{{I#Xk`>9xD<&$mPAIj7%8So$tOW+6B3tFP*mc+ zW|S2XyCxZpW-p@v!lVm9oq%5q@JrekC!cLdC{zG`&8U7wBLu`)_CXCl=i?-HDD-A( z%QJK@MxZW6hL=k@K@ zQ%M6~mxSrirFX_6_DBeEr!u<@7^J`yQrbhnW9qN-OKU1oSY z{3Rwjh58&+*P^+NLG+aby3Gbu#VFK;t<9!J;u!D?1g0(({Ht{6DNRK_3v`BVHu#rb z2J}&?j!8}DwX_fLnQ2i6{zWmH?s6-cQrs1T^ZD?_JCIC7FRhW|!m zUyF|7eH;&>M(A`&x?A9=D*7<06;>T@nIt%bXV}i*UlU{imrR98gIGGiIE zXEMLJRzv8Z zojZ*WYIWLYXo(fq*h=c{IcQKf7`20G>++W384l(AVEG)6Vy?fe%U3YnQL!Lg+U-{j zB#Y(;HOm|2!>Pi>k%ED6!C3HW6M{{nS0E@!@Y z$UjXe%J2|S%o>isBY9pRFo|78k;!FU=bE5eCLE_^2~7<0zdXx?V5!9Xp%y&TgP4PY zCXL)8+lSD?g6;(bCiq8PFxANfw7t{-`-pQ{*sYQ^HDreY$QXM)FG9Jvtek8#BxnOH zqQc@zt=Xk8y7N>{S-wVAYz_5nJoLdI&7HX2x%0;IvoEF|{@K0Qsh)!K7kUwZi$ zAN;HTy#3qpP^Kv7@AJm7-<4fAOi<=y`YFYin+Q`RpHlJn-btmz?{o`^epf zohQEd??3Li|6=piXE$E{<-5Q9>(Bq_KQ7%maqQIT$+4{$r*>Z4y!zaxWyiNKIkcg7 z|EdN1R?cUfSTPS{KE8bZ!FBzI)(;%pGJJg7$k9zh*y~%D9$nvu9osl?WL@up)xAeI z41$H399r9tk?;iw?_aU-!0JBmFXR3dJ-}p65H`7T;pD2`qZ^kT-8^z&-5^A3N{kP0 z8a=de8ODUCj%*kLCU5NRqy`z%_5QVsvGH|Fusv&rcCQ}XxpH8~ivDdY`nNA1+PGq5 zS^vTngMF)(4B%!g?4CZis~t(M_O^5~0V~kvbrY+gWLHrIiz)+zh1M3L(|}(Jgz*`0 z7$o8oJ#z&K3PBR3Qpm0XU;(*6UGOgxKrwTX_66|rP!OSU=Qx2M3alU{0)dfWL!A|+ z(}sqINIX?#uw=-N&FHC%MP9@2)TAT7-icy~k$h#{~-ahDh& z+*9u_E2M8h;ZG@G!oLI%xHGCsP%wt4gv*B(H*%>&V(|mnj|w4}WO|JeCkF)!8llL0 z5_ZN!3YgeF4h&eB30pIKHoP5p(E=dnkcHDJQNE%n65;D?iZ)yZNxfND0lk@2FUYsl zZKU&&wYf$fv;lsJoP&Qk&a*s)OGdv8)RmQfJ4IELgPCf>I2gush*uFfCBl!J!E33v zqOnDR-<<8z<+$~EUSmnvUQy#I3|M3i4F@$15p!#b+$hvyOKV+KBIKJr4T799D-XYyw^mug=ZgP3_nd$O4FHHf!tg}Q7vm!h!~@?! zt02S#%K|p9D1hbj%)NEgMpZ#NJy`*#>U0RS{!>?uRIsWxOvmAhx-g7uP;j=-%t$&o zH(-T^U6$~Hj(Msu;w++zG2Fk#n5wy^DDEjGD&82?H^<@rQ4mM7ClD@aZZI`iSd|XZ z^@C#JY`3{A<|DaG+a?N)ivl)|gMwjqQ#xJbcYu7e?FLXV1nGR5dSrB`OKc{%(=ejR zS(COPi-GzXGFV6IY~ae| z_M1m`ZdlOP>Q=XVHJcYryMJQr<-PNt-9GvGo9BP=@mnL^?TRc}#AYy6R={dDLPaO_ zR#M1j3IqdvlZIw*C9Rb3xuz#V`_~M;x_j>9^OK*P8+&kK%fmA}o?d?K)t!qA>jIj5 z8D+e7BV{L2r4s8CX<_uTECyT59}6HIX(IJW;|+=W3k}w9QrCJ7@0^|b=*oeQFO7eC ze&?eLyPjOy^YqHtqf2`}y)gF4g|Ww%roOmy{1^Am{OZBQ@87-f^&7{fjO~R9e*4E~ z_ddC_|K+V?U*0|O^xDz)PmSF>y8W#q+djW_kT|4kO$20cX#R=)pIKTJN#qr0N zCNL(ST$y}w2cE5FE`^VP~-9I&cVi%P}%XThbux;sr#j_flL(aI{*bwqG#(W7c zB-unN77cpP*(8zZu201%B6it~v}%DsYSmZ8gRVr_M?MX6TMY@Xo7ja-t0r9ovaxEl zR0`WoMv0&fd8RO*e+u6q1Nk*&8LTIE2Vv|-fL{#yG&h?1Up5G$ky@*cr5Lg?K@HWH8ohOjGvM1Zjv`xg+H<()_YBOn(b%z{szS3ER1Z9rxz)tf2F;a#&o z(q|__;Z^|F_|>2`nsxD(DSSq&0i9>P&m|^6V6vG2Iv}v5i{-KB>Qvd>D(Ei;Zo8cMe6jfrbRkEEQK#l=! z$~s0gvOMB~xB`cnmD4w)5gmR|ZBVi!~q!hA{ zw#F}th`Bhr4G@;#9+MWAx;wdSlKg(a4QA&S5uYS{!G9kj^iOJ+5iQT!P z(xL(aW7STY5p(BR_zXRF3qJ2 z5?@;q?hv`977|X{6G#be@UJ87H=uA;nIkh4m3h@AUbVe7q)J+|?d7?qQdxDLDrzcm zSIIPa)p3h9VJmbfv`H7VX9&;5?&@r7rA${MGs%lQT3vlWX0CuiT}cR%ieSG!+fpXe z7nX#z3UsbwnuGf#nwIU+dHz+rY;rE75e75+tPq*Cs?WXI$9)If(`|p1jT(C)|ipZ+N#r9N*C6TX>=2pjK%COQu zR~7D41%`~NRZ9QT0`nq;cWF)6YGZPq+&kY`yQVt1*4H)Z>zQ&doYK$QRg_+#oiVPP zIZ@fREi`<3;?qAo{`()}t55cy{AAzbKR)*LpFaA#|2g%^_v81zeeK;}KmFhS+qrvR z?m2$x%FSB`Cbpj*+kAfG%G2wI4{z){vZ?>@hJL{Bo{>4bhG*?v)|G+4J>cIX8wbI> z81u>1i>B7}p4c)3@;$h^2LsF=T+?@W-2m8@IpdM_gNN1*>|5S5zHI))=z_74dHa?x zm>8YU2oPp6zHHva@}B)G7mY1nxPNv3!SzFEYVBOwvt@BN-X%GW<>TXp)-!+$;b;P>-)-pH}d zoH25|anYo4pV-Pl}EECd909!VFGTj)v zIV&U^D`{1S>7eEGF#ZLe^ z;>iGed5Shk^h<)_M(h-WJ}oI_(Xgx`Qe7XG>B<4TV8eW$sXXRF9R-lcgw!X%6Yy(l zPQ!vG=bLTSWE-mr5a}YxYf>`-^D@#V1N@t%RpjEr(a2a*CZd?SgszBe0Niu-Xd2y7 z!2*pPlN|VpQi%PmzmO}yzkKgt;DG+@4jXhYiW89=#jmRhyI>~c(UD>{x21uoIUZ9% zz(x+YFy_t=*#Wr#-n^grMyABtENZi&1Hg%A9z^Pmtb$$4Q2gG(*T3GG%_liCAzkg7x90IHISPD2{% z#mNCm#A6CSnNUT`an9rs>{iaS>J7!Yd7Q%LMV_&tsfqM4N%KmjJb~zzL6z`34sGA? zi;o|Ca`WP&8)rVe^4jNj&U||HwNI`b{o>vQc*P%IJ^IPD*FL`X`ors|KE8c{$}MG{ z%&b&|old{i3OxbgWwue`&ywswg~Y8&g~REfcWvLi=l8C@xP9jN&DWn^nfmI@*PdOU ze0Xx-=QqxN{mwPS5^YdCO7oB`Pn|Ze(>?tsrS$9{_s5TdH<8klP_-`d3N;x+1^*Tj(&aTHSC+) zM}fM}FYkYHZtqt&4t#NK^7)m07;yO6#ffK^_dmZn_0{d8U)((W;^v{B?epsgKD)C2 zqf7h1zaLzjcyMm-r#Fs#di~hLtB0Q4KK;>ZaejeMuGyMU`lM+vXT)$6^fK96L#_#bQJxQvIl6Q-^J}h z)f(_iVTmoG=g!~3JILQinA&M#@dy7Rg8;Av2LT#m@Smab@{-C-`v7W$(GoNzf|gVmjX@o{f;1;$;qqC;QfY0k zCHV`_2N8bouZ<4uVW*=p4*rFEY)&Cd7>8B_j|lR!r76zV0RBY+f@)kg4wSFT90miz z4p!Z)!M@E?6I3D-8KCePaB53NxkU!Qo4A3{TP7n6RhybzDs#!z0#}I-Ag2Jr)zEh{ z;(-SD0%s5nY`pTjFkYSrk9B(!? z-XlCHa4soh-jTVEKiCUl+u9JLGa!wLP00YsWlBD{Al;fM4W>YtdRSf1K^j_Nt^(f5 z%Cd75`Q-)$y+56Cj|;wx-vR`d8`--N=amC~!N?$Gfj8l@2seg$E>bFpuTpx(c9v5_ z#x@K53l`4GlYxR|sO?hqNnpQ};CmT@GXn5R-_PnJe5hlE{;3^JTh%s+d`(%PaI&X=0W_TZJO11NO?QbMvg_ zl_7npM^)<8R@a~lKC=0$Z>{#GQcr2(y>!JAmr=Iu-Zw97+ALxUgu zO9~jubbd&sth1Wh!>T$LRW9W*8z{J{&Qp@G+dzx@elS(FIF>!bqL>pbXtU=w zTS}*U)C+3LX9Wr~5IDcnQ#8|GG%s8{KT^0LRN5P>SejOh)PjE%!_uUDNwQ=p0sbvx zzN}8QzFoaxntWA@tS_qGJfmW5Th+!+!_ICHC{UCUSSl^Z8R02$Q3)&UP1@jO%EHc7U z$eK=tT3AAO5wzC+3GBWby?tc8)j`3alcWpkiZR5#} zD~_xgIJBy7aY)QG7c)7!Zt0$t{X3Q| z+_k)Se9hqAHG{iX4eVUrzjf)tEh7uJFYm*)jrML?*1vhA58JkU@%ClCo0lxuHnND* zwk+-4wyb~Wioxxp1I#xMFXEgXD~I;19bsJA+toL{b$Q>SO`{_lMuxYn7~QsZ)w*TF ztCucaH#)j@#q!mo%a#o-8SL#_ICoyxjF}zn?WkqVoYp#L`n2ioOCbn$Jx5kO;Oj9|sb|0vdB%JY>Sh9^(^;L&B$&k0?H>MyEH~-1V*9 zsc8$FW-o8++cv!8%IL)1(ebxlzw@h|Cmy>8_O)!gT)Xb<;IR)6zWKW)``%qRc5mwK z9~O<@FY@;$dk?s$Z!3-stvmnn;M?EM-}2g?v-ffpW`v<2=L5Wep?E$ll>+~=46?aX z>PVNMHgK3z9QPR&oO}jfyxKJSc7m6HMqlaDSK!Xe`ATGyW3S zB)Ker9>`Y;+E>eku~|!Q3@(ik;gkwV;4!1~FBN?8RWnG{!OYn>1PYeIVMM}cCxvD# zt(_o9()?77Z$kkWp?h+^mBLWLq9#=82#k_xrJ6_-6C|*N;pd6UUx9)dvkQ=VzXQZU1OYL zUMRs}Pbj`JgF4@4fbs_e4dG3IIU_h7ni**ba=whT!vOq(@p->6;U)Gvv2kh!ii)Hp zFZE4Dd31JX6-U{aE-(-^QS7G)jwH22*{ed4mzP(_ZLsMKe!D#x#HE3`R}ytrBz^Q0 z&JS2hW3IBeyCm+Gr~FmTvEqcMFlfi}{Z>G6Sz>gX z?3y9kDp^u-M_pPI3Yg+iYqEw65mMC(l)KD`!&s2>qTv^{?dZQj<2O4Uh%VB?)#q~3 z;ub?8rY7VjZ%gLXN)phlLm!l{Jme*|GwuwzBbFK>y?hrrj`$Tuv^E}%)}>S2J(9u} zy{0xEq87E*XI;5)`p4If!yks(3wZqe^2D=CMpO zA>*s76JK86|Mkr&?5i7-FRo2|d28zBwMj1c`PKc;uI%GdAmz_*93&b2>h6h`w@*<= z{MPGxt{>cTW#8rlTUKuvT(GFKv8yRDqb}4GafEDY7u3Xx9F08NX{>OW6ySi`h%4aI zqqrQk>O%&-6#^zbQYgPD%tw|2nQwV<5hxgU3**be|D7)pG^7%$21%%r3#Eqwg}{Uu zL~~&(Vs+|_EJh`fsKSb(V!Dl2v8+jbfmsF#b%MyG)RID;2USKPN5e{Rn8AjiQ9VL% z8MZT{So42Q-2#5;Ln`%AvS?WU!LYPU5-6C(kdpzwj6h=+L%eY|2sR5TItpaYyo&vT z2`Oo<(@geI{0i~wxQ>LKL9G8wWC8^UW8-5R`Z>n?FR`%51w+AQM7PLq}!(Qgw z4gRG$FBKW)+PESSR>WhDY3;VQR!d8>v$a*1Oxo+~0l)MNqth9}V(bDmdxbDe=?C|U z_sb~mk0c?Lp{A>$2cyM=$3odi2LFm%1m*=Pv(i#EBbw!r1|>5q`lk~cq@6m#2!Kt( zZp98$wnK}~6$%OduJ%yZH1IDS=u{E6J{bfo!@EXq3xEmZ8g$8|*lQ^yH(KMT7m}kj zP05TAjfG?o$pz8woM>v@yxFO)8TL%OH)lh-I^+|5n&{0WiQcCpAX7Q-UrZ;Zxd!3$C=}zFu_Z~ z|B;X~)pS|XOE`i918Np8!H3C^*@~F(a;cslr4;f7n(F*g$kn;oc{vmvOZ0vy9Hj_J z7ox#MB~bxl_yA-)4P_awFZ2;h*o|KylNU%XM|CNTZlyzOizCdaQw2;pMijARvZ`Eb zy+4<{ZFR0a=`J>w7Xo?f1BJ%&0z;X?Tb->dlqs_meyzFAR~0trSQOdjiV}}j5i(cB z9a$EIth%t$Z&ZcN1y)7AO%ANiamW=ZYkAsiogJ%ecH~4rYd(j6|JA1hy& zkS|J>_a`eBrz@7EGuc1^8uaW+Ir+0uld=e}T#1Uvj>T`0#k3AY2}TcA3C=7AatXe>uWL zB$v532p6Ei$O;4sMiBzgAziSr051S6OrDpKOY++}2hmMYF9Xyi+Y9E!n2_5A=Soml zNmmW7WH8dzmxd0Y2d!2im(zNfHhP>1S(?1C*=R>}7ctq2Dy`KX4A(T;obhx^mpj?% zNYC?$*gkKf zdivJ7br-8UcBWQdT66tZ6CeJ?`nP^*=^vjx`Of%9e|q%~|2e(m_>~|2=IGPkz4QBj z*mmyIHAn89x%ch+-~P$d?|*mb_>r+~>yNEpb#VD&@GszZY)SXtp)T<6_{ajr-9z0| zEBlxOd%?UI;CJ7$UTkv1(!Hw&z`u+Tk}0sFba(g4#k*E59$PmI{@pM%4^+E#bbt{c zOoOCNL-WDEOaQ##-(4$*0Ka=y509-K*}Z1z_7#Ji%$e(l=%6%r*`l761ARmDx);ry zzGUJ2(ShFiGiNp>lbx+C9WBl6P0cO!4NbLmb%`WGrucY%7b=@pC&aL5prgG$5%)V_ zU)K0q+LF^c>)JZ&8(Wig&B=z=bX`+Ao{A=#YOqj>m^*d3VOP{E3RS92kj8%M9W0gI z(b|ZLZvrBOL^3>Qpe{em$@zkU@y1C9^CMEg0v7{~3Cr+FgLp4KlR#joiRrrf){a@T z<}In4-q${F&5R{`W-dM0Jg~1}(Y^v>r>|vg^~{Z3lWz^4{1p7V`^q=1%TAU=2Twiv z%S{)*aL?Rt@aSC#|0MUs&L!b)U`3RXgpFwTsmt_-F_ z;S&?k^=A~!LvorTttlpK`Zy14`iwXg0^UleWy*4Kgg}K-W;R2ok(>uoq8Vt+5l}E$ zW3Gdn#0blmU_QI;d!VUtJNF67`igXanTN3wZS`y5m zLo*7oEXHaivueDcV7$ZvuL=AM`5AY3_c-`25*YyhlEOmBf>bOUA_v(w zQIw)3h}Z3|iN#13(-XF_A>Eix)F&de_*u|icm4H=_bwc!p!NCfQ!j45_RXCm7+?+D z_w>@9=U2x`u#y9Pe&gW#r}sWMJ@&=@ODA`&>us;^jQbk`E=7S%D<|_PDYGhyvk+

{zzox1Zeo(P{Ea|N4L6(B=xwL0`Bqgrb>KzUYM^v0-%62oxNT0OO8`O9~&ymx;8`{(vPy*~Nm z>fX<<>;?aRadSTa6Z_)Up|9>7`8orELBULZ!n{`}UI9xlj{%1z@Ox$7(+lHL-uA-2 zr{^cYzh7OS`1;1aZ@A92aqzD|xFFxpF66a+Z4`_offAD!Oz_mZc6a`n*XH;$8S=l(x9 zH~GQ&!yn$dh&{Z0>7A=*t{&h2`uOIfW1CJL*tui`}j^ z-tTlOD+5M72L9EQ7PEqq1y<6l02)Om5x`f5j4yE`$OGi*EmoswC=3LKAwZ{OMyU}n z?h&CxRMreC#Io>*iAF+*!h0uY#M(~KkAhf?3T3 zvjqT)fzB9N^EFN*7>!+kXCVc#>6E=lz0zrNS0^J2# zz(5**TT(G(7Ep`_|5n$gO-+r39=ALk@=u>`s;kpPBC;yl5=lz$lvnFKHl(7UZtyp7 zm$<8pQVd!2#x<#bhP@>|68ws3~DlSHsKV3f%b zV9K(@so<_EHdm;EdKl69mhvop5t>)zdF7mAfaF|S?A8>xs%467=H+g!!mlrb9c?Np za#qUp`ITv#qTc3NQ0wb!$ct6yM%9H0ovkY!8SFIAh@-59k@?l891yT&>KssTj=hp* zOyJ*=uu0wEbIz^>^Qt?2{=sJb>@bs}T4QcXk11vb?1N2)fmBhaL)jbE4yAHu+hv_5 zG_T6%ghb94=CfjMw0Kq!{9Dmeqw24%T3oLjsH+^RQw-LY4<<4Bk~9#we7Lr3NxEb> zRlFogYvBB$n!+V1AaL$LJf}ZawyepzbAe{VEcybI|p%sEFK5s70i0<7lx5(`VMf+NPS0RIAY#ml)APf346 zRh8)TOC}fSB2vAqd;kZ8eCaz1r8(0{xSYae3W(8lc6*>A1?a*6-htW*v;i7}hO|19 z&TP}@?Zie)*eVQOvp?mn?eNugHq9MMP4ACS>uc&++djCxf5*vf=iY?~ee%H<$KHHY zGrdi1^EK(g>f{nrdZcF7_SOY^ z_n6Y~Oq1*S5|HRl|0gBDwpI>gMc{x2$U2c6H>;3*W#I@8YBSdE-SLYn{uE zocaF0YC zk1pM{a&+^m+Yib*2&0UagY;pR6w2JUX;_i%jqBR(ES2*Sh_}%bre0Izi_kwC2QM)B* zwnuDCoKdGc?sg}9-c-Pw3}KF#%aim$Xpt=GH-+qM(Hy_p38s{M&_x-n#eYe^B@qs^d$a{OOOw z2R=}xm!}pVT)6wr!tpn5ef#$vtEP^<^>p94H|bd|b)YUQrS%9M2qpeAm@(6xN20+X z=%g&eKy5!mT7hB3Lka4l*pLyn`We77A&Mx3L@1&C$ubc5r`%|H5sSQpT#(z!#5|!r zlP8s42nx45D~j=FBu6OI4Uh%GKC12$@Rp(z0UM&Wu2BZW<&a&@Oepye}r;U+xm#phO?av=3&x zkwUMT6mV`aJDMb3z|ACaz)PU5;5A{mi1Z2}|4S-_1V>IqAzc;l^m0+ul@~BlY9!%V zRT(W6m`gF(@_hO%P?40aDh1)vkFU&x&}bz&-#m3$uBucTtIIJmLo__fHB{yql}K8l zdBvWNS?eN<0AY^M?f0j4NP0!KUcqS?OzC{9hNcy?F(Si@<_Vgg1wKP@(46lxpqH5C z)KcL~6)jRuNFRgypzUF$Ay0Y4=bqWFN=0RK!VUWh-4lNB)MM;+SMgt9)&yr@P> z1e>SV*DhP6YK#^`*iHuu!uGO+mx*;|qq-?p7;$hBMQyOEAyQcvDzEW?rlCN?f0o3Y z<6eDZoXTQyyIS;Do6|H-a?EI}O2>3fX>)sHRXjkiC1kE?epD3;Vx)bwH4(Ybtq%C) zPP^P{DK;3(%oe%HQtk54vk9xRS@lk*#T&4>eKx1p7mWJDkyL%dobK-7p`nqbgUf~n z){HLMxncQ{y&I2BY&rMZzE9q{HM^s(ERRgP+@{yi(8on<)Xerr5SVR@AQs$DNYOBy z(1P~6T`i5Zb2{2;{B8n>?KS?ksN?eF=C9wq`1I-lkRxf$@86V2yij?+ym|188wb9< zd+_U9lV4mN10MeJO=?}oIZiq4FCScdb?5Zg_b+~Z@A9LYr=-%AbptEsw=9{N+A-3- zb@8;D2R3|h_cc%+b+QulyT0$+H;;Vx_G{nXKl;ZHPJDmo=$E$-zr1zy+1=wGUq5z! z|HdW{&Xi_xN8{}ihxV*o;#8N>9MWl!*F_!eNmtNVHnwg6@O$sf*ppjFKDe;=@#TGw zE{{LCI7a<1_V~iyPtWbf9-ZGKa4RWnelG@)7l~TnC+|oYXuZhDyPYmBus=VLPkbR?KH9pN}`b&r3eu~ z<_4mZk326tRr=Jx`6)D2Vk9fUYlU>5pk_Ae2FihU;R+yZg{nUt>tOG&I$<SLt;lIE@!5lOI!e3_Rm8nj7YAT-UdAOLXom zeQk{vMeDG?XVW@!U9yt*8};jw5d+I0s)Mwu>})9|g`JMcT{cbFuMT!TSkQcl_<-@fW8^QVco~grfWJOqCI3qvyv(Xn`;4U)WwqZ#MKI}LrO%-C znPny5-#isj0=qgNnj1-8uTJep*#1E>pZmH7?@ z9PA>m8r>~AB^4(uiUxOCgDbzuTGH-P&x>moBoy-^Ic+xCG%I4xs=;JMZxmDX#S{aH z>ZSGah4HLTXTe-QI#-2rLzM&Rk_FMcIsU8}Zpwc1=Y`}0DH6Vt!Ej!hhU#3gtgdop zvwXBcaGnu-#)_Ax3zsDkzf!Djl=X&Wi-IM?Y3+v2qQP`-ZycZsXe9*<6ve=y7+$)_ z)n=R;N&ku}V1a7I1f)O&n^E9gfnk}8hg^*#Tvj~fG#>JDt`FvgVoG`!pe-2DoQ5;N z9N$3l3Zx*P9%eJaOMnW-z5u3`n5u{xRY4kJIinFvDPmnnRu>kPDN*~gJ6s;G$K!Fi zTtJ@u%twghRmjh3ENT-%9WigT$(L-acE>fI8l6AwPR(dtu(D(EmbS&)dbb@P*mDL5 z+_i49)RoH9xOJ|W%@H=5eI{oJtJc~}%Bl-Xt4qp_;9psVyTFvD6|A;)$WT9Ou3e@M zERtKMmzg@8t;-E+zp|``7=^`Hx?m zdgIM?Th{Mgw|eW+{_P|En}-&z@1M7>Z|>Uux!~XR0}D0|F5IzfXyt+~60$(x#WOpB zz^i+E*7PkTCp*+LueWPf*R42Loo^Yrs@OXcqEZ- z>6j5u*GH4J!J3pmmH_ZNf)SfPgzIQ@dG!uAy${STtJ!TaI!#)e#^BT&`I5RcCgd{x zMq9`R{srpVqb_U6Wuw7H5-jYO;BYG7P6cc+w>jXj5R+unH*1OdN)QYu+=QO676=T^ z1>W)*0Q>@S35oE@VZsjwp+GZ=A5J4#j6*L+bskx&3I(5YKK8KDV7`!`R8*TvROVu} zr_>np)b-6?exPB&&fZlgTITJP+1oFF_csSV{-JH_xgBR7%M|rrkK-~6&d0-iu%Oro%6 zQl&T*Tne9r5WN`jTku$DiUF?%{0sQ4fMjctIsrlV65b2(e<`XD5ss#l4ijz+9+y;E ztg1p6k;E<#7})zS@h`ZT)I14#NX{gA1;S+%6Cm)v#J`*%odb~16as^qMVDuR>-jC< zUrAH3AeVQ?UE=La`3~xuGn!yb1RN&q%O6I*00xnuA&D!9Tf{lMirdHt{>4Sa0YeTe zOJ0(rD3g^zWXTsJuveOw%g!N~2xZRQqnqa-H>s+&y<@&*3_BvGXRMUoLlo)IjG zq1*^M&LSbCk>>zx!Lw#nIn_)ysnG*!natrrQvk(r0fEI+JS!g3w}N0hm0UO^qN`C+ zz*G{lC=zacvsBVcVXvV%0R#s3IXW9qZYlD)%EG|Fl(D&1Tc41r~r|`d!M9ugv2paoGXC zC04U8;IH=5(8^t^H!5uo^h+TwLe z1y-9SU7M8--4Mh+HSQ^%r-KzPvj2 z<&Ay6dh;;3(dU=Xl|68bzrA_r<&6WMoFD)2^3;b{k3PC{ z`lD;7E=+BIeCNu0SI&HT=gR5HU1_hyZBq2lZCg7u=hVK9Pwrp*=*IE)E=|3Cde_t2 zhd(;E=YumlK03YQXZS(A74C#y?=iHyJyBRChuRE z#O|FO`|$E%!UZqizWCXlGgnB5&uK8_(}6QPZa1PxhEbPkN1j6JOHo*qn}?hgbTz(B zeyGMc`{GHEhzLtR+&n{4q=zfxzHX zVPtH@?#A8(NT*pa+R@D6JCO?p+mZ_g0_&}?$qk@j01F&24OlqS`4^6pv?FBp1vVhD zS+MN$_G#Ej5P(oQR3Dalh|na0t&srbu5d4?euWYYxU)4R!M})Hl{#!iRx|yNM0c}- zYIQCGBbkOr+!Gqpm~cN_CX8Kxw?H)z+o+Tr2l+yy%E*gpNRK-7fL}I_Uut{TgbPH*0ht6|V)T2#Dy)#;=Pa)H4Z>~kJp2#Qi4#*o)$!n;M z!04*P0tPpL~7CxzioXhgsHC@esJUI>z4NmXQIEg>o%A zeJbjo-U_DncQk{4=|D%m8{|tvbK06?kgn;F4iZO`A5Ia!6i80rCHT*j4^tuy{*{V$ zDaoPn7H{8WVj{s_pABqFdKV!t8b2}86HrG4((iz)Oi?h(hh%=?Kikt0`Z|&PHP!?e zDRxHbno4IwO#maCY;Q`CZl)#(jYqac5h!K^0<&G}Vy;q$#*z+bqfS-Os_+^atHXAs z*9iFK_JV(ljEZ7Yr9Ny2{}!lVsCTLrU6qb7R)Q|1>SjCOQE zK6n=VD|KPb<@dpk&dSQ+C7Cf>O8ZJpm-2Fez+9Y>(`W=B9j6m9B-+9}dI7_K<~v0w z36mAmwwUCcl%&uR%V~{L%M-l!$_lh{S4#srm~(;(Oh5E;zUJ%4ft2JxVES}Shgt2 zT(h(Z{9Di+%$@B61#3r|%lZ=4%bL~8o2r&I(C}9=S`P$fQnk9ZVtJ#`yppf1$4Xa9 z5Evj_wXP*^FrM8XF>Ia*MwZPBmMp0Q&w_UG{K1|=mKi`QlD2HqM5+ZW)kkf?czI)*~w=m%#FF^@J@SF*X z^21&M$OZ87Bz2i|Spfn|#gp(y<;v`w0=lSRgwgT6!9fnM#~tw7J#N~pD5)505F zyLuMR?&_L8b7p&Y_l!l0=FXotXU6pQuI^d0=gb&hx@2%@aZgVViQ4%+J+tP_sZBT3 zrCJ*6+FKesJ3G4PcK5YS>kfp{W=GH$PDfL1!FZF&9o55)jc z`2`rVe-;#@)v7{1!qnxJD-F)D(UU|4x~6kUZTH%lOD1goc?w-~WN7ch|NVb7uRqo^ zes%5SoBBxa}^B?`2jb~qI>Q}{j#u|r@Y`pLp;^9m8UB2`5*Igrn|5evZtP7|ar5g5mlp{Q2k6+@!Vn3RXjs6F#q z+y2eX_tpxPuy4 zvc?#3Z+w`1n85TkgV3#1msBY8OMcRt7NS+6dl4`eq%YlLlCVWZL_Wd1e1G{COKr6@7NT?Wa1@0mE7sDySHG(xKJtWmzRf^%s;MXxS z7Y-g?B0X?%Z!i%kz!5@nq`<5ywQBOo{F*43tpMrbyHRlOX0&7zfD+^DL=h2*X)cb)nCk#||E`Ri%BE^#N5=SlJXV zPPlTzwvwb5VdScYC?&BnnoHKz`ex2>w6`f^Q5n>3w?i2T7TYWpUZ)I(yir5#8-iW@ z--Z8)oCsEK)qsKl@{Hj0{7g$?YLMwWjFSd8k5V=K9E}4(26&bzFG$M9@SO8=bAWS5 z89QmOSyd5&Qs{BmT@HuaNwHq4q0ZM7Go=06luuJ1tZI(r#_h6@2}mG|Sc+5b^12{6 zmkcjp7HpdzlHQKIE+}(p!Ntt8gBCzBd0~v|;Jk>Pd~rd{$s6YgCrBm3aTla$2+~ld zF*)suV*b*g3sy5p5OUu*gqmd3P@7bQ{J4CS*QvvPZU{?!89Jx|A5O2z@2zy$%dCiL zx>OE|2ihI$h6zqs%uuhQ`t7L0@% zni~_z7~pqiM@wT(WM+M0@yr&~^}l@k@}o-!fq~!LJ@oaB@o#R9eRpTyQ&Np@oO*KY z0E$)LzIpt+yNAEHG4`9c4*mAt;a}dF{O-==_jeEf`rfgxt{?pJ#vux61@8Oc#8v>~ zaB)B4 z&j?AORrSHS-47|wy*&Q;O~Cl!m$whSxOEUCmo3?~DPfe^zPf$nt2d5)`NlCIIZu6l z{m^IE4nMwf@Ut67!Rb#f9(Z(q^7*x+&#oMPcID9XYeycTnssTv(8A&(FK!)vcI)7y ztNT8@u;=}=JKw*!AA9%Q_&aCE9-JHh;Nt#==l8vTcKn^=J0G0f{oxt(pZ8%OpPTsj z%=kyA#~_VUH~r|!B$`@eiowMK`~rpPn51_V&qN+&Xb{=W250PL;gIWx--DOVr~uBWwuiMQRXQ8V-l+ z>gsG(JIkQmZciigo1{Jh2z5|mY}P{T1esz4Az6U|!jfJVfmvNO5Evj2iU$a@wiDsx?U1>yq5%Xg ztO@7BAXk*4B%w9vY)(5FbXI$MB(dzXv7)|*7zhp{`yF{?VxB}zxegCetFib!^f5;o zOU6c=X-5vS1N@@&Zt!`vc6+74K&w8O8Tgh~r^{%y;pezReq0Wm8L%w@Lok)p8^LU?5D&enE9G>}Z}fH>EUnHTfP}NhF}IPpKN}!o3U267ejr z+wuQ1^%mfDW$Br&EM^_)=rA)gNau*z7Fc9Swk26+EHg97mW*YWUFC9_v6z{mtE;Q4 zxzjzJ$xUu|Xfm0bq-Qdjo14sJ>b~o2cTJvWJ=yCXfnSva2zPL{54Y^EV|na-WOzbA7-=4=L6Vh_^Duf)pU*pr(SDI$~{@GpbWX zALOtL{v|bwuq1os_J=(ad(5jGm4eF>P&!(glsMx6~acL`k#sW)qmZ})FJy%-}@hM$;nglVE zp(!x5m{pub+5+)b96V%=A_NNr&Y#2b5m3yJhy{dvA``H#f?fa%b5O~Z)#$&}5E|GT;_4cD!B!* zLo{$C{ey*Zx>OT@M$H!|AdYq_uc^l3t9Hyy2L{_Z*H3u*nsVLRVvklGwR_qU@_-4W zb+Nq~4|cAxJjYau_$!N$~Dc}4ej9VoFN|x&&pMe>eVfx$ah7(?y(NV z+Lp?d4f1tOveos4%MzulQYFh$MN>6}OX5XSiGro^yd_a-l&q}H8u1h_OH^-YDw>SZ zED5nVZ!`p!LcSm>Gjs5h!9M&8t8zPrWY()80!guzwh$}7VlagVS{dwfe`H^tgdZjS zm%DKzM9km`C2HnZyrSS-Y&eQ)T+lo}Tb`L`qbQiejYUypU#fQ@6ah49EmsE+n9Brx zjvRKUQjM!sZ?-rPe>of_1jx$E=lEfki{1nXdxD|5ruK%;Zf~MNWecdRVZEnDA4r?( zI?eT6zLviB1*_(bteHE!j^U2Yn^R%Unp2rwsm+xsvx|%2-y+ss2t{Y{r<7#c@(QNT z)!M2GV_~T=x7?YhjFj0r%RIgCZ-s9@SyvG5 z4K2;}iFnu_zyt1XYHm!{Bz!(!ZEY>;Y$O&71|rc=Z6aD14kSJ9NHCBLN9zNjR4`U= zb%l-gkj)dfc;og!jVs*X4AnC{(I)n7{uIONt2KFIMt9WUifHXYy(4J#;bcxZf;ARz zOn|V<&ZU8_;tVcT^f<5(Jwb|oW`Mx7B+$F93=$D(vo7G*Wy4WPod}$(_M72fMwLrl z=~U6knl~#cYfdq%Hyq@Y1cJcuuPCL&8!Q+7jG#IAx1_2> z6a|xul}UDDEA4=6fF9Rwv2;%(^-Sm!k79^IVrp(OX_ zmlud_X7VGgt242ou#18J8ON`1vZ=*j0t5Mq5D9%HjxTCsvBL@S&BQ=)HqNPFc}rw6 z2pu8gb|%SL3U)@V=H23s1%CM~nJxe#9gDwBw#-ZzMJ24a78ghvOP)gYSWB2Qn_MHu9Xgh%iS&jK%^daW~CoxN`Aq za5tv~cF@OBkoih^huj$i77wJ!QYHc#2^a+a4tphE9~Nk--i@_=u|%M+Mg^8E(A3~S z!JuN6s*H*xXje37$nY;9nXSTHq>yDMLKwHC2@D9#G)D3{OFL{y@1!HJG+<$YpC$zl zVZ~d-Wce*wOfSO@F`{;Pji)m0t8NHp2aJ{V0eNF2CuotXVqrjCOI?ZAQyq&Y77VMB z35X9}0O-q7DLBj1xHexa`WKVujA4%=ZWMgI7)%}^~Lsr)!sr?9RvPVQ1}+`RC=8i zE=QTeCUcT>>NZ58T8~eUU&R;lCDYzS%GXeDPbU1Fdg~hN+dA93dRp4&^$m1o@lT&VK(fn_PgYot0Pi~#0wGf`?FK!-@_!nY* z6?ycT6L9F8Pal8d%JFBNt9{S+MF`kNK>9?NR|HkFLaH|0AXO2R?40fPS2KlY4wcI)gXd=*!Y)8`ld{qXt;Fd0~W`wHRGN8Wzs zF#OAS>*^tT7`^o5;RomU+?w4+-{FVn_q=rR0D~UEa4zKg>V^F;pWpk!nO)D%?s#ry z`wQpxh`Q->J6}4R@k;}<7k0gcRr|uOSI=&H`ScdX3#T?eKfCGWGu!zlCFaF4&HiiW zcfE3U2k=Y5@;evzzkOlfCs$8=@Z`~VFCKpX($SBen*P~y&#WIG(iG*y945a}ZLBIy zg##pV7i8z)YQyIS{C0G7G&MHUP?#Jwu2x#P4EU9o7LnTBl#B)FzN#R#&OviwMQM?) z3R7(r@M~1dapI85TvAqm5UfLFBYxWFB+Qo54^E6so0+2HoWv)|0Dc+hzmlg&I{P79 zigP%IY&<_SGs*CgR?QGVouJScio4_4mQ}8e8?n<+{LZhL&ANa-81pI0YM&>zqiufKVaE1u5 zH)qKU;4D|%PvDg#b8~gTAjG+p0soSI43WtLW>w6oh}h*3yFMKtt{J8SehGZ23OO0o zF)xL^wvIZgSFCOIrsfoct4qh|JPrkue$3!nz!ia|NLt_(I8DVKYmv`EkxP!-u5L&f zJKAjBbIo%*D^oR`^VNwc2&_rQ9IZ{E-g(aUCj39F1X`Qxu)c)mchTgX!wapMm$37Y zNJ#E=q5>l;o9mOnFK-6^b$2&8I?}GzTEefuRVs)fT>3^qzUE8;HTxhiH{v0e_}83_ zK(dq)YeHVKxkR8=CNCQDl@J&^G!a;c#UxRq{7O~E6eEMc+@D8LZcHK;3%@WgTRydv zf2B*fm0_DX9k4gzRJT@msFF6bE%h1-otkVTF-;0?DYmncTvA}DWN890G=&|ACJ4cL zzopu)Aqa~#6Iha9XO>Wqv!sGw5ExTE6$Ii>hQAlsw!A2(m}bEQb;>xd*uuFitsvA& zaxmnJA`J6NXe{mXTh`kt-2!770(((-GYDK*Or>2xPEHQ+o0}1WVPW_ed6z#}EYJ*u zWAtJvJB!-|0)xf?auJL?2j=B4W1hwiHCg-(Qu544BmYXoUy}eQ!ovE?JfznG!{ zVeAK%xG$?bkBhrDXvwO~Euqhm9+z5PuA%_`%~KM|S6EDunYmhxiQ1~A`ic2Db9HIP z&e4wERASR)DNA!`c-7k&9BNN58JPRn68M*9Nv4#~-&tGYP?fvY`lOSRVMkMlf|<&Q zk#@uCCT~@PTiFpJ+qta8qa99H57sCbBsCKa@^+Xb64N(#%k2Fhb|qb8>JWu^x+~p{xY{ zD8mFR5_(CiAnIQxAOjOOy@Si-WKC#Gsx75zVjp9MKtr`VU1m?`>yqWRR&UdipjnZ`r2>*^|@dF^T{`V-Ms$X+VijPyYb00@BQM{Z~pJ|_g}mI+S^)} z#~k!K!a-*w=!r*M(U8UOaRmInSTw{uDjK1#mM|6^bzCy&V{Y=;3|>l)tQHDhTy{@1 z#IOg043p32NhG|o8DE#Ck6)Z=7}%G-b1E_*2bDifY=4Dv2m` zn-FtBT252!(6t=Tt<=7p`*UZt%S3D}5}Vdz!REmVp4zFS*EtdQYX zx{GR@_DZ9kV~E;v05j82kl#YL37k_fC&xcj zEP|<6T+S;j%`dJ{kvi>)uxz69)T>;L3)dXACq|8po9ideoq6$Bcfb74v61b=J1>Ps zcJ}Rjx^3f?ldt~is`DR~hL`khdUERE?VhzWm!AFX%OCuB-D6t`1SEltxMM<}$UQE? zwI-FjX4?IT1CB;QRTZEag(PAHyP}NqDudH3G{<-Z!u)|{D3~qC%$AjH>9Q^gMwf7$q^P& z!o_4#K+34Mg<1J|yh(tU2EIm*OKCBc6aHz?u{d9*QW5Qv#r2}RgasBD76n0Pw=lPX ze_>ldTLew8pj#!UGz`6iZ%^9cTElyjIwkQA`F{B9d|#+EUP_hb_t`9V!d88rsMS*KQ=Ja61Y$0)Am$22)&oQ<9u5%~5mJ zrTN-&D7cs|NSP{TVTU%Wc&k7?S3OC6fZvfY$~=06U?NPBhmb;WSF#*|%Z5RxW(?;z z7?EkBtjM)B`Ri)%78V8!ML}b6#99!f4k%h0vy=Qx<`uMyjTtQ)majSc`)g0M=1E=GC4i5HqLO%wK!(4z9w5>%XH zt>K_0M9tQF%6j_uoiadvv=V{6;%Y6wgwBf2)~Yi&+0 z9PQn;amDPx%_n!QKCyM`>XFB89p7-{(5eR~H$FVM`NcCk-hKKw$R_;Ex6dGnesE*< zou^MQKDc)Bv3@^-Fu+zH;EDOWR++egMh!%CYUcmyIv& zZr`_R^4iHm&tE#q1E0UN<(+GL-@Uf?z3cnlKz+WrC6)-Y1APFsPE&hCEh^xkJr?Royp zo@Y<(Vu$hK>3uJq+5h61J&ZRl9f0d;)r2&Ue*NZ?)2}}{{m#`h(>pf#bPAuYI&7v< ziP{Yq8CBGS*Vop7y{&CsEv=nKgQ;4sKo8>V9`jo8Ft(?|mropcVtUUrvj^MpRT<^A zZhgq0^l0Q!(i*F)oC>vFp{Xhmr%j#7Ob9vdCnn2Ajm)H^@0m8@RLAYAm`xeADr#NY zIScrqmZ|xb z+{^sQi&|hB0pRr|7@x)gB<5urpckquag`t(=i@iVnZxOnORP=MBHA&RX)?b=?}khz z4%Zq6i{!8^3B5)SRxz#A*#TXcD;MNT-@44QXH}t0mP?-~rKU*6HJd6YgVE;Xgd@Wn zsNn*aFAb8-IsXs?Vs_X~4m0Zj)%q$qG3}Y2iAKALGEb(tT=gXnHo7*Sg-=1O0kE(4 zJBVdwhnyJR2^T(qU3}PTt}&U?Ap$f+-XnE4^ouV?cO!R*03!1Jl!TUeFdxc z6j4@qbmcz1I^irJl{fCQb=E6uqf}vJJIz&L8z5|KuNCWibs&FRvp-_q5xWafyayG`9( zSDA`eBtqO$(U`Oib-PD;>C7SC6wK$obaXT0=-6erB#Oni@YfHKLx^Yaz_p+z`iB zogC>UR@&N98=Bt{=xwVT?Q=9F0M$TiN;LBg+A$*$v`85aH8^BY=u$zRhaU6@*<9m{ zH327F8EBIVV+JG)S@*Jj)>Ane2ER&a`%dj!}o9T|&3W{u1%mZnHF~BNjd8 z{2m5{Co+dsoR*^j28)*BGMA~CrW%@RAROAnKN1>ATLcm#=?O?PLDHcK+2Hz>k6Xg5 zVwu7ecCn(WJxqj%9%q8Z@MAi7^E7Af02M?G$1R7va?YE1W;pR zX08JMX3W*-5fGR3D!guXk%;8Nt(TSie^{9460WC|027T>LJ1qj>@qS>@+*`Tg|htI zQhd?ec@Ba#h451ICX{QQnJYUJ7;qTRGp8Fzij@kdCF(*HMk8j9%|see18IY-Fk}wg z8p5!_0y}3QyM`@GI$6w5&D9Ezfy0}@iWU=cWD%<2FlQR04qe>YI5uy=rlpRiNS2|9 zhQEYA)659eEeL9KU14>5pd@82Oq!}YgZ9xz&HR|EH&W5=(GMnzdwf|lUJ$045!>>G@v^a4_OL&9B={W#L#&W5x^2-!f^27$ z+|s4ViWMn_Y-PG+Dp9 z6Xq-kAR>!I&tehi3Er{~X2P4WFh8;{)kR8Z%$Be;NRwY7_+o4Zc#&}>!ez@XDE3T# zzZ=56o|^;qN|?-@*#~}k3C>Rv*y?B`fl);c$CURa8NU`V*BxE8j z7&XGx3Zhab!`kU1r8oo2U@!2_r=Y9`4<&KXcqG}$W+vMr zX{WFV`8X##7g?z=pY@uY0@x`AFTzvP;kN@$p zSAH>m^Wz0qUOV~2zj*pL|916P|MUK@|N7dG|Mbnj`q$Tg_dnnLt8cg7{H$l^(@m>p zyEmSH>zDt}8$bE;>u-E=>&^EH6*P=97~D=N#zB~hJx+^X$b_3Ucbo~0DhHLE1auy+LcCw!C_ZeY+{&9glqFH zGmu$X_LK&Gs_zE2BH|n~1vnZ>O9Fejkl}F>J9a%M9RA`+=Tp&qJVUq{$W?Kn!NUyy zR@v0F@aFGMfUr|1{=Qs<=WBF6CJF|OSRgR`OXMB!D-am{*QwKaj36)(SPTrA@Gl-+ z2K*~G8(G8yYBgG7!D$GgWKDzrTq0Mg=VjH86ebl5ESa2eju{TBOv#i2;{nSrz%M;X z=uZNu<`yyyup@liBTX`6q`r5>)TY^*x$A)6*5#Mp{mr-6KlzJQGY=Z34wlCkXj)b- zKl{#w_y1GJrfbgbJ?*Q`HZM84`uN>9zWVK{vlp{6WvEJx5$q-Lm?x*du*AO@eX;w( zzeuH=1Hm+y7xt53agZJC2F3zzV5T(Khe_E=G$&E8w8bq36~ZGtiUI3^ z#_+E|U}`n7ux6^Oq=j+L=TfIRN%7Rj5=bMGzJ#h~;Gx_VUNb7b1Np+!pk*1qr_rqKQS5O=65u ziI1z$jG0+YFeaKQ{0lQOpx_cN$GR${VTck@xXh{%OZr|j(@;{KfnWMQFd?DNw<_$Q zpHaEr#2l$AVyz5YXy2o4szK8%4|_mhT|*LOQ&*oL!HGz#0-K@GZltPrj!uzdP_dJx zkk64<<@yX+*q-q`7e#HQ31?x<&L~fli{*fS!QP^@AO6jbIe_1i8ZV@*YKZW_ z>NJf4gNVWs{}$H;RIQ1O1RO3-c&l5JinbbMTUybWETMsBYg*Sy|BEy<}|j>gCh> zcQbZxTEA*);nbp`b!#RM?Avl-=HTroXYO1)dh_%i>PcTXzw7zaTPbU$)D(sHrE_~e z#e4kRCFIN3E**OR`pnx`rr*F4O!M3)j{sb7E5wJ|`|;C8IV+uX@;q1nDZXCRFZ26IO!y87s7PmL9=$o+j{HhmOIC{-8-@4yK(;{I4p?x z!OX7bW_F7)yOVMI=z5+F9a;Pjp54v;d4`9l_HSCUFzGaRB!V7I6)lpZ4g-aZHQ@k; zHv&woHW$+pCLyfAV@Yy5Ebwnj+<)@Gwx>@WIksc%)tLkIYcP~#)%i?mwK|u63__9%S`-3ne$%Q(KDb)GZf{wX5Gq_Bn{K^U1 z($Kn&d6fvi;_Aa08AcaX+2w_Q%c_aGQkPXJ z^cK6(Mn;%HXD8_kUAU~;K%0YdN~!71N(>0|Mfex^1%a7UQtT>&I=_kPOX?+y?MhYLQA$W$)b41ngMV|K<~$6g^+`_bxS(T;`a+BQayX&2*G86( zxyR-wmMzw`H+YA8LkkDJBfU+VR%!a$a%uvo(xg;T5nL5?6KK%$*s9uzQ5ki?$#8W# z-uBq4s=9bdELgvCs;V|>o!c6m9Pun1@Qn6V)y4dyJ+zRc%^V^5wvIG;R-wLDYjXnr zrJk1o{}ONIpVypP*bn^rx?7wb^}JycsEkC9rXpOb==00TU$~KDZasxIaSuK0=(tCV zVfqv4YXY`Rqh5U4hJ=r7D-yA)hPoj*s1(*6`U^)rU@r(<$c&L@@iq+|6H4iiNtgz` z75r8fY`KKZsV>RNv?kOC>~gD?>`H>TQR>0oTxC&~jEv~)IaPT@RKF?cois=MpK4hQ zFJ{>X>J(CJrVf|LtgND}qN+j#h^+)js&X=sAo$<-13~}I&Y1)MVr0ueFgZv0@Go)( z1B?~?n+eN;bGbj1D&U8MP|gIbq(UVedi<3M;R9cvl$K16Whg+2~b08xYtB=aB&vE3#d{~DD2->6*_ofrZxdxNz@K& z%JUS(kS|m#wi>cZN;#O>p;kSsx{w-bW7G*3^E`-Fbd?fTK$-{6MH zj;X=IfF|1|&-GB_VV2ccvpv;iDQjhev#Qx6Z}Fsd;Iol>K}i14QBk2t_JQ9_u|+lD3Hc(wGN4y}g-2AfIs>+7XO#CoDg-XfWsXT( zhs>6xX(U7n4X0DDbZy-@?<>I^CX3;Na236D3!9T@Cz)bKXY ze@Qh0YNW_S5s+2&2&f@t_#HeiEiUG_)Qd<6Ow7^Gqxt^zFoN>{P(;Fsh^ z1}`LJAd6sRNs0xNXjw%07)pPo2UvuJwy;V)WNo^^L_p11O3 z+t{wNw?4S{#uxcA8M7N&g(7R>qDKZLlmjpXdnNJ};%{b1*vpn5$yJbkWS=`QBszwI z*^xLDd}9Z@FK13}WJs05IFPv!=tI~>`X@6)grb=A*tfW+I;{O(P`M;4NlqegR?TLah0q_Hv-oB!V=0|1%ka8A_c}`=A!^8?d5ul`Q(%XVT)s>|ssjTso z1LaMb2MxLfRmz*mVSF5Ug zbtUbMc*8=hp%D&M-v4e8*d=9l&8fl)RmLY`^1$M`2&|^3X{HvK2?mBez`WFJBC3UV z4z>fr!VyiwM~jxB@mTo-v?YT6#u|b>vA5al<3x!9yoDiiwntkOw$S;A$r#G76zMFo zpcC$lfa?fLp@WYLz4>zM0>cw{_+0)<)fo3 z7mbV$^e!74SUEnpcC35PRR58+qZfBA11hmAV_N>^;dzAJ@7+K5-i=vc^YpffL#qew zp4s`qy>nmPKK8vEhd+B}9|JoyMZrI~b>N%3hktbE&^Naavi<4(qd$9i;^)tv{K@^} z-`qL!)4L~ret+g?4`vxZx;OLV`?EiOaO#H-&VBjd?3d3z@y68?mkvC3eCyKF`!*im zv;NLgv){ja{;i7#@j`!mbLO=xq#Pf5_twm@bt9|$QjhOiKC@}@<^5~kL1Vo({r1xb zu{XbY^Y|w(J-KJ~NOvl{prduu)Wn9#v6Z6(TUU-g_w>wbcV^zZf9Ab=vv1!%@&4Vj zL~p(K?Ado8o_X{B>31Jqe3>HR7oNUweEa;4+Q|joOBW9h^mX)fwzal2P(e=I2c^>W ziD=AY9qn$uaqh@_&t879=p4eDCh5_wJp0pJL>@XWzPY>a80yZ(cw7 z#xp1B!9)`E-E(_xoZ8K}b!IPX3wJLbdgj!wr;cr5Jb84>rNf)99@}>N)ZS}n_FX!@ z?eW8#E*{;&_Vm7WXZCNnaAeE*L+r0VwQoI!c51rWp4l%3`xlOG1uZWg-Er~A_Qwxx zy>M_7@>qUeUc zk;Dk<^v;q}%DnUlJSw%`@AY=J*Uui?|M;n6NB8eIckaZp{_L5Vndt+kPwp28JiYt$(H*CbY(H~sCp$BTwldg1 ze{wJ5+=)GBj_*2oZ1?n$o%{E0-nM1+-hErwtzXtZG_SFxHku6ETo&A+vP^0sM8GVa zXk6AvrDakOlKDT?yP|Ob2DwZRAf^Fg4q%s-(`|T+QCgWWXstShL8-)0ZPu_bF4{Kf z6zII@syNDkO^n%e))UL-b|YMjD9oUiij{mQSZA}E-EJANs1AqPY(@nZ-N!6sL0c`X zid$6%ht}e@z`0bt=`B_+H>~DB23r3It~z+F*WbZI<8Odu;#QJ=+|E zJ*nm6jcb+$#|9kpyKM72lpXcCbb@P6nuh1u#`?l5#(hghi|XUKHKC$(w4%ATC>6_c zTf4Sw=-ah*j@O}WYeYdd&24E~yEHi5Ll{EMqWc6WE1qpO*KL1Rk|8G{ro%c3rx zmM%qzuoTO%Md4)_6Jh!(lPZP^%#TRPyacU|NWLQNnb<3ldByr<)C>F~0V{nrE+ynh zv!f5XR30le!l=*WWr@^i3{-KiiMJhcu%0Z+g4{-Q=gNS&+-uO*`jl}O`4aZlM48X1 zV%^wpDzUI^EApTUbQMeyrFo;Y%~cdjLT6TGKKgIIidKdNMdaG*D_IR@=7UjzLtWr1 zVjet@pT*HzB4;&zPEJWK#41`5RhCd1Ebfy@slxV5{V(;GEVoOk&iu#}4*eH~Mf{b@ zdjVk~`xazF!LTsL70NHq!!0b@Gc#d{o|y?V76fSNQAo@{t|S4oDh2Z5JaaiBPO`AX{04>~MrjWKXR2VlDC5#0z zeM#C}T4yP$w^X)!DmvVyt&Y+TCnLYbTG<cgiM6_r; z!eGCAc`f>H!HU}A)pez->xx#?vc(z=6vN0Ep0fsB%5|+(s~U?ZYskMM{Hk~&C278r zy%|Le3WkLl00L;qEervkIzku7{VWF=00(%M>RkqUu2lR>eYPm_EzG3}30ns6%RnRM zcBvv5Iach?$p*T4LYVpw5-{0@8U`SY?U_b%ow6Y z06A1N`BkZTpA2+l287N^3Spf$Puk7sd&>F&2EFu3;&j@tvQtjN1~%Z9mvy!u;t%X;nnZQUntUjEhJ9sT^bkN@<)Uj5C#J@u=9-SXN`pZM9|?s@;~ zn}70OKKrL{-~ao6d+yKv@$J9)cKhA02M^qvoPBla%qv$u{O$Mt{C{sffA96LfAh<~ z`MtX)l~q=(c8CUc&>9FVn%OyQa-$xN3_8%5s4p^b;b2Ww3YTC_6)Q3)bNH9bfw-VJ zY+RmTUK&{fzk+Zx1O7!#<10W`gMax|wb?8N&}7tcX<$f@%fcxG#^k#89sdFgl12<8 z!@smjp?2Uq{smouQ^BWh6Q#RaFS&f8F*-XM?;`}JsHxOIBL^jSgNVUi?!aQQ2)VNB zpktndhocT71asZN{|x`40wXIkBx>f)JdpQBDF;%NFu9X;rBEpO-!CpDL5+bXsN#rH zt2tCS2*q(o@i`53iS8pStEyU~BnKI52>Bz`Wvn#&5^{5J{>0{GTW9kXp)zBWuW$ds zTR(a7z28k8zPI7*%Okt4SUXlLYR1={d1uQLABTqaP42(nvwC)H!|Aub{>!e>)dc+! zo(2FyzNnw<0KcLgZ6*~;s#FDa(RmpX^K#~--h{0L!Ym}B4nwujD}*a(m(I2s8pXQ{ z!*U~syYySmqLR^<9T1pxMNX>xmM)6m9yd}0D?G`WChQbV!+ks(g9|-FG|2eFfPc9h zNX#oC?W21_zFHN6FEbnvSQ;XMil?GoAOG8T4ZYE^b|5nedv61)(g%@wCuf#NJj6vp&UVlxZ)C=qzo z&?Y$eVRH(H>G?|m4v5WX=VZipBA7RK4yPo(5J?oqEX~RQ-wZq4heBXJEaER^YaH#; zvJc0z!baV?iPxeb2ndN-z!ohPRHW4rgewxOEc9g%sU5^yN#(r+Sc%xH%pmre+8HSz zi+h5=+NhUMDd3ms2TdMH-GnQt1!D%HN(SVtwAV*u5nE}%1pgMgjG!^U1%X9IDCImF zLB3fE8r)aR$&jzqt``Ir@QbNYrv!ni_GJh7%~6yW(BxMoL;q#qk`nH|OzTf#pDFNR zD>ZBqABq&~KO}caAC0*U3+yx<#sUX}Gk4<6GhJbp0`~HE3ja#0RfO6x2n8iI8p9iJ z80^h*sTl%A&q=SQDaPPYP;*sttfC>TY>87Z3UWOQSjaRf>8F(v zTC<`huI)@In`$i`O~&>{V{_Wl)<9h_WpVzF7JEa=k*@JH*87?p;a^KK?yO4%8yoy} zjsBXtWJ^a&??7AcK*#){xx-_fgCos-{VnqcS_k^)PmIqWU$kIiym!Iy;ONM*r4wX9 zPb?Z79+*2Z+CS9WF*d(@xVsbnrAhi|clW~H-o^br@b8{YYv7cpXZBq`zWwIO9nYWN zOFb-+R$tvc{rQa(xRD{yFQ31BY0rv<&E6%Q;RCDspMT=OH}_Be@ZJgPe80Ir{muPj zKe%%k{$>2p^Cy3D?+6GC|Ni2+neX`b$G4Azz(2Y({ev4vzPv65U3Yo@k8VtVc=Obg z2iC41ZX0L}^fyJ!#k%wyL0-ZThpK3o%!PBC+% zj;>#PYTNQ-+m;>NII(}j;zOGzk8GJ@dwBEIv2DwN-`PEDPwrkbvuEw>-gRuJcdR+O zbtU0u{CM`j=Eo0jLsSKUpFFnx%Jj~2hc?XaU43l((xcm^j&5JJYxSa4Bl9M@+a?Bj z+iGF~i@{@{gLrO5P7bAe+Gl4K$F$wppnDsRm&z94=rCZymo42{jvqL zBtEcx_2FIXrXlxZI~gGGiGy1p-^XY6ot+l&dwBnrt(#Y^TCoWDUB6-Z+6~KBt({sl zIo8?T9!tf25x>JvzNHf?Bo3Dr@Sv;YA7&Z=Kfg=&m&IPEHiSgwrW|c7iCkKDk`v-bx0u%)9+8G#iwNTdKu9) zWe7=`N?WPci7XcCeaSTfpgqVDb~IlauwpJ^(uRD@kyNUxKvTw_CbF|l_@zbY76>e< z%uHaYwd0+`?6#1H_s^-GQZMd_WB~tiHRL`#1i_B!DMiN&xvCQWMFK`9W)ec{85+%0 z2Tby~gFbZlQnKif-PS;=UT$Rt%QvjAGID855%ZSQyS&zq)mhiy5nVHB80)o64p;WI zwI1BL-L9>NnRjny~Pisk20{-P8iFH#ATh*9qnkVO|Sz+MqFHd z=(o%Iq=cpTlL>hy^O^>%(|4nGK4pq zeC(hi=A=d#{#E+TYA!Ao1v(~thj3|$I57~4mX1a_<*_VWWSobpN~(r|Wo0q)J!R}H z{v+@5KQ6E|AKs+NP*y<&b-3Wo9Gy*1jwmZX96}Ph;_M^0N)mYyf|=A%MJGyqDYdUg zLlK??8FLkk&^dE*3WduSYKDI$FEls|Yjb2WCjqyatudt66%sI1%`;{2R`dwYc%CH$ zMhiy&1)>3Dq+!en_^Wx(%wFJMOv@A%+G@N=z_75Chy~-s=D84QN#P|ZUR3!zpkup}1s$FhZ6Re$!tHGuy^XhQ*SFn`r)|7-yjNGsW_{H$d zPJTjH)#A#lHK=>Sik@J8y(zEJRMq3J>I+tM`zm_;>II3)k!Zzmm~HjKglsfgITov0 zoJ9GpSd=Il4wWs8!oQ`9Vnw52iGN{R$X5p2PR1DWRdrP>)AdV$OmaIzWE{Ww#MhU{oTNKLbcMy0rXT(QeB*T_W`15c;w!BHTt`oV5LRz+9 zBhn`xVAe3C8?lc{J?WrA_89;LTbRPACm&o+a!nQGy}%^tC&fkh+=(tD^_fIaK$k99 z^i`6iVXV;-0+S0ZW}~7UtG0y zxr!=%z^m~($=s7$ja3!{j_69gmTN>cG1{33Tqg6#d|afs#BlWyAZ(_=29tdF_FPR%`9t`#9V{Gh-)b8Wm+}2aJ%FymhhGf1Q!dQP#RqR=sv(efMdvv zTJB6<90PQPLnX+ia|)&OGOLckS&oM9BtO$6o!dFl(JhV?tTL0DxVaLrLa(3?7NZO? zj*B4nC!4jBS{|op7B5Qjod#n_lrw03BuMLsbC;r_3452jM3Y7OomH4ssD!KoD0P`Q zEG7Sn#9Fo-Eh6wrqmfolIF>j7_)iCZSp(tN#wx%%969Ltlj-zUt+$bSo$6e$ZuelHV>PmWpsH8Al7xz?8G6#ufy#abefDH)ad|KN7UGL5sE;$H+`EYK4FvLnTqfRGGPP)y1xCjt??Tm|_G zOEYXM%6>()uRvW)7MVUrfUv~Eq%<=ibR=LjTwMJam64wL-()Vtme*yKjV}{TmO~Er z8lGg#2Ev(4JHPTmL|c>3A?$OIG9fU<1pq$Z7^KgZ?}}Ua641rJ$ad#sTmz@JsjJ zEKLRaFZ@e662PnUS+PK4ekK&F(4^v`PnL)%I}M8BrgEa;GNHtVng|^p(M*dyLiVN1 zs)~9m53!1QWMo;Gcz7)YO(V;SSZTJzHD{U@N$r-{N5Ca_8qh{-=C$yEkwlH2OR5!W zwP?wtD3cmFv6cMo;4qmj1bLwg^9(FQac2>PWl@)7%qD=#q05vct8#4We5Wp-7#6RY zZF#_+W7W`}m?4#AVd17d2kkS8Y3D>oW52aDN!M0mo?EZ$Oldo6)$KLJ zM>9kprN&5gYoe+(SyC6u27$v449~jeB=B1v^H4I3YD|b0WUa1=+ZyYv4QWe#%GuK3 zMQUtF`J3uPtxfK_T32ntk&ICSY>$Th>Dp*>W4x)MrlG#2tFvctpu2ydqq`^F-X5*5 zZylK5F+A8l+~2)uq@{meTVGe>yq3ZZ}wsHr&Zs%i=-cdwfNgF8nVU*9|W&4c3%c7Aa82;+zMkNy0`Q{Oy$k~rvh zpWOZNwSyGHesJx;mv^Us`0S~#AI^SxXXbl%XFtCs`U(-N_2IpXZ{NN+*j5vE7+4uK z(FZ0HN~UTKZ=HJg!R5E_UwrG{h1c(#{_w@iuirfN!j)sM-#GKu?eiZ!_Y^ztJ$(G7 zXO6#s_RC)TVP zU$tt{iWOtamya%6HZrkfXz|3rlBtoYrK96h3&zF=Mi=+99a%JgV8Oi6iNVE7N0zQw z%viE?@#NH^Wy=?>SUJu^Mp@dJ-`duZs%wfRYD2L^s5TA9`-5Ib*zZDqBpIE_FRH4? z9j&eHOgHodV$E`mGpAS{iq(dqNr%@HjEA63!mI)jUm)zVISs*(GaPZpXbX)4L?bg> z4BnteZ!|i6-l4J41&bD^o0?fHz<%F1*vryEA{l6Hs%dYnnb%d{J-1$F!e6abaJf-p zX>%IjHJQz9j7QahkU3eGqoEh7RvC(wdVNKZc-UJ(d2B<3la+IPVQSmv_~s3ZE?-FR z+v!-fbn?d2!AQz1M>fVl`#)NO_m}Rt=p_m+WZdz_yxu|J+uYTERZfBi* zXs&0~xPR3|VEH2DyjDe9LvGZc?Q>??O@X2Lf&RI+);a)I5f6ChHRBX=w$xIaW2y-x z`r54NuxLf+HggRkdl~JOBrEc)$o*sumbk5opsP9_D)CY9;4AXjE5iP&Sg45Bz>$Em zDGg$mCIVR&jlQG7(3;k_)X-^N+Ze3~*|oI+Iuu(P6AWW2Y;A~>8tv8HZB>zpkyR>Umbo|rlEi?B;N`q5h*gS70$n(S@CM-0=O7ds zajpPc28yi^ZOMDi&nJ70!3;;#VF`%fZrK8sbLMa#a2SDx+ksrk4$aJs=?YsWCp@QE ztEV#(ib1CM7s3UEh4Kq(v$S7PNLDKR3;be!&fs$a8f z46Ty^#e81s3RwgIffY^-wa=77(-fHbbD5=@=0^;XJ)$coRhvTfLWfd`FDqayrFJP` z1bg%ST3R5LBy6&@yQ0BcnijNM(dxq6T-0dO4kcVut*E`q!Kiv9me*>|?l7wsCk#vL zWW&Mo1^(*A0(dJ%BBcw$g#-SgA%FQ;1m-Os2^Efn@`n5s)b=h2lug8BQ_12*VM4J$ z+G51t<+W^!CS#SW>f~!0*e_dF!@i^l1IU0dIE+l3H<2uyN);@r%~>4JpNJC&UAQDU zXDn2(I8NJNnAfd?BYQR)G04g-K(X|mdAAZK^ZvnM z=`)HVUlOk~ky#KB^ldi@84!CmEYAmFOJ7TD&!9fApn-V}7UX3rLp5qWIoYfODmc&D zUGc^aZ=#Lf(go_M%GVxjTM-#Nu>8bp`j$0W>IPHa=0)dTy!hkaz3{jH_Tt}v`|RKT zFW~o?-~7v)|M2bg-~99GpZtdp|K;1~|N6gO`_=|0c1p^k~W(Jbl@{EHX_{|fgqu1Jp+=4D`U0fA|c4*b#^4xI?3g?vF^ z=|&K^NQ)4xDW!1(<(zg~rNu0>n;6`)+^oSMjbzN)9VyUitS>C|xpg8J+H0UNUmLNh zf`m&GFJeNV*Hm0>i%?Ijos*_+j9OfB7xG0-ai0Qiw;PRCG7b zFA5~;-|4 zZ)sfBy>fQT%(FdHd+xmX<(l2oxMvE~bb`>rP>^qdq7ut4$|+JTBrAyZ-|;U9EClI4 z@Gn~MBXu~F2+h72naKcK9?MpG63&@0EJFfbeiUS#8IoSi-S`m@7LUqw7b0d5Z!o7> zV3{p_3f$hq|esZs%l9VMqP@g zxS}~hZWU6mz*x-54PoGya2P29njaB))zI$TI{n1|hgo0l&nq#yQhJyJOkA;zC zyhLxas;jQLDb7n6+fu|qvqdu2wIonyc$7RE(k7w|T{31$C+&4L=9-u#9x=zlx}eV( z@>2!usY!$z>yz!RiMEzxOB4JXPp6Xgb*aXt+J?qhLqoE;Io{e_i&odu)iTiAKGZur zIkt4eiY>dh96NR3^w}dbXAWP!JbUKM;kC=h2YWiZ>gxJi+sC?l7k2lq7#W)yn7_EU zbN%GV)pJKbd3YKAMNWl(CG!3L-Ps@9KTS&@0jTgBkJT?UP?UIK!)a zM0oPG*>`W9`{2P-wO*rDRY8%2-{&HUx~aAK$hM`gTtD;j^;0ihn|*qA>+K7BZ=BwF z`RHQ^sdvupf9083?8FxitvS7C*}W%rAKEzd*oyu$)7vMu8xkW$;p+=m#tf~ z`q+^@#|~}Zym5TXx`nHj^o=iQTSgi0)|F2^ab)%Kfh`-CJauXM+_{4n&L3a3dIJ6p z$Ak3DvU^-6DvrEfi_5RnTSAHS!pWs0V`E#lZQ9R+moHp3HMDcn)at2$bt^~KuNqym zdLeAPV)=sQ%Z67j8)B?my>Q8R-^ft=;QZ#{f!6Vb-IEjZ7cc5rIxz?WuLNBu1}8>) z7B85`dtNp^0QRn2xe)9fAMYO<>shd1F3T5P^BUSa>N+~>TRPJ9&53kltgb1}pys=_ zF_vzo4OTMU5Kq)ZqVZrn;RiVrHNIr6Kc4hP<9rskKjifKox!j-Nxy}l2mY0n6nh+Y z9Bxd7O-45^_@R*%@UPJx>F6ElA71DSM&V!JH=K;58*9BmcPQ#{xJ_=48I2eC^#|;3 zpVewJS!q^lw|DjStlzwe+ViINj>h)3R9#)VG1bxDJhrfZeoxz?vEKf^){eH?=Ehi4 zW4xsqtA47pqprOr)zx0lXlv$INsi){))WK&ZEQ}%zq~a38%xKcsc0|}Of{wJTN~KP4fjkS#_x^_is_*GaMp(N`jj|LRXuOQ`MG~o8T_&;^|93Zg8VR8oTDiaOtiYd!Q zL_-U<`0cF88|)_Vlk+e*$$6M91;Wh#SjGo|xuRjt;RMbZn-e(uz^}q!V1<)(OQNWX ziNUB8Teww0Yh{9E^acUH)pF_5AZgPgR@G?+d)WfQLIox`$f$vT!3P+eR}>Cv!r3$Y ztH$rgq(QI30geNbW(`tKCUaW$5l^VNr`UAU_qk~!Lcl-Y-klpYt?9~SP@G+x zlhwFx>>5ggDUd-#rl1)96)lrmQ`8Xy;JRc$$hD}q>9D;iLA|gp?)A2%LUS9zSbs-d zptBwXMvn%8ZK;4M;Q@OssQ`U`^>J#4y^e+m&5!7O1OgKQ4KhmzY)Oap4Iy(&%+wsM zPPjbX^~Q8S<~PwJSmxHVE=@HnCSKYBSJ+g9JE8o-zgP;%mXVoM*nr_*bYVP%6w}eM zOO7^5%iz*nVnFamWtE6@U?K13WU)>n%Hf$d5TEQ6ZMm41Fs%|1%{1_(1yaW6OmAQK z7ZtdqOw6@7bPQH(33SK6{DulZu4);kXl`MG%IS{dp96`B8A=3O=3@+@J5x0b@=8_b z3Yk>@3j#CXUj`sdbue+S5VX*g>D!3%s}!N@lCX>Ixj#9zX%D10Wa ztyo_nvnoo>@_cO>xozbR6~UWX$|5KjGkJxdw$yImx6q~56H}StUuC`5(cfU}t5dc| zhz^u?#lW8{5DH&msLI*(NCqT$D*pq1Ov@iz9^ww zl9mx~H5!&Jij|H<$`{2jJj1_qILaCF6^sVp--;y(F;=8-HAB0^Td^hW3Kr%@X-K|k ziGR_B#aP!?y`e+CzP(~~GeOYsFBF_L8U%hzr&5(GnhO`#6i%e8R=4MjC1fjGk!fLA z1Y8D*v)C}nkN-~6Mc##Kk$Sn2olH)xjKhJ!J-HjQFQu}y!$2@)%QCWo^dUk(^=gJ_ z@={bt=Of4$r?ljkrt`1V?Uzt!vA9BnxM)BvI>KX(rt};jg?S}07Z3(-`4Q}u#9|1S z0SHS1v0kI2BA0=46~aa2&EUCGpiPxrdM((NMozp3-b_VNv9?-aH)0pY`By^Nd0|er zRzb5nBX^J#?c!n*!AhVfVkPuekJ{*{RvU0A zM3cy>j+MB&qeDAAy&ET|@2|V`$&r`;_{xv|>$PA1Pd;>nen#t7QeX(xf5m0^t}Tm}j6m5}K991`29S&OWEbKDURtAfU!e^5EjjFJfK_s2EKB!B$2wR}M z1*XOm3#oAx<3cHF)=Nq#@+Q-O6nfDnm}qFFii3({n3Wu^btI}8v_#oz=(I(uL4~~9 zX!ocr?ofJer74nE9dspzvI^Xx-mO>O`j3ezyzO&9vsomp}C&d`Q) zi+5f)eed04&pf>L`a5|#O`cvw;bb07ZS+;Z5d&3@PfZf9sK=y=ip(us$Mg&$g(<_W znWA9a*JO@A(tlYe#Q)5hR$^Ys?fmG@;BZDJhNEeE%a(hxFfP`{Gw};7Fmh&=e#KcA zD-I`Qo|#jzq%2DhWS^Nv<~cL5>!43x)x~dR%GnrQ~FUe8N3^)Rz zV75X9CKRhmq*9Xt4aNeqn4cy7mGoaM(4{2ISIEBOU*K0t{%5fi7MA?aTm@MFC%v4> z4;LD5EX?cjWSX|LeK_{y;)}Wj987^47VQS%N^@voB9}n4` zcgx=k)n1l>OX_+o`ZraVi!R2bI%irQkoUr%t_={T(11UX+$tHT$Sf8aFp&TMT)hXB zTz7iqR{%PPs;-=K&N-*0B!3cmPa?S(+0tCSTfO!~Z$e}c&36e%( z<@Js%S!+v2M=NVrI+EAB_OZRv?jA4wd;KULAM&P;oz^WpjD@vL%cJ9Dl z)u3SFNgU+i*uo1lVSYu}UmF~;Q1rCrtr%JJ56J8rZ$BaWStaF3cm^IWaKR2e`5nM* zCYLeQMETt6x3mQW+LvkwIwfA~8jnc=zz^CXdD}vEvWeF)SQK?NVj3B?x5Zpgu0UNf zd6mUjN6If`Gu3m(-cn=4qbjF6Gm!?eKgub2C9SUI8H?*EL|SqoSv48iFz6gAL+_$| zmiK0~!zDS{3f&3yU;!eyA>nS%hdOdWe6iqs+j2nwvT3-i>dPwXX=y#J87X&mCz{hf z%W#=MVMu51`nsjR;25shhsvDz%Q=jxzpFwf%sFFj&~4dxFdYr0!v1)`7xRbHkyths zN`?xxT=!t5Hc%NH>z$mNoSL7SoS&N8v1!)}2M)aa%yZ|CJ%9fAu`92hxN_pct+N+j zJ9pvksax+}x&G$)`%hlK|M+g-a1TTnX$3Bu+iP<>jFyBK7eX5`o_4)r%k1E9eRlV! zjKscs_9yS1`|T&^fAQ$-&)+*k{o?&AzxnXukKR20iw|D=?N9Hb=DqyPHS*Z7}{rt(zZ{EK8>FrbR--4*U{MF;zpTB+mqx+Yr$8VkaaUgi2kO&v8+Si-=Uc36z>$gw5_vFf@tIr-iad7*=&Cecx z`t^6-xbg6fm(HEpcKFcNgZp8VwiDsY?mZc@BshpZ`$+h(8f)Aw^!@HvcqeS20f{mnV8^!*BSP@a6NLFtzMhOV?}=H2spLa6zdf3 zs6X9PB()(`DuvT9vqF~!dB9@20mdaZ?WKA3mW|hlp!Bd9)9G)B$ z&WIc}TIJex5=QZ)P$uooS{=5fkP&iHIf>W=c(Ui$S#Z=~zo~*}A@)#kbL@iMXcH8Q z1|2w>^~>b9Q*2sT6gZ;l;olAL>kPO79b_c~c-aK-@#H6(ErJAsClov3>}GjFo)$Hu zO5RCi6~kD#cC*XWs|0d{Hnq@UW;W2}uk;SNd|{$Djn06iRc482Hob7HXZx=7(q>I} z)zDiv*Xz!{K38|Qr&hBMPT0pbxTZITwyfCa7h?POcTKME7#oo=x;r}=KD;;a+@Z|T z!`Wj`d-iS39e;Z8(#ho0d(<08JBF%jtLebDg~1aq$otFQxrxc+&xK~!_wV0X*s>U# z9Mj~}ig*O$sTPyAFh0cFuia{h^;QunvG2l}0e*p@6((f}cxAd4@|Qssj0#Z$l3|2m zSrrWiNBX5?!(|fj4HMQ{#ZWERcI{A=3XO?qSGBC}t@S^9VAJK(>fVxLv@fw~LuuQh zW4LOq<|O z2Fr-F1uD6eu#}=GnXToRtrADutWEnkiHufpoQ7XE=AtOcu>$M#J1vEjueZYU=!-Fa zDEWX44bd^CZ``#yBaAf%x+z-6bfHe%p#mO-lO`Z=i@?UVHG_FEl4WnhhJ>w%Fj45Tuz3(7liC{Ab~FhoMc*a=f{~zl z8`*9d7%C)xa8>`zzKb0iC>T1JU74UU2)G0x35W&q- zc!~~GfyzUw>rQaZ)#`@;TJKhS>}L{mm~0;9a9^ zTBB}hG0B=OU9C0++U9j8X{%FBk!QqsZ-ZOIu`^;-XS}MMSCMfyhK&-RW^K&SS#-;~ z15H``+Kg3J4=ILX^1-NVC`_%Z+8cYEYkTan@kraKziH6jG~(%;3M=PRozoHh)|_^8 zM!Ql{Zq6x~z+FgbmWzfR)wa24<8%P37udUQ28$}cWXgxC8K?{9RUGJU*_LTqPPOmM zi+M(b8Ikkbx+N`Wn-}A4TVZn3h@3@ISh`&7+E!NVs8X_(A|BCg_+>4n;eVUvlac{@ z%VN4^DKD9hH7(>im#ctZ5$&=gZfrCE?112Fk6 zH&Q%=;yye|Xp^j!a5)0`qI`t;K?RNB6|ff^D&k+44VujWB1R4^^1`5Ce4AloSO28V zKwwdpEMi_rI<(3ZPzAsOOa?5&-a?ddBi{x8Lfe5{Y-TGEhRYWa7z&$jQLuabbigk! z1A13DCz~DhG`UL{YGIY278-$U_8|dzRjtiU{HEk{kniEJbxBuL8W`)}dBITLY#Z3+ojkVr($^3F{|CSL`0xMgrn_G*-un8D|NcMsJ^T2~ zSN{(D+q>uXtsnmD8=w7)Kl%6Ho_+YCWKDyWG;<%8ZZ7a|hs_B7?IibSH8P&jOFoi9 znZ6s+5l=W`%MbV^kDjAo$c)PbDj<(dM83dPVYbnPGrR%(3kn9bBCh7iDe$jq)z1pQ zM-l&GpvRM7{y@%=*(X?R31i4U7Z4b*02j=O8h+X9)FZL>t^!_<6$%)(7ZeN&49*4r zQUZ|oSb!47Xn^8&elH!0&{(9&U{rXxTTt%yD1CmFKVVHIeB~n1atfalS_&!+{HqFB z)DfFG;{*KK3!y-7#$F6F+u|VtARXZn2V&yNBlL1r3c`QQW^Prvhfw}1F&E3dvM z(dBK`t=Z{ksb{Wzv2ygm?o)3aI{)U455Fo*%yc+x!CD#kKTugP3^DZ!jmMTWP4f5j5Fv~+A5q@ zATT2gGMhwFgE%@i&utwCFR*Z~TbI5g6P2a~I{KGRyv zvf>`>mjS}yU+X~0K3oF=yT836HKiE%7w0Qk zEd}gtt;E*l0&V3e_!pknGFrtE3puo=H!Iwy9Aiuv@CyV6Cd+y=;9qVr4io^q&XKBX zwA($_0}7^m6TR`i?s#{JidG8#Y|@uW1TrytCIAh8G91gra`2!-?)16*7=L~uU@`;`R1F~ zuH3nJ^PS7Dy?6EQqw9Cxy?OoKl}s_gxQx?okA>o;bRizVm?SgN-@kv`mZ{p5PF5?x&9g@cYxZPf`Hk-+FWrZ2PNE-vIyq#-nRLd2$1bC-5&3NX+emf^n~6 zI{3HWzxlJrH>i(qop^NlC7hiYZpFdr+AD`{oP7G`sb}t7fBxRBm#&`PfAWQ`7mn?` zaCFb9XSbbYCiM9|2e!>WdvM3f=J~z*cI`QMV0q8(k?E<)g^8*8(TR6a@0gmN z?%A?sZ12tu2X`;--#HKKy1X>DZDoAl-q~$C$Eb7xQU@LkY>{4y1C#Qm;h(4UKWb5Tb!;7o>mxwwPy z=!n-6^SiS#TRO}rqB#)=FumB5rUKQBx0r!DqeT20D8{1Q=}0X@1*=I{Mo2_;W?40O zUwPyC2s5fymxC}_c5%9n71cs8Jj21}#Qb4wG9T^PRC|Ad`=!vJtz>sK+)?0WY!^b+^;& z(BR?Wae!w5yg*Su6JD!mx1n*3(`7?!3@GMConFleLu)`_Kmqr++e|*M6X^mz6R_pX31zluRW7TEVz0!eL0B$fVcda0EM4mE3q+En#@fTl%MTwNef?f^ zYDQP>3C+&5r>1aZN6lnwSXm_e;!fZGE`3?~rGH$+56#-?XW9cu+Mn9ed_r{p^X_ z*;gV@?+ZS))4g|V<@p|2LG}HbjHJM z#u&x{|BfBledP9y(Abc^l=F`cW)|m*TQ`q9b2zd%XBrt&)q60PR@IA=usgfFklwm6 zFgc{}$#{pmjn$-gr0N|K04XjOx@-gq6DQzbP%StY2rL3sPVDs@K$s)9<4w&&7$rtE z#69t|5>k>2VZbj(;4sAr?$dZ}p^sv|M#;Q()K7+-ko}hlvH&R&O69_MQ!_L~siJOq z$blmzcF>{(3oJ~bRHtVSGs3o(Z7?|w!uXF-iOChLC|s~J>0?qDz$o}Z5uR&9lb{Fr zf`Wm-Y$u>p1flY3aw18ibf}mU#}Nw*ORa%V0|GS)xxlpaIU=-Uf5lFWVh_gocS7jK zb!^PogNZ6lHg#<6Q2XOk%KHlO14q;jz+T?%qR+E9^9vSgXd!h;$VC#JpT&I(bMzF> zmhAA^2+<5@(izVy5&1Ig4ETisCvOzNv&^o-$yx5!bvV^%o?B5qyEGjhU6V~AF-s+; z&PI=Rty3kj$Xfgc&v0Iu^+-IbwuG&t;A%*i8Z$OkUsN?1?_%t?=%89^9`*Vp;J0fu zqMgmO40v@5S=DS(IhWKfWwo1ft?L82Em^~IUcI#d_yq!^d2WaQ1&z*zrAx{7g?Q6U z2;|E!Z{x-=#4c>FVrNOZr_{WXZrG9l0)u?J_LLR-s?uG>&TV<=_5wM-`a^xX{WVBo z|lF%3X&-Bi%*9f16m@2ErRisUblmUBM! zBH;`81q{LtbL2)g&HzISLFuZR6iC5nt#D_$VIpwmc>upg0}fW~vK2xzjfS3-Qephv3g;_;%~jWE46;OzER@pR0>Xt9=FcvQnIU zOJ@Omt27p(e2pYG3zME`p2h1J(B}JJ5M%&O*T@vwE@gWoJ6w|A(B?oitJ&}K^7!eb zARz+BB^a+HjFLFEDwsXAlKHDQx?SFoTB&D56rjY{gvshGPL;{8;xm&RiS;abiwo;_ zULIIE=d5kB*0yQNdwLJu`{*yfeeMT;yye{=fBui(ZoL1C*3sjYmw&c!@6R{B_3QCB ze!l79mmmGzf1SSm(Ztyg&;8`zzVPIKeC6Xm&uzVa;I*GT{Ka2i{lTw(^;iF~dtq6k zRKb~&Q^_?AJuq8nq{8iD>6ua#%zr5OU&POpNC7je3tXim#D@atDp>kkG~B{b9GXN$wsz;JQI zXUkmuvR~H1V`Cl~G4x@(>pH9+}V8<##K>F4!>)dAKlIN^v{A#Bzed z#^2jt_V*U?;m7%hE*}6ByaQ;W06~C9t}U#RF!)BJuyES!)|M9j@=bJ3Xz%bJa%q%Q zHcv2KtaTavoyKseI3u%`#|6Qn;-v6i6W&*PSv-*vgzpE@%gTVj7{C-aXBZ0>4iV1tSLF z-|tyq77kt^5Evp@Sb7>6c|M#p;=RrA3({q_I(!Nk z+YuRLCWX1ywCUBnCwW&ls-?{BvL&D!vj$T~c?+Ic`No)jRpl1Mx9PALq-Up;eEPXI-U@(ay}q{Q=S<{m1!fm zX$WgZ(nN=L2KME89q!gdn7KkhJiahyXO=%+Edt8;ymX?b@Y#5N?BJ07%WTAi84>>r zN%X5?=I`*YN`SXw0g8dffM1dM<;d*MY7uwXg63I(w+0nLaXu8h7~sEf(csU`pH(LCBGy{2gE!EYZRt@L7 zhI5M1f_x<3QH#s_Qri9uW$4Qo`?ID20TCmXc2*PKYSL3l__|ZE!BS?tR+#SVo*!9$ zVekG^&mOt((o5G~J#+8Ug}1Ie z^X0?$&QQ<1dG5J~7mvPs`PD~PPd~YO_JixE-@kJ1qw8m%T)p?rmJ(>k~dCi^epu)INlZ=6ncsVzejaO#4hRr@tKYm0(dr?p)Lo z_d&1*yL0)m!Rqw*`10oEBZu>&L#}K}pG&*y-Nr(aY-`+m^r=8(xNOV@oVC0mA7jI8 z?aAs3A!Lxj;i9vaM5kx#N%)70`a;lH3LA<7g+$?v!`7PdKs}oIl$Te6d5$7tCv=Q; z#GH%TOGylWm_Z%r2N-x{qmCAoeg^7CJVLSb)vEGZF+W)8(VU z%RoFLgzVfi?svz~OuKB%c!oSQ26-Mk*2Er<+3$D7Vw`AQ4inMpt6gi-%D6&WB3@T2 zY>oPGr?e;hxNY!)1vg75R0k3-A@&IVfD@jL6EHZ}VXh=J6}j-T&T_e<*m4Ma46=kQ zT7qM=CMAjox5pd|Ig>G8F&{0ZLjkA3Wo8YuCBgxZ-9mXCbfmkSCO!F3nEInnahmyq zc)9qgJ6h~ImB-A*xW5 zSS6{M@MWHtAz!Q0f}fR*Kn$;wu{S0-u^ocsRmnQ|>1+#;2;%UPi6dIa`U@v)6FUf8 zITbA}incZaXNbZi&2U{yyB%}q)PSVLU<#FNiSqg#`yT)FXU|{0k{=oEG?+|opC^ip zyf!$sWb|buZ3bhyUfch|hLXEcY1_EuTVAQX`fA^~lUv?-Gxfq@`OLU& z+d}%tKJU&Y{me*PBE0dX=U)5fOXon3G8a?R?^#}`F3y1dn4qy{;%p?8KAP&TaIKqv z0+dcH$6z#;V+nS)N|_@Tg5*W0z#a_knY)l6gh=MKHdr-G=5iy;jbPNAOBjn8F7J9Q z0f+lKGx63$xM%;Ki(h@Y|Bct9OY^Jb?=#7rTbl9->(nqQ!|M`$Ltlwu6M3HTmNdOk zQ#H+sfG9|j4nhi3mcg>T7&G=22%*Eb&^%alPIP;w>z#!_XnqJoLYyC3Q~q@kr-q4@ zp$crWZ=#P$8C5CX7Ih=BW+~xF0w86o0GadJOwv*=IC{Eu*^DL=XJEO5e}rU284u~R z2{kjzVZYSt#MR%Niglo7M2Hv-azZR1?_{IjiB$;iUf!|d`xY?3>W|OV3cXtWYJb4ev76JVp){=yqWnf z9wtmHGpa0+HPZ=aSAf7<+$~@m%a`=PxvH=&p%@Yb_IA0nxaDZVR%61|;nlV{m8~8P z)gCl7dDKXqTYdULzm8HR_UE@{Dvu&RUx?me#UcJrwV#2h^j<@XoQ^ z;W_1KQa&8FFLhhy%jShj+d!~$EUKB!$)*xr)5*4pQ0H{CeKM?B$~8>}o2No+*ZZkv z0PmO!=9f`l$%F^+D;hPc_LQaDvTe)h=FJJoN~&dVsd0O@V_$`8-CdOJ>&E0td7x%E zGSs!FqC4ELJkxcJ?S% z$`p_mUSB@b<%nUF-D1nhhcuX5HTeI z{^iQV-R)4uJR1)uR2KwIQgmYj`TuMx1z6-bvk!rlUb0l&-(GtbK{ zpkO4>0AX&2FNQVdoT2%&}1PNfn?4+sqS6(KMno!1Y>=gOt(M1R?# zlFHabBY{?QcHm6`F-<&i8<)7QE`>_Xj7NK?lxJ-x+RfzFm_1s()8P&nbQT~s5SaD= zNwRvY3%l5Moloa32a20CCYk&3+ zs=4F3#mkAOzZ^LC`;&M7#ngk}+4bR1Km6POGI08>mAgN=@LPYo|K1-Se(>LoKlkMJ zPygn`yT9}3cmLu~|HFT4vUwXZqK*bIbfvjRPY($tJ7jT{1je&>6_+7;P;CCc2fs9z zK)xdW{SNk`US37SeEd;CqgV#{a)br8hJ(&{6!0sg2;p1h5E6xmBH~NI+;w#!#x#J9 zJ)2}oM8RNQmPm>d@f-y;;%7)?PShTUG328_!L-V`2m^JAhXVz3BKO-tf+%*Ff@J)J zs5`P?G?9=sOPjsNTdiuN(RCJwBFt7QCH4B-Jx*ORW=h8uLGO3$SjbKWoGuf@;Slg^ z>t?f5Aixg%i@PACGg=pxexWm9)UnU!NS}@ITRObhr(pyw_%W*#WG|{|^{u{hI7a|a zs6==F2>xcx3Y#x8sBu>%9saX#{N@Kg`|EeV`3qfqTB1xxM)sB$UR-(g!QzXrU;X4) z4}bP2iHT)(rn<)Ama=QgMO4`^@*Xuw@zu0%xLb&rFAJeC_Pnrc2_o=_A7CYR9+>8C zrMqOtH^fHVL#tfA4uTZAwu_|o7O*5N0k52^E7w@&p}0;8SK9Vg;a#pkFD*0}xw?vN zsqbMg3@`T)kBq2@Fq7|c3!s>Xa48n9 zbRSKP909-IF~U-e5F2?_u)u&{%uhH+AjI=yip6rnrVauf?JnS#;(gAJi$64bFd?3R zc#e)%L_|zpGrh~C0D1;!cXQZ-G!Z=*ngo2hc#dU3N2lV_N92z-zTK@GlcafK6CnQscEjE2~eSn4kd*28UGT$;FnD z@Pw`F=pmq+!WtB7Yoa|I0sorTmOvuzPZ6w>Mfzw8c=)`)4!4-q{0P7=z!m_D<{9G- zl*|;8W}vPJdm(m3>t>PRMgPo_hnFMk9qnu6Puz|Bi!y1@J--@9t{CiE1qA|>FH(*Q7jEBYtnnE6;CuONn7tYnG0299Qq>rKlPoD?! zSC%C6*H3k(1F~!g=9i{ zQh=B1+16roT|U%V&*;W`jFY`;P|rx!FkAurf`Wx(UtV6%N~>|Iv!0OlCR=K;w%&wv zFrysGnI@`^$sXra%`+*KcdG81s5{1c@-u_82Uqrt4d*H1l<+wZ-zPrY&a$b<7Q zzI)~PlN%>Lymf|p|Jtd?S6+SZ!o^Q-oqYG=sduj4`uy#UhqhsMTAdiHPi?3Sk9Loa zPAx1fY~OtF#Y0!`UA_PK_UrGQ1OGmJbO!wU!F#7aeecW{PtO1N$>sN7KX&fOmVL85 z+t(MaAKeMV`{Osy;SqiHxs{i9%pBjofjYb}vNBSdF2^UklY_ZXZ;n~Ic)gqeM6Mt1 z!Mm%ko*x{m)Cco@gZaUcl2}8d<$>X1wKrX?=Zby#TwfUpai}L3>dBLb;_0h6dJ2Kz zYHXw@Jdh97)1gWn(CW?vJ=u^S7PXS}Rpahb#90nfo>IV933+?s;9m$Dx{;1rRv!0o zP1eP|#F6Ne9#~IeptKjvDsOj#>Mb14ltWquH|Sx+sU81I2#>f64UTbMvyX|BYay%}$RHacDv!EbQ1 z>>bQoyW{TuEU;HpRDyy*z5rETsygnn79);I9O%l3BH-6m%@|S<%-GRY_HJDO`Km#h zr3| zAv%;b#4OsdF;tGBu4M16XUsXC>@YcGR=3(0G{=%MyN#8d4;{rSU?8TD>{KKz`6LLJ z&n8PeNRwhMGk9ziY$oWKXG19sQ%n-K5D#ZJiV;5?aatCbT-wVd_4u6vYL580ztQWp zg+l&xI#H?kGbwB^F$1wh0)St4DhBvv#Rva#LU5`f=-?qRWgJ=J*)#A;#Qg?6Gkg5P- zC}qf4qe>o!w@-wle$)YGfH42MxhNWHr%G5!8WhSlirz3gMsd@~AyP9auh8*?nZ@l}j_HF1e={iwBoi^Fx=; z?)msh{Mm!D=~4aC^wRyC@uzmKtEQD;Qk^P3v!3i=iObaNvu}F&dETN3oFwY52BSs- zIIZ7O1nF(WWm6>Ai)OuC5)SgQ#yUU%WLf?_6550Tex40p^buPTL!8#s>4AJLg&V}WmJ>p{9!_nNG@sHNx8-^XDJ@Lf}+i(>i?3wHh&y83{ifSzVMoWf) zES~(4g)tei!qt>}qR&3s6Pp`jy|52eFiXTVi~u_f92D8GDkDH(@UOm@)}#~aR9v6S zs*(wOy1>7nV0Ajy8T4pU*gM2+#jLwhkOw>pzZ>M+YBRBv(=J&2B%os1KIygGLmhBc>HL$PS5I-sGYl71al7-`c)H4{6HwWHng&7XiL#$ zIW!Qy_*~(ZV~E(Hebph0)UTHX4AP*ngOjL58Zk5Ni{X_tYSUzW#%cuSw@K*Ry-XgS9{gl)f)o;szwr#UE@Gt(@aS*lIR=^sV7p#xl&Wz+c6qx9`LW}b%B3n zGjYIg)2I*gE6Ip^?U)z0E9{+{HU!sA`WiO`A%6kC&GS)QnkCczmQC@F<+O5dMRTC1 zbziyb>0bF$_4d8x&iz%6O)J^f9R={O=BYmLujWv%YHv-mzgMxlTfS1%?WoE(=cJo5 zK;YK7D99QJ%p5W9ScD~YEf)wB?pVsomrKfRm4*#b@Gsa9{3}9WK%$6h0k+6I0FR(x z5esty!UbBgNe2#7-17g0z=C@l|n)L?+bQyR6*neYxJYX|09#?J!vgo8l~zJf|+E4Wxg7?`573vWTS!R%I; zJY5Et&K@*c1C(SP>=(jlJH8B!GL6wq&|9EE>5C5vyGMWVpWgpB-+uge-v)Qyk)&QU%-qW!`Fh~=@AY5(=D=_K+2gG(@;eEG}2`rm)?KmUz{i>}SWWeWO9=Cpu+*@RO- zRJQc2M{qjuUx***1#uL2wtOU6F=^Ox2UadV_~JSR5zHr@Rh3(4=*30rj zLRm`5(@}jsrOPELIic{0uq@#1^tt7JZ;Q>+ii5WoHMlVBtn~VHUcbubu!o~Mm&Xza zX{-*N-9<{IGaTkkC(~--gngfU@m1RZn2QG|g|s6bkP zGhi9;%Mr{AJQVN4cPYNh{W;+}4~FH)r5?P-zZHZppHIF7egc8{l4b%Q1%_%V@Gtx? zOd?=Phtsk~$vt_74uu^5EATJMXA%E?mjX<4i5z5JKV2kxS)gMG;#FRl6eJ3QSmdbz z#a+zi`@Dc+#L_Uuj5Z69A0pU7wx7_oXV-_$!4nI>dZ2v6(iv%=$b%bg7U*dSgUE7QyvL@`LL@#CZLc++8tQi!H9vG0zrvtRe(h2x&B>cCni3lO` zk7%o!g}fFgiCyi+E({gLSUvW87NpBKTv-Jp7lcWx(e~}4T#yxwrHz+_xo9LA_l1ML zK)~hkWOBJ&q0l=tI5;+HWfP08FyaH?v%?hF7MqT-T;cU}GzhPj>S_k?f`wV^fX1R0 z8qiIxo+FSJf{DTPLOhezfft|13+f#3hfz3l8fQ~nB-Dt!}N#PwD4hM z4dR5e!J=xY#EHBo z4fzW}psVM!wJhh-N}{D4Ypn>#x49f@>W)DE%EpTALs`{y)w^>lzJD%zaItuJYyHUf z{^xfMAKf=}eE;CFeG{h+t=vAb@9oQb-nzK^!3B;x?wwt^b86R{=l4Fm#4Vicd+Xv} zzV+bjfp;$MegDe753W*so?PDf=<>>=ODj*VZ292o@(*sUeD>PbPj7De=-QT#uI~Kw z=AO@QKlRz|BOl#5{QmWm-@Nn8hc}OYaqr~Uj~1>TFYnvZb6_XQp6g#ayzS!2gRfsa z{_aic=(|^rJ-T%AgUjbXx_tHhOE;dJedF=DcRslC$;UVD-+5(bEHly_n(0qIzkNNi zwm*Axnc$(X-#Yun8z(-$d-Ah8Cw}n8=?`wb{Q9YbmyhiuMfcc|Z7)B+bJvdP?w)u$ z<4I;b@s!ISaWjDFi+ep$w>$1e5A4YY^f9|7?>80$Fr>!rn7%uv?ui)&GB)PydaL?c z8JRi~bjwh|Ib5{VQue-Vc%q*Tt#`E;qc+s|Tco;*AxCf0(j8@+q$&lpy>V&Lr|(O3 zK$E|~TT@RPaFgIe7hRd0$ zH^<;Mq0iWTb4lm@W36ZP<+vsvbPeRqJxS+49#KJjemuN!l&!UGs9>$9?R_cVXi?h} zHS{Jpn)*}D;X-t_-!_mn)svo)qNyit?oEZJ>#mVfXUgpuDwygi9Z$|0F;LbPV#-WN zUrIRpOUc<$|41)_2e#a<{;Ijk>JxSJmWhC|52xMZd23%XG*Jt$Cls}6t)}=0D3UH_ z$Evq>z zyDbq!3Qofi>wAP@6c!d71s99eNI3Q(l&~Qos*24v7eF1;#NFjB4Fu7o{BFBO;nJ%ExLUgH36F#HD63LtQLysJ z@CTxAiZ3gZbC^|1WlE9^vD+oa1KTlg0IO26ktOhK8qDnNMyK0qhNo6^*zHD-$7VC@ zaL=+bC}T5*{VpniGMz9BIh;tVsCcZ}dN8t?n_#lZ9Z=x9!cagXRe%m>Euy-khB&plcCIkf~Qu4c$f)oL&`-DoOPVV9Um}q z18qTnn@$7In;jc$u^QHxwJ43HF%NHb3>@T%pl6^P88b|-V{)+i%pT2HZ+k88S)9UO zx}})HVoSnat6nmW4^R`Qj?P^=)%V=N^v=zJrKyfQ<0pCRPz90~V}H+hy|jHkIy)ZT zFlz0uxJK%pnK8o+7bms$;q@ym`VmKSBf3J3nTf9B^zH)(_WglS6AG zUPFIXR!X)b3mNLBK+wu^!qQhZ;y7I|s`6=bcgavH*;l8kt(CGo7PVC?p^;$&@mQgd zF`KO{EEv;iXSocA(&={F(iulK*XeLlsMuNf=;!c>fVZUsOt&0WJe(0cEQ$rjff)qG z8VeMRTA2Mnr-=**B_A}p>$tVRG|_tp>Iy?x&1;w*0s;f2>2C`SBA#UR*%$}r1Z;~M zlj$mPi^bnXfX491z-N(7=A>mUTNGFZCp5^SYG#GoB5+cr!)rNl6`v4L5g zl4CE&zD_idVQ)aOa5Lq!mW=_TX_pZb4|Y2ec^m1yLK-rk9G4EAGu7$Qp>}TbYJt7Y zUQJtoBqK{p$k-UtO1z4;h?$Zm?3#jKUk$5^{LuRS^8Bdv`SqqlgXHAmc{8~ z?6%g8`_!BA+!J{-h1!{F0g5&^L6U-nMIa0WHX989TM-U(?y%Wb9hHUK1;Uqc$yI6? z?id`6D1~BvQ9NO!SR{6t1{V2W$Y1a;|pm|5o!xL`=AOn8wHiygU2LDoU(coWBnDpfY@Jq7}r7PpQE|<$@v+30cX0+_n znFZtrG3&w4qENkpf6+WU$zLE;-V<>7Lnf=YMPUl2tEuvU)frJ}>}#9k&25U-4wc>t zF1D*Iz6LpNQ3I{U5#^T;3O1Tt;o9JQ;eUa^&_htbtT;%Nfw#g|b~VtGoho zlqg%`OQEbX$xdN>dQfxDuSj&O`JSF7%U0X^(nJgjCHT}UCt)D@C!TG+sVd?_pz*=*A-NrNpO6GV%AC9jH5R8GAk51H z0%OjG%n!R}B=L~86!W<)W+tKZIFhkyV3N#q48kXb%H|MpW)e^^3=6_wf%#QP!M|(e zosy15e?EaMkmf3aWL6wOE){iwe=%1?fGvayAx3IlBhFBh5-5giz(F8qLSfEq1`wDg zFn@)%jt-r{P%M{Al}f%+uGDKZ=CG|s=*Zd%OAA&-l1;%Q3(K6cO(23hSAp;<3Ksjl zybOw$1T+?1A3?Ihox7SjVI#^BsLQj7%rE%&dmSTc$=Lje>4@B4R4%3CNJxjB9NAR-YYfEDF~V(wacQ6z0#XMXM^}8><6h zAb&OGv@)MGbQjG1Rc$w0rdoV)1LQ9fX!B^Dq)WJ6k>2er$J;P!#_)N#EF zF>vTSUtW1}>DtkSYezTVdS%<))717i&VYhJ#1s&i`#-#P@Z%eY zKDo(p--kDLe{^H#M>keJzOns_*LQz)Z{If$_I!PR-`DpJeSLrb5APoQ^w#kozWMCO zuW@|g2X_t-N&C^=6JI?#@!5L^@7>z>+Lfmty!OJwJI}p!^VmB#UV3=##kViL^8VE` zA78utgX^z-dgIO~m*4v6@{><*e*W3*&py62IfQSMb7`z_^3cMMA71+1k8b|*{cAsY z@6zvld<*=0;qc=5XEvjb{>7(vfA>f4ee?1CuReYAqxWv!xqa&NnP*>q<7Bb@+`sL)T@$P4qhYvZiX>0NXo|w+-TER@B#X!I|Oo=JoEO zqH`dVnj7#>paSZdZDHUM ztvK&_gx2Ot)KtNZC%}1lylN?_b{1&UeV5;LK6 z+FAE0K}i*Kfq#XthSiRDgQ^qoOAI#WYe-6p)*g~5fj0f ztuXoPb(=BsV85X4Y7V-LVHa7dogiP12wN1bOkOtAfX{{qjZhFn3MKAl(6YtvH(kHgcl20v=eEtS-&nbKJF$CN0$hsu2lsA2 zbnRk;Q7dU{qxDUrn|3#gwI@stausxM%o9WL z?VEy|Hzsy$9zXF?Zr}F!_NCzFSUW<;81&4>M#iG4j zc2p|ip`k9uvWJI5y}hPXYIJ#}GQB~fP|93xwx;5Kn9qoq?1=#gFjfSrkVmMt=xGZf zxw=krMwqT*e2K;Jd$j}X65VM*GEFkYsxb}{Xl`U9jVB4Pmw+T@5O`WlHQAHUoaf2e zeX-F(*lck-1R7#>3Xkm>{I9?xud3|WUomCIh?&4IH=>ahB7NCEu$Q2bj>}d<2V621 zMMAEn5WNHd?`UFUfGiVpOQGYmn)QHBh!A3EriEk{)^Uq4r3GEpVpoEHn;G)ewl=#| z)EawNqg&M)Hi3DYBYGe(ShzW801gX4IA&>&TLHf)pCvI}OU~9(w6&ETfL}@40RC;M zy4DmOja5%`&C@j!)o#d1N1}k=hF&k=w{UZckHWn9jb$Wwa*L!fz=1= zo|k702l@fOMEb(#B57{kn2;@HJ6FS%WOE51aQntc+iaL>n(_mLyOsplivXLsV@a=t z047SDy@ibx4XHq;;8Vc~xusb&i~|_Y@E0c^K0WHP76W-SH}M)IqEY);ma0IO;WQ*@<>;0Fb(!PHZ!AnnL6Z z<^}3P1XG-F$+H=Z6elpe6e!qXcX~ZOpVv>Yu-g+LvA0vIP-+aM7qxXFr`Cs<#YpFs z8e?adnw}x3+HAFflJU9fl+jzkMZZ(7*655jyE|aE`n4vv6a#5zFp}@lJHt|~TVeF0 zCTSrs+ZKWLZBp9X3;~JU*B9`| zIw@tyL1def$*GW)`6*@8p^3UNcj87)upJRj3~-6QdEQ?6mDb+cmQfC&(S{8Z5=LKhDzemjrwt{+ci{WVvAUIyt&Zsayg=j zgV2G-2o$h5$xct1BEekE?77Y54CV2Ep5J})%isN*J0JeR{O_&fOAvU;u>(Sen zKm6Ib$KM<{cSoYN=O$*&$($k(P!gn)&lvI?)GJ~bdB$QNZXj5uH!KfKHDhvh@ z)pA6%OmSWPzSGE!^a;@nb2~S3oqMi)=IF{1{|O(fD>WbO^(| zdtDSQI}u zw>SL%YLy5^BQ24vL50pBwq#ucv-aGwrjaS_rnPGst&z~9u;Q3%w=xlfD2Ob0GV-Ky z89fc62k@tJI2_yu#gQ;*LsXNjgAOfk_;tz-Hf;DRBX6L+L$j2XZmqJVNz-nNxvLX> zOgQ2ifq0n4FYRAoBSu>k>n1o9!yJq>IZyJt!r3| z%^vS4+KEo5)9ofpPlF0Yh~*+&Qm>_@NaF?V0iqOIb0(`foy+hCVtu5U%(^D{T6Z?m zoyMUWIX5RPshps*!k(HVoo4~Gs-*lMinG?PR&P5y|LTMOYf#k*T zN{KX1_>DmKSRA%!R74w7ET9lKbc~s3COna7<2E14C|fHnFLH|6CPjmmQrTYZMuFDi zb+!4NO)e|44Q0ZwL;{TvI_4$3shw?b3_3VwD5R0YwS}F`3md9gP_UsVZyTz)#|LyZ z5K2#YVKTBfrK%TT2LQjh-Al5bG^BufplBHFwv5+M#6j?ZfE<0r;COFo%gpGZ9qXUp zKlZ|b@ncV|Kk@9?si&tdzchaFg@JQNMz6gzb^F!zw_l#T^Xk;CD-#pHJCT_nvb?4;7-IHUtUm3r1V)o&Mxpywjymfx|t@9fnUYL1sZo`{r z=N?>Gcz9{bJJ&cw|#nl{=FL$_s?wq?2SXe`Do?SJBv@QZ~gf8{vW=(@5^^~esX`u$M;s= zzq$4C^*x`ze(>`<)bn4waqNe8Pyg_ZOFz1Mf!sJ-1*?c+aEu= z@x_ztKYV=ciwCEF{NBYMJ-PVR`k^GEL7Jbvc%Q?K7WefP}^ zuRpwW^z73wT{!aitG6C}aqs@8Z{Pap&DTGD>&}<&UjO{z*^l0M=WKrWTy^(+VcQ1omfty3I<)9p97yb#EFN4a?_bJqpUJLF*AH%~9oSslxeuz^uTsXroNcVkJt_ET`*=CCc`7|WmY5x^Zks7= zp2#hYM`wn@(*uYqQB?Y;2XiYM{S!Tr$$HvsY~x^N(|Bxt7(yK}d~{)ipBvvi?w=csY!ZGuO+9HE%JVz&j}YH9!Fmyx8Fa0$ zv4Z56XG+`W2%g4B%{-X&OqTRLQC&4g@+rWa2^Y+K43!8)AHYxv8>>O&s+>aR-oGbvD9yNtUJS(*|=C#Fz(OqyTC>Usr#EaQs7pY$1 z07_|{lj-9S9+lRxpHT~rsA3p5X7q_-^q6Qs!oSA1EX8Y8YcyhsgmL!*{37cje-Qjj z4;-A!NEB4Bh{xGuaQ)%RBf<)ZGnGp(+JmePSaFdQ6leehnv;S{k4EMQ*oZc^drgt3 zJB#RDC&!Z*@ft^~woA+COw-!9$B~Z&deZSUT(DYB`Aj;1FfrixR^-8lry=svt;R4C9G7K*u7vuj`?|(-&9`fKI+OiHK1hmd( z6;mddb9hi$C%xW$I2?9i)1~8uMLbr&-C)tkd{&cPqr*PK;|%%3xxUfG!>`=f{`BcU zzJ~d)MAFf*RvFTV;^vf53Yi>{G#Ps5_Fnkl$HRMGP{%5jneE%2dG*B$uWRb#i7k7l zj-P$*!IKx?{$S&)r@-f)$??GK#O~Lw?!9%{Qpq#7JG*`5{H+_PgNUnG70e2jvk>3t zx%?gr%XJ3V3oIR)*636+Xd^+u#ZtR=jlrl_kp9pml_|PVLo!+8O(oL(bz>~t>2WlB ztaNgiu5C&BG_^Dcv>_jo*?b?F2hang1L`^?jQugOm19`{HfNg3}J5;q#jwDu=0t*`=n`Uh52dv|L zG)3Lh1OAO8uBpEA?nQQS?vX0pR9kN)H9O&~*G#3Np^!Hf3z~Gwkk7%DDB%e5d0isW z?skU<1_HgkY{oiVE<-d1^7U7$foeAq49xDqmO5iT#LuXU$(UekL@yn%$s&tGIN?X6 z=rXN=Nbn@V+EdX1K&Dp@KoS6!n8*DOefMjART!cMGV4M#9C-Ewv{yh8D{vAbB; z-aynTCC;4*!Nlm(RwZFXq7Z#3a~ZLww`U>@dbe4%7=5?9b!{#!qfDJ%Lo>Y@x0Y02 z!Q=|$>(u~t8~wVqL5)yhU2DqP60ZPE1+b5#3*|cU;NwHLr&Skn5avYUg3qWAV z-*#eu3IAP4Ayn>IOrcNK?5?zKN;b?zI+wHfSpk7@c$V%iH*HO~u4EfFCDzQxv9!|d z>s>b$bUZz#W`K8#kfWqtDjJr%Ia-!`)U%nc$#}>5DAhR`QOqV)3mL^+%DSURyD85t ztz!Yjbdpyqn}}JqR3T(3V5x{qfxSRlK&vQJ<}<~YAYw2qpcveWKQj?U?C&U1&&&zW zz&W43Rmw=vGmG>QUveXN;DO>(aW_r`_}tdC8g;c+gvs0=u*?UUp9|!i<2uMw7q=n=M|u!|!xapYqq)lp?ETt%jL^1j~D#QR@rFAH_*bDHkVs(vb+5erhP4pO;iULb{v>k z+@`Swgn@ZS%ondJ%s~qLD{0ru?QxZ_&}vC3Jw09SZmDaaw0LsUD<8>|o2`9^cHR2& zqrdpSf9D^+-Szg@{>>L0)0d)K-kHDfM}5aWyZx{J^C$oQ+lPPkPxIG47<}>8&bvSQ z@~^(V@b$kA&puyRJ~8$Dt>5~~|LgL{zX_`9^!W7AFg_79ds%t_zwH(y(;Vcd(0~R1 zimo+~MCc^hv5RUAK8zy%1@_|V3<~Z*;A0XXFdtRXwn9`#3%Y2#nQ0?tb&)^e4hQ~K zdW}F}d}|3_5nY;*Y_Sjna#@j?>LQLD^AM(}81fRquK_$8_X2(uVJ9vnBFW2m6erNT zxP|C*Q9hRFz_kVfv;g3!{{4z2)Co#C%oqkmyYEGxYzxZ@@1bxOr7UXNo<}K;0F3QYr#91gA zqH$6JHGwGjSL*O~x%|dR(hyFlePNC&o5vN)I3g*IflR@h%;J}755-`FwN5-ld=>;= ze!t#sXGWOLFfBw8(n16S=K)aM0@{VfrAbK35xot!(+%dA#YZg7A`b z3IHP%19u5juU?KXD~XnrRMD|!Eve7z*o2__7L5TxzJPK51OFmEhnpsCju#K+wK?sT zN`>|drmV$ENnG`4PYDoM+QgHyO0p%r`Gn?Zh5_T=c}{te7>r+YwK>$ z|N83ce4m#+ySH_$Z~f{;ccU8wy5INre4pq0Jk<&*dPRgED4*#VOFagHoEkiO@NaX_ z(GvDmlGYvak!V?IwN={8wJy6fh=sDX9j@-^JC_rE@@k;Ark@rhE^st1I3oEw7iso7jR7V*+;tg zM7xJNlXD|&>vLmA_pDq#xpejP#Q7rwr}mdl?i;vtaPak`LpM$gzIm$e%@bYM4!2)B zSbFo=z?;WM-#Q5kJbLrQ=o=@&$g}q@&Of+3djI^)8$#&lZ010mv8pJNy0f z#qXc3eD`d}_s=)Kd%pJhyBl9V-T(c|t*@UhesY%;AiV1*?`?ekc+ZcY@BQ)f!{2{$ z{1+b|{_f?`U%WW_?RzJF_Way;&n|uc-i`0yzw@*A9)9-}{QK;yN6&uv@aykhe)-jt zAAR=lYryYEw}0`;Ti-mt_RYs{eD&h$$B)myd-Lc!ZytUB&bf!TPCdAN`stHv?>)Qu z;-h=u-x7?etvuL?A}@G{Jya>yC*L0pL_iX_;>c| zQP!0=&n(|OJ$Low_?aWKmrgC;I6HOm$iT_1(vcnQ+e@rt=eK)~Zj78enBBb?U7g79 zT?RQaVGW}6PINiO+no~~rtv~>Z78}qrs_|oc1{l*-va+emxgm&vmN`FfwaYa3$2^8 zxm^o|y$ji0vu*pAqAMdDcOTx7*fCCp7J=IXfN>rP=mu892otRWiJY7t%&$$19ox#U z&k&O3o$P~hLjO#hw0Eo{GFeK@lp+%yhQ2ghc4)4*b$vXxGzk7puZ*;9%>aI>@LWIT zohk+A`k6okcSlx7L(9Xwv~9G_GhK2`b`jDFNaw-<1ZLN*>PQ5q`x8rJsJ`(Mw+yE2 zBN?+GuFgCA3tYL#UJ?9kyAzsxz*ApUdHMdtz>1>*(wz{^Lxj(JL+v4IVsw zlmKNJa9pdPwU3^e6`b2#SBVT9de>%9qfQ0(hCKFkG!RFZC2eGmP$k z1V?*1!O!EjV;03AwKeRr$K2jRI^W+jy0o_M*x8#in#24GrKwfI(LK{IoHjL^WsX$w3x)rh46T1JSK{ z$I_^O_d@&SBO?!A7wXX)oj1=1k8Z8LeCXe|nmf5ae`>q+&`$5hoN=PBb$g@p*j|*+ ziLE8uL=Vawyc)WX@JXKo0@FQnjrMxR2ZA%B@#PsjqC-nFiS?z(>a4Ua4gS^k7h3l$ zqI|YZ_mXYb(w))`b;?UQX?r%XG&6AKSbA#($+Tgx)4wq8Kn=1qW*Ta<4z+2zQsm-+ ze{DVO!O?zGv7l*9Q|O=FJtc2nuen$dz;80COC*$G+zEX1&ZiYeEdm4%>uMu{wl=id8uE_jc28rwv$@M7?F~qJ{Ni3;bDtmZD;W%G<}>1vP}8t* zP&?qO>~TT$YF7%X#VmxcW8Z*wt*v1yRx#vjnn}o(vP}L;m(w6$jH={oS@A-GS>1;D z800VbmsDT$&mzs>6HPm_&Aak-YppGth0?o+$6uUQ?rcZx4B-p@ z)vOkEJK8DJjt)>QKMY8`c{~dEHLMlPJ39>PMRJEJ^Me^E$Ns(Bsu}59;E}b(|(c-94dK&a0 zu_>zb7Yxx}O{CA17?b(%&)m25_7}m$qt1bIbLW4w`sPnBefgJP{oVf++j+6L|6yw5 z&e-`M9Dep^d!GFCNB_$|fBV1vKSO69^&G$Z;E(_2*}wV67k~C2M@~KL*?)85Nl;eo91IWMUTe31kBg3b+?O&Ilqw6|H0h0MEBbJX#tU9G+R&fBeeq&Xe=IuQ<~)B9TQT zkMz!;NDl8=I(GNQN52}}bMEG+-{}(VN`Ew%Z_|4?F}hnUHWN@co%LipT&aT27d3^F z&Saj|9?xpM5knwujkan$;YOoF=?=Lw?XK1~Ydq`AckzI5TaU&Ww1v~D?g4MQVDd%W z@r*qbGkJq5n}ehb=7N=`}NfU$2mf$#>9^=PTe@*j`=*{42C2$zLL<&ZI93o*{hk zd}e=z2MgdAAk2U;X3^kH;rTI?69ys3BUS=?nF6ND_!meE{zcwQP5@PbcCEG%A{Yov z)iyMXs_t8SurxVIVMLG0lxQ)k~0wnCX$d8q6S}oIf6;+kblQgqu}(7@fWkbPzjYSV!q_Y@|-XDmtxC`M1*}Qb94|u zILUK@W)2$ZRD(rPrE7-#CB?YbuByd=%V!1W*0?R;`(0hV^&WSf+a)2hEaIoH z)e>a$_;Pb`aBF#J*Gli6)&2vULnrn@ z0ry`z*mLF3(9Kh0_b(1UINx{oO#i(z1NYAk+&w*Z@9fx}v%|Meaqq~jGvjy8Pu#sQ z^5Ejs!`ow!TIc5_$`smu+`?r@rcrf?r z+sj`(Uisqb(&vvCe(-eR%V!HedNKXgv-$5op_YE}gB^eP)y_ZsV*O{ItpD_b9pAiM z{PD}BuRmD-`Ntc-_+;Y`KHmSkuaE;&}bnA8q{lleJ%bxcRG(w*G*F_qTre z{J<|iIrj69PyXz~3qN~t?dQ*KefR#|pT76->nHDg@#vio?>zbN_7A^!_p^`h{_vBx zzWd>w7Y|QAe0ZMt-FtV>zW&%$w>=}>l9?c(J=sde#Jh_rPyih!_l;1m>S)YVdEf55}K0myB zwX|nBzc!Uw8&9teCwB~_H-_L=*ttE zLJQP4(vF5XGSvgg>mP&YDYh;TrcyO5DgaZd-)Q3Z*K9xX`$Ui^?MS{R0d_RREqX9v8? zgUz`@}`lzW2zI33@hyz6)H480C8*?=IWC}!i_>ZIx`fX z8{z*FpBYNd4Y>Mq&i)MG7a|x67{xU|n64{Nw}+{mrmz)hw5ux~8p^m!F-@z}RpQ4^ z)p~UGK0~w5sEIjr30I9nUFXu0f9mhg6L^Y^w!4(|^%b-UKUQ5t`#B3q{EKiL zV+VcXs1xUT3PB5AQQ%WNtQc#w247uEP@#6jd`6E+Gf<(P{1v9RqAFMe%g@Li~u|0w6;dP z*_c1-wH1;fEU630)aLT$+KzqwBg+zfuu|bQM@r50bsD*>vZ_w1vbOfj4evNJb?~M! zHB*>5A@dKOxbgAY_G`^DM{hqe?t)tMk*wuvjr+36Kr8?UWJJPEMf@0D zGYW2MO(ogP(ADP(%QYSR>uycr{#2ZwW~!Yj+KPxn6tn_A%`?5y@lN-lHSe*_^z{>+ zkFMtKoF9C7r}*}j!kzPpD~Da%OU^xWsgt{$8`9p2#X@s&N7HxIf=GM(i&%&LepNX3ivdgIonXlG}!5!=-2iNfp>h1d%7Q- zYaQz?Zf_2rK00yn94^xYbj^?UU8tWeNjXMepvy+ND#P!qng8L zE1u5;k}BU1;oAnrXHVsG%D`*H}?CbBay}dpJXJYTuLYw$gpjl>|_wJZp?8olv+9L`s{S%B)Tn+P>dM}e-gRpDN=(6uw+$_anH4 z%#gqJ%W)Ep(r<03_jN!DtM+svb(ZePGB_MMJ2Uv;pll(fT1bPkA$)a{kksu05fehqpf#UzMA zNz$-UCRdB4c>G$7R+mJssenh4Yn=W_B$bOM@)|vna~7f4FWX!!uuEE_Nlcos&6&z{ zctXi&vfUeOt!W@gMO@jeYSwXli~HqhdT3qd>uhm%)ma#~ zU#W=n83#AIc0cLe|7`g52cP|ie?Ii#uSN0U?juh}&wVy|>5J~e@8A35|LNEN$G;4o zc?kIZ_^id+B)EYAnk z?NQ~cQe%hG7J=JE-rQ6Oo5woQz>w)#mZ$-NCHa87Jq-Tk^vIXsU(m6*7y$z7N?E}q zhX(_nyHmuY5R4-0!$r1epX!FNfJ+MWb+!)mS|b6v0T8CpaNu8Dpz(S0dp%r10zR%Z z4u2$S^@TLnkkk~Zlm$dhevvdRs&no<`Sz*1Uz~gU$BD7sYZvbAf8$*dPWc_Zk+#lY zHg67ugfZS^I@Hmv3&g>^a=XtMOn`Zn&VU!Fn<}uH!zor6KE7wlPvpWs|JJe*G1 z^Ki@xh6NO3tpGa=bmDx=1%ud6>}2#Ai#bl54a;U?k8)AR&IPcx7*e;T8I4{I4+5 zd{t5?;QzMhUjd5Yf(0Qo$hWeJkzu|hdaSNm=#1eH;P$xC7*ixzAtZ)Wt%np<%IoUt zAb)YK=E1n&Ve!XZ9FZC+Ty9XuVVxRe$AHta4dt__xf13VF&%tvm8!l@Cx#Jb+r$Vk zu?Qp!W9D2*z5r&<77Z42jVh*|YbAOKRntt=L^T&C7l~KAoAhdj4Tl5+zW2~9q?_W0 z!2|~hnGUm+yaF1zD4HNJ*rWv`p?E5Rgu6&&YCbC@CNTC3+e^4`VzKe|JgY&wjas6PP;p_7r(nVt@XJA&0%k3PUsmGY zDF*+cfC0ZG6jvjACchZd469OPkTiQOO@3RQ%PPWhCmPbX=B2@CwZjesuC|--+cX!G zY*H!I9b`TVl?ZAwG2BEcnqB73R-A?E{MN>ZN0tsZCqj+**JWaeI%I7rd`=p&Axa4U z9qqyn#Wgp?O6T7@)lVEobh5v9bFp)Is%vGM>Rz4c*qHCxw`1`5-jQ>MrrtcW`t*&R zAKqJd?~R2IZXNvo<-zY?%sjh3{?4UYgw2nxOg*>=?47)Kar(jKnYXV1eo-~Ae0*>D zqr2eWp4(?icg~MLePiJ5E8Vxx_1?S4LFv}HzB?CZp56lg&U}1-{YuJ$wA^v&Ub( z`{IjtpMUn?qmS=>{J~qFeR%V$53hgv-ldy2kKDL^^!2L;41R&G)x24`%_Ylbkv8*3nkmMAk8t*H2_j(|PAg$-g-m+!*rA^*ATn zVQ;;|cs^&y@o{$o-_k^RG9GK`OIe3gp@lBrLZ@{!ujx;!Iq?=lSZYIlhoNu-lMp!TpAL}4R%QxNQnrzqiC9Q*5;-mq;$%Qc#4(%KB zt&794>E7gge|mAyGn9u8_6!$XBv23cV0%u})jg1xL@nlg0Pt&T4?0T>1O>QsN~3mF z+S};X>632ouR7_`K?k?`LBW!sO%cP=)~C;e8eK+p%!@&HY@pMciPDZnj%A4ZH6dGz zn`{V&k??W1kZ=ko%LagfUj%E=zIvA(^^V!&1nmNZ*>VGc*?a4q=5oK(Mc9xakPbM) zL3Aowr_&Y+=@{5xa>p02MtuUB_Ss>30lz?Cz%Ruqw5+d&Bg=+e@WMj7-lnD+4HB72=Co_Gt)W!hk1sT76{Jb<-1zf>NwIxqFT+Hz z&#Z4ta3OTN4H_~&40>m4wzPfZ^1{Z+w&Ar@-~8mx6XRP4(gUL+af8NUwz-`?m(vR) zLK{@t1o#C7^X*1iGn{h7ZFlI^4EBO~y%s|;8RfNLe!<${VnBJ^<%qg$ehZyk0VH8% z4gcGbP4~5TBtuE;XP|LKHJarEuZ7#EYlN`Qrd+;#efQDzLszDDUltkCLpxt@n>!U7 z-1n2;{#~+juDV{Y*YQ8sYMWKl2hT1ZzdXI~gsrt}V8@;oUr5x@VC(FdJasHIIU1T6 zI{xskr!5=Iw|@PrpN~vW;C&%j)M!)Eh8b-QQ+$KugIG?FS7#+DZcm*(x+lq~4=4tAIJZ}OR?!Dyc7uF3@>hu1B8=0m6V zr=tt!Z>_! zQ#M5LU9yf=@b7{5-wrHHX-b{oUon|t(`cT1_5B6#Z$sJ*)6tUi)kSU6gsVB`!0*)B zmGKRfK)y!u$U5?&k$yuqDUSwN>C?7=c0CSC>UY<|>3AH#Uf_R~UfoE1%j?F+|oO~Hg!nKl+Yht6hm$^ccylPDnnO6t?tx(mAtqNP*MKgtc0{B_Q8TO%??y%*PP?YbDn6 zmA^C}Qnqk#2kh&F=JqS{7Zi;D726Dos6+@0hR%S%mGUNLopAY(IP`$uCWnryHp(k? zvTB2(TCb|oDH*J2aA_;eG7-BPkG9sKB;KeN3A9yO>(_}>R>)uQuc{-^TyRT@9!*c2 zk`#Q68CO%g7yL`SudF`;_$B05IUa}eZ5|3~XEXANn0_HEoekHIc|gIc<)m^YrP+~b zm=0qwMaU6jwnPyDe$|^rbk23Nk?N_SWIkCt9)!1TnoppGZdqyNcBX)9=b}x^Dba)< zg)^9!FkdXNi1)3S3BU#GwtK{D8SUOK9$z&c5cN44C&Q4r;9tbd%9)gGBy3qK8s@U9 z$u#(vl8wftV=<7g7PLFlTIQ*N?aIldW-3KgaYMI9IT{Dvf=2P70-_>L2F$`-fK>@r z1FiyxxvM-54BHD4T*ka*YPie@^B5k8eURuh?^=*2iZ{81~hf z8yWGnl5OeK>g_TGe*I>rE0RccB-5P^Ph6>Wi0T?Jsc{5TW_QBo%Q*w>&1!#(CMq>1 zO_AQt`Ge-x36VBd@9k*_^jG@_MZsbB)M@YBh5l2|-ut8f`0=0r?;=l^ckbxO@rPq4 z9&f+>n|+V|=)h-xapSjtH+T5;2VeZ=?oa<>{`|u){_WpC{O(^p`0*d!`N6mIN6%Df zj54=Z?e(ZI3U=D?sVKu7w4C ztXpk6s!uOM;dr zpRvJjYz|v%yn5iRIBIVUTkC>Gsym1g`hMI6IZLrG(sZYl?eSLwykP*ZrYpe)gZVGYIFyHIFpstC26K*y5@1$A z3}|OkoC`q&!|ieaE{5I}6MfPVR}SD4o0s)xRl`O3NLD$PSC6+*%F%*qD5uA7aJ)OR zFzOpE#V7g;bEARwTz;^Z#6yx_npMcLT);_<(PDMG7}RunTnv_SK7@88ji^zjYcV*Q zbc9W$D&@qf7jJ*^2S57V-(Y;94HiHA=^wR?FNqpuvGyKcYtb4`x)Rw?vD=xg&mOggg7)*$zjlV2Y#x$duL}W3|OH0y<7)_1>`B={NeLI+st4 zp1~JlRaout_)4p_Nu#Ne$*Nn(t8J=iZWa+;ti+93Q6<5LS;he;PZ(G*FDFs}DgQ_C zDL@qse3MqqSr?HHRqjAydkA#m@d8|xiuqnhUd*-XTcnV}fZ{rZqEaH^$(yju(x^D# z0elPo5A;0gxoIEoLfQ~afL&w0kvW@erar?%)hDIjt z>zEEkAMz>@sq6wRSYy31$l|W@0ghNeV8AacqsHQf3fSOgNezZ7Ogxw^SVj>J2El4% z|3xuF0XwYL>V*7mNwdjr^M*qPo7EBUqa6adqufULhYdIb@6J?AY&A5Rbt1AiEP50a ze5|ltMebasJ&lWXTU_vEQ zGThaO9gL9Dt5Yy!B>ckFE#+=AzkiBLByA144KyhD^Ksmuf$eQ*)Hd@-x?B7rYUC|S zn}q`rFToiZQdn9?iH$Nk;jGBI5RK3}Yci`4Q_(TJv$Z6LMXhtzmLxnthI10w&y6 zn)3}Fd)eB(F5qfPhS)MSW}~w1R?0RvXqxH`&yBO6arbt{M+PE2-SJX)xUCo}7P9?= z@y_m4|4@2lEIc@roSJT1S?$@ox8u-(-qR=BjvXGp_FC7aa~&7X^uKYn=i23=8&`&| zUhF(|wCnict|JG>E}omba&hMMD?=AgQuDW8U%Y#L=Jspz_pVLdxjcU7^2nV_5WbU7 zZx6il#>C49!!PcYp4^)M>c!lL4`yE8oBr_r;M3b9A3mJ?jU*Og?)w`@xf?PoFP;_G01l_cy-zWa+DyyMF$~+P9ysfB%C$zxm0b-~If^pZ#jj zAAPg;Pruvq+i!QhsMR>6I^@-v8#KH$Hjv z;Iqf~KYshp^V@e{+-gIG z@wJ)l+09FP7S62Cp4~ZhcIV)c<@S9u2$CZkqpjQXzSTkdVxMuk(=cB$F7)WX6qWY1nbGAg; zCp)O%+Jt9uSUXhYG;12|aLx9!QZP8?;SRcynaz0ybx|pIAJ|Z}C#|JSV5}Qf7Y#Ey zOhyqcgYAaiJOeDozJj7H));j*r+lb`{KK70$Kd(wA88Mbcfqcf{jbm!;{pxXgbwDI zjw=uF4iz1}86IHjh@(M5k3>sWlMA9ihBm@|x-M*%rrpZ6P;JyA!P>MZ*_3g$6#XhV zCdA35grXP}r(N@cE*^uidOA5UL_Fe%pXXm^-l_O^r&4IH$avk|fhK)VDJyZf@P z-VDRSRAazIl#;C&1&MJ97B0j-BPDU`DX3m^(o4viHfXiRg!Y{(Xi|sF7}~X@s(!CTcC)+2M&t)iw*s<9ZlUo7Ko_HRBWL3kU5UmnR%R zAOtQ3FGJlDv;3lcY>^3;PrbKHn5_U!coH@KYVty4GOe=)afuL2@BmVEr#=cGJ{Dk@H2 zzPz@3H&?e%Jhr{PefRcTv(r;MR#*1z*$t$1(P6Hyk=7DfAa1M>f!0xL(;0xm2AikD zo}kmjnhv_$Miud#(rREILsz9prq>ziSwCDc7G*R!YgS{8>5v;FxaJ1sN)F4WO$6Rq2;8}HuiJi4=e z_fprsRVuYI0izL~8epK<)-6bV2n870vz42h9^SL3cVna0Y89zextU2%S3B1TWh6jY zz{vJiY-&J}3ef%{CaG*&TIIE35K$9w)rY-JF&6^`5GW+6(f?t#PU11)FvBdo%x{%? z&8+0Ck#|YhB>^A2WALRBrt@5Q*Zki0oOdRk%oJ1b9G4aQOs@;(&jw*^5Yaw8BHqcE zW0Z%3=*;MmINF5KbvoW4UoueG)u4YCwN!J!`&qbdHdUd22G1g6M$F8xa2dlQ++w`< z)ktq85(u@!06JzKpZz%lR_xWQ3EuP=d(u&!`vw;@|d-Y8s zMWsOR+FEM88VUP$r@F!{ZT1^regVJ8o~zv|k-eqbuf^DkV58=|t0JNk`IU;Upt3&( z?5)b$t8b0lTBdG3CK?Y^ zPsPPcx!S2#$x?g$3>kl=XZ)^YL0lmq-L_M4iB35(douc|3x z1OJL+Hfho+Nx7PnP67O;{RowzYsqnA6c;%hEk1gK5IQ)u0)%l$P?s`5VBz+B6p6C7 z)CwcOOozHN3GAi8j=;=1R6uXW99CIqXBqFXPIMXvi{M`sU>SvTdt6$KB5ZET1_8f{ zQd&Kbr;X`a9HtDD-RhAx^+b_UjO3g9QcXPxm|x>qCsH>|v0$Hx1}5_zXG@Zv_!WT) zo5=gJdYY7)2HqD$;V z{BppT;8RgU9r%yVvb^={T_T^1|O0JsMbQ_g5V!Vpg|kjiBvsiab` zqj!oP4DgEz!Wj>P1Zm9SbXtYEfXCio(sBU)7m0 zMLIhY-CfC2ccyP3-P4DrBG}!NnVuQiw|`{&Kz3y%zi&@$b3K3fz{vHhQ}^ELzI?uT z;k0M>M(W7^uCpilE}ZT^d$R4ozR2oQbZxok_>r;K&UPHzZ=V~D>|A1~Eq8Qx$GHQ= za|e2^pX#`FviHuFzK7RmK7MEPg9n2z?iU}t-v9R1(I+=M?p)}9e5?1p+xa`!dY{}Y zy?bZm**oLU-kE**boB89@bBQG+r9U1=C5CDyK{v{c0Ig74ZVCoP5j{L-rez@@cXA?hqvGnuLIoSQ($Kc-`pFZ0E`ICd6JUsJ*$8Uc7(OX|Vzx(C; zw?BOQ_RG8XUf#X_&b90JuiScaFo>*<(V;IeWf7Jsi@NaN+ zn2N2B*(TcE3*hT%P_S=#)HYe748v{KiSESuOm_E@bFAc_8T3r_;?f*l9Mg8Sh9`T` zJSP`N{rEXU?$3|7CwfEkBkA>7kg}mSYkf6li!?fe`n|shuw}NF3XFDub3wu2TvX7B z*?u4}wpXe7!R+!V$J|oB5vDc0FvK?kleq==X=6v+&=pta17(D3>?e3MT9>qu)}(0* z3+YJX?Y^ll=V;N;lPoKdV32{p`cA$p2z=%lz|pjSF`#DBhpc&9XByjcJkK4SX?Ej^ zs7DrdF$Li6DOfsN?WJ6FYJj12G6-T5z46ID*1$lUv#T}GTkv*gSxHzn7b1pi5d7;M z$OGqr`L?cP8UJb$ZtNwMQHLSrr74XVqs424>Sa8iJpiTiTd?KP$Ly3b;j|{4rU*&C z?D=i%R&XTn;}`8^wpLIF2?8O5o(7;Z5`yRTMkC-~jmb!IB#!jN0nqQYIPH;iB9x5T zm@oCZ0KX8pq_?Q8dho9&7BC}w#%bRnkjv<+0T<|^vD+#qK7fDOqO%(TS%4ide?~&X zh9B^Ym5_kSE$|6CofD5_oyltj|N4_*i^phjXv1+&Eb5Mh?3suw;xZ&%M({7-H(*c( z^csg!W@r*CYO4*+QoX^K?;K6$`X&~4XL_a#!R*e{SM|}fNUjknl#QlW_S81D*=qp* z5&?$VIqi3wrDD4RA%L6WmlSi_V=hM!osNt#7ilpO3|sZ!-<;P*)USZ}p`q=hC~Gaa zXDH(%qo(SL?!4hi+VY{+r_R zg)e^hj~CziTA~byTO16uOfT%Y_T-E0%MUuI=W3K1QB^JYcW{BuIRc)BeMgTz`{Wbw zFJXUNC|BY168KT*{d)L@tpGhh6+vqPevE8+4Re)c1+u(XwZ04qO@jyNiOa@(q z?k4>pe3f1*>uxW>;OHH(NN)W2<;S7ygf~5$?3(v>jrvEYy$eguwWYPsKN@~~TfH>u z-nE!IvA1ykaQyJj$bt2`o>t9dsrSmU;KmI2S22?45|m|$ zPD_)_t1qP7{hef15^_=Nu$pqMwRXG6V8DKP|Fvu3f!;d11x+%9tcKY4u;2hgpg=h+ zn3#B;p&{%B{{nt1z4mH`ZoH<3fVI(Ul7{S!aGFlN*ku6uw)iY%|5a|MFkPny#ZUmD zma3qWOEw4>NXrm9Z&AQ6+5=Py6w(E@$27DB19OYE+@j%)iY%W?BqAsp#h^}hGMMK8 zei>ayrNA2)n=As#RX!5|3JAtP$6PwGy<$4p9(41eD4TKsgv&B!!OXdV-A)BymdRg1 zzGYIHFuk$EAS-ax;S(X&OGQnh3Jh9E$RF;#d}B3Fwf>y)+o81=>NN}P8!clv9xcJOa=caTV5*M zG?DOZ)wODw!iiImOfD#{B|KRL&aX{PHB!7^YN{bt+zwYDh9yMQV0F;nB$=qPrkPRS zSSsfYg)!a{RpJ65Y^@=f7!CIM!%n9^7>o;quhAAvWdq3!o zD-=zIq8W=P%;=@j8&=r_&nvdVj&RAB8u7G__RJmZUOa4R9dUImnv1hlwzlPSPftGj zcIEY#Qx~7y|MlN~|G)mro?Bm@dH%~wU;N4B#YgiO-rf1er$dL|*>&%`2Y>z#>+gSk z|MTyD_doxq-~5mNaP+OG7^#amz1h8Dn?r1~a~iKVYG9)PsNzuTP5{F;ISgW_kq1;_-maF_@Qrqp%xnf9!}i)6V|LOKnZJ;}KBJvkxhydyz@e9Po74Symq z%zYUsV0jTqbIdfDvy8Us`ZLJw7}w=#LB4=xs*IWy?QsNb(8qkK@6Q8}LBTpUT~j@d z*?t1%uvx%42Xh8S3oXOlcz9MhhT343wkRz&J4gf@ z-gG)WG&B^C$06oIm@vmOdPm3;Ee_4^*>~#3nK$11?00{A>xX}wn%up0>E7qR{VP={ zTW|N-(rx}?DcIg?h$OMJl6ymx*y&e=62?%PvP83#(iNuVCpI`u!IaJ$GX|2LWFgkp zOP)a>)4{;6(HB#goLJshG|B66{WH6C4!_pnX)(}&v0(lTPc2qqr>|9*OymNqEEZ;g z4Ni~TXynVXZ!=()4;xl=AR~r?VS$^q^bmzr>#$V|Hosc5?!UKCGit$rSf3FGNt;FG zc94Q0!WYY+HH8Cek5g#)TlK5}E>7>5`7_uhDBP@Cie@I~bD%CdA2h=x&x#ddq6wRo z%^Wb%D^p3~Mqx$O8ih{;ZWuyno_*=Xy?;^)19WC^B z0DiU17hBCrm4e(i#AdYJXsoeU!86V8bNReZetDe1G|Co)F6Aa6swgE!UQG-?HCuUi;fs$*aU)7ei4fZ%jhb*H*uDL1S+G1#HM{ws_Xn8TUb0fOB z#&Q2^7e;QpHgNS~_l47gm(PvAc5(BayPNlKja@i3dj90dg;R;m71#P)?#v8{ntF_4;YVa zg|D6Jc<0UG=MRP+-|K$s_0pSHyRToGfBazP(cRg1?+m?lweRw&!inv!OD6_zTy0E3Bl~8Y zYlG<{%f6js;oXx#ZrnAc7|N8{WH{pJ?&;{RnaI|3aAP98bIQLu;#(Q!oE%=C@+}UN z^~oCFoQbYarFPAOh&_{i6qpz0msyqI+;D7pA}~8p+?*r%D7`pJYLb7b7@I6vI^uz` zPXA~JYjnCdwJ=0+FJ4&0?{Z^kqMLbP+_A!wC8n5*>r;3&+Xjj}4|BdqyRqjA&GyA` zdtMkMut~@`9x33&DF7Fw^Z=8RCF1UCTq^t!e*`G4ph{ zakA69Fp$}tZe1M9{%mSbCMWxlD9a*Fg61K15h@cmZ%Bt+%);lxv7xr) za7VC|apfc4ws>-&BQ@CRNQZ*$X=7| z(jiD6o!_SMTC_f^E$TIgTo6?Tzg-hBtNldunjn8Q9-}d6BZ3@pCTD3K{3ki5=##NV zaM}<|a+ZVqm1C7)wV)H`O2GvJ2MjzCnFAtu9Hlf0Os;q|NI|<8FQnb6(7l0cVNXEGGXCpk$%vE~J>{{%wykSQ?;Y%g`%(O;**zlX2xJ_$;`^t#J#3-&^qX4UF@eh7 zEv9IuCz&jz;zO3upgq6j>D_(d{XbYdarf5qUtGTRsi@u|5~(W0-iehHAN=@F4xGN6 z?HOp&6DbSk(luz*7jE8k$K#@^Dl!d;_a!=$iDYXvl3d z!)$n+7K5q!Rgqy;N`{7$slt!8tg4*NdgVW($QQe^LkxVyUyHvdFb-fble(v;2aoQ2`~Lj>JAqxR6;V&;;oV(F_TV=KwOkYTVdE?>#&I1aM1wOk zNgTM6Qp#MI(R)}|fG39kE$GPG)AESh)Ecv73Au<`(s6~~ogNv`GfNxv+tSJG=&-Ml zg@3W76I>%qiExYCrV6=qF(32nnz)Z|r*Wi;1tfl_IN+?Z8*qeUU&=)Xo>vofGlGW; ztK4M-?g_EBPJ_zNGdOUhff~khRqnG%TqYq<%wzpM|4VbmWkJ2byO$Nw0*II)bbw?z zI}GH@RUYumxGvxqGaR9rZ`0xL0S?8t3Xsd7IT9e%EuU}U_b1?T5#5uXUm z#)ZbdlnGKXYyzJPOmzq|BBi%UEs+_O7;W(+fM}dX_}KE{MM6d}H@hhYfw8g#I9Euk zkt+yWDUB4;x%@3aU>Y`3!n&^>iAjju4tzV9i8QJ{(bx#;C?F7prnOBJJ}_`UC3mgmE^j9F4JcWFVLQ zBup+u3kB87EoIp=I1~sB+6Clt3wusTTeg=>x3L0{0lDSkdHAyYcyKh#FDsB0V=Fe} zfM0flI6Q-Y*&JeiRpyk-6mS{&N|+AGd6>4 zC8Z4zD-@K9E8zFxAd_rms<%a9Fj>9e-=2X{hu6ovVfmB-MTFlh?pdM=1lEl@odx`h z$#Xp4p6TqFT3(x3T_2p7&g9#jo`6iLttP3ZMTK0_8BCBzlPL`*I|ezQSc7e5Uwf^b z48EK>+ULwq*s^2l*pNsQT|E8h$C!YN5Yo!C(B-m0$e#AN9c?r-rI>s;gZZJ}C`;1I;%I@GA~G7|x=w zsFG*>G{bQeQM8Apc|YJ62^kZ(jAp>b0#VEOx1}=y{*`tmktG9rp@2cbsGw0kLkfd` zP5nh+tYxSTQ%(3{V_#0+lWBSNV%qh2!TAc#S5}OIngP75 z;9q@jR@aj$<6mC7J|C*f1$kYdw_&K=G}6f+AwbwQIpCQdvXAwedfN=0d2>fjorr3q zVRItpNW^0uU9n=j!y6zf3$z=F#k1LLcXxMJS63_+^96#@XxfOlAeK+H4fRd$JbdBy zt*2kjoxELGI(q1>53arVy1|hUwIEK5D!fsJJ7fkd3OcC&FNMu#+h(3_i z`4d`S+z?E0YzepeGM#!~+#1PPLn)QrFSmG>ICe6crS z=cB|L!l0pmy`W%<1E$Lx^cq23&l^vzr~qd&jiT4EGSvmn;u^t8TiCAH4A>oWZZ9i# zs)!YO6&8=%1Ie=$@;Z~#)S|&ef|R8u1(RNkfLZj7k_NypuZ@7Co3JM9eFcR>C6}FwHhYJgA8IZcc8@ZtC5K!JUPoP z!Mch{xwu&;SK0I?lU4@=W>^E%+}YL9)?RE;O3}MuqJ@7)?*r4`i9 z(A@mJXjwqnGZKa86-DL|__x-o00QIgPQV#$c6roAwr?}7c)z6{%j<}X2ELpe(vYXc z=fYOB$!e-lD{AzbDy@qC8#70c=KS7}K~i;Uc_R%{QX6d6P(ByPX6m(?8ojpBYL@yv zFao5kYCBS9wp&AOjAS}z2W^vs?zyq-)@p9oT4H%7wlH1X+ELirky&5PZ0-oJEN1rY zO6}j}TVD=ruBNv(vwL>6A3fN9>S%P|R_^$r(#11Vx8KMd+#B0m>pF3;`^bJWI9O+{ zUFtq|AbVoJYv-c(;CkTXp8OkU+uynf{x$EOGw)sSp5ARcyF2mLndI#YsXG_j-@TE! zb>4Swuk+;2)SKthx6XSm9=4p^qu$tYEH!ifjcB<>f`NZi197K=rO`X~S7#4e-TjO9}kZX)?{M;d}P;Da{oN|7v!7XUg|ix)qZRvcW|X}Xg#xk1;J!~ zd$n+2t@qU4-2N5tZ*k8GXt#aeTItYEj`O>g601|$oeR0Gd5oR&n{&CBsf#e4;Qx<;!DHHmC?f1 zESX20+bbk7KD?ScvLkzV zt#EX`{lw0;7YN|gz-V+>b&&>?^N;$@;iJNDh zn#6fy+UF=n?YXca;X%D@P5V8C1V#QDsMg*Z#=0swNz{LVyg}OTW3&na^vKwcBr&2mB|C~=mY;^ausn{JcP|PH~I8hgwQsnT-{Iy z`O7owCH0`}q}$rl8vDH?R*M)9YB*LLv5XoaBhzN{NM#0wJR4=!t8YFDCb~KYX8XpL z{r;Rv9!PcX7~H(N|III+{rYd;{pR1?eE(-AZ+Df%*E7Do`{xv+#V1-5Ob*vd!_V45)o{sbkQIy{DQqTC38FLaFnu{ zjgcUi3E@hC5o98)jd~S?X-3>YU~MYMlPIHpreo?oLN)o!wN9b$O4JDZTP#?Cz0jR% z9}|2=@Gp)u;9sG_P5?6GFZyRq*bO!W|DsF)_Lkk)7`82srI%f91j5&$9tp(gt?=REM({Bh3O>Gf z&pqcmr$12C>!nHtl2zRA$?JmKH5T@}z`uZB#;guAAQ!?H2n_iP3Wom$0_XQS!M{wB zfk&eOY@ajx9AM!T{$0^y&FFKA=MwoV1A-QdphjDTF_z> z)agqGf|}J0#RGoP$_V(kVmzKIEU-j00{8oQw-t2z_R|sU2Hq-%V~T-rNsB$RN>kKi zrE+TYc@1Wuv3xKBI%WyVauJf3QmZW9p6${zLlojNXjfHUuzxbP%zxn6y|I@#G^^gDZ z-rxSuyMOqHd!M`!tjHiPG*6*~-%2Y(s4Yzw7xBlAzy-ZiayhCOqu$T9$TCfmG$5)~ zo?}<8K+kU|7wAN=v;r6$tE$j#C=J+Hnr2y4c@EtQy;PvB5U47!Y^C!q*QjP=jfVnh z2~nN`orJHhFiO+S@^qU#!>+(2B-f)w@l_ZyXM0Ul7NgIceSdtZLh%1^Cs^;pHwZ5XU ziWqcKRFXj|kVGvtn$}w2EhAB(bdWi_+Faf3wocqQ8?^Ox>e?E4EG`ZN%Y4KV`O3XP zOQK!@r|$~ds~TWk>w3Cfk%-)AR9P&ZNH~I;bFdcivptkBcmj?{r6mwyV)BJ(+Lf4X=1^2Y zw3cF>Rpkj|ctu}uvCdqe(3R>eB^pz9g|a}dl35)JyGx`uNlg}{&Y7j6q%x`y(Q;{0 z?oaD`ZZ3s{HLbXCMNt70M$k<$VY0B97IG_+K2)r5XzVRjl%vmKcad8_QpRT1a>3^q zOUPGh(jxSwKE^$t8|U84k}R6rm`0TWxBYl%frppAH|5+d*n%#}2<4J#37Q{x@jd zEZ&3H?HU^CvpdbX#ThD?5p}6ZS;8mD=UGZxy#h17(h|8aM_NRo(tAsETC?xl7eS3b__`!7jAefgn2;tl(#cHY;sajk}WNzb%-j^u)|i8Np})$ zziPsd*{AWPb& zA&*Zvr{#)D*-t=kj~_U~d!^o@(3#ano7EkN)i)C;wxX~Y=>?f?^o5z)>$Pn-EOlBZ zdkqs^@xALM6J4sg0p;9~WU^PaW~F6*&U;`>{KOvVx-rY{4Ty^E2j@)(=DjEPM=mb) ze{jG0;pNUx-l=_dEBf$K?47HL_ij3`9*^Ex4&OdwJH1bLWWju5xA)4D{NQHA(QT3Y z%aKRt?N^T^K6|Wxbhh;Be(ML9Bd>0jo!zdyb};zzn(_UM&QESezI{*s{IdSRY0ZtJ z#@kD#JIAy)m)!4Oay-7EyLsGl=ak~ip0a%#@3TW_2|XkB%7-_*046OXS9-#k5Z<#^x8eJ#5-4DOqsIm_1eH);LSD)Oq?)c96<%4^#EbY5`?8u$7yU#C9>{va!cSHY%vC5&Q2o6pS0e?@8 zy%TA!$J!Hj57invBldx6O>4k8R2!S?im&SSjy5v)Otw^R7;ud@Mc4KQW;=Y-ZN8ay z(_l5_nrL>7x0(iO12a7!$KY%q_E3Sbrr1nJWU9?ISmPOL2v4+E&h{i$_0_E%_6{}G zuU$z&%Qmhbt6e=@Gql$C5d}AX&0{U4u=| zfd-;`!(*K=yi^MIG6Cem|E3=Dn#}nTOkjZ-!?T0YRl}8QM_ab9sa!V}nC`FMIO(72 z3(Np}dx&A8s@AQnTsuNMar>^d{>@|FjVlv-*2H$qdNz&L9^6Pd)(wGzBMa014J+Y) zi2@M;*XGw91sxZ!vkzl$izrkHzRTp;E@T*XS_YeNKzp2El3zc?=$#&Si0i zz3!-=CRwA~8mx{Y7*1)1O&}tN8S7f9M$Qr)E;vaTVXbUXz+P$Wdb(@1ASXgd>D4u9 zxE+8r0kBEPiKU?yHIbAH8ig(z_XN`MQUQ73UrZ69jQK|REEehpy9ot#stcHxf)|EU z=A~fPlIYm)v;N9Alb1-lLYPKURt zXK=&frB_={KEM9SAFqAMa%pxHxhJ3A`0y8pZ@jD--dxo?H@k3j zWZe$JCRT3UF|@GIxMp_S<@41;y-8Z6T3AgFrnoZY7$hq+CrcWx{?ABriBO#RY?lQ|vG!r#fGy5sV3E zBiI%w3djZR^0SgZj!2`ovSgm*fPxBOM7heU&EOWCmqDB;_?kO!a>JPp&15nFBizllZC;I-Hbb>AeXgVvMmZd9yiTo3FF6@`pKzmA08RFY9{NM8^& z32SVyz3Bl}PE=pg;DGJTsxrXy3W8EWSe}v4W!D;uTb=1u+7*?Wl;#;YS>@AFc^kuVWO z_(J0j4Ft~Wca}}Z0K$30K0&iCv(H&F5h)stWOjSC8#@Od9GU&_f^JLqiau}gbhU7z zs$ek4dnjKS&F^xlXX`2eyu)G1SeywCS2X$JZB^Fkf#KDR#3^y7N8Ij`_XZT*0a3F< z*kENWYqIAj^tlOraf6jOr|e2C*c0FhPzBOL%E0qd5HzR?0maM#zZ}B|y$dhQVI0ge zd=(ZLo`vt?84h5=SNUFWF+iA?<*+P_tw6^B-nSFD626hcfVv#OGBQ>F-#lHw0vx0a z{uN|oL(e7Zn?zCt_%{W9u{$jjmlq1lOXX@$yk6(4tLmH>nA`4&wHsZP=Puu?Z|g4+ zNl99%z@bK~!GX58qC&1U>8&28x6&JH&{+NC`PzfkE7xqX1gq%T6lru2WE{*EC^;!y zc3=aEQu79)Dw`)yq!MJ6N_74*tzVF*PA|6$gr+=Q$du@d4X*FmxVZ7eoyD7u^LYdOsD|AxegUE3K?c8 zZd6o}$C&TbLDWLmf_yVfiZp|a36*VC1AeIji%vlFwpv2;IXRwL#^f>dUu0U9SvD2; zHwA&SU1|(7se+I_KWM|rDmP%w_M3pf8K7XlN#NBAJQ{&Vm8^g+Gis)iC^+HFsLN7EePAdzwFY(`_KaBUD>5-ifdaF zz+nI~;8)XDO}ryI9K>>#{x-_m*X9`PWCZZ4n-ZqZMngLawAv)>ZL8x+M({6!I!kM# zqqEh~-EQq@(KXa7s}t%(wYH{K90=!|Y$bNLFh3XXthr@mee>An%AVPl@h!GQPlY2MY8rA@x2c^`l8j8= zs90+hDz({V6&WR>9FZiiTqe}$HEv(2(E$Vo{4%MqdcF=^lcebFR@v`I#lsGB@j4QRbFgRpsT^RgcC1UE8|%{IH$YNLt40dfVR>J7SNu#rL*bGm&-mU-aaxJJ|T&62|( z3t}2WN>QPxnA>8~0|j@->=jCrzNk!yH+>0ruA&0A2b18JYas7QBxYe~GZFDZc*Xot5d5T22>A8Y*Zl1+B{jJC= z%gPhwgt;MNERzJb1RRv)uuY9aH4nM}W|N^H%*WW7B_FX1 zNTzAc#t?vp;uQYPsVIZ_<+q&N=unFAc`nkG)09Md0^m1QIK2z$v2to8KKA7GH~^5$ zLOx467aXe`2cZ=HWw$>|Bg0GpUwT%a8Kot}W~FZEIHWNL{DOR`LWwvSuW|Y#c5g_g zG0ODj%%W1c*{b&i{H@KQ-maR}6XEF*@64cMX27v}2>cs9u-UY6T)le4Ha{0Qu+_G( zI(B^bF&ke_wEe5c(CT%k0-u;)&KeP!LMKTeD%M=TXXYN@4GjqKYl#^!M*%MWOVfkSH-E(vq_uX5j7kKi;of$HMzj(gt z`R%d0%fnYs44gjDwr5k{?#(kxdsm$}Fn4l4xxc&bEFXAydHao%`)-}tcID{yi--4I zJAUB$3Gna18z&E5J-%*np3L9I@y@8T)Ir-Iea~b|A22u#qS_ zV@KHDS4F8BJ?ciks=;SyiQn>S8C5ZA34 z0blcc+m`8`{aXOP4O?fM7gjfKUz6A{QNMMzbMK~>ovTS1?%KNnA{g-7v~9L}!&vje zT*rwWRl8T$AKXYqcg~Te)p~q;)!wz0yH){;;|nv9t&`y2;KtD;!M%34ddsADoNnd5 z%DDk^S9P4XG2RvGYm5%IguCmjhdV>9HB`K-(SxwLAs%f{_!`2#`iPg_=jwnX=C=5) z&WOw6w_5`az^^mta`;^~uLJz6vl>9YK;TqCyn=j_jkgvZKo~fjf}b1=WCs5-u|_=R zkjoNwo4_f!CU4<%Jw-*0tLgx9nd6|7Mg*@}%+-jhbCJ?p$2iKnMIpkT3qyjG$n(SsC;v zukqwT0gG*NiI%RJtW29+8sRQO>QiApDri0N#T8{hV6VkU0fc!{PE3+mXw)cGGBv$* zN)muQwa2f#JF{?7>uGZ*Mg~_MI&kFrwc8(UTY5aY{Tkpm)VEV0C>Io(6D`x;cz>*M zdd;?TLbZ>K9PZtSZ~(uUC=$M0h$(S7K45xy9RaGxG(ou%+Yz}!tH!dXT#Bkoi_4-? zEfrS?WipYKU%1WS=PU@g0ly9_%y0$L=%U=L!kkPVc&sK2CbTwJ+sLYLGt%c%ryhQ? z^W5XE)%(X5PHi}Jv1Mdkj>N#Wb%oQn=IGH~H?HixeZ6X+JB!oFK+VU_uN(Y}o2cAoVvWIn4Nwo@WjCID z$<)Y>DEJpe0aoGMtx#A2Yyo$Ww(Pw#LUFPVVU%*_xJ}xC9lxh^ zY{>KMs{jBgI)B0G;Biz3P^I8&#Q901HoAb-Qnr0K`I#giYLlm2k|5SAQ}~w?nD@h% zxY5HJaC)Y1Xv1ij0{?Og z=JyEx&Bq2LLx3GRKY|?(3jAB9Q(?Ku?;Rf%d|Fc5#VF{YfWg{2_7ik6erW3FCat&R zrSu@{-U>w^!Pz26wgBs-oZ-M>J|FbY_+Np4kwB9tUgA`Ne=Cq{2J}E+C}8k!eo$W& zG2wNP7dD9Moj5!fRGEvat))$_oJs@ux46lUw{0=A0L1Er>Ad!bn(%rJ5Jv$Fa-n>r=ZkPpslQM zGzUjEEk6FVck3xf%Nle2>dJ{j!BzXtfB)mX=Pw1BE1+Fid}b+1DEu8Lfiyo$EfmP} z)0Bnuv(vN=^34YS+7!7?HFPZnU7O?95bJjZX{z%Ca!6v@#lMGup#h=a-w+mmA~ zSs4*?df1c}GJtur6ZXOeFFB7zO=~UV(;uQ zwKRidRW;Spc#M+AW0FXi?;-bQ%$qIuFY24>ZobASGQT?O)5`ZXmiK|A*tVAY_%!^0ew8K35MJajk++}vl@M@ zGSJrJY;2c%D+I^G;nDWNkrrOCsU=ud?Wk+;G&K1;rvl!h&3JL9Vi_ z%%o7j1=9%31&S+`L9GE!GnN(>VPXROgan|tzM1vJMktM14U^Ou@VE_nHLVu>xDsKZ zR;ME79E?nsA{ZIG%=HQ#3!8h`AS88hr9x3*3B+#D<8@gvAJMvfqPfH&iiYPc z$LIhr>hf|ji^XMSMzh)N^>*}j$7*A&&0JxdH*W75X}SOG#*0s%zWDszM<3ija`w>7 zhUt|vqr+1pYQI^8#tG{iT<=J-)Ru#YF~wRzF34NkG47J=8*`ifS4J3`UYI2i=I}i7 z;|x(DQXX=>i8kZo5R~SnRTO6{%95O~MwE;?l8QMY!N?SjaJc8O>5+^(u_aA4>9fc& z$=Q6%wkxxoN+7U6U7n+tB@G1RWf&CDO^lxykxb=s8O|-3rBzf^6qOP~CoL3<`Ma=t zqDU$=W{=M5Lus=@L`H+YA{=rI_Q<=MLknwz`!)v;&j(KJvK^l<-!?AXFiaD!{rG}- z$F%CmX7l;IwkwD97x!6i9haZmqrZOCbnAHZ#Z9XA&BJ7U{!ZN&Pa3~{-uvsH^!)0L z6uYVT);REN_k0O8iQRSb# zZu+ZlI{xsV-3z~eqvpfAmG9rIetDUz-{a@AKu#h^ftBW$&JmA zudTXucHOPB>u;agc=Obb`^$UppWl1??4dj77H^$Bc=g2m$-TXELpv82w(Z}tVaM7X zhqmoKvFqrC#oZ@&%^%*naCCnE*}e0N8+IL^-+O%9(ewM3Zyq~y?a1K^`}UvNiJ=yg zBNz7{JhyxP@RogN_N?8#W^ViJ#sgdCk8EGJZ}ZIdHS6|n*>QZ|;+b94;j_E<9-BXW zZr{PvyAPe-d*I~mJx6zLKRCZ}_r{scGc%iJ$Jb8uj`!Juc7xZgv{^ifm@N_rH&&0X zo9&w$Z6ELNT{||uYkl{oiR$Uz#B5*lmdUmqbK#kunpH!9T(B*?aEjq=ST_pV1qg$G zVTTz()}UaH;b6jx6SG6jn`a`EeQoor+PAIlm|s;nJy5@PjA&zs=BlZIn(4v5g|!0< zYr8kk_AIPz+ceX;bydffIjVR2x~}=vJcN}V+`Vad&xWS8E1OmgH?JOPoEd1C?oZ6X zSr0N+jdjIF+UqBJs)pObowfBVJDW#3J0|+t#(G*tI@`y3>ib(d#(SGb+7sP%^}UU? z-Svsq>S#kOm$toAKqYLj0;ajR9&AbHL1jNs%LzBIt=v{Sk zZl)%;(dM(53<_eJY>IMyX|XgXQV!2hSwFZCX`X@e{p9EW(G=;p8)n{MqJO5zafn`gqF%y})#ZIzSDSD@pqWZqBwv~gtfg}e?zt3Ar^xr0IeegV- zDP!t@)RFL~Ndq)?Ba9ecB>m9%y|cB#$hmJJ z710F*PVv9&U~}Fw5^t0`hj~cxmVn_&cupfcpYU4?P>5O)8`iuf+6HL{MjB1O;akrQ zemZf7WDzEHR=F$C?c>{qwwZUH%0uLB<8#GY4n)sQ6V+T=PC7|8q#Py_kKiWaPG#L;LcV!e2yIMG@pL;%D{;xW%&rz*f6F@qCC#oB=1ouNavLmpO&B8^7$v0T4u*4^t?5lB;Xpt%76W*eO~=KvRl=!Q z*-T~Gsw(A{X3}^?s}nH7#h5UUhDbHaAN0ys*9ynN8C^D>0V6~EW_LL;s#?)vrqWt1 zAmSu1-0!CN7OH3@R4^3C8}JFoqKegx#Ul~n%6KtORzslaCef-|<>ofY>U#a=cIi}H zIaTT2)}@-RGOTW-=a+0>9G(@!an)d~q9?5EjcSMD#=*F>)m@Y@6jkXdVU0=B>?}?g z%IYlAW=~1NTu^B!t+N$Y87Yt~7&e7}fxy69z%RruWG;VDU|TS362`tYd5L#t3k*Y@-g{?O|BtjQWlEk zBBDV=G6~Ns>?X7xCTL%KxN2_K{_)MblC^F@EYk~16?wU3hy!r{YwDkCncC8~Zr|yL zpRPH0rEOwic=i4VAAHj_yc#M6{+I9?QhoD^OAtaAOB977rO_3MHw_qk4FyWy_7is| zx1CtId2!d-+ur()Tq&LD61L;Ozg%Q&E-SQKZhiq~St6NQXAg|8-qJgmwS_DOULAoSeVy^I37g-ZRTZ7WqnXif4I%js? zd?AbU8fqplzWB}R6Yte*J%01YKW<-KLNZ>Um1N0F^R?nkd2zO?q(Cp`8l9~v%}^I- zYD&Pr=?M7Wvc0e{Kw#)vxLTqN|5dc?(__R(fqXNaTHKfkBq|O&vRwLXw}DDCCn0dA zO@q%K-5iBMTaL#dtxb9_<3LpybwKiFpluEq(qMRq^S0b7 zflmwmh4uyi7B~4Tx?}QwJl3j9I${;Q)sns%QD*}EGZZlXpV&_sdm8mU&Gvx~SXxok z3;y+w^yr#uGz|&dUl|RJwV+pEtfr>g($ehg>~Qz?fP8_ypkS~tW$S1M`~rK6y`Frh zqdXE;RK`nvUY5{6W)TjwUZ*(V75P1-UROoPPu@_G!Ah*2I#OwEXff9{X<{|({s{03?8U~DEotCziK-Oj3;wMz;v%Aw zSrlrA$`Ul2{6?eCpm%Cj76rhTlIhDeR)x*0GuRchBWo>EvsY{J=^SCRKjCsm9ibY3 zWqkj#FLqwE31bYsKSlcRNq53G7{ z`}p#y?YkEyR!y}{jMNW8eGJuiH2LeRZ1JE@RFahT;MSbPs#$_`=9s+~2!yn-t4l0) zY`QA6`VzS^uUwLWzPn7kf{8?0!cwQTt#)9rqpQ2Az9EiSTA{?exri^NM*f0D;sQh; zWn>o!^Ax4{OeF1%*6EZD;uw% zR{^_GZ|NW_644kGvl$h=LcvuIUo7O!CWD>^VfOd%f5wj*opm%EZftID@9Z2JTR9J~ zICbdI$$dK)w{G0IdV0gk@il{8qb)t7om5+YYu8YBTVH!Qewg&9v9wcjLrnUq0)Y#Z zr8Ff$2eV5|ZxLK@>J;KE0{o(s1|3s?UqK0zBL1t4G@(PmF zC72De{V0@5qqVhGR~P|-#T~JEW9DESNAw(xCNwl?>FuzL4b&XiX4^W8_mq8cGx*nf zY-`!3mG)!X;@6Ibt{tg)=R)Y-DaW*+uKwEItAulf65xBv3vx^JKL|MrW)Kl`lmqdRX<>cV4^8;5-_bx9@-Mlz+?fmTZ3v2IO-Ei;vx;s~Aubm&iaEidD zzB7xXmyb_fJvn#t%&KcAH{3b9?%MIKw@&SUc=5o!^G6?C1ph8Sxqjs4nYDX2v6r&z z@OB{Z;^_lR7Z0DkdFt@R#bZ~O7B3t;bpF7Or7b6}9X@^S2zBk@xvLM(UV3=;-isSo z-#LHn$pz-;@145#^vdyTOQ7Z*$F`roeQxpM(aHI_?wNtryEcMzD6ezHs~E<$G67Up)f=1pJ~`v4;KhVpO&@Y~H`~ z{DbRf?_N1^_u`gQ``4e?J#~27s#AN`EFbJUu(5alhQYlX5qo!Tn?vLbz1uNA3mi@r zfEO36mQ9oJ%W%X%V1kUz?bVK+227-BR}78!;Mn6EY9n8mC|=6iUK1EE27x3G$ZmebFMCbf$!`hW~ zJlrrbxOKL7<7D$hZ|hWl_w-=vXm`_a2gn!v+dSOSJvGoZ)z>iC(mdD-1a9bVtnX?_ zG*>lr);D%EHg`2gt0E3mEKaM-Z3hKgZ6+@apWCfetJx@H;_;z&F*{tYP$UBQO`%|r zFU6BQV{uuv#J^e%z+M<+MleW{N4A^5Ab=4jpjxZj#;CW_3TpsrLG^-vp&BtmKywSu zBK!!b0!UHnlNVD8TmT{f8Zc)9KuD3%0Nxbl#s3GTGN71;@WQ|!=B(iXzcz07Z%w-B zWJI&doNh``FgO?F%P~M3*8HsYVQiD8US<@t8t|`NC)b%YdcD$QCf;2I_^qr8Fxnk@ zt4(`&asQb+PZHfDTt>3XB{G{;sFuGC7cOUKSZbC7gp&~XZ9oi-JZ$1&E>tQPf`8pk z-oDN(Epx~vWGaDw6@_d8mX>6sVX*8pXz^IaJQ-6g45Gom37;$OaRi;t%1}5GuCchH z6YKZC^X69z#~#&;>>As4wQu8cp{b>Ac=y=mGlDcl^U(aqKl@ujkv&URRWq=AXx+&V zzxZQY=Q#aBxQ!7wCAQki%og0q=raXB0w)2FN!0mPplh&OfTtLdF%oi5Q#QXHLMW7U z%&<>P(yUcoE)!MA#lUz((W!GL==a4U;r8aHmWKMOXr#Nnt*)hW;n0~o&wp~~gRkEG z^2hZD&%5gS1F3C*vSQ#i96a{%%;9TAV?Wi!J@Rcdp3%2D+3jB+fn0E`V zZ3D6Y|L`xAG==yf>4>hZz`Bavo)iRTl2SpVa|Uz+OW`BHzr;8)!VBa4 zjHZGU74nyT3|fYH^Dx3G{7VZw8tj77!pwYj?MZP#){N9SE4?URkez`}FWQ86Zjdw$ zOwV*K*9scNBy!kZ?%k;!Y&Nlz0AEjfnFM_}6TGwdDAGZ}nhHjIq|?fBFn%XWDQVoH zF2nzdHc485%g9G|DDl6-;Tanr%xtqQQv7W3xk`5U+Qqc`f`6&(xL(}q1^?3In^~RZt5&g=Dne?>Eu!pUgiSV*#_7W`Yjwg$)M(z#02 zx(1Len3pOb^JvJ2G`euu4;BU*7Y_LOcF9yCN!<>Icvv{-mCjUgn0P9l)8`@%xNtZK z{*|w;&mZ(lW@<~v;(2{U8YQ&r+od!0icPJmE$z}Z4XSlb;NS9*plm!^Ht17N*OU*3 z%ZDN`zw)7&av&<|49L1dC5<*+UqsUr5;fRF_15x6ySTwt(c~zIYm-2@$(Q}V*#qH1}QjMMqn@amo*+tE^A00roIZ)1t7EhV{HiphQpnC z(662==YlLl+rSmr?6j!Wyjg?Q?8F(kq_ixzphTiFhN_w>o4Z#p>_dJtJ-@4SVy?gnfUwsRA zT6bQ4|8M@!KvfgFmuQ=@pQ1~hy_(b+%SoGKrQtVeNConR{7rdMWx(5-|i^{b@c^y5B7D>IF81z^zV7pqyrT)_W^j!@`zuX={YM$h;c2vabQRPvc-xw+!uT?P>z;YHKSk%?*^fq1M^fY;A0G zG`Ab7>y?p86S%Ue!&293NHj|QF;%2mPAYCVA@M~Op(=l8f2e0D*gfQF>xIJw#+KMT z<(`nSnuDXR=5~KakGZN&<_T&-abHVkq^qCaUT00CIaY0qCh(ymZ`YQnH^r*;;Ywqq z+S|~c=pC^md#-9Qh7)w-(gn=7D|}(7UTr8+;c)5#L1Q?iuvujm^kWW%*`TtTaFL4E zRr@MKM!Sja5e;2SG}zLR67P<1YD`WyneUK=W=qz z9GcrAJHy-`fxtxHt z8w8~lklLWGUK8u5B+h+A=kU*z7b0&g#j5@Zxs$!kppoR>hG`#Rt}?F79zYI9Yypz4q)5 z|ASMWho|&67Y%opYQK3J`TRk{uRaQW^(g%HWBs%9flu!_Ke}#ye$n&Et@x{3LqERJ z-a6v{;L7lCKZ|~REA-*@=*#QYJI6+T{d)Y*zZm`Tv#tO1+ri&_(f7MALvQZepI@;( zyBz-ErTN<@MK8`fe*Gfyn~(KxZW=zm?*Hl2?tl9Az<>Kgf4y{ZGFc`FGzB{NbCv-+$HltJgDs{qxa3|6t6**;O~LY`lMa z{pGXMr;m;uJ1}wL(D;e{ql-I-4{jSjw0+{x{JLYi*Bx5ed1C**QwR4S+jrvZ(Y=Ru z?pr>z`S7+)2e&RP?c8&E|Ne7_4xHP+bpFud^8O=d_w72e`Q-Axqo;PBJiY78g?*>b z>{>ptlR9%^$Ejlrr;l$xe`e363kR=UTD){=@iw&b!L5@M{R922?QJy^WBo^wU0*qJ z_3~j3V7zvD>B_|;S1upBbNk$*2Un?w53W79f0ep>=hBN09zA|=yS}x>=5g0F*0=X` zt=qcp%Iz!9UcLM1`GfnG8EAmyaL5e0TRuVtLqx>qz2ZFH;;Aq%nZTvc24wxbNlB;#y8FMOb-Hh+eW*22>+Yts*iWn zCb}DHdK+r{8X230+iJTTVl7p5o%NCWXk~MCO><46p&I5l8Vg0DWU~4~L9gHIMMGjT z7!Z@t0^;*{D6-P9WQ6<09LeP(!@|I2&1$t;EEaSrG>n)nCK^WUE{D}&GbhEqM%FOg zt*lN=AM{`)i`D3M+3YqG_9jY=io^6KLyGeSK9?&ha4wLjqA$O$m^&;No+l;B-ke!X*V_~jSeGp`S9d$dbu=BEXm@gt5cU7 zwQ#8-jYzB&R~X8rrX&OgD1m=byx_bl#@a8 zFD<}C>#}!h*QqrXA_SyWE=Q6Awwh@K_VBUVTne4DZD`%b1J{q;{&alD%`Osp-~au{ z&bwuv;f{4@1-aG=XVZJ1|Ha_y17-SH&+Ovi%O8FH=l^B?z6v3EAq*g+GN;Fbl zN@Z3Ok|ohr@cV_nM;;IKOH!YTayFNfI$^ys1#f}9@V`l^uqGK8L^E%yWON*3vkXTJ ztqw+hn>5W?p?SL-qc&*`4x`$vG1!b0XBX!fUrmv)oG|>av5*1s<3Jg}&^ zj<9n}^A0YQY;G`O*Zi*@R%$6?OIjEd>#f#Iv#HI~D z4hk6b4FS#RT`DOCW1~T9( z&5F2cMU@)p25HHzw+5y`hU?s(;6(ENIEv-VO7}Y#m0&--`q}@WW0)C zqmuqm`N~T12wu|>k6yd{Ob0Atif3jQY)I=WmTr)sIDZY7sd_wK~C5adW(3IfgoSU7U&FT^ASZ6S5^#~QYG6!_7ShmdSY91clzO?4h?8GoqZmwOkk=2_F|qas&ZjnmE$)E zjO8V9S7F4iZmUYHA7=s_PIGC+wEvB6)>+r_H0uWRJn_)y;)&vex-}( zqTEUs^>4~&1kC84DZa{K*%3=#+@2LS=f-S>)y~|w6%aL^ ztSvz+Zqlx*t5)*jdj(kctlfKsjb8`EG`X1)X{2NLz}OoKioUwZSSMN z!uH0FK-ZwVwFk@#I@ZK$fyNNHmbw-Ww$`^gn>%%tb&keXdqa!2xr5+)!iE?@vPyph z&Ah9&$=B2l1P1v!Y8shzj1B4SW#wm3C#|uUYxhVzY?3> zTVE%)T1Zc(nGtPgu8739Osb&5627c486f7nkPd<_Yo((uztlbePuL z)mW*4gc3D@s%l~d$+;Jq^x}BLR#W8;`t``Qq$wDW5W#-qm5fO4(;ACMIG9|=Ip8MmoFW-c6IT_^&_`$9eaH9 z#M3*c-+#1Bee&L=&t6=A{ru9WFRp&^(T&euUVHQYW$N=+x4wRJ@6!)&eE9B#H}78g z~S4 zm*2i(q<-=B2S5Ar`FEc`{ruzmpS`+Eeg67B!s#zRz5mm%pHLsay!O-2?tc4|+ppd` z2fR%o-w&Uj0ruX#vge)Ki_ae(=Se^@50CDhoL!li7_0B=ukP-vY;BK3s~wRlSE4?U zptlY`NnDfZ08?u$>?P1GA(nV;PSx9g4x0^m2}DOM65;v-hl?FSvh#v)-NFJiEo|{| z`9j2kornxu`Qn1C6#{noxahGB$gUsYm%H>EC zk-n3m3E<5yEoL!;qzwp+;1K2oc{~}-wBWG?jpZXmKlrymk(V#eEzuN-jb&0RT|%OK zX(5XNcEuSXfAMGLK1fhe3jfj$%$*T^6kb@|c42{0Nl`%Hw71!isH8F~iYROZ*fFNX zJ6|KAX!p)m6Q)*{CKuuxpQRS3D@u#ya){devNE;`^Gk#jVumugoHuC-_;ew!qduXo z4&*wuq`j0^dKmSsRVq?inko&o5!hsUzF0_?mzSe3SCY7#v>cO|9d2hd?yqW?nAliX z*OM<)=o}%D*%9g;j7(4B%v^O~!MAS<_*c4fmFD<73~%V!MaB7DiW6Hsx0k&4PPp!$ z5S^a4K01~7@^Ryzyr}t;54@k=t^4Im`f~xlmiI3yADmD>I#vDV9uV03{L>s|Xd;K8(>JIAYxqtkz{a3G}pFMJZaLx9`!|-q3Sblis z{q4s!fAs}gXyYe05jAJ_c-k5hmBi@qN}>;JRQXaDAhxxfA8 z&|iKF1n&QfuK~X^|L|*2@Z8`3YU;1PpZbe$M}PH`?$4h#JiA``V7cwtjh6eDBWDiP zT|L!w^>pX;b5l=l*DUSpK7YLP^wP-1vm4*JKmX2yUC*B$e*Mw5Cl7(Z0|$3egNKsU zyMKOQ@79%z+gF{~zv}pI@bAc$*^%{=oAzxzapCx->&u6h_DwC!jcgpBSy;7U|7L3K zo()r5Cx>Qw2j_Y>?OMHg&#L`Lw(QuqcK^W*2aj&vwlKMSeroT+%)VW#4((faatVW+ z12?Z9yL(@;l*tc+D`S|09=byfF>Aj~{p1phZgJ-v> z$B(Yuym9*S#pB19_FTPk8o#?s7f;;0v3%w7se8AtojSifvv$pyL zx^I3C6b$BN-oI_tzfC$fPWG;!>f12gGQ)MVKh)hwRSk7CPY>0O_B4+6Ru8m$Y9p4Y zN8`1?CBamJ(Qt4A`37s_%mKol>aeRSX!0Y~wub8CT9+x-Smmn0DIwoDX;^LoCsMJ4r2-+gPy>@{OA<^Wuz)p6$J6hv@)qiny=Dk zNfnt=8Nw=>H6Y;1)I`6Rf`5}`l%hwaJ5pvhm*_P)*ty`5tE;HclxxTow&^@HM)MOe zyeiB!NJOgA60Mj79s})_r0XJq2K?Gt_LT`?foZ70x=^mrbPY`HUb=Sr_M27vu21i| zJ9p$s-P8$cV&5ZM)B65R=RWxUKdjn$K~QK|vupX_g%^+C{Ql5|=Yn)X@-%XN(odU@ zE>j}rEy;{Y%WLAFs1%+`eX3wjiu(onXTUEL9J#^2AYZU5h_zfTmSQ#q1O_E*q$Gxx z)AfT%t+1GDFGLaoOB6U{oup;v3DR=}0+Iqmc()eGVVu>u_(sYk1Yi-gmwYLmggpU@ zUoLMC0GqNSP69x3sopksGl3VTQXDZXCm2(rho;xkwv5A7$_Wj;$twUelWJ$ox^zk= zNg!;|DvdagD>%DSx_SU+3T%Q6`HB30Q4|vu1e}x*;wcqUDO5}64jLq^l0m-UU-nFZ zy(s_=5avt3UQjTtI!KPe%X}5Anu6_oo?uwcB0l>PTtE1sGI0q~F?7y+VlrHw#Xw+I zbbP`Jq}`63~17|Aq?EELh{>^6gcEA)CK(3!%ra-9LljQ$@84D97aXz%42 zNN^l4lf~I-mUG_+?SgsJEAopqVztMZS`VOq7MkVxbjF$G0$KhFRWV}GEMqyu8T>Cm z7(kKclmLMRj&g+10(Zp9s{K>FvZ5`AwJ-irLrFB@+JFVHhPUv0q%n-Y1 zr)4uWjN=D@LM)t#){7;+e`jseqy@B<&1In!U0nB37;Cb#_UE zQ`O=XCCuV#3*cAY=qe0rvb{3!Z(&qd6w?EKvx6#DfGqqNQxjHzkh!c0p?XsqW+otF zo?#uB!ot8|=8P~Vsju=191K~^;*e$ph!T);B;fC8X-2mbj-vYubM>Y(j&21jf<(0n za~mvZST5S^?pSqQyr$k2jD#xd{Z-w~0~?0d9h}>JaboB4=)#%WkuB2;r+cTjPp&_> z>*&?(i z&M39mqumNeYq@_!8l3cY@9CSr)w24`-m9OE?m921(61=3z$-PkqJRqy8*6fYMz$t8 zH^NHC3nldiy!>m)S-`^D-YfMvwyn(?q|uosiZ_-mK-@_jpb>n zIZ4(^p+GB6Gs&QR8CMvksky)+g#xDdF0e3}MDnJvxW=pNOymZPX>N6fS4)bJrn4$H zWJ<@e%CF0g+vwg+jhRskAwh*TzO1M{ugaYsvaAT0NDdOW#PSm!9_EJaRGP<-6|fLI zM7$C4zR7IgxC;iE5fZtq##3DB5GGtDRZhMtX^JLuc$;I|_8MhfgjQc$dxO2B(NvqT z*4CmZMpvv3hi%n0mdaXisI{`*5UZh#u{u+yW-|pv(ynahU@%|J>k~Ac;`?Q zL|oq%ZAYctZi&@963y0lgW4NYxI-XWbF5Zk_m!FKcuC=?}h=hJh6^#{A4G~-YNATsLACiXfAhvg2!{tTxvw+Nh{logoo=BdT` zeuLa^k_3>)$_|=KD+ekljV;eoO<*4EEDRJho@iOIrib*c1oBkM07+jRZx&ihvmzI*5R2M^CYxwZ88#*v4Y7w;_ZyK!nKJo5FE zJ8qxdb7K3d{p(ilT{C=W-PS?T)hWyTW6Z4ODiyEf&`IsjzlC0Fy~A$=N!Z!ilPEV<(zZQ z*|IE4wk6w=<(zZs_H?(Wd%CA*r>7@}yLWc0c4}|k`+(@`+PbQ*P91_E2pmE<=lS3F zd%uOjjT;BHZ5umqV3yjtb(C+NI<@Ki`R$i3?Ye#Y@csLzUU=d7mD>k)9h=**XXWhH z(f-x#-IJ}uYx*bVMuVj}9Is@r$r<3h7%ycUKW1CXFxRHusMn?`Z$ujhJkKP-#Tb%8X^QG?) zOs3qts?LGlzG;QhuCjQES+G^tXLa>tjSpF7#K?(7wU*n59QRLH?w?TKKHzzF&GGcI^UW)+_ij4hxgPxDCBtjyTyI}5{q|At;})CbFqw}UGmpvcewLiP2et0VXvj>G=yiA{O&WA6UpIj^c?uq05yU4gD zKYJ_pi$^(MKUTeYE$^pyy+6EB`8S{EeD}KRy%!pP^l z)c)+7KXzOUZw{`hg#gDdq9 zueH2#qvHC>mKQIVojA~W=SuUfi{1BcHs8JK*tL**bWi);tCMd&9DC{J(9H|&NB8v{ z+OzWL!Je%P?d#S|?A|(iXwRx6yGM3!qCu6G)v8tfcz~PdCx-WI7}&D9b=6?c?8xZ) z$?nOa#_s0&uKMEo;+DRq*-bO_0?*D*uGu&>zp!e4)71KPWBc}PxN`o$wTp*tUO9U0 z{DFHnPu;k2?AEOlw{M?hd;R9IYd4NwzH;Qk#eO@P#WU&R#rv_TsUlC-?0= zu>Hd2Q!l=9?aHl_XD=T*ac=Lv!&`PASlD-H8#OTAwR*$E+J%|AcVzbVSy3OL&JZmru-h<2ou#zVIwbRxG|LO?qRNouxKjT3%_9 z9*{QkO@`>Gxvx^EacBE@z1$P&7JwyR8uMz{#>|%?`BkTcL*Y%1561yb4S)@23PHiZ z4r_m5>Vb6l5#&7XPq72?NVOrwGu$jpUobZ5aGDlcFkx9?ofl&*)>aT0J1eH>P~#`9 zln}p3!vjJt=yAXlrt6StR;K`J1d348sL-fmRDF_CN{|$;Q797r&D4TyLWw~_Vg^oK zun6x8&_JBZfM8jCj3Fb< zZO{5OV`QDRb=dLDYh^Ta}VM&T0S-}(LxM6iph4^?O;R(p7Eumq8l5~_`M0T1_ z$qi1zJ|oHi&8Sd2urLAs<*34~LIrEMe>x`NepPyeNta-162)-A1fq3BA}(_>h4?E& z>yQ*nnz(ur1SvH4rAbpM4B_c=ftXSDx{!JchoW*){87+(*#dxcRdWhM@P#WwQC*mP zq?w^8C#4JoCN@n0{~C32?DVvgL&S@JqmYCuV~})6ROJsBZodt`qZV&OkY(tyoYw_` zCL?o;1miven*I*hb1Z&>^d$-79>48v7qa=r`ezih!_?!%iCO66&X z{M&f5HL~#Q0&ICE94ofrcNCf|Sjr+ps6$PZ0snHGS#1cDFUZd$@EdvIoUeIs-uxVp z1ST$vLkdVl^pY4sJQ6VLJPNCpMQjk5{v+Os;nOioLl87iCVUv#;f*R#GlN*lxCjI< zBC?UsT^u%H9I0Xibn{o%b974r*TUmvZ>gDy<7v}`$7n2F^B#pxR@_N zWBkvdVq~E_HBuvpWq>KluOSouMLwfYfg`j@OU>!a?V{)`DME0pSGm+JK?Ppo6)#P3j)X0S|f^75qYwR0!2i*4##p-bJp?|j_`2arKr7K-neexvKEJ6yht%u zn>ktt|0ebL(SKuGoRDvFS2nnc=a~}rBxB zwr0oIXG!~t^ebz`Jq7G1t?(?bFh^CG66zcY&7SzCPzH5M16f0s%oVP<5uj1tp*A+dD6LRo9zPK&ZAAYZT-3XYJcMkvxEG>q|*MQGEx8@6Zs z&j`V6mpPOX7HLwh1^;sdbFOVNC^$l$8tXT(6Uls{93$Jf0{ar5E;?wDuP9MAmjS!i?HQ&15c%dg69RUGW8gQug?tlo%}{V=nU|@Z@NZfX z3D16QeTljv5B^maS7}42C)ZbC$t(9()aNy{xy$Oq2n_t{{DpF7j>;3j%nSmj8y!(%g~aX_ znH(~k+mutF#2xL=)_8s9oB-sTX)qc6Io8~qRMuqdc2?fZWI_5oU@t8>DwC0|OsxWb z`TIIa6e0VfPs0KD~A1-Fv41%nx2ZPks8@l@A|Xdh^~%`1IM`laH?-dUWj|^~#m~ zcTR4(uy^*xi3RwV0(%i>&+S{y&WRlpuU^>m`jrDb>?`MYzkF`T^GD~e?U}xJY{MIu zcfWaU-`lqjgTN2Z?YMqm?&`kT+ebE>-L>lcp4HU3-7^>Vt-gMA!@YCc0p16fcHh6S z6YPEV!ikSwy~y+VGdB!e}#JY(M7QLl{?3tymXfO=;=-BlP9-7eR}81 zw_cz=fAjfI-njMIYj-|*bnD&wm)ZH^&3jMoo_lx|A2o{eu@^5NeE#D86MN<+`)k}r zfhuE(K^iTQES1TYi^WSaGb7k46j6G8qQQ`4G$z|@={}!4J6q}X%7Q^{MTMiT&fDHs z(m&O(X8Z8ue1BPMp0CVV)R0%*Twd8&W_OzPI?_5a2qm=}tfabFbY`E=hdm4m#yyC1 zLOaG%X0$PCJT``uDtdK^AYjYo0tn0qa^QC{JDDq#^b9@&Nxw%Uj*nx@baKd-=|vzg z-M;LHW-2A8+HL%wNB%9UY^WvujB}{PpT)@<8bzNCX|jUEFaooKF^@nh#+<>wNgDii z1xH5V?z(0 zZ@6@->E?y57jN{ua<~8Si|fC5fBNmmYd?I_bpB}J_6`13W7%T^B`ZgYhWbhe`|4K? zwalz+Ts>B`vY(75`c(--W-2Z*%f-X3^^?5-BiMxyS=3nB(%(+})bz$_;CJoTHJkTt z+4p2ORA?_Jn?VBzSIZRgJIyL#c^h0}Y^V_iP7^$3pR0~-z>UN~}O)4_xDd-t!~ zvv2L5z3ZvX+g4M14{qJIYs2>48}}XBzIDg^zJoh7AMwUmt?s@%h==?envn*AA~5+_Yo; z+D)rgPWFuqcQ)0PHq{ij)s)aOOQuwQTQ%@Iv}tB^>zcuZRsHi*z%O4`4Yn3_)`eNP zZ^LBQ+!*i+1p~j`Qv=N-oh_qXY&$3WY0D*kt-MJ6?}W|oQEW>Xd!UM6?Ila=Fw zf8F^sJ^7vaZgZ}~UlBCs&~sVIU!knCu9SrQ_Uiin7ND5!U<$FAzYhFcQePg5fX*@l zzsRphu2h!G3C{w&r0uyqF0aqSWfJ>r>BxePxqd?M1&X;Rx09S7%nKmt5*G|vfW7bt z4fk~T!W!;eKmJ(0>$KZ|U!(_}*+^R#?i8orQ`1!E@MXcXgcn(TPK(z;SQZ}U(7+>| z5+j_}q9x-9xBx2Ia!>d)Ogj7s)C{YFz}z3bFD(2)Y9U4=wRq9f3kAd1p&}r9(F+a# zLet1d96!YL=2^e|;&(W0GflVmj7ndwlODj=^K_fBg=o$tm5r31( z0>T2VA>1(JfF%bwL#qZkLo+o95H^KEir` zQ1}wwqfi_ZZP&<=p`lbsnTaXlWS+c)Pk2^!HB$aG+=s&sUD934Ec>)fVJ1WOl!|n* zh|APOX56PR_Fj;hhWsf+tf3hY;!6=RVlNH;wa9(Me4=7QJ4&S&@+ z5~umvw-!*Bbui!T+Rv%Y-~W z3kA&ijZBH5O_FyMFBEN+E)0Z5naXRDI<>%W zG~qA?2`#{cU&SGfA)LvRkbT4a3kXNrGUMIyM87)0r-FZ}m>d;-uQ5SYWR4v8U6Lb@ z$dyOr$lzb}-w^o*r4hyIWfg{q0yzfeh*~rJo7|TZ-{oE2>WuDiN48}p_T>mCOJ%dw z=)bA`xkNWFX)xn|27$x#Xo^sPnfeE153fR?o63BQuPcUIhQ9w0Kin z{L9KsnO%AQg&yZzEBp)m#@0GwtF6zWNB8C@wfdHn=|$~1;x>OqgOf?V@uh~;DtlDE z2LAO=H9JS@k_$`;0V848%k0v4monL>jd92ly~-%ND8?>M_Cmhm*eogho8XaShsFpU z?UBX$6k(kgg%`+$e8cdI+Kc%aOY@(LyM?=e0c1#-FL6YNDHssOB?uRDOL!s@(lETt zW5UiFjfN#D7Ak2};X0H2XS~s&*_q_eB&Qm2oJy3qH8LdHG>JMYMG`G@ryEP6GTjrK z&Z?cYF+%tAkH2~G>9>u2YnBVN$x2(I+!C3lidfD#&h#XaIk&3GTUwW{amXzJYfe>h zLw{Z86oPMbrYTM1iC1_8x`H$#*wtU$x~ZUbo26mBrEX)}!kxn5V*`8cpLq4hV9(l! zWJ$DIO(0B^I3`{gMOy@JZCWp=P^)u%v>-hVr8mp&l!>LhqU2;Ij>o0YPne#jHJVg< zQ(A^x&e_7~W{Oz%*gCPfC{Q=uH*+eddVTly7rM9IAK3o5Y4(Mo9nS`Kzg;?a`N8l0 zYww9W5zFHvt;*#V#Zr^(IXn!|E@OF3vM8G>#-WL}tI2te%~BJ171D+ELTb5F1??j2 z#$_APc@cS+xReoAafD40Va{YeFY}3>bF0{i&NW8xEw4Jh#L0-F2%nBE<9bnqBOG$D zH-x~DZ$TF3=j0+c+mvEYe69_c1!)Dv-nblVh^{> z-h4~2%vD@(%d0ZylB3jM$t{tX-LzEe+&N4UiWA~&F(}b?9bUq79EBy$qEdHhg}<`K zT~;2btM`_c=TufhxO$J9t=5&r__@#oIvuN*GCsRljl?V@6s3uzX*qs}LN3V5c62sZ zmgKprOZ{~fxh)kr6}i@l?uKHIaipVm{Y3B9)x$@&&266>Ikk8G!oh`0`!}B6IeT*Z z%%y`HuIyWP|H#6#%LncqT6l15>x)OXymWlqt7mqj`aJe1s(Z`Eu>;(qLlVecYx&xsS;HgBGoo$Z^N?im|z@9nE^Z7Xl-sw%Gy zcyi1P&^Fi=R=3ujYsoHf=9l?OssptvircztM^|>PSvQKJw6Jk<%fi&g_2Zl7C#F_* z(nO6WU9A?-6D^h|D>On9w~SWeS2$572}H?Y8u{m78lg-SI~1XC$vRxSA^DPh zZeK!YYYLO{P-G)$l1__kUS6=Mz~pjp-pr{eVnr82GScm`Omeu0 zb4&>>+bRUiIAaJe{L9#722L@MC_H&8MwH6fDa_2_CLp#v0$YF=a}+DXoL-@6ZVaFL zxh!FYoQnjC9j*<+KCw)jmP1FO|04T_MjDxwz;BwBQJQ9<%P4T@Bsq3ffk&C|R^+)P z*^YFVDZ!{9?Mi4iNFCNRy+*_Zer2hyFlb*eb^ubprGi?>Gp_DjYX=^mW2KE0Cj$&1D}E&;-p zCzla|v!31by?3|Z^H*GN-SRNr=-uc2AKWLsYVdbofu%Ij1; zw&fq*U3ThF;pxNczW=Q6yN`TN@0I_}H+BE;WA#7$u;Sl;)%fqf==#s!wEo*Ky8i8# zz5o0d1Vj(~@rTiW{>9)Qf8O=iUw8iYo917A*6{Q98oztH^~VqDK7XU`<3}A|J!^XZ zmBwfHi*BDSy?wU!?!|#8_iJyQ>3eu+S@lXKDctYy{{8Vx4EyazPGiqyQ!?dsdB8dY_h9l zWk=a`51GjoGyUZg-4!dl2x}@EXzSZBJvTqIWh(=Rmn%$WoG z_ivtD*}E`5ed5^e(`x^Q&Mrqxqxhc@n5z5n>Oqi6RVIkTIc9fuaS?%%NM$d+vf zHqP%{*FMhBDTiYjP|YU>7VGO${R~-+o}hq2D`_4 zhE@$vteYeSdU$3euco57v9^0^WN^)7&#IyR+0m(Ot0%UsS~)+#gRGnxuB$JtC=IsM zmJPJ7SlQbN&yH=FLe(8!yOJGr?XJoGf!R^2bE1zgdshw7e#@3S49$&qPWFy&nCM>@Ukj()9$rd8K)wDk-+QvTQ!L)@C-i7*6EGBg=@= zU~QSdqOhQ`f==Pm)>=99h062Dsm`x0mzuQ<`oYS}upxWEZ4F>FGMciTj(i{HYK7B4 zW_wmyPGCiut;CP)>#xj1|AoORo%Cd!Z4K^{AW3&xpCh}v#9L8l33wQ1 zgB248CS(d=@?yguENnqb%q^iydV?wyCS}#b7XZ#8EQeZm!C|FAiB~z?Zb{2$DEN1A zCW66f)7dTj2-FN6@CazWe7wp{3M|1GN`auoleL8V(<%a0(JAE2@qt#|sl;wMbt>i}vHGY?h|STfat&%(Vtm5#$m*)PiB%hu<<7}%=Lff6aWt$o*RPWn zj*T69dB=@Ug56tgy#M>%w?4GhPIWC@nm_k++r`(adZuF2p;Ix}kf19*A963TYG)WY zIpH%4(PdZ}3`vTMU8QV+CLFf#FJOxV9Hw9pGBie3oR%a^W=TP=59KFAksM@*68WB3 z362tDCIC8qBL|8tQf7P_p~I;ONl8#}=oFVu5G-xQ@OWsTe0Z$<;_nKn%p5e19;?0Z zI8rP)%#sC#;2v7U;JRKJ>KdkDhZ#npEgZdQ%%-D2QM@g+FA5_hxOlZb1`RgcswkQ!`C!Nvsi%;Oh6VZHmJaSm_%hH5@W^x7ySIB zy748!S^VFj=yPX0Hx38Vw1~IDVv191NopLql$`OgaFbQ8aG4CbStMLV2%=GYL0tr2 z9A7Cq5zFK3EX$0G6o)Q#D3L|3bde>lh*ze?sRc30)QHU3C6a_lb^3CZAVQi%5h%1= zpZT0x5TQzow2G6w8ezUEJ!pvWD56}l*c?)k4Ul7OzMfIPk%ii&h1!Tb)$(F}VvPga z^K-@O$SP9|LU4&Xy1`BxFGx!tZfajJy49WB8;I?2lY&JSG*C<~bV3(nj2s{^0nW7j z#AIP#*zwOMxIR&u%zdhQhj=DWp-9;nJ{2U^XpT*+Bl~)$)iO4rLaIRwPieK5yX0A zkSwSR@KRy5mo58{Z6t%!_ru{eN4FfhyXWLf zI(Jn>l-TI6P`e7K=yXk#09aPXq-oBrwNF=~Uw( z#qclf&Pc$5^b}0q4EfA*x_oYLT5>8$FC^+@pbDp_h5l zVaON$U1F5RI3Gh-n6Q0D!JTCN)<+EN>rPV=Q*{+3-hLx`smvgl=-1x$Tz*j zCoIbrRpbJ~>c$dzZ2|k4rG9aFPH2p8b%C;`Fta3ET$Zb;DI`==RpgW8W{I*LvY=Oy zz60dR>-RVz6)#z<}mNsX9|{)%$aGz8tMLn;mm7Pw8^wb55aeSH}g36Ax!R z6l2t~+QxDv+2x#PSxhE6Bbc9ET*koJ`th-zmBU@#tYcVNrj`KgOXww>9(aCpl!{QL0op}S{xKfH4A=HZ14o5pYKTK(|& zwiga=ys%|z*I4U`b;BB|rlO9< zg0}j+rs|xA3Lo3%n%u@pe@k7kwLY)Cv49<_r?s@LA-^PODGA!B>LPb-iMORT(BEF( z-&)eWqM)y(c&w*-xTmVOtz@LPdTy#?)mUq9TN#~wAn;&+UGs{9x|$rSzBZR_ak10q zBUVKqW=0cBK%y8bJtI;mi%(@H9y4RrX$rkiisfG;AX!?hN@Yi^NKVO!Vq{Wc$`Z1p z(^8iab|@9a2?deqsmr7i61`HD%2cs99{8owXkbZ;0)f?f#%g3rRhdkl0CIt~FtsJ9 ziD^oMi20H&V|uuS?{YVxRRi3~?NXX#(@hydOJ=GuBULZTu!QDIiVRZp0*yfpobu5E z1uJEWM7nTNQ=^tICxJO~*|O-!ND_)um`=WQ3Gf@Tb}UXjXT9#vOLLHqZ9kr+We$##If) zF&3r7VdnbBU^25v$V3*s!=0|P2HSc}#kJP5hWha}X}(->b!~8dZD9A-s;ehgJigQT z>~7$}1^+AOo%c?7UODS~bUyFRYw&M4zj!H4&<-n?c;FaG#m;ERWjcW$O$-Q|4yhU4jV=bJbD@4ry;^=szW zuatfN)b`{??g#g$|M3@X-@je^=_B*)HpVXj{e(E)BpXi`u^}; z_wPgEZ_7`gSAF|V`Im1LfAA3g?fK;=T|c}x_~S<%pT1G{^7Xbi@2~v)+1xkp4?la@ z^Xi@M``7&kx7J)dw(gDBc76Qex+kw!9y&1g;O_L}2kYK^G;rfm`L2!bvA)8I!NS3= z+@|X4uI8rBmh!sFuF+nqWw^U;puMzj1ygu(`s#E08~kjEq8n@~8SAJc;clX*Y6Nd^ z|EcrG&Yn9uIW^SP-L!FG_2DDCXvMvD_4Ki0yT-=4#z(uhZ=DNgRc+e1s=v3XbFgvM z`jLIdww}9o^va#nmv5gscjNf!t4B^b&qzko!L0OdedzG{+^b($>F`5HXPWxuxjhv#KH`cE`%Gdj+MQ@@8Fs-Zk*h- znk__3fy0DQwT^X;%}YO%LvQzRj^L$X4^c{&C(XjP23^7yb$=M zK{&UnD7&Hn_*K~T=75X)yDI`HHM)SqQ=QM)UkU_vm*&{=d5|DX4Nz0f105}coz2}X zB)#Vr2NZgR$!Q{i${XqBI;L5ha zzUtN{rNfeG&vkCY&icOg z;+8tK$7ad%1?tK@rFmigW$Gxo&0Noi+I7)?A=X7`1%AN_U<8_={@nZvl!0c8LNG%R z1fj4a6~d~Bj!T#bVH#I<=&3GJGd~^@>~xH?mrL}tl!}OfqQE*ToEC_r2zjB_VOWK~ zsPIP|C;?Uw1&rQK{~t=H2ICZC!gpoZIJY z+2rlq-m&Gz?1|Su`0M}o#4A6j3j0fjc5c4(_Q>u#HDfzSt;y6FP&ScS>9K`>nNNWD zixLg|Dw#LDsC|b?4R8y?Z&>^V;xIpxLJaw`!xk#Uw2bW;a%YRe&JqEIEY4Ad9C_1n zpg2SvC<2YaI)IMb#c07o_&H6G7P?HuY)NWXn154|faLf%g}}dnKk7CfZ{AdpEL6*ur@>QV(gXO(5n~J90>50>u?@d1 zdA8h{0@!&|VSz>h=10PgWezEhf-nLD^(ev|CHR+x0xEnA!|$>18Up;wZ-IX~vEr%< zooe|TNi%p%z7_UY^OWGXrM z$P6YGMn@z>VmC#|rdJ({KEr(FS;nx`3j$|am5?uAVseg1i&`p-6&NK%lcyQPa;GN4 zDB-dvQJv1Pm?V8>G?1%ESt3t?f0roJDBzb&p-6*>ZG<)zB{U(WANtZdq#6d^< zRf!A$Dl#$ZH>1&$-sDTFbtY8XQ|evubvBZ(lA2t}&2Dn5q{GGO{dq~9{`A3uxOVUI zCMWz$5SCylk8NU)KL#zh+Xn?xz;9Y_0RJ;d&KRDVb`(`>iK(}da0UND!4!|2-jR); z8Sxj*H>%1Sk+02Y4ajDc?>d7uw?j1T}}qce!5&>MmuA`0J3x0>VL4gkQTPM-TkQl{h1^b+N^c zy$T!cLSsPHcl!)sJWR1ndHB0LX!nCVuDA6@nNbB+hW!}^hH^mrVeR~yo(UPj5 zqOM4@q73pS+e+I|uBt6j))Y%C^7SRTa-TiLs$pPyx<#*cWjXVM8mCL`$dZ{HB8^#Q zuw^S5(DT`1aft5m)`H8ta&+DH_ZWmnpSDc^W|2TuprMzB1`c^Yg+v_hO1`f*jKbx zhc5GmI~LZBZdx;ZeDAt_^W!_$4xZSyYQt#Lp@p#%JIC)`+=HrL za$#(OB6XQ48DTVJgVBjt9$bNuQt5OrlLy*Kr%94@|qC}l=sW_eo4?l85 zA^}fJm!(HX3W*MmhtybjOf$&@W_gB14QZxXR0%ps8j*%pO@>`7u&Sxhj!lznQlyv^ zqAY{bYn3vt$f1`xnPsaZz(L~DQsOL)$f-^>%Nfot&$h(rGNU!3c!Mm#tfJCfmgQPm zgd#IauYl2LQ039siPwtxjgfLej7msM6FYp1ThKB8BxRbgyX)xZ!qZD78=5!V~&Bp7?p7>$1GcpdYc>D1<`80jrV$t+IOe(MVwW$&z=e+>J}NpTDaokUBmTnF5(%zfVZfIi^yie9mwP-O zQdP_As=bBT1e~U*x$;RNsA{PIQ*{D=tVm&OXb~9M7X%h9?g%lJWik~yK_X&@ZJL^H zI3*`vPP?2&neqTf!@sfOGys|9V!EGDe#7GLBKcyFpxG_d4Mz(~Xp1}AAcucL3kd2= zj%ub$rwZ6vA5JvO(z5hmZ)l{ELo4u@sKi`Tv_})2rB3$fRb@H8wwgfKioBj?MQLt& zfrrJh%oW9HEd|M)CCZsL$xN$x+n9F4uxhT~y=lU`u(EXXG{e+lahW-70=l8)YP!_a zc8{-eg*sT09w@Z-4_T*IrM0%C4fPjXJZ(I=r}WL|J&&$RZydC|b{S$-+&}Jk^NRD0 zOS$jduK4m*->3JpKYxIYIr!zvV66X>7yTc-fS41zr0K zh7jE@`{1tU^~?6xE^<%j`*#X|_J-}fTh@1OyWYE7^8Hiu<4fLmpAUZWp!qi+7k~A* z;;+AuKe?{FecXBfg5&wql9St?+dQ#+`>M#*1BpXz5m}~`%Ce}EV(DPt+%LWz`t|qy z|Nh&N|NL(g|Lc!~|JUz&|K*p1|MIJefB(ygfBMDn@4g!Qt1o-Mf3N?WcSe8spyT7$ zIzD+i^{cOjfAM+W4|cF31Ha&F&|vj+~I+PnYwp6&a$te#&rx@vgijt#pH?3#sHq^)JDw{fDoX{xtv^&myRaMNU8_nOgF+ty}RVM(%C zgINYwXv}UwQIW;zNEK#~+3w5B^%dn8)mGK_w7Cj%;orKxR;|}cOe;1;L|b27nJ(yQ z80#C{IP0K0*zeH!osObhOTL#YSY5WGw7niRr(vjb#b_rWtZ|t=B>@7ZiPa){8i5!< zW(R8am**1`-O$xo(Nt-1o0!oPEX_50ZCODNaa%^WC7cfos%uCs_S#VZ4Gv>YQLZ=W zb>+A$E(>BSEtxUm3|D!Pqa@#6R%j{C%WrLTSC=(Ujx`Ps;OLN9OhUC%MB<9wmRDS4 zD+($-j-19yUPz$1rhDyF>#9*}X)x1ibW{|$7#mQWZ7TBX^F68@ht_Y`c| zkW2}ZKrs*vXoC!@vEWX3Xss5qr&1ZHAQOc?HnGac7{Mb_o0TT3hB#;??&s9lw1h}` zT9QYnE@sMu9&cZqIEwfaB~#t=f@Lamw$xUP!`ag^FANNJ@48nocBE?6$vdC^@$94T z9W@h{=B=)-J*y7iU31`q*yM_nsKge#*lNL{&8K~)Iz_4{=qW*O*QBYi@`eTpg%=R$ zw1wILH1tFqvsiOcd&BUH{u}ZSiv&`p6qUhj)RskM%S7i**3u^> ziIOBf2YG9ST>EiLhFQkER3zYdo$$~6`<#LZ=pBP%T_E8N2N98pgmow?~=%cxjn7Kl3HY;^Eb87mJ%?fCX7O^9C@D+1 zR3}(sNK14pl6*L#Gh^IhX}L{R<4ViZf~(;Idr^4*jJLon;s{@|!?&Pd*p`b%s1^|Z zGb3|j_*;KQV7|qLWmxs~&b&@xeait(gh5ZmJnRIM;dwD;#wcSGWzosv1X_S~I*XWfG_^7T>tteLXtZT|sDNK1 zA-_UlTucn%ve|(GmoMPYugET}TNW=;m@q#D(v5lgK)cf2QPp?2VZ+tgGoKuJ`42}Q z{=@94Z@1m~-R!Mz<{y5&cE`Dhm{j<8nO3w!EsW%UghdGg$2-+YZXNuK?K#q^h<2%# zJ7mvUL^#`H+^WPp8x9v_$#Q+5!U2N8$<9L=3f;f}41T%_!;<6y*D=G~nWIK{=+ElYT*`iK1DAG(?2_qIfu5`5){$-97E81GS zS8ekeT)C_aXl#DH%cpgE6gD@GXa%UNwFop;jVq9$w2O>BBv z0x&}Q%s{t=RcltNv977JOa?AF3cMvXMg9U$ zd3C|`^uXNA@UE>h8&>rrM_fO#rU@leeuxj^%EP;9GE@0b@b}#&Byo5 zZr?b%dEMa3p@yNJs`eH6tqsA3N>6)ZaHzXt?R3Zdd_U<-L^F}pG(NUsWVpVmCEx2; zsWnNIToIQhh+t7Cjsd?(i#rTxO^QfOTgqS=DN%nKobm}Eu*8tAw9;IYEVGDYPChmT zY?W?i#qcT^@5h`7f)T_bvn*Uvo07^j%Y-JWjBHAmj;+L|6g%`FYNlNc|6-D1g-~df z#UjhwGBvFCV!sL)YN-X3&3;Yse4E!>@0>2nn02Fam(My?25XDCmZfE*6 zLLXvFmvG_*f#F{uSHyJkv@{()H3gD`K!}AbHWu?ULpc~6Ojn*n#Nb42dRiLGU#y3b zsl^OVTj(O%iqXa9v{%&E;L2kWhI1ThFK4}IQDP!iB^eTMTx5Cz%fA%-yO>x7=L(5x zk(!NclVqVpQ-*pVFtO$wf@NV6{L8gB>&Dog>1(3_ig*y3vv{}D8yxW=5*fikenU>NBB#*P)t|d+wqpN*=Cfx?PoKy;f6{Vhzv1!$J^1y{Cs)cpdsyv;-IbXfZxL)|z_tE{LFCR7j z^nvX8qj{e`41D~O?2T&?CpV>E*pqU2A!Yx1&;1LQ=TBSjo+*6sQu7O!vnGdPi}Gci z9jAZ##le61!jy!YDhJC6_k`e)dxWn+DFZ$6rQ zc(?P)*|m>e+W6$v-pgk3U4mC~p0l#dUNkyLM9pAEc zcIQTrkOF%Ng&to&*)i6QNqA)41jgf`wJS$9uUfTd1N;m8j_;To+rDPU{*93Dy3Ny* zYlem=y9ZZx_O0yb9d93*=^L9J7?|jxh9>*_$9tyMPHfq;iJDk54hXN?GPi!~+Tp1| zntZqJ-MsVQ_AnQpym*{CdiL;!ZR@yw|Gr)4&YnDb@$|);myTaOdHm*?y#(YjmH6`E z-Pew>-Fg1-o(o4d9oV(?@ZR~In-}&lq-lO`>)MUG7uIcGKfi0^+HLD#VO|sny#3G) z_EDLq=U2@vtPa8c#)-bQBi(Z&1M?Hz>&AN4kFS{QX`b$Dn;EJd=_u{0M+l|~w`4^* zjk=Cp=lH|~5uHYxHOm*8Sw=5#4(As#`h8BM-mKyrR|%#gTgVTLM&r=8ObuHYoK%zp z0z1itX00{fk9f+uoZ4&6sV%7=?3mcHmThi*v8OU<3wrWuOO1X9HtE`4x`3O4b)~sA z#lEsU_?PEE9CUqW!-~#^*4}2j&kED&oJN0fZcSS~SzA!B-fo~UY~zuJe?vPtE_$u# z&o$T$n3?r{x4)*Gs$(wuU=IV!py0yx=IQNQjDc*m(=IdWMWagpl`Vcq}KE(`ry*S)B zjH(DJqbe$i>M|O%4jWSl`B=lC0|JvX0QRb^YAH=Eda25)O?|G7+L zP-=<_s|u^ywchF@FMQO${npr_SC72*m)7QmimBuGzy6nGYqg zzQvK`b|4o7M#cqK!=h~%hoRt*iCQWl_>|QH-YOgi+K`E8rV^0s<&scjM`mbs8uAVE zZ`l9LmNPPs22gVV`CZ86An?-UXj*{jUdNCiG?2|D5JJ0X2YMOC=CG9u?-s?C0M`S` zEPbX)4*W`O^rthvF!4D-9QrSj9dxM!zc4QpOyUR4zeo~rF0wBL1tWhT1hbZo2$G-@ zAOR!(#;VdH(xW0oajb7gYlTZy0uXqaP8imILEvb+l!|pJqv?yZ3h_V32T;mX5pK!S zpk`^IJ|a&OQK-Rnj1;@1)R5fhl62=u`wMBgU0P{~Yjgm=2)j$_tuU{8rj{)rytKg< z)9PNtR(?;a)muEPZyP=N-Z=k zcS|EZGEr4lYOy)J)Gn#^$ZE1lzDmwDiu0Wn6MgE^ob+sSibpTVHYU2%sUA%_7HFS( zxj7@wC6$)gBxTl&LPKV;NyfuQFN%u?EBl*9cTDcQx&Fw5b1#14C}@jFAhtd$ zlQ0`+o-r$*Z2|!YdJi*(mLy0bqS7>uKxyA?$2OS~`AunrsWRpb9yQ9R>WShjdN(08|AS!O{85D<Rx_N6rF8iEv~>6a zzX?T-_(D5UZ(^A%y3iJxZ&?yFN8}o#i=DBhuBb9cY^5uy8V934qdp*ME~G?t0eMrA zsiTrouP9R27pdwBDQ#m38CIs|N^?t9Jez++vIl}eJ)Lwjip+-#gw5TRnn=pTIB`|S`JBQ2BDKk9F3W~6^jh+M1_$` zQW;|;>SaQ4qDrgCa_L+iXMUc|@7LID2CFStRLs^};4Y~v@)vpYO0w&kD+57Sago2h zt+uo@yP_g6G11%GyP~knH#FW+S`(z!&kYv@ZR51B_SQ|!^ie}A+uM3-xT5PCZ0a6r zUb%W;e5QYFRUg&S-#9$eRo7A4HqcO5on!E7thq)UwrZDB;gCx#;!LBEt->mmTO?9F zAGzs(41qC&J9k@-ywg#L@HFg*8QvBTuE~yL1F21e>vda2+Q|^%(Ve zo-E`Y0GUrPgHA_7F_uEcx{*JU7@dIEnl){W(U4bG%7r2VF4m@yVyl%fjFQ&fKLs^2 zV1o!#eW+0ge-vlc@Yxn3M)~E^1@TvAHO3QZ>f=2mG_gfib zL|~nyJV#RI7MHqoO+|{@fT+qZZ79mDD^Rr8O518O8q0LU?VA4fjHX&aV|83rNn|NA z2&ywWYOR|lsQ8|m)S(sDHAA-1jtEVrDwr)YFlpUr^kmzz3v0VaMmF!Zt)2Go+gfsJ zzyJ8IjQI)6nZ4#q2OGb55_t0tDsbLAFXTSEW4V7e`?c$hU%rv^_!?g5()XXwdGnh6 z(K+v1H;k{Iv%Gl~3bsDGMq{t`<#X1@mwj*DcD{0vF}{Ikx83jGFuZog_UhT%uU;Sh z+i&yVzUO)Nyz${h&s(?iKY8eS>0IZ}->v@m71gDE!t;AH_s&=zT~9c@GyBPHT*}s0 zF4g_Td-cEltoGNR5B~FC_W$*dYkvQe{_N4fgIfpx>pw>R?w51_`=5vY*B@K{`KN*Z z_-)T0e%|zp5Bq-l3`_ICmv1fn<##*&`ltC{{H){kH%34FY~!zfzv-|3xcX3Q$o zh9BSC{Hw3V-g$la(f!SDzW(4Zf4TSmy~6&1f}YW)4F~%6U8vuB_}r&IUi|v&Gar3? z^4_bRQ|q>!yfC$SSI^|^r8_S*wRJbQwzajiv@`%rjg6&+YexIm40iW4RLu0WZXE61 zIytm?&E)Vv&+y9e!I|l@wx*h%4(!m)<6RxA`Z{O&f!Xd2EY;1nt)J3uC)CjqKbwv46|>-c8i-&JF8N?^}Iz2a|@T_bsg6xoOvlLsOgP`c{n& zt>*E^&|XJYkB-ldjjS3TSlQb%(%C!KIXKxnJl#*RGq!q&+uQqF`o_A~EX*uyU$ z%8A3*PanU1{?N6P2d|zue*4_9>!(hgJ#y~iiDT!EPzO)%-?DGh=DiC{N?N;lcIVzr z`wwqlAlGZx`h7=tY}&nH%ifK9x34?AchmOW^BZ@rTfK93a>vZdU9+RxS553(-7(eG zG11*N-dWyJQ`B6ZRhe5m*kQICDxPry>qRnyU)R(2`Wm)BU z-s&Ru)qZ=NQ9;Xquf8;YMP+VHzBypG7P)eoON7~`#B2lqi8}Xg96r2VQfr@D$B;(0v(kFomGLxqQa)K;>J?u0@rpmH1xC-)Rtx!`dqor zKxuAmYYhR>TxN4=P5M@l!Nk?2p8RZ>h`B|CKNEyS95lCQ7YF@Cfr=G1lN)A>>MEG! z6s#=Ht14li{#pFbg;nLbC58VVQ||%Y)_Jb!QdVd000|HvdheZR?7jEii`Y9Uit4@D zvfORCNOFng-b>tD;vOfC<2X*7dge^-oRc$W?mbi1+_lbqHZhYsTHo4h6NEqz0QcU{ z|GwY*A-o!0cB9K+^IH+7!%bz_v-7=1TcHPUw!glZdCJwR<0W$gk;(3c1JlNuFfMu$ z)rcSqH&m>P)b`R4rdOM6ieAGBuY&xdVV=za&W_9gbiD0 z^dKTh2{;RRTy!4`@QA)5$|8ji!2;qV_kmSV^1*;CIGWCG%j&>*`kc|%Ck7YeOM*n7W!vdG2p$x ze#|~0&u}F+W5^U%6%l$Y1ZWEbq*6txKrS>*u@=Gq1(4H_rC?quuIVh)XQADAOaF~c z3&M4e6w8*697W?fo_3%+7F`8D@=OF-ABESTqrDeQ=4tSJczP)K(52wbMg+ze&u}iY zk?b{gxIa&i-$nREa&s_CqcVx|q}ft@{;HV19K&s#1A@MsPhY&2#SR~6g58QOtFoNKvBFRJwcI$La`?wk6czFQ-GD(6#38F^HP)bk_25Y z*N|-SLUV<=S0mnQl#qgz3n*E~oP)fZ!zRH$b=g4U$?Hb@n~QnoNS7tITON)}#t!N{uD6(V5ZWK?qK7b|=(W zh8n%3afT{B)h%& z8O7$5#63yzyJA^YTo8i56fQxu66}KDFbIt7D+FZi-VXnAXSS@DfW5#kAS}S|_Bc?N zVx9=`&LD6sPnB+8_;>fVxXk3enD?{NgiboHLQPtIabfw=@}Z0zExBoN@v^4=weG27 zBWsseEjjWuZXm8vZTVwJ-Ys?Ly^ck>a~Iy3XlaU#99 ze$?BzFU?TKJl|Kp`Y+zv`M9j0y=>Z7yHwh9tZ(gV!~8u>D_1M#?kk;pVCv3~SFe7Z z9i1thxY^dewA);m;tVC2ZAnI5ib1%>W;KT88it_6_*bdo!^(AY65R}14f%;WrmZo0 zF9H8^N(wM6ykLmNa-EuJNR!v@h2SDGOQ9~*5olh@b@v)drn^=jx%|Rk&fNIRndkrM zu6O_E#n=9^_vDYdH*VRcvFvr2<6WjbPTdZJ9QaLkY6bYE5m+fsu&Uu-0fF6Wa<29S zG&i{zZ$#Ra1fMe!a9W8YrO37?WJLDe6E!3I!oMjM?$m03V!1oH(#v*xkqHD&uJXXY zqJ|Lgo7)@}*A_?`B9L!>LsV85j`6R&CX!zpm6R1wc@-g9Wf<(GX!wPKm5lVQD>gP) z7@Eq}RZ(%+72{uXfg7KgEgY~%3XFb&s!aJ76Czo%m^3tnSV545POdlSs&v_MmC;ck zGy6pvhXTP@XV27H)ZVb#S3r^5>@6uH!^-OS7gkqCN=jY+fYE067P`AeI=V+YE9#1E z9%ET~sJ^abWVmyAd7`VUZhCqE{tXs7s_LVa4TaeD2K(weTFW*!r>m+0E$!t8kIXlB z;t{Au$mkkuYU{15Z!0Ie$rGaa%Ni(j7~J{!CXpj(WI_v4tjZzJHHxL?T&Y;Lsp7bu`5r!Qz`<40ZHI7!>GhtE@lje zO@KtC(me`M90?OvH57~nn!x$grc1;LX3?la?rfVT*JZ$>3>~wNRtx_!>=pRk$q_X_ zQ+OtdERbA?6vlhDHFyr`mJ<4v^0ISG>TJE@rp%;m8Hr4fP1WQvJyu8&0mJzzMg`;> z+j1y|f74mRx2r*5sZ%TWT18eZPZey(nauO2u@nlHxJ&?Vj>7=_@`QQX?Cj-I#I6N$ z`K2&C$5dVR@jnYf^VaR`@FmhPzdPe=Ns&TYWpz{-jGLd%`X??RieD!wFMV%zGW^TP zNF}Z(MjeVWHTij4!!&Yes3NlyUlvB-vaeX9Q-4At` z2rRT<;9i-{qJ=D<$jTkth=VrkhzZwNOs2}}YMsHbBW}Awk`Mpx+Ot<{GCBf&jDpyu z@G7I&0>1>1ay%i!Di&asM$##>4kZ~BanRfo<(k!I8uv0)Bxb0nT_OhiilJcUcYwVZ z|6+yUE5y-guu{@z&8L=OpHEm91jkT&LyE`r&kL>G4W6Phd#KPEF01Sq>|Wf^kaYCi zkD9OD)$`(G>%acA>-`t)S1*nI?z6g2Uokv(8~hu3v+}*CEsxzs3Ko)X z)yL16p1Ixp{N3=c^4U8uLgR>LL@)enc=jInH}KkZ&x;S(p1#}i`h7W%o>o43-u}!z z;IQ|_t3^L~!T9VI-&>FM{^_%t51(!O@^#2M^6JCR7aj_}`&9YoKd$=OTSLG9eDqI0 z8~D=~_20bH`1_BWe*byP?>?LVmp>o>*T0_sAOCvc|NSqA|K%SR{`F6j|M#Cd{`Nim zJMb^Rt@`;pUBCT!==)DbfA!JOr*Cw=_H@qvMeWI>{yXk0z53|U!pS%3-mp8xpX~VH&jfamc zp1t+f>rb}rn{OMNx&MjhX4emgi^`i?TI*_RI$IitI$L`hYF73QPxrL-)R&L7)E=Lo zSRd^j>uFtHm^ppn{NU_#sIIDUsIO;kYEj3H zP90jk`PAaMWAJbP=2Gv0`KhyqsKLX_i}_U>C8omd#@pXlx#>x6$N7srPt`@4rb`o_9Prv}ER2dQy- zdnX4;ex6>KU z&m1^=`Q$vKofgN>99uhi_8|N_cXWRC#NyP+rJ2(!DgRHoOy2TXe9=)K+R}FKa!z+)herP;U`OEM;*c%i z3Y3JIrdm>2UJwibcf>?v1Vv88jZDUJd2?+L%{uH8D1ceLdL@i$^Lq#-h*Xr8H`Er_ zR62tWZ`5OqI6YP2g2vLOiJoFsm1~Qfl_9d!I*u>59bN1_vw!H~p_0+|kt0hj^TPyg zSM|5~s|tN3VON1CSR5rgT5mIxbr1YX8Ed{3X$4;}B1*2yN6BSNoDnc3=yzKqlhEea ziO~mSgasENn9gO!1mhj0P(t7oz>wuZ`aU>FGMyRsI9=87FNaMIbg1yL6f6NPX#*iT zSRp}o27v)9sEUDhjKrnm6~}K5ttBZ**xDJ@!N^(){^bxFBNX^likHx&gnxxu#M!A1 zrM%E$%uC!ZO}I%T&B0q-(KcNwbeb{{Pu>((jJ9gLm#fuM|c;ef8U;m4)a9_{F zrAt>nxck|!fBcL8D)-jzp#9isN5#ujX2ZYaF(UQyLz$Dy8zG2~TB+QaALHK`0{@@< z%R&J?zwj@JhqMa$a&iI&0ab7nqGSs&f{j353<+WE+~%+%F>%Xam5;p&}hL)4bJ2SPfmAXa-EBOs+`UU6iiZdMx#3}m`5^IO1(9! z)xABc*i)+A5mCfYHxWN`u?Eh)DI`xQ(}TL(!}+l-P|WSz$bCTO>}EGwGlk_v~m;tyDON#Czwx8_1>Tg1db1C_5@Up;rf!5!R!hb@GCBJruwyM1)9`= zI@PDh4(mvMrhzocp<+vhu%yV78MZPMNnYcYRl9)SJ-)nzpd!8?KP9546&j2ckai18 znQqCo9|iv+0V4!M!Ga3B6@JCtz+ht1_%G}L&P)1YZ`M81KuULcT1I@kZ?L z+4{F@*Dms}Ocsk$rQ4H`5{GWQE1A^4P;o<9nh_8)z^LrnTalQz(63=gUTGyz>M8$Orq9kMnZYT3Ack7%Pes_XJ8&i7|i8Qw;_L%dj-DYK?L$|}E+HKV)`Aw-oYgVx%r`(g}v&ag) zIYCFNQ=jb6?S&4^$}GP%jbt02CBXk=4xjw7N zZOV2TbG#NTlvIXGkDW3va31P zd3mU`)Z%gyzv&AVa6<3sX>V?Cs;jRKM+ydq`WhN*%gc()CS7T9!OYZfHz|)7#6uzM6=uqQDTg%bXgHGg7-M%b})unO{WgF(;W-sWvSyY?{lEY}ckZbnH+` zP$a2AHcckIu1>AQp@E2y*fs`dNP>3qc)3g>iI=C5<2GR?$5I{>b3s~IQs76Y5fzmemMts^ zIil^tw%Jx~vKIZ+zz=1I`|}_9lAsR=b)1b^ZO_^| zw`bsCmWgvr8m%7u&86E4+q1}^*04ilAHd6q%y6)PLm0!&kb}{A>ElS)&WzklQZpF` znVm=sMuy#JBJ+wUyz{|X*Ss=ym%Q7F%$FWr%j;^AbTni(*QPgC&pr90!3XXQZqBPmJL4*Y zIpdwuh5qE>M%i4S|Hyo3V_MZ-f0J1gr;zWoTarUzV^5!TVxQ^Avia<$_SAaSlMihC z>Fb);9uGYGfcu&Iy)QnLe*0ndk8aDmdZF{X56gf0g8s%G`PVL{KYT{}>J{@_*PQP> zLXwr`qfaS&e3*Nm!Cohp!p7(B;UVX^*{*$%ef2e!?O7N4Xq8~m{{l#nL zpS|jQ_2KI8KPvs^ox)$f8U6Z=zQ6vW=!;jF`5XS?$NpcuQ~JYa?$2K@`sRbC?>`y; zr{8q`@Htic`_CHw@bmKDeA@BX-*x`^*MtA*4}E|8ecONfzWsmvx%OYa>;C6&r~m68 zTmJZI^;bXc`{9$3Z$E5!{LQ(Og&CR8cY5+PpG0vOGL6(cZE;IyBkYHq+BN+uJqY-*a?+ zW@TpP^2J+@pE`H!?1iefwz1`TvXOB$6Ma0jIX8Q3W#PnunG>5}@BT|?Hg7w>aOTL= zv5kF4*6CX9S($1@$=#TrKYMs~s}?UFA3M5+B0PKH==kB4#*yy6g$Yc&{XpyCRRX4{ zUZ{3?-{k7#@Z9jg^Z;98pL@nSdqz4@gi(HxfMW&uPR@@GP4q&z<5L6sW`?LS0D5|G zdVX|fZg_riY=)>S(w>*bNX;5w9_yay8k+7Oof|rMdSmVA^3ih#PlMzK=P%uJ;kLWZ zGjaH~doQjYoM)iYmFsujckQ-&uU@|Ip1`w|uoIbcY zd;Hk)vExe%Yhx>iXOCStuzqY|^~l`8lgr1?Z%nU`m9!L9^wm_4HrLE`*Ua?cDdz?0 zU!M&$SK6zh=CYutzO-XuymF|cVPAjkDB)w3ZL=d418wYJM2U7cc^WG)rLf>BF)M2O zn!OE0iipkMS7&T335>TdJ#gE>NA8)rc&c-4v9zyC<~5e}H4Pt}x7J2ARe|oqb4{zG zE$idWOGD*DO@$r8bR=hq-&N!__{^=t9X0K>b)EI)O%=Xkf269Yp}W~%5-e?~D66dq zl|&qVmp@ui(^#)H8DdO9{BkTd*%@#L%cAI^jNH{b%|J0DjrbC3X0Q=Mcwy&~x{9)% z27R$dPqRaruVG=hZ)3(*5e&9e_?yd;OfuhK)8M%S(S2QIlRY(Koz;V_#ohI7lYJFE z4YVqkx6~9?7DdVmpBgxCl;cAVch6EIEwSvN)LUy!Ko<|?CQDL!aP_s4k zok+#lo~>x6JL5!2NsQyQ`l~NI@Z-%ZZ+9Mls&w_?)>AKPJ5F5v;(vI0PvivpuDtl| zZ9n?yqi=ox_*=h@OI2*oVlI!8Cz&Km%QG+}S5O$~yp|BQrBmlJEl8IK|He|USqg~t zs|uRgFl>ukFg#;>7EJHC0&b%?^I4^0|B*KxEjUKXv>Tvk)0__c zqDLbK$DS1*5AF;CQ~a8-+M?a;n7+(5_OkGzVHzhrn-2r5$_ImY8KD;VWrZ1c0ma+R zM~hL**fYUiI;Poz=d{y`*Bgp}N$=?uZa2H6CcVlLIVem2T)vW+79+Q(bnHzYq zSdPZK6*EQiX=KF){*ARe@rgxoCIEy59E#6FF3PV_o=WtkC=m)yl%}OBvbl3?!mrY) z6Vf}4@|Z6gyP%R2v_VEQ8b)Yr&uGDE`rIUSws4V?wL5lc#FY|bGC0d`^@wrRr${%; zcgWKAs+QdkqS7NfLgS6Nf4 zt(w8o_%ef}y&%2Tm0IlpkoOiFc1JX#dQW_jKD*AnJEV}c_{H^(q!MjHM76s>9_JD> zO?an2FRj!7vGO?L8hd(~QB-Y9jH=m5D%4QiIjhc|TyB7Zk&H9yofO$t+apST;;tgi z?jj8#SLx-}_yVQ4(oU1_9=~jFK%QEt&nz`(m)S6Hr-Y4JC3abLAgjopRcsSQEg3LlR4g#YB!@nrM>=PY>3XC;c=;uvK0(+AacBB8MrzBv9W{e1GFQ1^Kgm_kTXa%77 zk}U{KW)x#pi5!eXBJeN6?WA&5d}3yN5<`Kr_Ap6UZf_r4T0MTx;Y*M7&7595{=nek z#kd4z+%DO+RF%nFEz<|mBxbD6`KG{Lu|D5gly56G_-ho-GO49d>!bHGyn5l0P}6L2 z=gPAm{^j~B-%0H)N^h4g*e^EKtGr#A#(GQnoU3s?F29BlW^?oLIAu%WzI&~0#~Rn} zZ98yBoXV46^2Qs?+w=4Gs`9wVN53QajXxsRdG?aS#~PbNM1&X9n({C`=gH&a5 zNKQ&lOi53Lf77zE6H_utpu^Fv)Z23DX=NU4;!#idL07}x^8dn~F1r!luEATII3zi2dx z0X;OD;W0tM;sSe$Q!frWlx4x3kTca|%J5s0_`g0A*vmF8U`cT47+RDXvZY5H8Br&X zlUEs(SBIfsWpzYTSEOqwq13g7@UOVgO#qIjG^i}{=NJ1SUn(!^k&po!cJXrs94_?n zT>@kC!)|yD5QgKpqE2_}#C{9>tJo@4fm7nNBrywAugO%>(`wdvTyl#!OQlp9E$(1M z$0%N>)8w#&z#Q>7p&vSSaC~a4uqYfT@RpVp?VB81n4g}Ro>-V0-&miYo*Wt(>KYyD zYHg~Tniv3ty>4T5Wu&38eBa~%M!T+o)4t0WZ3vYItLCR=L!c zpXXHNd$jp(9pp=?d`7k3#16u1rcIl^Rq=-W1fznNH`8m*_FLJ3g=3XyRqr;)_tMs( zmm+#5s6>!2C9J&BwV@Nt#(+jla>e3{)+vFhT}BuX;^SM;aWb({&>}%+23ew60r^Tp zj@$wplW1fi2d}59&?gJnSwo-|OA&D38RnrNUuD1%E7VmGSb$=?9?*tvAZ6}DLA%_z z3;VHA2@Au&Fu2rZ<&BVe?0Ifmx&bLRF9w+KZ)}ICE1b-TxiNVc{-p@agnWs1$=wp2 z^W5efyPhpzi;@Vva^U6n0)dI8VxL=}V7?1;0sFXZY2amcGW%RH#*Wh5hx-fu3iRkL zc4mvP8zWy*i-nG3Lq6@RYEO&0f1fujXMT7xmS zVDaEk#_}CW?|2JgVJy?+A6<6i+~Lo-4JrS z(^U|Sz`u0Ku`C?pUxpgcu#8G8XzN>f&YU!NW+VZ>u@k5;5m+k5QU&wUxAk`f#txk% z6@$afE1{==2aNGAXIr5K7 zcPa{6Qv3!6sHKK2*=3%bN<5U zujBp4>~CF1^DX@NnTju7>G<7Gia&ln_}&v`U%U(g!@rF5Rlj(D!w)|VefgaI?Q6D| z?yLFo_2zFs@V|8<`1va}zx_$Y_a9XM@RNq`Kb-uxAKL%&Ma}mgM}Ga0`6n-yeE;$2 zfBz5g@9=;8)xN*|cJaUcL;GL9nfv$u-1gV+n*RK4*I&Nt`48U@{g*%Y{OcbhfBek% zn-5$6@#pP-{5<%{3-E8xZ+|-ThcBAmdUEOK?=Sr1$Kx+P)$`~>C%^a%{#|(I{iUCN zvhn3tE1$kU{PNQ!x8GKH@q&F}Vc^zVPCtG<+S%H-v~c+H9gn^B`Q}}Z_&P>A)=$n~ zzI^rVcP?GI*48(A?EEc9PMob_`LCj?v!%JFsHnTX_R!qSiKY2{9j${Hp=+y_hWd}p zO>a(39ABI}dGH|oySTFd@;z5d8yg2^CkaWOIk>oZe0Aj%D(WiqI(Ben^638V#YvcV zaD9H{z|#1kRc;(RyfSoPftozNAM9PZbZYsQll>d>`%Z7J+;(Q> z{yVocv9vZlzr1f|VT^rhd3ADOYdY}w?BL*3-`xJ`g+udG>yzwUy7waC(rm9i@xZ;; z@4WKJ-PDuMKK%U4H{jo;jTyGjy!`m}8}~i^(xXqm@bHT-KKk5q*B^WAo<|?Q=hAJ* z=T=4zome`5Zu8K=xy7a7!SS}`Lo>JDckcWhCobK4_R`&_&s{#+yRSV|ThP5gi*%2( zt*B(Qt)#b^gLd^u7rFVY3AE3T)s6QO1Er06)L|EgFRac3>$9}PPM_FlpBvqoFOnBH zTBe7}IvaF;3(Bdv%qMbd>}_Sv-WuO%YyHOD;m7XlKDb&jHYj#jI5mXZszU8m1)Vib zt7Gj4rmALp>lO#Ar@Cq!Y%!+6ZEBLTxH6hbiYf~`Q|BdVV1GPjNv&8{>5YqUeOR3b3vp3GVBSu7cl>S$2SS7#f;olNMc@bp+$OY zkPsw`5RB0`Aw2~I{yzbbFCjqy5Cmo$L;Khk7LIAG@FVz%jTxk+jhE7!bs%u8t5*Q>fTbHV*=Z^QNQ!^1t}+DD@`0V4>&PYRm=(=YhQx{3`@Ui?aBSJU!T% z4>|ua_L}gU@>}zou;ta@MqY<4Ay}B0ygMyHu#q!`$*hHfNxtIK0*CTO#|-u?v(QSw zv}NEI{d!MYGTv-riAYzA)>bnX8vPgY1%U~o)Oj5E7#Y_K=h8CFqv3)^|7BS_#=o4e z(SJFEv*pwrqg^gb@~kS>YFM`cd+{y6#lpIcg1O0=xkjNuSYpb@7meB*m$HLtN6d!E zP>IoqxrJyf*3;l(?1I@kX^ekSiiyC2e+e%o>I$D5x&T*7LhG3v=d+lrsU6Z(v|y}# zRJ>Y*&5tbT-Sp_GGUIh(_;-h1jQJV;H_4@dfA>1`P)p(8?GDLJ&Rk{zZ*xhAQ-)O` z*=?cx{GKQ%x|5+uZb^KpDXHADrwD(kHo454-w^?Xu_a5Jyuk1FfRs7HVDC0}PMjlq zhffOX-sH(;3j*_KFg5Be2+R)f%g*+oY*$19|DpvaR+xa_v|4*=jg1LM?C&YordOCn zH7r4L+A8P>zR8dS|0ens$pxy^s3x!0nHW^;_DabCOA2X$Ujb>85+PjpHzPR(?1g_R zt_)dG<4fomeT2MlR$^FEV__{NiTSrIpQN)x_nhDB@p`=+W{`S`g~`unHi(RU`ebwS z6nQEmLsNDpWN%N**~`$PEL}>j-5P3c9ok$xdf)i!C8h^!q0 zP|eJ|ohkYFpG6v9Qm#EE-<2%$h|I-?P=~W>L>+7s+p3n%J$&k(HwKsQy5-u37an{M z=1s~kX&F1IFX+m%)vCQMS%%7;l1QGfx1jw<`_eUAHwOyl z4?jIKGmBRxCyzXOxk_*LMKhJ|!q(Zkkt5@WuXCKd=lS2AfAYJDbMKVSKi+cq)q{_J zd-}z1?tSN5d-FgXANKMnVyh@%W0o!i3b!V@_2~h}9-A)3ZU$-knK za8^+;HRMh7J9oRxaYj{~Ua`w*+UvEXN4?2G=N^xFm&=$KU~MG8EtvsZR)L*%T~Wx1 zV>z$bpI;WFq(wd|uh1)0kw+Y|XBSwdg>G4~S6<@FEAinRpxDVR_96|-O8tt8ptRV_ zjwI^hKCz@VhHVixE{WP?VXLITBoCOBA)Bel!{|ee*F_lK)-#7!)@Db>2it~wn>N>Hj%+S0FOKgU>+9=iUR#)6+&4Pb z+j(Gdwym~ujAYdEBC}pqUtb9?>#YW^4T`Hut$wGsGy=8ddn_7&y}-`27X&XM>c?l! z3p-Qons~ENbn41|T=bZo)*Jq|VoC6&vnGdd7X7B7krn ztPOPU%*)!74-SiCnm8*1xlSz|!L$bF*i`JW+DW_v+5U7N$A;X+zC;zJNJ<0`cV;KW zru@*19OFmQpV*->c}G?v_rXQXJRo*%%8sXCUMLvlcUw-`cebvNwsA zF6L&cW*ae@9Op9=6yaa9PVcta!~Oub0K$?SF~>2MxLCO3G;Q~|DE_pu7c$wL zF%sajLLy~CBaIuBTBY;*g0;2HTCF)XJ;NkK0CXUWWrBp?>7kQFuqN4WNgzCb?y3*a1(Y(G6!{mslqbYx|+rK_5?P(H^ zwB=6r36lV_Bz4rKl|LePq)61D> zR@jP>1!OPd2&)?tl%Xb$4pWg$Ofp>1m9=+s#<59wyVO#MV4{1JrD*XEoO8)Rs z8*RIw5`Ylqk!mnHl zJpYjA=__qtyuk$C(x1Kv3)g@BPSHD0mA?OM@%zs=eDPlC&pvGV;p^t#f7SJ;Uv~fE zr$_(OpC11A|9RKH{cZDi-wuBAld-RVKK8rsdVlrR*q?v5^l$%h{BOVQ`=@U@|M9Di zKYv#D&0D>H_@w_gACCO`gQXunTmJsj*{|MR`1uEmU%Y$rho3Kf{O0(ZFP!?-7dQX# z&EngytiS&D(=Z9Z;x^twbe|%u`_>qlM7yK2CZDWfY=k7do z>DIx?naa|tuI7%G+J?H~vW}Xn_KLEO@{;kUhNb?l1LH&M!-KcUo;it--)>)YH+l3c)WYx z%-}4M%kv}CvqLDqY)7YiiC>sr9a}rPFt;(ec5HF|*y6_F`OTw?cinY%b946K!8wH8 z=bwN0+9P)!Ilg@K{DB`mf9;M3Z$`tt{mS`gUw!PU7p^__)Rm{7yZYRV4^uauy8oHy zuU&ui&b#hA^U9BZ^y;fWdhwZuo`2?{ryjlQ4vN?CYtinC@}5m(!U$bbO^_{}j`sDkpmy=Z0KOr8`yPESKKj zUQ^iLQZ&#CEDvogcFm0!G?eQ?E_1OLLiD#+nH!46FCFbYw^6(>LYQR5{Am5+1Y_qc zrBS3DwZ~|yEGX)4Xj&T&j5I6j!=9nWg3*?mg~6(+o~rQ~|KF7lH${18+4b`8Zs7xzZ^0np(@;LrszCp8Acc?65V(k`MVhTguADJ8PFmE9VCr zmd7S&20ysiI@;AV+*aCFNqBhMNGBiT-iZMuX|lP>nyVus zqL3^sDp!>wQ{|G`Wwq*sGHNv08D0{)#FB!7%A)H2x`D%tpz+3za-%+q0s0jD{pNen{f%z5%8~*=0TWQ-d z6_~&)@DrE?dwC0ZBVt4DQMb6Dki+KOK$Wh*90qyGx=%Q=}y z!07C(57T%~3y@6CyrK+FWxS1MqXD&+>tX1CV(}q9VQ)fmB3}rxU0c0I?C`8WZ}eZ> z3oL+ux2V7vq5s$OCmdUdj~0TafnPuvg_myu9?*U46<|St7X$+{0&Xn2DyIJ;{*sFo zTm0cOk6js0zS62EnTiD#wydaNDq!&e(*k#9iZPF{EipbNS8VcolX6*t7UnN7iy=cH zcNT?R#Sxa5J!KL4`#AZ=W(#s=-#Ql~{t9uFoQqkDCMJu;Z5E&DhLhUW+`@l^lxYoS z4F?IBkMy3bBm#waCVZHM1rUAS-YqSdzTmjz?QwecG1@EO(SSP09@{)HLawsCO zNPz}^nFY*Fyj_;y%-dtj-EGZD^(o^W(p?sDMuD0Z+MIe93hWMlKGTsf8}ITd5(?Dx z$tDC;@N#aMeY-U$DWIhGx}-_Id}isgWsuNLo0xr3k&)>_DFG#7>mGMrR*^Bmm%rDS zpA=Nb`xO~Qf)ETZL(1%AS3Bh`K}mBUy~>`~6cE?CnMw@y^5e1!O&JkGT1dwu;9Hhf zI2m3{!j-a?u@u(ykSRUDL}N2P=M0}A$*#=s;%YOec{Is(IcZnil4w)hq!Go*({`Js zJB_(JtfGvtHZ`n@vt-<474fXn3yr%O2b{1Q1V#ZN8779k=)cImd}d`ixunFfenZoo zK*#AqQ#d*=LJ1#o)`3t-(o<7(8g*@T71QN1Ga0s-PCOL$U^-+0VZkaaQ)cE8L12qd zm845Z_-`v|80w!qGP!>9*wV$dQxDA^yld(By<@8v!P`WsD<|JpRM{~wv7ZGI#`~t` zn&OB&%e7;5j!V&Q=Yl@k?Wi0s?OB~Xdf)9&eE8t=zr6O+w~ZsG)zZOpi#NYnKmUNE{dnu<^_GqM&ph>Ucwj9~ZWa3qcdFET z)e88R^q%B=4zR+K9lZc4P`^s1H)uG1GTPFpGtkqJCy^-R@~svPRtu6)feCeoe>1c2 zap-g=dwthXZTAc_)8|iJd*sbOoV)f>LCcZSvD;f#pR8Sf?#L5=KK;TU&%XTav)}x) zqh%1?89v%;5@bhXeQ|EYxyPIuGH?}a*fAPe|>}dDd zBdZ4%C-yH*+#G_oO6)pvqU8>~IvQ{b8eVQzX=$Xs zp~mTVu>j5@FeeeDx4p7#b5Q{EEsCT%>fy3qUF^ehjM9ooO*A^#n`BeNzwkT!n`Sp; zxh-I6w$DywdaT)is?VMibOXZK0UNIm2u$%>2?BT6PNQzRT?PMUxwMpsG$FqQ8J8`O znP2Ra6?(*&oWl-QGxDQ;S=gHw@yViowvv!X8o^$Uh;N00QJEfG}GgACVVmiZvb6!%MM`Xb9@! z-)4)92ncheMKR%ah&U!X(|WvHjwVi$vy@~84Bg72+ed_%|UtnPCc?$2D3dM>cHCz%P+jBpYy81A7aDq1uW{o6$tL0cUiZ#msth z!rnawoibg5OyMce{M0B^Bl6wR*i(Z!{Hz!huM* zu&gv%S;m@w>@3N1hUnp6T7ZGy7~>0EFC~jZDqydg>~9Il8?n(vSfDwpV!Hx<{~qRy z_>1$InImk4v}dh6hQL^$*81IFp$x?4^KH&>lY zGv2j@s&gl*&K`z;Gx{6T2Ak8SJF^%1^vCB7Cl)d%yY(AW&J!!G58u=O(&H6Z@2+~{ zYVqR_ls@}V!4vm-9>25T>HD0I-LAWOG5p#i9lv_7@$0t>KX@kk(X){cpK1K|y~sz; zlF!VPBFWp=eZP4-_`CNa-@hCB=8f|2->d%Z2i4!bTlMX`@Nf7h&((hOPRY++tNztH zb>F@3e)mS?lV_T~{&DkXuaKz~dg*%IM=!#^&X=#1eEd?{UB^Q|{*nH%+be$h%HR*b zDE#bQv|agA4;Wr}Wc-J(hrjsHaQ0Z@^k`gX^ENysUwk(Fn_mrm|IOq-{&D(mf9(15 z&)fd;Me`p&Wr9-a=Py-%`D*$5PgTG3MDNEh5B&5M_;>BwPgZ~a;h8`F^3p$ickxfZ zo_pt&;TNA+c8V>43=JzaCXJ)4vJ zV*I-{J$KhFcV0SsskeJ@^YDqAZ@*`Jo&eZ|R}22?&3S6y+SJ(m2!U5bQO&OlAdCwdFZAF<_t3tc$=RVPfEV(e zAAx_TW(Fsx2dL?#5rPMYrh8Tn&n+LGJ8)`sadUcUec$SV>3J}HZ6Di<7Y|>(dfVE@ z)cn%O`8!Ttf9n2wAHMDA`HiDz*FoU>uU|fQ>F^zQpSk~`OAlPV74i4#!?)vqzW&(l z_g}sF>eX8xy6?inS1&(&|IOF#JNLxZOHV#{%L|X*`N(}|Z#}(o?STs?&aBiARJYD` z)XuaHo|y00oSwL_Nir4YH~ELr0bh`huE2D*TLrlcZuM9UV?TZd}wN8)M^fsy7hSI)< z>9ZT7=QjG!uGb%!R5e88RsO=Uwvm&oeFvs-P-_BaQ`DvL7@5jMR1P|kGwhNZl}rS7 z_#Ie_Z4hpO2mbYhe4a?q>~S)uiJ@cM=QX;+sI=N3=*mMjbw&h`aH+srMc921x#J#ci1kSJ_(V#n?7X*dV;ZMD^-{fq}Z@vpj)gE!M_An(;Gu% zgv(|OS&aC_4D=K0z3CF0InuXr=WA!5`SsAPZ%*Fx;lkBV3#KohfB9Ey_r11w`*Tly z@7Jj==evQ|P`A}KYg znJHonMe?l%pRM@_kStKlI}%%_;93{6G*Uh)F#HSfa#=-#FbEtgA()ymO1WZYD;SJ= zmWw%W@@iWMzOY$2d(!+UltRwglSXX#7yXELCnhMvzu+y{%a*5ywu|@+|H8KX7GhZ* zDOlWyM$CN>nS@`5`9xbYf@xUhccj6Y8=+TL36e#bRLq{uXMj*>hA9)X#&lpx=dvK( zCWup6MWM*^fq(f#5#7uh1zo@b0?X*ghLL5tI!&6KGjDFTTFDMxEV_^&++3rI_Y|EM z*TI(ZE241;QCL{AR!SI?#C<5*jwr5bBsLZBi!}@W-JX^}4>HB48uH}{u&_hHze>9% zM<*o?D@&70Q}9jcyNSIbK8psfxcE2_m{6=8qGVc`;9ssE(0t)vd~x)MLB8<}gi>=U zrQAV^h)Qx(ZYnA;%^L2yl0}5+_YcGD=b{vYT|G?RxPpbM8)4PJ%-o<6l4+ z=FKS3u-$8yqzBYVZh5>zLJRFSuLOHD9Lj*Cv)?jC*H5z3vLv>>}W)>RudSq!~Eu@@Sph^yD2yIRYYvaR8gy7T?Jx=Mw zLVZe!DYM3jvwBZR%@56}uwi?~mYhP0N_r+aj}jnX})Jn(;)NfPhQOAD&AOAK+^MBsOa zJx4?`uwNPL>Sc)x|1+&{R7?ftLJ{&s{G}0C2!GzaOR!0&uynMSqZjsOmVFFc{}c-T zwwWH9!jPae4AhB<1P~}xYKO~>KM-$lMz$nWSXSNCT~gB-uIMbR?H^k>edOZx6SqFr zKC;0W+|tHjy}Nu{g4F7-YU!ETICfh}<6xT9o@)qgPt_|Nm06lllH6-6>a6KosqJ5F zoH(>`%Z-O#`Re(f{KG@feVgy-jN5IFOLpzb4L6LQXrDf_Gutk;mSt!{8M;Depe{t@a4=+6RPKLKI(d>+q%i=W(aD(PwyqZ`RL12sxOi2+2 zsnf~9Y&!yQVD5-A-nI;ql9RNo(M+E>=S zx^VhNpm9M_FdXbW)qD8GnR~u`;FEv9@8kb|?v?L9`saTS4$LzhN93`iKPH$pbF$9{{ANdeIWz|~m3w;|1qC)7$nrX+5r4YdxfE3Ohm97`+N=Z@?rD0)2)|kB$_k9G{UOCLxZ= zsmyV!C0=c=MF=-a>#RDwzHe@%ZE2!w zZMtv&?7(DyOoJ{}qslgz zQ`B0C-I?d`=2)DGawe^7)07Nh%1c(rcIS$A<*;xqO=R+yS{@UHIjB;kU1j2(w(3a1 z5?K@s1;!@LA|#!;v870Qa%m8za;!YQKF?uhrliDXOjZgV1guH!$VuZt@KLj~Ju7)n zZU*co@Y+@?6roR?Q&=F4wZZbY#w{cv@6Jl$#6eeV9HWZT5-9e$k)~I^%bocWJ24%# zYz3}FP}b%`+~gm!g^1xz0x0&1Q{%IeXx8Pj5IYvlyd1BLda@+4iRdUUER2T3<)x*< zP>x(aI4ahwIj+$)7AWvXt1IZ$;{S5$=X9^sDt5>3;Y3Z~GxxVzt%CAf*Hl(oXLAJ1 zRxc^#MdcOPo*O$mWCrc-^c47)lP0K3j68xbJF(7RzGS>nmO_z1dY*_`gfiNWz+vQI zb~vSSVr7O!3bCC!g;*`41%u!eLZn$z=0q%G)``Q&>6L&2GP;T878_NuL^9q5oa%IK zv!n33p3JUlQD0--?WY4rmOPtt@`-Na(wJ^$$gwtUIXD-*{Y2=2 zbFve2iK~OEi|g{U%g!sOD_^{7yYCD-uldo-w&$*3Y<50-CHm&$q1PWReCvkig$Ik? ze!~3ZT|(^hn~z4`y;1hb3(*grs{iF%)nC2tdgI~RU%pxN{?o-DJk$2;4+`FUvgGqu zs(<~S3oich72}(am|nkbd+Rat%MVrm{Eg1~BQL!^{^NHxzxnF!fBmQV7hjM! zwW0Mt)eG8lCUU=)XJ0AGa%Hn~2-OLy28fk5w zY-?Q^>g_I#?jP(vJ-6@J^w^>C(Uqb8#i8NF(ec&k#r<Dk!>`$w1N0N(jSOUyZ9PAhc*9llS9io;|oS zx=ge1?7sbrlZV%q&mP@(bU(S!Qzs8EoIg2xd}Ha%;e}HN=T01$Ke0|t9bOU;cy(&> z!2HbN#rZ>v3kMfw5rvm0utQHWt9M~^cm^|bKhao7z%#4+=GLbc)~6QtPtPojPD~E~ z!U)0RQ~f~k{Km|}f!XQ(Q^zkIJ8}DQYIgrV6ybf-z0~yFz`-L6hfc0@x7hePecEZe)IL zaA{^>|NQXf6YDqbz4+YK+n>31`z`U0I(^qk(xJzX&NUvIDxU9My>{!! zrNf0&U1OIH&)#tg4YYEmzi6zZc)Yt~bKc+G(0O1!*wuRc8Ep6Lp$ z4B01IYYt7r!Zl07wWM~hO;nAvNnIMX-|Q@A7DgET7eHgeZ$9z)0hh&L_5|D}C*4C{ z#xv!c^wIiiTcm*YUJA|E=(f7TKAL>dzYu@R+Z!xlZ{PgB#^D}980bd9;H@k4h6bDG z?>R@y!{j|@8xPH@YQt5`hgun*zwPAd8&?L-ZbT+Jt7Zq_-}Z^#ny&ix;dZ?4O})*` zS*ACcY8q;98R@L-YGfL6VM9f@vap~ySX^EhiTL$;C7f<`+h{Tcrf}d0NTpSnY(@oC zMV=B(u3I?FmlWUnUjtrqGa*5tq1dE}DWq(HL=J--17ib&fEo<0bnimMSf)W^ft1nU zh}hbCOty4RnJtEVxrA66CUVLpxg<6rV2ZQ2l*^JU1XnhEO2u?%q-Sigq*Z6jM3ly$ zq8Hfju^9Dwt-&GDcpXKZEmP-*k3Kwb>hY;tU+g&i;KsGLUjOZX-n{>*{dYc+?~88B z76#aHVCUdZ0yf5P-ZC7*fE)AB({qKw*2`t2n6bC{*<7xGd$EpPfR2iZo0xKALwP`8 zv|wVU(1I!M&mGwQoqS2aDWjNj0vAKUEL^Z8mb34BvI|$soZoDA8J_7clk8h2CVkdSB-$DXr*#U0=9~Cmm$?%DF z1jE0;FIza2&lL#Fv|moO%uP0VT|{7^|I+y@v;ZTkXoZ>4gqL#hBh0^GDwA9+L``zq z%_Gt(GeIim4#dTC7LLuuz>rLr7OU}Gkf^;j;zKz#<0EB9$oe4SgK38b1yOHoLExAr zn|(ga*r8ePqC1$pEEddf%7|y3pG$?^Iq77m(v`+_6p<{P=+P#&iBq{|OV=o^C51|# z8`)x~B%2!n;kYb%!4eq$D~u5_=j~Q!Q3?7SsE{$Zd(c1)IeRTkmXXI>^F%>oR?t9H z6gbQ_BcP*_-O4nd2DO)9DCP=b56&pG5HQ7PT}H2pqc&|_nEMM3YHMzaJ3rm0inmD^ zs>^7h%z%b3V+BehF4JYa!y=}3+a;+%ZD!O+?iO1lU?@0N*pC_DE3R-*$ykwt8U$ZK z^9`Hw%3L{73qMX<=g$_hofYWR%rZ{*YegY*ZWLL{km}M<5H8U}X%1~%UOHFKT&3?Z z=ER$%3FbVe0CNW%;FzM*{7Qx&<&+rHLjq7E0q2z3#3fdmc{w<+P^J~S1cYQ%!rsV- zf$~_fLlI^W68y{9->pAZl+H{7uh2?_*sJ(>uy@gZ~-ZGx{%{KoHpL4-gSk zOFmI`LveXcTklxMz)Vfsc+0?IZO5#qxKnN}-kGkC+bJn;9(5Ns8{K7rlGe__#Y3m= z@|CtaLXAXSIinrU;;y2meR4-7{7aR0&JXRsW&Y$tryqEAVCD8*qDb6sYo5K0VY{BH znbq?*y1V-z7$%6C{HiZ`_ohfH;J6MuPvpc-iCEm;cV0LqAqVC*6H}b1E;K?rv!@uGJ zx5(#=H)?k46}fO+z=@8GK^GfsET4*gQVRH`pkM)n{pK{E312SAhCLuBWL1{%Xs-N- zLl&}8il|fSLnkt*B36BgOI_rU1x?a`fo-l&m+c}aN}J_WLdTglx!9%3b8FNd#!}gW zm40W`W)GSQ$~=)ue`$ThU+iq@tg3G*?dqz5e+LGdSlgeQ8=Rf#C!gfPh0UXzGp7#E z-*w^8<!*?>w?HzPUW^cBqW{JYT?4Sn4-e6fEl69Tu?HVK=*+Ru&vsd(`Q* zN{wKn;%G@WzLt3qIBHA=YcL>jT665?Yzz9AL0c47MGAmlOI@Y8z7qb0d6lJMLrtl= zJcS z?S(haZ_eNiB1EXjgJV2BY!!+&-Y8b{0Q`#uJ*L0YtPTH4qn`YdfFuHpTZtE=NZcY3 z3n>|3p(B_qEV8*`E@);e1Gc$#Q<93INco7oUzuQRrXI`F3n`1Ld>{d$V zaAz6K#%NKh+K}%KsC|)KlG)_aJs6R!rZlyJV`+v~h5oxul+GMnj-`qD5*8SRgDp+O z(kzbfd*vBSHDU#lj4b#U@}(7*hTQGq)Fg8LO)3t~DJq%B^#3vS9^i4M*O?}onIMrf zP=zW~&N%@n#Z}k1Qc^B9!h|w!&JII12Iwbpc`i^f+tyzQvcYFyDoIu^zDu3;gmI3g@yz z^fZOgOdOdoTZ(pUzO@srOs5ZH3zP=6TBq@~Y3!u)#c^TdO-d@v&$nBx%k$U3Jd}xTXROk$W5wMqzt%@J`f&Gv0Ot0C4CmCz*wLW zf*F>V+dL6ingp_H0bW)r;_Z4d)34|Ox9ip3 zL}ij&m68~1H7b~vl4xhzuO!7LN-~O*P4I72syQaxN$@)}z7=%^hVFX%V2iG+E@`sI zKH9EmKkA)}(ZG z&~kkx^U;;$`{x?Ic-4LHTG|Mc<`=JKfAYw7doyyhHEyKUwm4>+8>@S8yX3~j)HA2z zPd2+3$BWNz$l6*Cm6awgp0X^hHNN(C+sE%c|DXS_X?VylR%Aa~rztpMJW`iAFkOG+ zUgx_XZT`bQjQ{@Eg&)3h?0fGu{OrT@ckd>?^Q`-=JIz1;^vI{LmVWT43|Hto-|K{t4Uwwyr_Wbl)TYvw{!e_QZYVtKlo3DTJ^-uoeKYKQ>n(|BQdwU?? zBh|%}kADk}oY=bh;QlKgz5LcE<0G@xc||818ar!__8vP5|Mu5Zu3|TCZ5%ybGj_b8 zukP4<|G?bf@YKNAh4t+-r?y8%mygwSY;0efTiUvG>%roga~;E@t%LpWFKVwK0Z*J{ z4DR5}5d7Oc+S9)>*|RuGy0SpBGs9g|gZ*=3+_S2!v9`OVeR_E6>>8oaRM+xs|LJ9P z;p0pxTAc;-NMiW`hvTrdb=0;n#S9PRz@aIPf&x41Ffjp%fk!j=Ev8@KwutW=Je#^ z_T0qE=&9|w$?5(XI&kL(mS+0Vt~X`|Zfz}GIyHW2ZIZfiX=P(`dh6*^)0>msGd%+v z6SZq2jhhoKXXlPC4^_e!;j@)NUtIX!g= zCEnzL#{9*;hNqW?U%YbS!h*6QJ-4s1dc3o=x1qGFF0-~Mu_VJ=oRP+;L9fl~C1zQp z)+^n~PL)mxMI!Ig0u20mveI*^%DqK-8AUm+^d!1{>Bglemx0knCK7sG$wk@qy=}F< zZ3%WmR(*v$*?MBKKclW(k)IUk)>N;I)~rut4>gB*jY;(-)#F_iqa924uPnT9ef7zm zn%RD0p9Q;nUkm(8$M=bzCc2WVPEdq<1I&!2K z1lC&(=+Qcho~ubHn6_LcYJpY(zoR2?DMg_-|r^ z({=W>$vdB1{p2^glI9RwreBEEFG3uq(V`nNw+@&>!j5Mwom6o73iuf>i4cp!;^KrU zKWL!w;S|uyw|x8y+)+Nu|2@*a0ZCj4Q9K%V zfENEG2Saj9Oe$A~9CuFw`&Z#xepFj8?wW z)2;H2b%uY*m;x|^Ljod5=ZcNwabRAvNrx&Ch;J(YsQ~d^VbXAt<@W^zbH4WEWXa6NXqAF> z45l_SOkx9N!n2Hmxa^XKrfBdv2RP+HZY6{c|DsLf)8+vqyy`u= zXy`kPslIl(zflrsm81M(a!#%{aCyA z8KZ&{r40W?zeWN^QwD*Fv0{c138=UPX?FMZ|6+kg_62^CgYiP|CFeOLSS3dRjiphJ z*k_8_Mt(d0k?;%%@7=pMDhj_s_^w^Mq%wJ|h@(jiTmDA)BXcKt94@y~V-zLm!bGZl z0V2Qs5q^6@_Z*H1!xWuaqB6KOCTEmb5iE9EG8&9&4f>QiU0Qus&8RuEQI}Lv)iUYM zsx~GSCgmMdx$*+yta~DKe*SX5Ag9uE+>+H5r7N4e_*z-VqF=b~fXEagcZ4dOp(;;+ zA}ObSqM~QhSw1%P^n369`kz*wdtI7da!_TCaJVC^)&Q-Xc`=~|Iv>MmGY?ZnhpS?^ zaOHBHi%)+{7Q!K#zgU74#Nt>{kUxrGAqe-i?f~hlj+YDf}I_7qyk)4WXhN%gDlOJkm|(KtE5XvxU4mc$)a@Vq)A43 zibauXl_VNO4h2`anDJjF| z&2=$IHzUTSF&f4kelPfFZ%d6w-n===lUO97i{>JTX`m-qPYA?NZkMz#l_b$Et_6tv*+L*z1La-u0aQ|fU=TTBra<6*TT+-wLl=_9Qs zWqOJ<*%QS(pXmZxNyC=pC5I*(7#0?uEEq&-jEYIOVzG!!F@~oagAz57>1Ha{YZEfT z=%glv+iMei(McAlHprpFWWL`lr+1qNWE+ugkIZm{C0kJ5S%UDlsmb)_&i*DD^Q{i( zB!c_es^ZT!&T9&_EBWP8NcN&cI+ukYXtC3X_=~An&~_CP_?JTeJt!5y_@P=Q6KD3& zWU3~ED`6Ka&BR1oj0ZRgDphf2OO)QQH#*KQDAXS_T5`HPF)hKJ;&=Ek@#UPddAk^| zBePo~)e0(Fs|=K2(~V_jF`xVc(IK!WOzJZvgKsQOa%9G+%pV0XOYMya+#4RuG7)Eg z{6d5^(KyfIq{L>H+ATrM{*z0YVCx&@!{RC}HgvzDb>jO4`e?lgz~jV1(@t^)Yoweh z$eQ5%#SZkxJ~}Kry8;jRc34W~xp5}q)FX^)l172#xU8XIgkT{KS{jAf806$!17dSo zMIs#*EFr8iE=F%Mc+*mHa&k!I^BuM5Q8HQ0#E&PZr_y2P^14~z1=596-p+_gLO-~c z-~_GIX|*O}Mow;ec8=YXoSdGOTUb_JRhwH;=15Dyh)Bl-$}ib0!doPZ;c2jif)Rgt zK72_gh7cVo7Vi!U0)c}?B9bQ+R%XfW!M)bIGXSO7GumsI=9K}oa&81?& z0f#gF;P~O$Qml|jJr+h^5ey!0cf?t&BDW*Ko5-3N*#acG$EP@y`AO0&XJnEgD%~nB zOo}V^G6CG$b*%oz=JDIxF?EHKrgGy@lV!BkJl;aZcUPrujAmV&Q;jtRoG3^bY1GWL zAE?hcbi7PD*=60HHlCeMeg2~3*)zu5t3@9?=XvRp?f$m$*-hQOP4lBm_BU=Ys7U|X z4f7kfw2!YOfAlc@(?37~N{Pfimzx<-%n{PGz@T0b$eK!27@6G(>4|+d)Yx!qi4!rlc z;KFL!smZ*J`GWZ|V{K(-^KnCVW`kRT*zufxge;WARFFSw#P2(@WsQc#q zf_LxD{pyFKKmOwQx85B7?T<$P_!r%O_*wVg{<8lcf7|x^A2NPSKj>bU;o3#&HHLsTH#R!;5MB&QCm`yS6Et5daSOnp|hy2@7lu; zpM3bun;-lTlB~+hX)Y@zVe65y$p0m_|MxJ2g4BI?W^W zVr*U*?Ozz}+6mX{oH*Gw+)4F}_w-Km_KbGne`W{MHMao8eG|QaaOY54?^xI9{1A~= z&@KtjJtG~%GyUW_qYDqsj*hR+4J?jfsBT6nULG4?pXO%=C;PBc56ujW&I{Z|dLnx_r8SbME-U(CFp$+1uylu5Yc}y)>{s z!*|D-4!k}yzBV(nF~_jr@%a%7JU=iP7$J@woK6+}z-BRf|QI1sFes)1$k&}3$(pZ^CAO>gH{FZ7(x}BmaSZJt8wVha> zIWjkx+)s^@bGAJUEbP)lF_!>jS10qH4mTGJHWl^M7j@N?cGcw8m1Z8vE2=L~$xrp9CnjQGc9;w%4K#sZO8Y9MFzT|8 zl%oF{y`H@4vYL)2Yg!_Wiu9jy&{H~1$2yw~86H)#t!-{3y|#?b<>H^3jdZ!F_ z6B4!*5JvySYRj~BLa}&JI;NPDAT6iZXYEnIe6!G~7ojBKL_?0Wl*UiS z%*DhcpwdQw)p1H?5KYO6dA+meHlBI&{0kqSy7^l7si(z`EWeN#4A0?mB}?v1Wx~-) zG4)A!4(QE0!+>z}a&;IhOTYyUok4uW%Yx$AdVRsjNT1wONJx&2W*^Rl_qj-J$;Y z(^wDZvPxJFS2JEy8Lkkn69fk}t-kRQtl`tjgm3`)Vx{9jNP3~Q&6oP(7Z&V~gdvXg zi{N_CKr0+mKS*EMBZ(mBgXHI6gCxi#IjD(Yp!Hrw1hq#Ven1-=YF7}9>?aMT8TNot zyhk6m&nVt)jwg-;!ry6!!#DU40sBEjhTfwX%(x>U| z1&86{J?2;%iiO@@kBZq$^d{4)yk8$n@vytqk$bg7c*UYw6YqS;D53z{K(lm@GIGBr zCd8)Lr;bU;a20eP*B7N9(1-(!vHrTK5W6hOqvOa%1=;2F1@ARP?b3z^xan4o4@*%H z0(QVAl@z!S?%T!mUM6EA@&dd*@+A|7V)zkXLd0}Z5F^7!kAc5?c0IMr&yRsefbjnP z`@voe&)A+(ehGZW2uxpIT$QC93c;h z)krnYD2X8g9bft4Z}+i^b7EKiI8hY>s? zq`bnv{9kND6l+}|aCB4{zFdyFVPRo91F<@W@EFnIP_fjQ60J;e6t;Rwx~+Mw?UT2U zjoiBM`rn-U;9tg`{pHH*e|Y9c|Nj2p{^v)3{eKfsyTrvx4CXjjtc}9yEGDyj&38S0$I~-iTO!cCFx~#h4f_6khQQfHZ$41zB0DF zFgVD##jcv+;gWGE?ru^b?fXi&z!%0 z{miv%o9u6&U)nmic=7V;_W8y2&FP`hwwn5)^2)57;uLR|BO}+Hnd!h0T~?gh)L7Qu zQgy7lu%WIjzaXu$wzQKA#l-gxe+AJKkG%g3F^SCUj zUUN#aKGCgoyP~uj5I923pdz!#W{ENzL10Oe8z_jjTS5%l19ItpnZ#cy+Z`XbTQ7M^ zD-Lw>%-6bHsGK|A+00=roJ6I3+&E3IE3BIO6l&(V5mjk6H+-N;LC(VQB&lm*8%G zQ?k4i)+_jZA^!S?Px;$anAjPyigq9DF;as6+-u`*KK-2-E=<&cCOJXSyA_cECaKSh z9?XbCn>NCtCY74zP577QU-;M8rMo9K0-@GF0h_Uygex?@K&_NWQVzl#b?M;^luP%; zk&PfdEKT4vwl7AsKUREz&#c86uCpA7SBNwk3jXDQ9}piWc%ccx?CE(yRf*o_0V59L5$4$&OUL14TNwb)Ey)5}b~m-o&)*EN4=pN~iaDQ?d(+bBjuk9IemF zE7m#fSg0{mh2qrW`HLcb>$jZId=xB@uOdzmf+ZwIM#ibtfw45NNdaLxkC;42JFpNn zz{OjFm@rA9)ksQCWfc6&_(I4R?8S>NHfz|%8kAU_IYB3QEG!87a=H1C5ce%aj@$J_ zoDp{>OG(OaZL*Z*)7#F#GD6+O={93|rk+_Xg~^dw_Sm9iMNOWgw@%)2B~g56{^io|E4^rGNgM_Qmt!=eDfx+_k-ZC;jusl|TPD@q_!&uIHU+ zQ$KtN{K}s_0|+z5*ZaW(`|GzHZ`{uN>UGz<&sKf!-4j3mEbD_8%f5VzeqQD6GbNwB zro6hA{OE@I?1J{pjQiY@VSdOk-jldA7Snhnth!KHR}q$$80oahl02$ZZ|u&WyuzE5 zQF}~mbBHbO!uEl=J1@WcxBtHQ#%BXBz5L$4{@W|R`YU~YnJFz_o0OH{&YHP?|LuSJ z*M;x@XyBV4_x$>sw!i$*}=U1Pt{o$9V|M;t(?|-Z9hu;3(sV-ri|M;j{}I_kS;h88Ydc;?C7C-1LZyw*BA+Bq@aJlua`sHbas zgmFbJBRwQGgTT|L=iuMb)#={ZAz+gkyQ8bKv)e1+=itJ`%$b#?3!AfN*WurRmDy1w z;PvI6#hHoKX<&!IX9A^%md4qh7;G16pbhrvne6K%@Oij{>e?v=A+e7ax_zh}FEp5m zy&2{Of!U!@a=~6q(QSQAedFEm@5u5rFbw58<*B+*QViL z2)Fyp;`p^~_;>8u=H!))wY!(r?_8RF`t;d{H)bxa4{j|0XmvAvi_czKe(v(n_98^Q zeB=C!S@E1R1a*H^cfSI?bVzp#4x%I2xdrzf`-CeF-HY%dLN z&Q-3CRIiVv4j%XP)MN~ufPc$oPnOQ~D$3H6+K(2GbubL5WTZ2>xw>$$jcq~e(VP=U zRGCgmvWdBMn!+?kP4TgXkrSJ9>AlDEhTGW|47Hmp^HQ6tS*G?>=cF|hJL-#iZ*Ekb znRJYt$lVw%IX^S;?sF5b-0Hr4rs4Di7U-IZu9~s-n&Fo6wwl7aveM&~$+=#8vcuzb z0l#KO8qsQ;;YCiRLlX)}%*!f2QO{Cv`$%6|&&mIFlQ&1w$`ma z^K@o?g|#gE)U#J6uWhSxle3zu2DTTQPfxjzm%+cZEz|W3|E9H6l}~g{zj*!l_8h+G z+uweJ(MaT;_05m;%?wgl>-*#HiN%Th9u5r1J` zK|0haEiNnR97el|<0|~?LtQ*M6#KxhZ*&p+Dx>DlEX+OmQUROkl&oGN>TwvS*g+ab z!oxU9fE5Vr<6nllO2E|w5jrORTO>$W%xKbi+;)WE&>(-ET4uGP=*r1x2?#mFAssa1 zR01d=D09;B(GbU8j^1J=sV|2GJG4}KFd|NAOE0YNPcH9}dP@DGjDA5$`q}) zz`qiMj$`|u`a0zzAO8Zgg8sWR(hrR$wvfwK^4VAPO&n4us1S-gRL2K~C%vEZmWRuun$@ zX#sf*)kww&%1|)HjxZ`^M~mnFlrNbIxt~|UzV^S5E=ew_!V5xzKm#@ zgmnO)1k5w%1^W0M?DfGfDmmoK`@@!wX}l1ee9?1-^=GbUNDtd-0p@qg)eDeIdIktg zfCg7Aly8NZUo_v67`2>pIr&B_yC*UT{zZiK=cEh> zJ1x$lTzg@rE+diCE(lCeyfW1xqIu9N4F1q%CTY_>a4VB5QEkLV71v8#05GYLGyC4~ z!#?=+JG`3g&C1V(SPwmA2h}Li31K= zq+HwvBx?5A5|}LWlnF%DGY@f}T^5>V!l@FHVjv`QpH=1uN;_41^rHPH30YG9W(m`j z{xne7fTkR~M-wFkYFQ;if}~J*oz|U z@09Mf#O0^V3G{GQ`5adw2Qm z@$);dXEz^Z!p`}m?_?E_bR6l6ONI5wLB-HP|1Y^u`~|UyMB6*IK#E3S8Vbn2vf23E z>qx%h!V)6hvxi6Z3p})&I&@$+?HKzH?AyQZfPX*;Mv%y88I9<1QmxwHlqyY;af*z* z(y4{D($4kLj!j8oqdKF#eevGv&5!TA@%`G4S&7CK6e0B!veFJl#T!H7jG+>zNS_m` z%r&Gn^~~QMUVETRtJ5S^*z;;7=Cm-mg)*iVofueLy!67_t+yJ-F2z{OA}p!O)O=}D zh9oI9K&uT<$)aowOI3y$;u#3bSZb0OBX#iLNqX9H zOH0$yYWsQ`W+r z0gKT~@kD-Qr6|)9rAZFqTd9ePWEV+LQn!sAO=@Di!z?lz;;p7&r7S|HrUf|Ktj7qA zS}IL+YBN)Hndz4NTzy8G%9~`%&o$>{C8Vc`y~*;lG?B-{VhGz=1q>%tubPF+`Z@$+8q+To*>Dlu^E47R_iRinJ~?Ut)^@84jelouiBz+I}gq-Gl`? zLa!2XtJpE9Y5pbZS%`@?DVcLbasOzO7U4D4s5>MU?Tv~INRUNnb%zt=F(yl>R=sU(2WI%VmS!SmoJe=g>|8X zShhqxsNELE)cPVL7+D*oRvnCq-W3|+7Z|WR41dlccAg3fJQNe{&dHYO^}7NC>3)R) zk)e@6k(jYJ`#i%w#hJEWCIsPyrf@-X2e^{vU%uRlp@;(&VQ?UQAM2>1Fuc%gnT13I z^#0fo_ED?BPoAD&;Xo!(ieYL&Uk*7G5Ea7tlo&}=U6MDr5@V`nW^pd=K`vwVhaW~( z-WwIXFFHi1$RLzx#{UThJgo}16-k~6T8%v=B^3v?H%(=>(fP%oqCkXQLi30{k;QQe zWAzLS7uE_$rqU&_!wF8H+W6Q=c>*f{LZkYQ<|~|kpL2K zvMO$*UOwLzKi3jB+pJnY>AtzDJ3A>qJ)CrZTYr5i`SIn%CznmnZDzf9x9Hn10UM>64+bN&E;Q8pe#1HPd-o4}f_<`-so2Dn14KH7^Jh`TMcwT;I zLveRA{k{9SpS)E4!}r>M{YBsJe%SVtZ%_RGCspsgl>Ojp>jzIdKYU_e7|A`moVq-b z&{`vHtc!;_&V&rFCfVcmrkJ_nPD)PC%p#)H;q@Z9Myo9hm6^W# z`uZo|T>R#bmmf(<&gkqJxclJA-0D`>@a*#0 z8}nyx^vz3!_JQfa)?u2H(FeQQhC4`vMquq^M(|); zLthg~S;NZ{+@B<2&kkq%k&^g}zj?-ISV{l9rp1g8XDL$_-jevWM=)r2OnSt+L=)#pK#zV{g0CZj@TI z6hqJ~SxLFatCFgV@;hpgeUZ^IfpDqgD$VTJoJ~Gak*G?tPG-F9PR z>Xm0sfB5Lym+uT*S?33tj7)NP7aiYAV-!aE-X&5^rh89KP^7C7Fy1)aQ{Gg|bI2_( zOiNEq_9iJ+3NkuOHY2uY5}_%`T@ZrJI)q)^+9T?g0o55l-E9W$JaU;cTr+cthF?y1VF=PlN2CmJ7NDZT!0if2>94_P-*dfpI(6;70nvaW*%T!xM zzJmB!VG^i~*h$1SvCEKvXu`#wPD;ek?zkWlOPF3kZYSq@RA2;Ou|*xJl?HL%M+nv> z?28X)yb;4SkauZuTk>vg6h>%hceg%fuQ3k6cb`cF z_Qqt;ZmD4)(O$C{@prc|4w)7HMgKkMlH;bv7roaMgD)C)^i#SBbXeqIXcPsRM+>yU zs#2I&(3C9#Xal)Ecn5m}O~|{VFuP2gVgTxWuZve2Y?Y%Qg*a3=qQhLW2#*36H2Uve zO)UMt=E^Lo|ry5z0@{$`^3b}q^il1&NFk@-k(1I#^o13jZt~` z1&O69Yd|PR3B}C^je?=BKv$q0ek$fiO zOiE^Waj>PW;9y`tY`jD+Qz+!*xG}LT0`m^RIJ|bopGAc8=N%6J>P>dDBPFA_PLo*b zDPfS}{iD5W#*C)HGq1L({otjIcs zGTkNhnlIlURjzM+NCr(PD4Q=#f|E0hp8Zu(&ae+ zOu^1kRh6BdZpqGeq$F|r_ki# ziO?=LGEFJSsv}L>$HLKWQ!L|s6DJgu{9j$j?iTWZ68)Do=H?2!K6?d$Kr*136r+!2W$OE*2p;RHgQp zkch=lB+X&D66`{A#4%3Jf0RZMB4g6Jnm9pvc!iRR1Pk;IkpXLr;Nc9y zpX5Q+*%cfV94}^aHojlrcV8&R z=GZ;K!MxyIu=VgWiTv&AZS!z zSeP{{0e(rbi;u#^Ex@l>$e=*a^`%5|!LYMV9>?$nuCHjR<1*|3bR2#d)foPz^@apI zb_CuRN5Q`WI|m1F!qwTVG@|Pq4!zSE5-UC!8o^8E?1>>C6F6@aS5TlXPk>^FQycK> zlYn_9F={!Jk63Uf{22uHX}&xHKg+6ufWWN%YEi6Z0yrDwoD;!bsnft#WTm44OT3;1 zXI~^5Rx5l0_~hw{FchToxnhiUoLlJWPzc8p7wzpiolTa?0&Q`oG}~jT%I7S`{4!B~ zvbCkk-d-D;pBz!1DXu9L*A*+8E3Jb~F^$EVfqIl*`B0s5qRF#0YFzD$8m>{Ubi1$3 z*)C1$&rPL0x9z^Qmi*wX>;9Jc*$vmDi-n&&EdS2qls9gepFeB3f5!IYO7c5*Y_DH8 zzj7txJ1?hw{!;Qs_nA_pe(^l~>v{K%^zOR(@ztzvKg#>;apuP_WPkKR#`_Pde(-MN zHy_n}@4bSzAJ%^QhU5BX*l34sb1wP(vTC?P+SL$ITN+tY5?NUgQj!&UB%ji@*C!5k z9!|Eaa&3tO-N~PR-TKwXRj<8}wY8!?Q76yOb`=$5S072v&&{qZE3dC9t}HJo zFCo}DySTEkwP$7R?9kYFLsRq6+){ntWKPrA>fN_4zx?U@U;ge$ZBI@{G4NZFlTlk* z*jQ1)B=fTTq6}~9@Zk9U=U={k@6pve4_|ow!!uW(Ya3m>c<;$OU;pB{_r8Ae`7d7k z;>T;(?)1zrw2lrnkDP3u7=(O%iOobecT5c)?`yB?YNTpAjvs4l!1GM(74SQ@HaD~~ z0|FCr#gL=nb)j%UQ~irmJXGKK$;qXOiRDQU82A;Uq<7GjEf@;||Q<1&^;xPOT#!Pf_fwUfCF1o0{67OLqnn_2lWf*{vmP)w7!`YfqmY+gzHzw253h zes+23(%SO*6+)z$Abg_hI8%nl&#lhfzBqdC3J5%P|N89x>#Hw3Q#UnO*xo=+_41u7 zYtP+SdU$K$#b-9(d9v~L<5RCbzxKvUt4|)TJbtk9`olBtJ-+hoH=p_Z-Fu(DbL+#` zuDt!|(i<2dgtN#+YdKiyVtuhTY0jjZEA3GYY|m_ z?!xNW#@x{Q%*e)E-|E!x=KRFD)urp_Cbw7H$NG5!bRQQM6=Y}Sp&?&n7PkmQykn3Cfqlpf1#=5XB}S6dvQ#c- z%OoTCSMVy!Q4C|~y+wgVdZz!>m%N19n4rRtOx#i^*;Bx8AY*B12qi8!IuxN0$2j^R z=QYk^L@Tgv5CC%F0A%hJea9+Auqgg;EbduNgi;?S*9J-Dfg)mI$YNry6DHwsU!sv< z#ui5+k75;uWMNpJKnbiNQ*ydt(i4Hnj1hr<@kt8vGsDB#@+BG){0jpj4fC_$GrUX* zJ$Et*BNnF53%UuaPfd38z_3Q&Pj)x|2g@HtT{a1PTX%Rj;6 zGa?GPmVd!%GqL63pC}upjO>XpzSOE@wDcO8E-8yYd}u$8XkZz_J?OvB|ImIWfwHy$ zz#_5}nMD_{uN|0u@RoNwAS@7hHxQ>c9lAT&S+rC~5V;H&Ll--Z!2CEnzN~2^V341! z@3phf%h{oLW-ZA`hvqf%D&Slwp286Bdt+JuAtj72X^3O_U1+>Y5OZO`6-%T-2-85# z2Z1>q^E=gfofrt=Uz&EYQ9;3+Z7ELNv05ePU$*SCW6w^PJ1oGj(rv-&Y}`?D!*nuK z2~%z=S7kJsp}$1i44ND-kgLv4W*hF%Qm`jkI$Wl5$qEFOi$2Ukcbq{kGOJjyLUBX+jkBn6wK38tP$lA05dJ+#FO@<56bt)G(eBuY zy`m`K_n=(7UlzlSdt_0JY1^lW0fE851KPNQy0{Pyzg*-ivj zg1IusbSyu>r9SA?_|Y$HSM9RMq2Q1-+b*MwtRcGg2;KEl#T~M1NVB)qmAM-$$PR*k z510i|B~2R57rQcQFZ@gGH;c)wlH@sk{EPBS*KmMaiT;c2d9O_Z|5DJd4}RnGY_M<` zX;-OQwghk?{)RXep)Ms`{MEq@xxm7@ILzC;mN17B@`Znc%<+*fCGd;1&5eAER~@zk zzaVgkLmKXu(*hi5PVkElrss>P>*5US&VVQ7E<*%^knmm8iAXY><^Wu7uBW|)-W1r<&Af`W6ef<4rJIS zxQtw3;=LCxJIxw=`!Plh!?yTL61>l1;K7h!dV7g-Ai;so4XGHNJ3c;6On(Nk*`fSZ zN5l#*%4o~YKT>?Gz2f+&$edl*ySjAw$-vSxol6hapZ_MM^VYGo_lNF%v;5ZYSKs>O z{U7{s<(UTuq*7x}mNqTPl>JESrcD3~7eaEXr}T$W>dW$V*Y>XQ&G@iG7YwPb3Qq ztGPJIjglLzXEcm9+++&T>!U4}NRwb3rFSyMV2;+CVvUv%g<5Q}hpDs&MJTG4Xrp;= ztcb%-kXC+3DPiZJEFS+rq*)(f()n`))~lIo9cf_plRe6)KfugGmjjg6W@TwJGUUn0 zGLMT}cwGrD2RgObVl-xWNsbEF$dO-3Q5ISBa+jTN@g@lPpXeZ0ncK;gV(6Oysyi*f z=)dG&MVPf>H-fb-#HbFp_+}o(@}VV%8Iq0AC<%GS3yoD~k2vO#Lb^LX_OMz`t{`Mb zGV@cBfn+r^@R~k^D)??h)FgP7I`w?3sgZ6|6 zQ0(ZE?D}Mfpxf?PtT{=s4`}-Z?&qHD9EuD(%mf4`6tLJUivu}fMv+m$iGx30Mh38K zC5+6&1uc#QU|DEAB#$~EjpP>SH~=rlPVO{||3a70&Ok|ebC8UQj}DSY;c;SwmT#dL ztcIpRX-wes4G}|4m#!d-OX64}z%eB;>IsU(H_oTm_ihMVg0e}2j0^R({0K0P8Ji0v zjWd=I8jxqMJ!`*czOiN%r%Mry4<-f7%Q=+EQ>-L2f0<&a!!a~t}HTS;%;(%s*RxG;qg z+VINLl;@*+X`jC+xxWbxAN%d6t`D9?5ib3~o0UKLp!kbd+kgAz$lrdG^ZtV)pS@E3 z;%((rpJb$y3hS!db*#X@r7Cg+0lGhYqSJ6~HS>)-bw7H4=pTMQ`ES3U{vUrh^WT5F z_R}xKb>-37DeBBrlQ+qonVy!DeY~yJl}xUImnPrmzx-zI(T5j*^f&Y0{q@2x{$k}X zf4%tIUk-f#vxQ%LfBFZX_rCM;@t5x8UpZr6oeFHL+go4ZS(>n)Y~yfYDlf2C)}DIq z#Si}Q$5(#y+jHOksQJ>l+~Hn(WvQpEFsrnvxTL5!JG(qLw=_GuwzRy0z{i5DyrP`q zimHyTk(v3eBh{^01xI^Fm&#j4YKPZa7O%H0-+cXhzu&(4LUu-BO?k!9qCA=@bJM&H z$7(98NXlxQSlsLySvt}*+%dT^zIn5>W#stS%K9^pZ@l@fE3bZd^Ucp+``)i#{`9+b zeS;_Z$z&etof|wp*jhW-(lFH3FvMWr9{9IsYN&arqprQap{22Vpl5J;bn)zIJkK-d zPY-P_j-6c@-aa+7wamT%!fSJ5OaWe;9Gn?hSf86*90z_$knR{43Y#m{G}=WsD1O(* zp>`aw#9=WJxc+4G@qy+OgDvgjT_L%+$q|k*)dZGjpAc6+T|s-PtfQ+_ipYaqa5X(#^9&x6VyJxHf(7 z>d@1hE6?4Sy?T}>fARS{=bpcF`Slmq9z8er(zDBNzdZZu!^xNLEx!5E`kRj~eEint zyN{mv{wMdodjINMFI;@#*2?8g{N6&HS#DVz8@+z+&exwm{pBYsAH06yd!H`8_u9q> zudKiKcLMFLLlEH~C> zS{rk{9aSebCNN0bYKn8a8p+7Y>1?Q;>?!JRvL4M%I#K3nDwPx`x_T<}7rT#NU2eFs zQgd?+=X3iDmzKWua_i00DSh=dbA9!b-4z|jI!8Nt$2eB=BA()^XpIav70*2va!$I4XO^2CYhq1O4a zt(Glr zTj0@0!5}aVr;sdiDoE?2V4)qD6e-$F8QQB&@TtIP6YTiD6ck|wziMPm*X6As3K+|D zD1-LmL&Fjx8M;dRF9Ad>gklFGZ{Ig&jwVpfG8~FIm2eyuo8(a%G4TsL8l=qQVE&;QK}J?jYMS4sI-KsG^s-63BHPJmY0dFURB4TrUPQCK1kYAuP^=t>wY zQBT0Z7;>saWXf=sjX?ztrFS+qI#wKqL7MN;Axi;(z6Mwx^Uuy_ZUlAtM}7S3Q+|PE zG*jLs*qrx)^e|zRfJ!dbDDejS;1Ljpf>CJ?9NbImuH9nLfsnCLT1A3E%|zq~SlEUP zDvL)TW=lYqTq?r$iBgRC6?FIjE!E5tj3L|_g&fs2(4V<5dW}M*Odtpg7c@}pQ+rtr zz%`BdOT~zpeg*CC^c3$1^dK;!vRL}yS1gSB-Kl`kU|x~$r3o)bC5Ld~_doM5`^dqB zR!MYfUKFnmxt6#pw%(EgI^tP~M$$zT4wJ>h#azj&JXSE4pehW>!dO7omQ6~6B8l!K z>X{@fGE6v|`^uW`MF^&~NRiTVha242IO3#$si zi}RTa7$XBU1iKewB?HxBrWPJni(}k|5VOKB>L6XNbjkVa#fNngXcyGoC5`YCg&a_U zhjDw9QG6FOuy5keK|?%s*dmMsdP*6A`ng*jwG#v_3U;XcO;RLa#9S)arSoIGBq!Ni zRd~pv+M|{D8&r`Vn=G4a?5uDX(>%QaX3bM%Ut5)XG&JNgV@Qhf3;agGtw~DE%)1Ry zNV+Jw$hf3kaZ4zHS3BWXbo)kU7|4Rg_RNk@L@s;P_@Cno9O7In@QX7!HiNED1;dzt zU)qX+--twwPYVWP1-!*r?h!_;BKyL>;S6N4NCX@<$J6SIs4XO1ITQglS*SAs1m2?# zgZKAo<4}Y}8CLSLcn+c*OGKLHuuFpY8{m;gXIdiDO|V;#Y*IO3uZ#?+&$!C9X zWY_yWMN6$F;BbUWp)1HM$;_{g6k88QIkfI7wWCySDHQ86!=#>rQN~cQJtD#GAC|B$ zFfK4s9vZ7o(7NJO%&@k`=+Xk>?S~UAY1K`2{Zq>1j5wPk#)JdX!JmWNW0pAdI1spa zrpb==A{Yb^fPcAm?@FWfpK`7=N!!xyDQr6&@wBIg=`?>zwWk ziOw^%c5CeP?d0MPZ+Z9GyC1DQ^J(j;C-Cpdn?KtA_`k2b^N0IC`?pX3@jqAZJlsWI zU8)!UwUBp_=Pjx(D6J|es>rQxIMUg5e3+h_xgm-niTxvO%ge)PvSVZIG~xP!rxq87 zmzPJO+RZJ}Ku?{!w0{2Sjji*mYYft5?R}(^*%PhpwGGFQR6)m;c_n38*||w+Y4(f^ zrw@DGZhcaciE_Dgj&z5`YtcH1EmKNOvRI8M&LB~_b!v|u1g0bwdAwN$1ql&3M0mhNUAbYtwlxpoE%*yFO*q*VTB@Gr{TL{8WqEdqOfPHUu`=g~MaXcI2J$_ukp=1$c%jKj;0O6Begq3NkAn|9 zRILazXz)1%XcWtfBS2YI{B0_cXL25BDi(lG5CWO9V5Sacip|f~rLLVL^KBdefJ|qdF z-8vvP@XI0?mrOJbagqgrgX2X|JgWr4LP2~KO98A5z`r~c%RW90 z8g>?xXmJGGjkHa~N~}h~r4%eo@$}Fggdu}kneWLnrc569ix1x-sxe5z|MJ zjh29sKGA{&i*+IRm-$&jCR>VKPhV2y5p!8-d`3!)*Tdkg@ML?CQ>!k?;Jl3ft0+tj z@aSW*69ZDLmi8KDO?gydR(M`I@Ecx~8B~xesw)kt%2D*z%ZE>dw3dhV9o20P=e%@2 z`|(B7jXC?BW#`>B@#%i;)j8*L8}S#$!SUW5_lNhK@83=OF+#F`{?Q`RD((^84S6{^YyO?>@=9aiRFycFM-QVR}G4)pzvedmSIXKKjuc z3-7*KKQ~@B)U*2F(St9(zW3GF4W~CWbw~A$wdVRNb6KIYI4`rLu%xuOqM+bNem+%Q zSX`Wum6n!B5YUM>f~ijR4=p666rDbM^ZfOP?GvY~`j&E9XP583_u$~}u$1YaZ$7nCxwu=tlYNS(xaW8$;oR_|R$_yN>sb^v|7| zpFh2f>N>u*FtN4LyD~j+dj9149Mw;qn(pNXr-XUI1JlF3Bi+==i9Wo|z%SjMkS{6F z6y2ckFO8p&FM(P@C>AMO%cEm!lOrqRy|ewKL+_+ZjncpiEYF-fwRm}J`rI1uJAGlJ zdvWsQshQPl=a!y61N<&t1EA&yH)eQ*#*W&Srs|QQj@g-^vlrJFFRYPv)v~?Vd2x00 z)`hhf?_7BG`D<^y1pJ4}Dy?W`} zZ(jS(d+Sf`pk1CA>#l0AE3B;`@2hul0#ciO_Uf(ge*4^~@1J`AwR7M7*6PP^U;p}( z)ps79|Mcw(pS{z4eS7B7orTAD*WY?!?ak*qo?fq78md1%Ir-r7%nR2h?p?|_+3090 z$Q`b)nCr+qSy#V0f^4cPPH$bEuA3b?Y?8}z+&Nu!eHWKeep5TDTF=j^>$Anxsm}h| z)z2PJe(k@*7)Kw*SLA*#Z^?#v{C4e<$ESh3Ve zU96$W^m$3P@~p&Th4zYUuEQPm#hS`&`g}FCC->CDzs|O*#J+~3PcP@L40|U#+HP*P zU06CgeRA~b_V9(%{aZ_XRQgtDsFNg$FOTyn;+Da)r%rAz3~ilSx^-#h^0}hs1||cS zTm-2qS^`M*&hneoc^oz(}{Kw9vPYf0?!eZ$h}tLpEvkNJ~Cnr67kg4Jj@T{^dXT z7e6J_`aobhf_+A4s1UaGm5+8oVC>LreO%1drw@MlF2IOj%3CC`ImT?6$e(GsScM^F zIgws*bjyO1xS&~QfKu@`<9UXEF)Z`G65IvtqJ{Af0=&Ee&@-4|=cq7z(Qt9#AwpB) z=pCkjUoPx{UvL2ag^|g*B~}Z)81;-UVDOflD}I}#m*d_?D+ht;0tSs)=m3P7vV@hI z#&G}OL%d9=+@}H~bNdz(1O=Q|#5^jMoXlsQKVmvN$iBW--vC&i_uQ!EvIH9&)@A4w zC6}`^1UZmiXe+Z4_dr zZmrZ7W%8T=?J|q1%66%9Qefc#{}Sc{6!T`1%OohjMoJuvEGRh6risKRt;hDP3^vG+ zcZ1}SNSVMdsJls@7$gc^ofL=LnfFp|2=?->jSLt%RPZms$Sh7!dm&%2mxTbT$a8J9 z$Yay!e=%}z!0%dT)v*eFvE`NEhWFsREpH^Rl-0t+MfvI4XV{}S>{k1$7o z6hH=hrMXs8qiG_JqiH2gkN(Rd@Cpeyuwy_yD;o%6kAW=T*c7!mP0tY(m|7MRvEX06 z!ALj!E)I9f))`{g>SM_JiuD+y-TGLsk;4-vADW z25;hI^?GP|V{mvx3~|tjNl9wG(c-Y!QW1Z(*7O8Ta)REgcb5ePYqaUrJ15WWIdZ$Q z|8(8ni-&GJfBUPyUA**OP*B9iNMQ>pDvV7XRc4ycmYiSLG8Qb$mOJaTw%j;*a!jIw z6`5d7kh@~V=7a=ee7s7jv=W*ik!scYWR)>Z@5oZwvL&XB)zRv<;klg6+f*qT*6cj7 z*+60~f#>`kVY}rIDuRo4gI4aa>%D12nnx;yB5WFVNO=yAVuC|KlNr+#gxTQjzy}k% zQf$Uhvqoo2NYq&Do)mwDDXp}%f4|vR7o{eNV#dF9I<0B{rO*G{rLX?y!h=6f-ud0t zAO6$hKmO0DvzH}iTSirNUUg+zLuF%g_3&`#!oeP%H+Of z2DX+)4=jujJjHQ#W?*Wvci+A}Lqj|J2Rqt!Hdfb_6qID8GlP(7H9Pc1o7UjeXl+WJ zgML6AlCCaUr*{(rWVHFo*>*ElEOTl}ZWr5BTxmx$fvc1X9Rwx~>G4oM1|a|>U=Rvi zs0(kBL}Aeh#vxTA`^UH&*7Gs|yLUO2|q{%<*bVb0s-mI6|D`6=kO} zcZ}JXVOu7S6)8>tGh7X0Y7)#QLZ?IJitr?5j7l4vkoZDG^hS~7h1i6k7%|7tL{*|C zS&0cOJEuQXCSu6AH!)4HTm$BPF93!^?seOpHUC;I(FW1k*J}S!yf! zk48xh)k?9;ic-um$woz%o1tblHl^vV09Nzg5ln6sHStNZa5XK!dX`YV1g8V$DR#hF zk!mBHffPhA4VeN*5SRuiR$v~7 znPNT$d=84-AT)y$e=UoLbNNqUTOeQ^M^ESDaWS!-i_byf&|`aMF+G9pnX4%fm@#Mg zm&6t11K#AufZI9XeZukt{PG7FX~0O3B+#x)C#+-x=a?AfUb~5HpFA(v8z5h0HYI5G zXcEX%?V3VA4hL3@J0&*Ntt`xCN%J$cm4%YrRDP=|r^fuODbJxvTv?u%SeCms%_gfZ z(bd+(=jJFX%T;x?)}1Ym?p+Zzg-N@%CiZNP?P?P3ZPgqc^uD$X?M5!{jy}+x_QuiV zR}UC2&p59iOgJ{AJU0=u+%GyYEIvCCeSAcIdCvISvi`axFw-4-a?13^ zS-OKa|M}-_fBIGLKmASr|Nh(lfBw79|Nhq%fB8ktUw+A|`@g*emDR5 zy_vuL<+iu4uFiBaci=25@Rb#nR9BEaRa{j&GJWva&G#w@T6+7l_x|yp@BGLA|K-2` zQ_m+)^KM*DyL!TQZoz(TuJP#`>93z@|HVh6|L)h5|Ka!ZfA_o7fA<$J{p;Uc{Py#` zm#>bUIOng}obJonT2)(<@p6AIk}~!`MdV) zoSa$c9hj-B-!rrS@=G^97@0Yr+t^puIX`#x(XFrk&C!?d=ah?WNySrL?cJA5NvwOU2*JwxgOh2K@^!b9o*qg@>&5a+NnmatZcyQ_P(IX2-mgbKg z99)>{TbkZEzpry~66LOQX=0CnGZPGTGMr0s(%{6v=d{{E$L{IT5avDaQa z{K}>NgR>*Y4^5pvIeg;q%;mEOuACe{u`qUOVfffA^+TgaC-%#C z=*JI1;A79;JNEF-kvmtXFC5-8)xUF3OYg32W1X#g+qU&>t)Ctlm|vPb`qJ5p5AIz0 z^zrdepB($@aABNZ@qH(gS$%)-Wq!O?12Yw%-?-=_?5H6FQ0^e z=kHvdefvsI|MsQ>doy}!cAlN+yf9le)4l!Zcy7-&WwE#SPCp)YuPKPH2 zHz|3`kR!4wdNI75n&nZM)SiNLmCK-X8{H+olrmpRWp;9X5o5nC$7f1s`_czncV9bR zcVM*P(7uwne(y+I^4>Pg?dhY1dOXufaxjb|A(zbmgJF088l$4fc`U*U0UaQrvRy$34U^g&Z z>Pogb9Tu%oEfhr>)dq_$V34M82Q1*UJh!`qB60va0 z0-0Ar1ucyRE1VvPIspTj^TicyH&_$n#4-R;B!(3Q2{(|6aFbf$$Ml=~&sKc`O7@Z<<)9Rp@&`oY9 zm+yL}gmo%e0++)fj7F~AwC)8Z$ydUhF(&G0@*PDeLb2iT46_>595;rp=X+)rI2t#% zG@k!x{F20B(UTPznr2e~@fS9Se_4EALh=v>+yAz!Y77~?f$r|JD3eRe8YRl-m$ljA9Nl;U-_uq>2WC(L;GNND|7s1o*YcDKibVD_MxM@F|P0 z$Pt}4+G`~0nJ*OYv#tf7tqMAWP(^7TSxeNLRkO*U2$Dt%+=D*i-1c-5d*fI5Hq#L6c>}O zrLjnqMVzcU(B7MvW2H5i?xBq-GFFsNmsFAxutP(^+zANGr}HUzp<}#y?9d$JJQfNZ z(SL>IR0-qEPB|+v(-@ngl;>EP_QfU*DO2IZ5HVkZ2S#KTw}Af?KgFaO$n1j3fpNb2 z8oM~mE2L6K`7H6dPLx~_7{a9jDRjd|(%*!E-}M_H-+%>rZO{w6HyC^KiulWsPhmwz zgs>gN4idXY><&?{DJDWa0;|LZ#9z{(IR}SVty>=iL5GILt!xaD8ep-zQq!`T{0)go zvZfW9y=CiSjEY;AO1;}Tp6@h6d}?8&|#axgV%>_ z-_o+ZZKSNeZ`;6`4HBPBmo8SiqowxHI3p)9VryiqULrBk{zbsOR_91knxzVpL} ze2d4pGPSU=qNS&e;$g)7P9S{-Zl*A47F z$v5@%#N&S$f8+N@p8RR#<}WV(?C)>=@=s^qzF)hubLhaq{;7$cvHteX=E1>^nZ4b; zJGYE=?^to1k?6Utb9;3|RaQlzdvkS8V_gBOvMe(<$HnsdovEn?3UiZF3}&J-EJ_VS z@hhhT$&=9;RdHs8$f}GnE0M|AGKE{YN@pR? zvH}tn?jU{$Ah6PDLP0|g1Ad`n9HbJXk|US;z%MU4@Gp)a?u3jBI^Eco)X=SJHABIi zXl-U^x`!=m_9WS?gMZN?8MPqUiS#PkOOxEmY(D6`sS2kfPOl?*fXo3xeiZ3WG%sQ7 zq98pf*JG^6k>{o+7Nm-@ouXV9CN9$2kw;aN6QA#qm*oP# zu9kXjWs$7VpO~8|@_7`wSs-wfpFXlo_*Y))(^Ti#8cOx$utO$>5O%}#<=}9kWpkOS zro>!VuB$2v@YBg!pIyC7dqSa39G%&%PFPT*helV3un-h_-t{ATnc$jMA5!deJ?25A9Xcs3A+ z1p@PRL2tU?BP=p{0jLQMR*9Jx#*KiV8U95$28UTuda2B%kFm&u)p3}g=|1Lllk#Fd zIABYbIrI$Eu}=&CLh;zVxpUm$Y?`s#zz>|N0$xw~0H!A}{39qc{L7I|AyzC6R)jet zNf^oBRtgtpl=|`avXXX%{Rz+(HhxXY2)&Ga3|{^)JSV0asZ?M$7()~p@AlH{w9O^9 z5{44djz+Su!Nx2y!a@d$>&&!R^@Mua3;*++xn(s)#%=Y!J-cmNx47DO=$aa$i}O_58f}BSl%37-yBdwteTwO>uz@YM%X0+} zE`z$F_H376(#j*ptJA5VMxqW8^ndw%yt z-yeS%_|tE;{N}TsfB5ab|NVDe|M>fk|MG{e|Nh77fAe+Tub&qD`f2qazR3Rez1rV@ zmjCU0@Nel4k8{7c)AH4Oi$8wR`O0~HaZbF$WcPXfg?aAujKYfQnynoQZ_)gX4?g{` z|9tq1-{1Uq|6%`k-)?{RZtKSnJHCE0{#W0&J-@%_=Z~A8KWO{m>7GA)-S@A)8~Ob= zlRtbh`}w1ag$YOfmgLfE_}8CXSY1$DUsOzDRa1F!QGqWb&kJ8<7UyOc=2TQvcV^9S9gr%m2PgUui3q= zX{@JfVx)g;WT3Bi@W{yv*Ka+#^}*M-o_v4n*{@!C^z#e%pD(}uWbD+d14mwL9G)-f z7_R6VZRnY->+BPng}d9k#|f3%(>vX>d#ZQr&@}QcYYNHr*wXa!+|u#Ir9%hi7Usw2 za5j$*?4Ru3Ke7A3boZgzJ%^^@-(B-#owIv^Tu_&3-+^%|ih5b-zbv4bcXdqmvsx#5 zdk&04!5j%b8azDB_$NN+{<)#feS2DmcWxhSYaVFdKGd;uqL0$yxr@hV&L15=b$Bn2 zC*V9i+@bKx5*a4^8Y|*gJe|a{j{7#DS5i+5YAIBS#nZPLJ#w+0#0IX!6vx zvly6<-g;^F+F62&2M*12?CWprY++IJG;!|e;kRF1e)!hXtOGp_wSs1_Hh2*O%k+b-hO%Eof}x7hpwGC`^h_JKE8+kTRGKTy00^5sIh3@_NuwA zzAJ}EZ=51VCfu!aY%V}lwUqjDX-%rlOWj&hGSr&ePoQ*D=|WG_x#|Af7h10#YP_`A ze&a;Z!QpLZ=Q}SQTzKQ+o`d_~U(Cz1%_hq>o8Y^v1gG!s|@HlL48zN~@ zRdJd>9rH6vC2P;eDx z!Lo=O6=5Rp|9G-2P9Naa#ckJYWnM)@o&mY};cDeWH!oEwV`%fMo zJ%4KG*x`ZJ9nEFswfO}_-t+=5;|F$)Opannm|;HzTCeQ?KM*PM3GRS$*6Bc zNF}Xt9jU5fDzdmAjAZ6w={x$LoFv4UGQ(9mPn~pD3wwjQ?^MmyO1xg zhIs*AK$ym07B})PR>;~_LX$1xa_A;DeSu%QS;vSltz2rP-iTnxIX*fJO&EEWl3s}< z76c9r-xv`U5+{m+e>a6~V1-46a23yg@g`C&8C^1J*wElVngs>_GzCnUvq(_A3BJa& zP0kfL*a*R}u+pSQI^i7n1%aV^VxI#(Iw337n}T%3)jJeShc9zU%xVF@cspq$;zEUr zK(3l%t!lQE3D5vMg~>8(-Y&a3*#`U~$C$isQn1u6iz?Y{;&paqj92AP#r90v75wXI zsPOOD5^guhvQsTp1yo*Ad`aY;YfFW`I)`PgFHsa_Xv=--(hNgYc2ZGVe7a?wQA+Q2 z_1;cwA<2zJzK%Ltzq5AL%M0A$YAH%I@Jq@^!0|*o(WwUNOF~@&1qVBYHwFJQ*Ex8Yb<)); zQBXqU3yS!4Dm0p4nnYGf;)5c?BCRG(P8O}K!FmnS{zjcLND`+h%%q`)M5)zU5#dzu zFU`MU$#S5Tg@((3EhkVgL>!VV;|TwX{U**qV9e6W!sNJg9mTurlcn%4C@RUb#bp^; zh_jF{9|<)B(ex-$OiY@zz_Si*lwA{LSHZu6_{$WqLl$9`Y&68hxoH6w<8~$~iwtV0 znGUA)W)XeFyt$GZEm@_FBk!8Nr@+v0h$o4!zQL6U{}Oyn{Pl*_R46m&`$9MgSCQ=b zgv8PU9Lmnn#*M4jY*@W2c-`7i%+E-`s}YD_pihmpW_3_xcz9eag9>q&H-sc)-iV5% zZJZq>OwnN>!OR113JDF5id(Zjc>RVDae@rxSF5*E0jxBp+P$TgO z+Xp(wkL1;N_AkA0{KoU1sY_pc|8Kkc=crm@ih#+Gh;UJ4v@9qnxUOaJ+MQ3D`<5n8 z-AXQQ3r)1hOzGhwZL~-ymFj7~rYnvWE!D&*%uz~foF*koZcEUli4>`EvXoeTs;!`| zdF*K2@X@@s>586%w$k=E>WYlX`jk`(sdX+h-XX4Ir4B1bT&_#yb{&5a@StELk&1&O z!tL}sIh`hxNtKio6@d{_O1wVCZ!)oYF(MmBXLBozE|o34q-l57=JwvD3#adXz5m*m zbJu=-_JjX$>cXv+t%2SU6z+ol#!g{(x&JfDF%nj zWJ|R>y~!j%n(aoO+j(sGja3e<+NqOUm?Bj0W|B?Kxz=USrSR%vqEY_UEEfl3Rq}iJRt~AUrr+sN8t-Jhv2A6a}o87SvQb@j2bIXOD2>+ z?em!Ov$UvSIqAeK;|m24Fiz`=eTi8vB7ii7*`Do<#eF^M(qeCGo1wBc#_MAWfMu%7 zLnEWHSDcrcSezlw_ejdqBXaDqCGLoPhosi0Z7$U{SBT295(-l#MIJ?YCS7UZwzAwu zaWJ17mTW*cMuuaF(_Hc_FB!b??&QR@WJ7*dQf8_)CqtE$7H-mDT81$>LX-qA^L&ft zhUas0stdRi(;BAH#%Og)S4yNx4Na#NmAL#lVmZx^R)fuzsM3p)G%_PrWOIy0udzC0 zI%BvbF_iK#gI<^7iqUG;(Yc^eMzVKmBuha^jg~mf0S#A(2=+Q6Y+7n@*!|z1Y? zC97lTqD{3C)W8bX%R_0hqa9w87_OC34UbbA{ggMEI}Q>>5N}AZ6?^HhA@<+^3v&^| zEhl_D6gOgULaPOY`Ll&U!!=?S zgd1y;#~Ko&viA)df7i-zhwc4hHOA?YfTjVibB z!kS>x#c4J12IHm#MW{j(uGFm&OQLkR)~#^{bAs8ze_WU>kpwVaSOp`NMN5GfQ^^o+ zVDd;9@Ud#xJz!HBkv&SU;{SzYZyW_E_-R$8WWEu0!Gy0UnHnrDFFFBxv%bWSpGxGl z(GpHk8cyaI+*~@UNk(AwWrfiSsdoF#$|irbJC)6-15p?QE|GWIyXAU znOK$)mzT7LV_6oS)X8 z*{3}>ZoP3Z`Syv7Cs)+h7tL>-lD)K$^zs2t)YlIuUfG}g;F96i3EP89mirfs?_O{| zx#s!u&6Lkx_y6L)_nWs>_g}PqbTjL__dU<=*+0H%c=WRMqt}%8FUjtn34eJp_U7TN zAKtC}SD*QR@u239pZEOlzij-ke_8&gADjQjzi#};KhOHz$G%^FnD_fnD*onYg@5&F z=JyY*&#wD^cCX;O2RNwnKD%B0?fd0l-}8TPt>&Yf{o`9*Pu^DVZVs~QEotQJ z`Hk+37?pYVxhtRi(?8$*n}3-4`uoNI{5Nese761b4+ejHKJnXcd%k$m`{jp|KRn<2 z&8N$M`Kyz^|MC1Uzni;%XUpt#*4C{~pMP^jWm8poZAk$`nPvGITM&t zwvBeRP4>2qcQ^0tY@h1GrHtA;a%c+kGhtTrB8@Lj(62OeaGG{J7A^4oeLG?Q-rml( z-EHHGQ|DiQ@z9l%6Q>qNmZyggP7Ewe^v;d-P3;?;7~3~5OdR*lkBlFk9-SMWm>O7| z8D5we9NOKwt8@F*{JsOH4xWGI!s5xr3CfEHc8v^mjqL5|9N5)4+SfKQFm`tN@SPiH zp58z7@Yb;p-#z-|K7r3&=Z`cjjc=YACb4@f^ zNtc(B-d0{P*qqU`x#8qk#_~Y&{?499Y(F&Jae6-`$iwFk z?Z0w@2rMB5>-6D+SI!9Jd-A~GizkP!oSJ;~^614=d(WSkyKs7BXt2Jzs-n24Ff%hN zIk_;^<5H@8W=p=?m1finPrU{$v!%=eQ_&0fAk?buM)E+2;uq4Z6jB*6fg~hIMa+{D zxTK_dWW^{8_!9~Z2;+zjEO;M}^iQeFE0e;=!~|_2g`B}pa#JLjpobbuUu$j2XzD2KR_{&5e)MRgT0bCksyl(nubJy z!CR1x=~_Ix=#|W?!mR;HB_9@57j1~(Wl22G@fv2J)!3Eeq7l83U%9%bsz@9gBNfG? z8PTpn!fb3@OjtxjWOQ^?4AmmBLNFBLh43#VxPrsbB8yxpKvJ-UlckLA%mXG4ivpIF zv03C;WK$55u~|Nm8bNT)ntLO03(GVPYD$*^jl+O2_zimt>i^0JrG(j{l_6*$4U92qX#!BpH;#Ld zO(+w(9Jj9fd=k`ubw+=E98LZOYnQ`;OYW`H}kld-HpDC`+<1Ty0&NNbP89 zJF}G9vps!ihZJ*2U5;w>ekcQW9L6 zvZlxpTI~%jPhI8J5Nk}zGyn_mGS&*&t+UH1En4GJ2H6r z#^}gQt)$Qnd$IyOM1kbzH5L);1w%Z+(FuMl%!`MaZX+S;*(8l5^NR8&mx{V!@~om< zDn@-diaa`oe>YMJY?jb-#1YhGSXh8xVz^8R7^fj(ZsZ|tu!vvKM}z0<9SJy}*CtEX zI3+>0_!k`Fpk&c%w*>eN-9X##Y7G5&_9KEfMTLY0_?OT(aG2Y<5&i{i!#1vCUN|gx z9X4mOoL>l9wR+VWtQ}&$1VNvThg)!>@|Hg?EDo&(Yy-8ft-1p+Gr<-?84;^}?q;)(*Y8Giyf@72$7_r0ek{~2YC#fv)3PWs? zB}Q$RTYa?g>XQrA=G+L8Em&sRlw@xhIyijlmegBUGqAjC|K+OAG58lH4#or%X3T_b>Wh|LoQ;ev`GiF2(A|@}}9- zlkq33lQkNb)@)bffYMmBENnuo0Gn%)^(>`b1HCeMD=;ibt7ph1L8O(yq{4&?`=To0 zTsYCm5Tqbq_CLvXK=zGRQ|B7X&Txz}KESYnig}(4g*gjC1r>>qFMXyQg%e^NR-Rgg zDVUY1N$!@#Ye%>=h8G2P1~~FE!H%fle?~Rd$oX*z2)xoS0L4JTP>k?uq5`g!LV}`3 z#m*!MOo^evxRvZM4X2+OhPAb#E_*EpCsR@3suB;@U#`BUgeML=DVQE61Q<9%dw=Wu5 zOqLS_j>}1r6naG^9@Dnc#2TNvDPLTjA+5;{$xaT~s*Aqp2_(3WkNXey_bGj}&XQH$@olby#RLws})Y z)Ar>0^&QNAM`JWE) zD;5;|FSi52ATazJsu7cv1^lwL!Zu5k0Q&-~GFgm887-J`Ar|}_tJ7~3%Y$XAuq5qj z5nT}$rp1{PPqYyoX^z#XS%gV4Bh2^9FSf9ate5kE8S~-sv)Rj?^Akue&cpM7n6Ax8 zwdVWD^tKgb8?!Sg#=`ADdx9}P9n%r@-yv4DGSADLJCPcU8tKdYjP%04NhLWO9p*LE zWtJD&w>Bn~6=Q6WWT#6DeVCkO6*yN%^J8*t2`%&W*~i zE~;KVWV>_LdixA3|MOe9pTC*&*&DfE-7fs*or>Q)$@$q`^W&GYzP*?8%Lk^XFIhf( zt@yW}c>nCa>$A7j4_?gt_CfBCk3C=Ab$t4|`}td*uiu7$ZJ%7v{nh)0zk8JY#cTHO z9%lUcr&)jaBJwY?0x=r_MhD)K`ZBzx3Zt! zEcoor>_;yb+<&q5{Z}gAd2!FvJEwmAXPfs=*)uX+S-Eu)A`?gJNDh@yFYw)^R)|=#}4L=4yA2x z&S-2bsc)<)E3YpvsVvAT$<7S$Z)v`lRp@i&dhHd3zJkoOE!E{Mb#+riL&p~mc=Bl_ z$Xz(|^7)$|?ifFJ_~zIB7oW|(@$<`H{^`K|-yFF4NoiAmL0(mJVdXBLf2g#$F*m)$ z=PLL6%JNH!@+)W#Xxz~~ap2_6k%{KM{-(Ze5V*Q)XYHO{d64Xl4bVEA|7&{TkbyJiP>&k6ZdU6VZ|Ht*iIM_6OsD99ji|MVaouieBu zuaNSt*+KZXYkrs!T~_zvD4u5leiz1OPb{+LkM1WLx@)j=-}vs4y&a>YUEPSl!@VOT zeM93z3&#)4om?6{GSjoLSNNi{LsT;Do*M3%7#$cN9i5#D@Gm4j2>JK5?QU-be*1TA z+tJo^;_UMB`J=N(=I9jOv3q;Vw%Ya`4c$HMlZz9lUcPvWS>QXboqK%m_y@P)Uqsu* zcW*7c^IBkW+HbPt4F7=AL}_i)p>BVtY@n}C&iTSvF3RUS;=~z(^;CCQj=?M$T4ir z${pTXe`2)s@~rRJP}B8;V;@}Ib^UPp{O+;WPtM*rJ9F*i-jfHYtYU(@wWqbCzon~h zTTkycu$S4*rrNUf6f5&s*iHSJY3Ux9)ody#E=1?GdtDBiSv+=6VV03+fMl(&itxPk+j@9<+rcU9-|+AFmE-X5)X7C0 z?_*5+o0drusy=xKAkqP`-rHPqV zbC%tjtkY=asFYIrd0F5po8;`AbJ;*%G0jINv!2pk=7r&3_=sR(h&Yhyj7~}GP#`f0 z>;;Osoj2iM&N&Gfr@0aGW$`gAJknUBh0$Q3(-Z*fgw-Ehi z17^lYv)`$(8Fl!L#W9iCj3HOx7vU*3G6Fgd4E_=mO#uto3;g1o7FGf>Dr34xvl7Uf zy9ErHnPreRz`r~g2%QHRpl=YE%Q+qf@EfoYa{};U9tIm(obV<$f|dx;QhB1qgi<2N z!SFBIE|WT3(2S9dP=A+ ziKrz_v4=#v=u9(VahjT(w9YL%PcNmkHEg2!a>cFhp*Sh2PK58OAIITbAvQuoiu{( zj5UhrwMj8SQDM&F{H;TM-s>5oR?Lti51}P)yrC+=IbT$GFm8D;55tiVWR6+oOjwgDU6&>k%+HMUu3bY4T3i(J?M6m` zaY3`9LVxN-BEO3KtAOnpeHX)nkZKhX!C!z(CPV+l#lf%u@VkCh5RA+(_Qv)6-2?@P zM63@9507C3hiL@$hA_&!$Srruj2X7f+Mo?GWpYtX`@R#`?j5@LW=sFnr8gg5x&3_c z++BuegVsa`GM_hWV9cKOkpxnpLnW5fg4WLIOXmEJj>Xq@%)PQYULP8#WP$!L`$4W`gD=pIko)S$bswY^0PO7_P<{K>c1~P z`qy*!zx((f{;_^wAkFPbNp>?h>%6|qCmSbTbhjh@|?*+ z_9ZhRjCOUN#$|LLi#ccE2>NM*Q7#UEFh`zmS&(nQFU>80Fs~PZck!wb(0>IJ^@?9w zknrSe!wTgucygFbQCLhQ*yB8*qm9fl_T^SaHng-JBLPFfI9Sksr49opJSm}+!3#V= z*$Z=+z@^?d-fAR%nGj|vldvv(tize$PGx>U;z^NuQ)C%bpgQ9`R{ScgSg$ia!xfj| z1{0)tS&E`urZ(t7BNP{>s34hTy23LZad{q1eUW8*l^k8Tr9#tjw?%#C`b`k`a*IXqDo(UMP__ewx~MCu(Mv%S|hD54Jk->w$+=qR>tP1 zS+-S6OMJ32e{^|46=EB^RsxoJJu`xe8wWfj- zeXc*Xywp*cpPZlPEi3hu6gvv?%-LD$G_RhXiJ~%ZL5bB%)UD57UYTFBS5vMmuELMWBgr5>pCSlGi+BCLjYk2`X281car`cHR4Ki#e1c>1? zSLda{#mv9(w?Oi+z-0*TZU-a43=RRd>`O4Q!eUre

W4kZ!4oM=XYO5mK=pMd*N5 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

yjUta+KVnz~<<^}i{_iyZ*vZJB-Zk!+NJvlpi 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⩔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
  • =)IwL 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

    gTm;Tn4ewURv2yFDt*_YPHwVK*f+4W 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

    dYBO4i{Twukoexe9pdE{?)xwTDzN*# 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�Z(1tozyb-c?b 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 z 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

    &^%yt9Av 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

    6Hnt*}hiXJTRI6O0uNn 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�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 OU+U^;Cp*pJK;=Sz1%#_Yu2gt+0ag`uAzV4G zi@JZVuX_eohH_abmxvNYW&c}Sv3OQOgCA)ny?(QmhpFS=%D?KVIE=dR>?icp6efgt zMteIY274w3c^?n<3DMd@!HI`_j|cfhdN>Db>`01*Pp_-BIq{;jz(mG;% z3VkTm`0Xt)Db;px_`z8k@|CHp1Oo3PHT_PC4GI2byH$Z-o*Gj2rDdy@Cx{r?wNv=a zkor&YN`i&$_U|PZ7N5vR;Jr-UUesjHgI_ck!}0j=I2joSIB9(C9Xzb89Suo7Wox=i zWV6=-<|OCer-$=15;n$6j*89X%ueqit+UX79qp+^Kp-=ZQFaDMvp}XnBw(CyNKDOa z4E(}kp5%*AvQ>LqJ2{#-XgD2TW9M=>?qt&0LZA3E z_Q5I1xveb|AK&O*tDE}S*@}_GvsD_`aI*t8+JmO(+JRc@01f|s_Wp>`HgTDu4*5<&C0G{r3$<<|@MXU0g$_GbiH_uSdz#tmUA#`Ii#~?%3u%lNSPIpe78NXZn-aiz+_q(|MrEBl~;r!&s z&G-J;dH1uL!O4cU){#Esk4oZyxn@lAFXStfU&UnLgY3`r)X#J`vE{DXTwjwgLSL0q z;H1%;=&v5{s~YdAz$Uwib04lTyZM+~1I4DTRmqR;Wlky7)8d`VfX8tI$Xrdnkk zTeZDELvdSC*_OAY$(M{jnC-&u&vfdV98_D~x1h+ina=;hI6&IE-?fsyNlKi$#HTXm zBc1=R{JT2Qco+U1Zv=<$%yp5En$%mXGhO%Q31#gd2+c|0U8oyNK6lFFq|wfrIE567;BZhB|>avwvwTT9VdSA&)t7wc!($l)x1bhUgl zO9fe9m|R=yiocHftP<{5(5;Z~;t;tsMS3ogDN9j)Wd=66k+SaauV}k6m7E$vi}DDC z$(QRwq?(Lw2$%A8uAG`bed6la~J2z|#17m9g7XL)a=Qqi06$&5U9) zYnDi*H9sm%D!)=Gmdq<#IkHT}r43t|9K>V^GZbe^dvgu6Qhi>S=)XDMCoBA-Yhd$3 zUD(`Ur=Uya%5_^wmjJK&ja2vrffu$mUr|#@k#Qx@N->uY zl@}ndfy>Y}_2iFqfLy$qXGcVMue90W9!xSXd7CjbUtxp2*!*Z8c5|$MVSHe5Vi2Rl zON#u;x9DKW$!l|CMHjNIcfUh^OE8T!4CDo$(t=%{=4R-^Y-{^jSV;Z_ zxMch(Gz22)auXx4n>7BGFdVkuAYYu^w-duX`U(S|}ly==&`S2g_z4vKbV-xwh#lpL_^mKeM1`+$(&*q@cfhRs49u_bn&z>4zjf+W|_!k;1~TD-h>Bn=O$=c zir~~Rl6c5Mjy_@s`YeYLlgmQL)69|-B6vQ7vD`g?SFRZGA!NsZBOy@E!#P>JA;GiW z;7+pSzz~b2&oi1YzXJFy0CIvSRcuLV^?yy+?A*33xK_U2;TW7s%kBfy> zTp(30QWHX=h_odo3-^;P2tHIApDU?Z{<55naf$YH6q*+C#V9qbB;jHXlQpyO8NhRZ zpPQAW{u{6R+Suow%yKfcax%8I*=zmQ3wo}anDlcssaIO3e(`1R!+$OsdN_3VpGXv( zk$%-k&)o5#rM-cGapS#uhdkXPg9H6hg*3ieOZU#YzEHQYP(m!wr>Z8revUO^aAZtI_UXK$%eAf5^<53;uU#l_tGiZHLH?K4 zj<)oaBRZ8bH!JyE6RE*s>fIE z{B~*ev!U^OJ!216-~YqxoiC0@KNa#uFk-(a2Hhkgjx1bvX%n1 zq?mqpVQ{dqbf!=E#=yV(-hOTW_BTFSTe`P2m6>#8^NUZGUOm6IFvXl^YqXcjRz%tK zw^ozN9{xr3e*XFApLy>2UAy<-1-<2s&6{6)^?C9@Klkd6y@o%2=B3xR?>U-w=H=}N zO|(JQK5<7*7oD%@J$|+@E-ACSvx9KFn|x>@-`W?Va90(D<_UMoJrM{0;s_n>rA;Cb z*x!RnF^659l0yQ*U7g66OYCHzgDvFiU_uqM1J2|!awQ9vtFN6kuFHs?!bjS|RHQgC zHzO+)#&nHZDnn&KU=m@8D!{0^>;xK+MT%ezwoFC+BfOo%-Cd}E#8ZH9V0JZ4w{Im- zmx+tLH6&ofUm5>PIxGT{5pdCe0b%%;tu`t9(n=hb+A9=H5(cI_5Ev72A0)*xR?ojo0dU6BQva1w=o9e3}5eDQyF(0fO^ z@$e_?^dkO>Ke4w3vPhzZCQeK6FP8)eqn1kGg?#aR4tCU#VS}(8#{*`jyUn)mGc74j!O28%Q{os>UZpt=Gc{! zEh{nYcN6;FEBo+2%isHt-Vgr6FEL;16CV(8)XK`u&eBb5R@Q^WA6?8x|lhJ zy7_uqI|aFV`Z#EDj&gPPPs+%RKXoZ`_XBa1E>imMhA-3k>4pw3ImL#Nt zg`=JA{jJF`WmIfBj`_{cOd;7lZHrwxV~mwY#gg9q_Cp{+Bt8_+R)} zI45uL?{p721c;0f0x0lE?t=NgRsuRyyE)K;Ck!FX0xcB;hJVL;E62LaN4v_#JEawm zw%^!5;G*%)B9(#_5Eerb3gpULPjDywJtWLBKhTjPvK;?QS}8Y^qCsS7=&4ab zSTeQR3P#r1p!*7bndCQuK~(r<^HZ2Yz7ld()Ri5;2X3M-3Fw=xENUZxXuSoQl}bh& z3_XEhl6h6O{V(`emxv$Cc3=f$YH{F5h(k^{DC|gR>tK_H>qRNI632D`1L`QM= z)g@p0%Akk{{uaYgd8$*IRDr*CHsu1=KS=T127WOCztgRE=et*DJ7tz>;$h)mf`VaT zq}w|a>w5y~+2r-htEDf;)i3p}9eIrUHR*hle$Ak=S{?#ISmP(NUD;byXK(cZh#TLgba?D_f$jM6qD0{3^%D@ZR-scqO!) z2zn7jKiZ9vMp$-KQB@Ag#OZ3)Y&uY<0M8Bn1%V&oUy21wVwDJdcWQWTdgPn@t17~D zq<6G#3p-1LpzqF(V(WRQXGW;RB+GU)LRRYAbE7M>BOJ!@d@j^19J5Dz0bzl_3jYF| zQr^{V8Pt7OzJ#phAT7SoD8EAd?OCssg!n7U2P@vov|z95z$}$qJ`wEYqg7K`SdMdA z3E+H?>@Xr&Sc&TWCjUx|m8$M~JKR4rEI3yh%)2x>Bu%m~Ed~X1fKZA7=K&Ptc2O5; zu!FmleLT))&knrTSd$3sQj!M4M5J|se-VFKR{+1HT9Vn8aJxlwgm&Q|j)#CCFHi{h zl7o!1@BrL+R$`oot#Ul&7y;25fK(2=!bS-v2(k-nK6PXyYYAnb8-yOL*FDF zG*4S0hLROosnNr_f~|GDpe=XrOOH!f9-B)&l9~~papG9|$@q-!mhKa&nTHP_iHttp z+B1Ela$xSxZ+fOazChlW`Og;~{`%dYe%{mGG1P|pWd#*R2q$zi+vj3NPGE;nZ+BN~ zO7Ivsk_XJrfhEGlb7v_QJk-_P-&}ihs3#*j9R3ZowkB*@mLd{Pzl!SZKn)I2gHlSR zBCHH!A;}&hRhr%VmgKA$#;K_UebY`kYV6EV+;$=7 zEiHAp+~9sgQgYJAv!2A+BM>k-?7Npa~Ualx!Jk7 zS!d3kICV1r+QpLc%hh$)Tf3{O8w=CV9M3qD+B4AQ>FNBp-+8Pg|I*U<@Jx5dY+uRz zKp9?1tQ%i`=DW{7^?d{V9l+odPyFDeO)ot4^pnp&_kz%WfAkC*=;oaVHtQXTOwM)+ zina8MG4+l<=oTKDd@eRQ>qfEI-a(;Q=qX?5ys_L{x;#*NXQcAZK-rzX%GH6Ym7eOm zgN;)SC50#BE3(szv$C$Fp1hpSwVuD4TV7n;eXVq0bmrs!iRHQ5A5N`(K70Q+GY@_{ ze&<&NW#3%7-Q6lY-){AnaN1h~f2y~*ea;mfJqvfHhtC<$N-|TNL|6pZ~eM>ed z?yW2w@^LrVxs5$Nl0`F*nH%i1Hrlg1H{H=#_x=Czoy+I4m*%DyW+rQ^t6qQgm7P0x zQv3-0m-t`OU~Sp_)@!f4vg!HfzyFhG9)DufV}JAA9eYjP1EP%`{31?X*=g>x&mq_@ z@c79~71zt_`g?nZyK0e>sDp+pqZ->QDOkl`wWBWi=#aS@n@4=vFgc>G10U_+D!F0O z>wBZl5mS&b_1*Q(*O!;-QuAAx_rK+0Nx{17VJgKBwv>@bq%1ch(#t;9UrQCFqXDkb z9!^0H)O$6>*M*E&!5W)LcP%VTJr;zeA>{(bJ`c0Oo;w#&57q3+ z?_$z5%l$*1O31+&0x^ILHRD$U^P;hWx~k^ObAjiS6nvS2;9uq<5S5m`lkq_ZLjx)z zQ8kYbB98=9BJ;ES2##mM1%TkE%BhSam5@VNuO=gFE##&=LV|~j#dn_G1 zqba`Q8JQKDbUEWvRb}&tjiaBfy+`=rW9KNceJb}vdQS9-^G9=vt~8EDpRYS!IhokJ zdSd*ujHzFhy!-Fh=f7xK{H2{otlrGm1fW3*0 zpS2yq;3&Ty)<&K-#;)du)T}2RM}of>rG?;MWMAPEWn&RyZyBMrgMX=WbjZpC*%t~1 zei47+UoW$L{`MxG4mLjSo_;}5DQEKQ`liNjf6&m|-`3SSNpf1D{Z%dXml1ZcGFXjE z#>z-7I`4c}DMnhnJ0o?xb$ghg4D{b>A~haPbS!q&C3ra3gks3>FO`@yng9>aLtfsYe*U!Kf#F0jJ39xZWEPyhTAy~c z$>rF&8C2@tgP0Cy@GP+Qd_D~$5g@bfo4Zh7|T@|C94|Aj$%-JSO_H%XJ4FYtSR`YY3wcXeqOsaI8j8CR5F z!M~5dFPsbH3eKHq{Z=E(^mF0G2Rb)kGXFrV{RYXG1a;9IErK zJXn`ZReGf(UAWh#TLc0t!OPIJ;<4NTd*XC0osC6+ts?BouP?tHt^B5ZN6H?7`Epzr z_SX-P`M7kzU-GZ?zFrZ2*VIsMR87soEq6A)hPQ%z>!sZqYgqr2jlk_kwm#U|5F^B4 zDYcE%`%Gv3Bb2vbWP!KBtGQ9v7*UOJ)*e#)1%xI45-cx5=Epik;&iHOP4+BO7kg@8 zd1iQNY7o0MJ%r(kCi{%@Qof~oz^#c97G{fzElrHvnjBr48WT1>f-NhyGBu*wZTNJ9 zVRbuqZ;q*^s|(+oA4jQ_c9;ImiEpvR$+Zo8urPU_+Qc^}VGW-Y;UANMd$0z^xcrb93hOBWpH@R}p+i<%d1mS%?Aw??=+ zqdpT-%HoGpaZXw?FQF}lI%&hSE`fFqoCGAq!wt#O-pIsMZ+}!kXx^zyAwHoOGB2G< z%ej(sy|%LT2snHy?|5eZsl0~XrC$uM{l2JcwQc&->fU=Ji$9%Py4Td)IMhWTjM%_r z7w+uw2w#n*r>%L`u~^C{afRkP^vp?DqIDq)*7V5WNMAedmv?5zGh!pi2_rni+11~( zkD5eeuEq;mQ~}a8H1DWM2|e5q=95x|muz9yHAhC7( z_B$S=GKd-Vk+T!hjvWf|GPmMj={v1%VsK6d`5pOjxqjKAa|C!)l5&v77kJXn^6u7Xlq6Eig{cStU_8HXH z*O!!)RaTT#lor&LUu&%@YAn0fR$bguC9J6u{kOD5nljSeP{F%YL>lev>}_iGa?~E! zy{{nmN=tp6*50n6rhK@+%g0lL8}`!8iMr}yL6n0O7ohrf>(o%|_(NJh1N75RJ^jp6 zKluLRn_hl>`|bnJzp}-~+1E2T%1rBL=@n++9Q1du?B4AV5S4x@l^j-;m29I?YMiC! zN?+OCp{m8+qLsn2)&5fW_jZ5fYG3UdkCpc7qKw3d)diB$P9b5h7{N108PRzi+ES4lwFZPwrb%N~;$O@Akr7VGn z^f7qrh425>W0~<$@bB`}*xg(6)JER5<@MH@3T87VF$zdM`@_FYJQ7uL;~M;%nR5K@ z^5U)enefn%EpNWDXV0GP+qYBy=#9-=UZmjhi!YM`iws~-JonP8n|E${W1FSD$4&$5 zm$n(cVc_tSHw>TIZt>g>EBCOZ__R~#zwAx`zlchbe{~U9#a^|e%fAwDCG+Z%uWnx+ zBP;Xj;;rOg{J>>L^6#Uqj<%vMKIy1yPC9>XT=y8=zC4~0*0ktr7+W;81!rS?olZuR z&slps#491dBQenPu(LhcD#1SjPBzApwUv zJ4Lv=0KXv`CmtEh(o_fnex=Va1!2P+?BHK5a|L-34G&1)X1Fp~DaJ~{AkKiy3Yj7V zlmCkNU(>hWl8!Wp#lWxdqA@Y#82$=I27bj;fRb&b{yTU8UudfL@)CeW%*B{LCHzXZ zwWb8H^3b6&5u!66B(?3m9OD-d5qmVvFD6xc zIJvZU;ZS;UcwX1(!H-f#KFwMB{f+zoTDFVo*fAQeG zJyCaWq8_#-^B(X^V1kl}ua1laVs=u-S4XN>hLr3C{k6D2e>69g8R`>eV;*5|5oK=^ zNh&r6ryzUBuk>H7bC9zOb-MyIj^2*KJT+P>9|d}P`MSEL97~CbNQjHetf(I{_@eB+-*o)$KQG+;=;F-BBcFfS|K1m^(+l`NPYkt#t3v49 z;9pV6NU44+GsDBS5`GCVgmx7K7FkS*E)-Qb@pb8KlySl9(ZT(-h{#0viXh)!QNY$Yqk$g+Oq{uk7J}Z7BE8y4spNDJVUxa>%z)D*O0%MDVHL@cqScP9Y zIPOXWmMt&AUg^p!TY&ff2meY0R*+C=zN&$N@E}yEOWe8_Af0k0lt~by)qSawnxtS= zxTM2d46akHPM+tlQLWAa@(hwURYCTvgJnG?MgNr%%B%_$1nxq0MPer87K4IOX*mfu zid!eYAm34Tl>3P^yiWb_Di=$gb~Il|gQBCzCNl3$T1n?xdu zlRe8b{VQ{Wt2c-5E{v}&PTaXUj*yD2&W~Xzsu&&kS0b?FVp?8`cc;dLO^;)@XC_u> zCvVS9t;7I zx0Ot9C4zhvwO6)NBmL4Qhbhx6AXkzvcl++mNm|Y+cODpri={g>XXc#LPbc;b=l1uP zregfva4qw)5MV`|FRG&CDIV55zQI@?-@FA1fo43rVPR-X#a@}`ikJMAFY6-KA(DR)9ElpE;05k;@j(HsqfB;gKjP&9|FY*V(ueNXm*fRf;Zz*!<&&F~ zk{%HSO;b`9w>Op?NVH^d3UKjCk4w997Vp;Ti`n^|P5t?oiW3vFE?g@04Wpn;Y1_h5W4E7FNW#vFX97I0Fm3)X?yK zZ@gupcksZr{prWjkA|hj9L`D0s>>%|$en*0_~_q9KK;*<(T7z7cXsRB8||{N+hORm z*N7}JnArh+jg6(9nb{$C|0`#%pH4YH)jywnIE6x2Y=gkRMA)SqO9~B+y?nK9`OeR; z6*pbFTHR1_1O6rLGe+>QFol01U!0#oV9FtpMD%n@%8u7Jdpc;kdZ^S>Ut3dARers` z;(AAIDbCMOF#0cspEK56Q6dnys<^efq_eIJb-2H!ft*=G?Ohi$Pg4acAtr8eWH|mv zOhQ~#XKTaxv*{y)o%J;(jdf)o3{`wMT=~Ih)w?4#_eMlgDYiNZ$r%}_yMFC#`ssv> zb0@McWu3ly;Z(temou z_kTS0qaXZT?!|MnGZUm@5cwH~Iy#!Fw{3at*BIu3sq0zgSUSGg#L= zGkg1&pa093<7*!cto&^C^FPgf_`8WazgT|w$>8wtP){T4BJ^Jj{+;b9AM2{a2%RI| zmPZ)tLu0)+|NgHYd-lhFm!5c(|J|+pGQo9SA>rn#!FIT zk@OhXW&C5Q+l!kt`Y&p!0>36eCEQB3s}Kh};FmIXzQ#tL2MjP&V3`Hl#n>Q3Ywz!9 z9qu8{0NxU444lgRR{~3Sz5}BASzEF%%5(~BGUxE%&=?(H9wuM3u79p z;O)0e-rkDN3;&{QQvVL~g#kfALw!ynj47Ah$o&Q=zfoS^Bz!jCxr?+{uBK+8Bn4o0 z-H*Gqc!si>36k?EbexQ+wPYR{6de|HBsaG#F(r4uiK~bI(X`XovUAJbe4|36iTS^n zdiqjq@~Oo1oQSluE>S1*TW7t~%fhb>H+=FX@QanM{c-fu|9$LC$$pMP{%OxCHqw&U4ViCN_# zak=i{Sx2%84=0^FccJK1YPQDEg6(c!Ycn@%V=sGiZ~jSWtPeXo5cx~;t3X?k>I(Qp z@P&DW+cOT&ivAmFXCC8Xj|Wc_;p9#ruuZ6)QK04i02d;eLk}O#$S-NC?;M_5xz|73 zH%5iEQKY>Fgx$5_>ifgh_lBzOj909Vm9LIf3gBgy}zBKw~f7@y^{#dc5q}j!_(Tv)6Rk9-oc*UzHZ*GjxO#lga~_| zzFd}kxhk!w{ZjAp$+nrinfJ$k|7F8Z|4@4OmtDX3zZxF?_VUQR+@ZUd$KS7i@cYq^ zemA^wzqzwxv>&9c<9{WobxPEgb&JU2g-r}JW0Qj|7+auX7gVV>vR*^8uaQE)qrD9n zOA)ae>8YFSsUuGUfzJ~iWI`Z3p@Lk0Qys$CEkq8M1{7nX9Yqp>RsK~e80LkVA2A@B zk?F2d)zkyzhWE5zLj5E$l#Z+<6x6Ac=}RKyoyjIbfMs8TBr&!W_N4`f zB}>Y2c@yr8x9OVt-Ph2ab?$@uQo`msaw?kadc5|AlB?>ux5ilN)aweq^i>d6Nm&ZV zYO5w96CEY5*E%UHy0HAdY%fS(XdI+vN4AWs#_uA9U{wp21OR+gq$7pHG8OfAn(VBqk|+_*qy#RNX1%+82FV3glA=zC%O-pw&gIzm%5`1W)^ z(k_R;ORpRUY)xIFX0t?Boch3T>| z?2Poxr!RBznK6oBE{_j_z$+6&4{lC9Se#j#pCpQTd6Hz*g4v~tN()qi&nmymGeE@B zEu8fvf-lS~1!6h^gwdBbq-5|G8s$8aPbIDbzYCK?i(u^Z2pw`&$rR1w{T&z@4Vo|5 zEA?L~`_kT=8l{>Kg=?2)$8K>~Z%%Tbx!dxF^HSb(-d&s-y*V|kRQ?@MiUN0nz@#Rl z&Xm8iwWxMsY=CDk{43p?kuqgmDhSLY8$g3|p*FNao{97kh-Jzqs0Z@m0LTc|gT=rl z6i*aeDn20UfxWCQ4s6-X{ygO~2;IflT2GCMI+Yk7>gi6cSUv^TBiV>>SKGapKR4Zu zpBoWj#tDZ)G9sgioI)JrEtV5vp`y2k)Rgvy<_TfZS930x<(D>;H#Svwq#i$Y_RMw2 zDD7-XUd{02`+sa*{`IMv$s28pZNv9hKKP=cxtqEtJcdTv%PBKA)>%na>z?}Z%%ew+ z`1-K(|Eqgz>5&oodV4I4P4R!8pBx$L;o;SZH|FZpNT9RGcSO8cZ`)7gYd6dH4(z5_#|^AjLAJ`1Z3tVw_To!mlCUKrBFhq7byW#H$*H5 z_v*72axt?FaB{D?T6{Dp%woqL%2QJ7O42mv;k29|1Ae8+5#Hj1xKvDh;$A%#oM^1PB;Z|ihCG^y-N#Z<|_`(5|`(7f`i zvG;y^rL=wPmOZ9B4mj^MkQub75@NDw#7A$NK ztV3NrlH$|DBa^9SH9B`MuduqfsJgl&zqYKPj+|G*lUeXDF3o7ZWWK5?zEXAL5>z|f z)fVFIz5UfUvW}PS{EN0*bK?s9i{mtZOB^x$3--3xmbKTEFy2{T zN*r-d6KS&wdz)GcaxNU)y~obXyrs5kxTo`Qkk8fJGh}4yXsqaIt!b-Y=im27DjyD4 zv#47g7EWI`N1CR_TH0F6i^?ybyOMqK{K>4m94?OhT<0!lw6&E?PqmE?R}c3T&ka@a z5SbsWnj5TU3-`l2(~T9^w!HS-cm9vZzWew8BjRw#{BZlN3E`{5KhEuMy}n0p7n<*z zo8Ne2%bTxne&d-<&wu|%KYn}n?(hBh>A(KL4-G7cb33GO=Aduq?hteoA;~i~BPbyw z=6Gs#Wd*Yq#gFa`R<8|J+#ji08>zZ8RKXGy{#_j)1h^9ZeQ&b8<34yow=C>|LN=N!@rw0ZF=sx=eBLzh9mT|%72?)c=>yeKmF9RubA6v2?2igwe5~R z5&P`@jkJef+GGF3TPBC%v&-r`tE;Og2ikyNVLJZL>$$L$oGp@kWsCm%l?413@b6df zyRjxz7md1$L;7<3k-=|$$&ue2S5N!Rj=G3dSFmzK#wv#k&LYiV%$Tz^oEa{LB@C)|RhI_d%2L`#KFdBluw4kL(bbnyI*sh$ukZUot zLh8QZ|4iB|A0tEH*TY~xE%~E}?RD6{oBUd#Zcfp@?v$sIA;98P``J<>eWC>&Bw*xV zSXgMm`XcRs^kF8M732&5(jm8%NN=@gm-&uu9Kd<-qvl{HD12au0pUuxR5o3?RPl#; z!gZNv4cm9{FBeQ0FApGQU0z!3c!$=@&fbHG(Nx6$aw>qGv`&b>n8@$sWD5fGSxl;k zzj&lr?B0W3Ov-2wm>Jc6zX24C3QTb*;1{6gu_e8s_#pZR-_~=pa=v^vFFP~$;>FTK zp~>Ed60$E=#3tojxzQA#dS2rZ2Kk=7Qk;G+KO^UA@`da17t61<&Bfp7ufO-NIn%#R zpZsOXPrt1F;NL4|KiOv&xO1neqp72}JtY9`{IpsR8wbqCUIPL%=aUSX$1%@Pl2KzC z3u`OXVU7Rc*wf*O`KdW|(aF~|zR8XODM5)B;NOz+Ru3mHOFaX!RtDHvy4#p|+L`${ zTKa2k`0hdWR=_WJK-T<)e}inzW#lh62M`W-u!MX;U@X?n@u-I;Qe%#BVR1(iPUn^! z&$!gwJ3cgbt9P(xWQZg)jrhKTx=fYKJlO3~vcZ?B{JT6-g+ac6Fzrop))9BmTXT23 z>%#FU9}6S+_pps6`fr${#-Gq-J1SB+Vd(O>rej2Nd)YgBJ2(Znx<>?sd%JqMYS|m` zE~sd0nY!10>y!HB&uZ4bX#C*!9iRTG_Wge>Uj3};!#`XezkjBCsqXHt6YC~Vb+5Fq z{;Yj!p|QPfu)9I(zw-Y_U2kW}zmk0M{J|vul1m4Jf<<{v(0HJEyuS$>>ubcuRY&OF z`sr@Sn!<3^r2LZntHQ6^k?@QDD;%K}o5CG>qpw1)+JS1ZneH-77kDKXOZb(24&X>h zwUTyq+sV!f-Ir=#^6z@9c(%y7NS&+%0_y~f$elw;!TgjGfoT^8sxe|xBmxTx9u=nY zuS8&#g4Z?T@rFAjK%QunMp{T9S2bPTR>H526SX)@95C9VYbyM*$MQ}7g@Pq#eX|9A z<)G|H?1IIR9i{Rpav*PHOQw&DvJ7RFDy>9dC|Ih)kndOEsbH*R*mWLM0-x83a*TvF zVvk*T6f4X~Xe}|eGSk#o_^I3$u`Mw6HB-O43iy)uxewA*mK3XuMl`c`BgooW#?;LtZ2dNca#?|PN?L?lF`AWLDLNr*1=)1DWU!@s`InN zVO{>k{}}{E`~`uRrh0Ep_ff8QLjo28B6J4-s&3Dce0BL3_?7(2F*nDD=f{RHIzXA^ z-&;4QZ!JuMz(5%$aZKf3)MTmELbAdZCoo<9l@xq`VH5*?ab|w+*3A3MvltyvSJLhW zt2aNqv+(h~TjWlm{psCBM!;UxB>z5KntZT0A-$lXY2tzjTW0MirQ6#;?&L81OCU4+ zyEZG-YII)IUJ#fL2DeIgWzZGoT@N=_0+1nSh?o;X!Sb}y#af2+(h3)A#j~1L{JA3d zlGKF`x0>AsDEQXQCO?5msavG2+X~OdGFquU0a@e z#2CD@G$Z#PU}QiTTbdnU#{>Sw|JlRNL~E!Y=s;Mjsr0a=Lv$)E14#ijEDwMh85Rn8 zLB1Go(SpNNHG+ttGf82f6H*|GCy73g^MFB?6QCTdgs&QLyOfW_RSOVKj*3W$j*JQP zw>LV7up8^+%~FJ=0`Q2r7@OJcqaubuQb_m-D)l%xp)*pRm<5SIU?UU5ZMzNM*+a$H zq?q{3#EhaV#b+~elj1Y-u2dd7o|9A1*fg@%ee3h?wSQ_{_*~YRz5U^@d-}(R$QU-j z=1(gQOABnrjdfA7D$3W3oqST4-0bOwe@zb>9o)A+E$R5Jxk(UXyti$rgWP(!fp z@-HW(!^tHA^Fb>A5_5-|Pnk;=f$%R^%fAFFhMYZ`a6T#h&1YUW*<*ASl z>e_H}es5meYSqlA=UV2*-~XMZa|rxvwa0`CN}ApJ+)qRbPe;epxHuWGg(+UpBKQ|8yDqG} z01243s_@FSi|1^O3A!_@E-Z$B3vXO6Eh=cNE-Sm9EB&8AU<6-eU!0$ttIB}ij=FM` zU#z39q^+iiG|_!c4WnH>$HF6QP0ftk?My7)#Rc2#l7j(+5TPIU;XR9dF-#h^O&uvL0LgwRdHe7#oVoL zy^X#6>T5rF@~J1Ee)^f`o_p!_*PeR*IS}xrH{UX_vT^YXIbdb?{ij}fcFV38cNpRY z?G>Gpn0@I)R(4};#qxMJm4D&id&89vMyu}*SFR40-<78HQG`F3Zk=f=`U!A*uYwBb|$J6~%}*_*aS-wCY+;wij7q)-iP6}D z{u|-t66UTU5h7<;=V&DhB54yi1CtWlutd?aH%NFdu`@F56)G^YFR{QfaiY*+m5h9( zp~i3}!o3-jm%(`;U!nX0#l-(o(cajI`HDvgQ!7s#`WQ~pTmT#`1Yav_KPL^T_F!8+ zh5XO%h7`WvfzXNm8-&p5V8zr*25EKxNCn2TLtdK<2R=+$WQ`NMsSzHYsK7xQEl$y5 zr_sn5{N$yziM6-0Uu8*c+4Y(WIoD!hP7=hCkajsRI=!N0?8u4B-iK48QZHoXRk?@7 z`$Q%C$Dc~ftIz9LNGKhxe(=AOIv!?EeSUrIe-$r&cA;iy_kJ4}3yp`VkeCU|#yj0l z>lEnfjNa;LZ|@5dYMi~S?R@PVz3d!PrnV;<}==fTi@bh_@8G4%=$+TB6FZ_!MW!(Hg zpp8k0ty!>*X_&nQ@S76oo*wFx9_)6+#lp|o_58Vl^7?`L_KETNm5#2iv7vS)Rct+C zA4bCYdn0vg!%Tzaiz5|Fqm@g;H4DQe->8`%tezXFx;avVZ_IRG1=Vxdx>*_Ps>;iD zH8qIV*hD+ok^eb_JXUN?llEEbEJ{;3I*2S}w${Y|x?9^oyzbWaN5hT;cn8}%dR;AT zt{GU!>z+T;z4-qU_7-4rTv?uP&rZ)9Znvpz%eE|Awq;AQprn$DnVFeM#exzuGh=b7 zn3-9{r7AJlGTZH@>Fu7Lo}Ha}-8=jIem725IIZs4)px%8-HeQk%#18W+~4^hxH$7o z<>&w2`s;6NzW!swSO0Nk;`988udYvh)As21`2!#4l=g0~8fv-oW!=CS{M*@FK?QZG z5Jfh}U~45I%>?8S=S*!Ys@V^A*A4a56J8=ltx+i?YoK62STp=@16{S4#6=Stt$KyD zS7TBmdZeZN1}xlMHr!M?)TE?gF*1cQ>4-!GvTgvW`fskOu`&|hLe;^EjuKQ|L16e- z7k^=1!CsljTmdo#wOWew1Ysr;8cox>rwk%i#?H!A;I!1v(kp1`MYM>T)?A2;hO$}| z*HR^>HNT=<--L*DMOaG^R?*QqvBIi%`)idARAYn<@GQ;~Mp#S$kcpIu*7ZRq#<;|s z9V9FHDU#B6<5_M2cs?1K8}FtLu8FylOe$Pjvy~* zWUfTve$^gGOvqP)dqGYW0Ib#cdWs4a8_p4>`tDlYY#kVpXxX2Q@@4sIhC`9Otnof< zYYe(>fh??=#8PZi4>RCt|T?8;+9tG`FkV3msa*l&NfdW{wmYrpQi^} zu*ty|0-<4HXb$mL)Jb4X&-Mj}bdC$kU#-7}r{N&!`$9E^5+!<#T^yJo!k7kEIoEgGCo*n-5_Q>b=M!&c}hLVe( z`{lie0-X4{v_)VEXg>Q;f{NemskP{_rLTd3bXeDf!-w_WL6pcSkyDy2Oaa zH#^wMN>3UV(>RHqO<<|Y%+-v%V5yWP6AEX6#^?_01Ido}w^37C^lrYmI058T=q>`8 z@RaT%;MB2lPGkYpep0c`M*6e1QCP7 z7+lPJW@He%d1HXw>Zy@|nQ1aF0g>K5Wbe{r(aq9&XV&_oyY>XQ zy1SaL*_NCV>_kmbj}TW+m$jDJG09YF3UPMdnU=LBAvwuE2=_HW&6_I7TDDTrvAGoi zy=cMjz5GUcR6<=zZ9-VmuIC)u7JEhuHlzBeQL;-LdMu`w{LoIqHTHJIwMVP#3gIO4J(FmuQkqnjj|Zb;rN+c4w_ zUW=jp!oqMX6fE>AG|dmhb|qV=uxiz(k`h=%mGjWW)GQ-9KETm4*v)Te))rTD+WYNW-O@Dib4skVkA1TLWZ_$HEpxQ8N8+cJ7q!k% z&uPCE9~`_ZYh!9e%%#JpubiiVa{0~C`{}Xkoj)**b@h#Q^9ywL%g#Bt|HQS@#@_y^ zhZimt6kNSlR&==n{a5SxE6OkVyp*&e_!<3IMM39Y*qo7SzHCK=Ur0@H#qOOuFJC%W zR-A{_Oa3q9TVIlg8DgHV7uA=QG*=e4RF#nV+gwrDP?pZ+yC(5{J(te)gQgFbcv1UbMKfOx>#`V*h%;o|Bq_>+jSlB7eo97c+r9>fpx#{ zIxI{$^n<>NJ6#op2ezHslznm6zWgI+;onn-E>~9ceD(GJ9Gv?2diP}C{jWa!?SJ0> z>UVv&K7xN+dwW|NYo6lY(Uub7-~QTM?zRIB)OaZ&>W_NPy)9L@$NL7m8q*UamMnbj zjhB9$ofQ4$<2xj4;DzXGZMu7NX7h&ifBD~j_}ud^EqL>tsF>KPn=>!G`26xEi|P7A z;p^95od^9s`}_-Uzq{y_*A~3^@@qeO{wE8Un7H_cxd+E5Z#$l_?Q}rezQ2FVY`%%p zq0@P_jZK{`)v9o7bFr@f$^wAV5c90%vgs7bL;%xxi}9RQoW9Thbx+yZ_~p!H9jI@V zhx+(meJY)81#kb)`}3@--qTanQFWOdkozO8L|WEdIez)TW)K(<&W`ZS2=&Se^NaHY zY^@^Q>^8)OXGR4Bs+mzCY2ktC5kVVc!q)})lJ=Vs7L2Lm%K4G zb^Gx%ggs}&zs>!(lXH$lrtP{^*0$?pzJGjn+=e}bZKNN`Ki@Rvv*n8a;f5V8ADy}R z+imS172Wz}#-Y45mLB1rAqn1oI0~Y?Jt(OW;p0Uk1NfJAZwWymQ9gd$l@bGjHzp?U zNZY{m-`Un9COYfHxv~SN%8y;BJ$Yl--x4Fom4J=TQ> z#szrA`0*~zF>a3hd}0JYOZ+qN%b5X$qg`y0yq&WGy>h|>wnc~Rj0@kD5Js2Y^+7Hv zp4Lg>k<@M2y7ydBW!KQ;ZSo`FUzV~cM<{*R-EOQDo9HeOn(R1^1=gnj7GdcC+RbTwa<=el=z5na|9kbhOZdBd>P0ii^-gx&nSGpgqFY4S; zJzO{aaaGT7Sxt3MTQ%%P_=FIg4!^VtB+KYqbvKlk5CTEVLvDOGYptJcF7E z(DhZ{?$wOY=sEa>f2X@uTCpxi3bYEhDqPiQSKlaX%Vm(uDRaSL*-iLY-`|*j_2VcQ zoP#MQ!oNbh0=!c9TVbze>M4zXLEwo_g}s8w?8Z~f;a`YMgkVMp4p24HG_?Xy8W;)> z8ndT-WhmH~fAt+eNUCb{#W6nrcgNHsy2T4EkgMPLm`DXkCf_|J6}*kdxoX}VANa+k zkB7?0cxbQ*o>g?LaM(b>8vhFUPWF~#{C0|+wPsiVwf;2?aIL+sd<(;m_ao7OD z+WCBnf0Zt*8LkE-_?rVw*kper2t3u_JlWSIRj?EV4|JeQimAlX;VyJu;XXYO8v6SV z^w59%J1AFTsMOTgK8jR2+yezq0d$&8kM&{9p**k)@fYHQ`#!lp{n>-*Pw!6&1%G^d z1OyiTeKIrj$*mio-5r5{753hrhJP91Ujbew@b72$CO?6lXGf5a$rqj;>Y!#dl|5*J z4D*Vy&SaT4-N!d=75Jrdu`bRsne1(q(pXfAmI)gPV3vKT!wdrJ@!p&e=ED9Wf^#bL zbm{L-(cC%YOd=Lbc=lt&>)Ych!hCx8;minM|Kod8P%sVw$X7Su7j^hP(k&V>z6er! zr*1r$K_!{M?oY$Zcf?nYTlTPvKs(qsqz1xZBeCCHg24ZsBu3H;)d$5`aB zIAOw5*&!iPh#2y9SiBezMj_oC8=vIsj~EL7Qg#ylr95VQU{FF(F#PL6GayIj%g0W@ zzrZF5Q%5&%Ne&9-9_?Xi8{p`g5t%@eR7!C8iS4`hWvmghM8Sl=5Iuoka%pXs zt)vUm&dhA8IrTNPZAe~kYihrH$MKV=N=j>Q4B!1l?Tt^)waj#W_%EH4pTfUA!_zHo z?VJSuLU8_oz~oW#b3eH?y)`|ht|0g0$+5lZ$wxM3y4%>fS=$neTXOXxKhQvX9e)Eu zt+m9-A6lP{D8OlJH8L^UH+XMmPMmLm z*IK3B^Fn@K`B`CGg|}LGws<*YJ6j}YS@tIpo3*H$`C3=9^VU*0+RXahx6f_c@o?zI z>Ngj|ziU@Ib+k>!rylZ*IlTQ;Ysbt#H;jE#Kl<5$3pMlJUSnU|CO3ob*074RbXrd)=^v9T2)N^GZHZEhbpdJIk|UtZDFyGqca|o*x=xT zi)XnS&>ac*?Q5;>X{s1#tGV5qf2Xg&U`qKdgeVbM8C8sNSMi;WLQ-zU&^u=O3$UBL znoP_-nmz6+`mm?yv!U`ktygcgeC+T&; zf(45fEn2#C>1vaei{D%H%Dk7Kf9{31-+SNE#?b<$DK=%^f_I*K`So{Jnfpd2FSmA| zztn8^@v~>opRXw^phx^{d+CGjvd1V(+9y<>vzN5rg8KtS_xcNGyK||C^=PoV>GIJ_ zJ94h>-CuhA;`KAdM|PY#f2N54X0%#M(R*2Qg6c-4<^HW9bS9(Z(sV+UuDKePxg1; zn;7YCs%x#OxPNQb$=>k?KltHFlQpB`6XTOp&p-F0S6+Db?FFyC^X6-mzoz%oGe3Ue zz4t$$6xK7(KD(Iwbl<@DS6RIB&T^;Fl*o;T?8CCXlXjy2#%Ap(tFGzoY#GMMPg;-$ zy!suMhk}rXRhbqYjYh1SV5Ux~GSN4xuRLcwrFe6$__I8egFm%h_A!2679?GjfHUlm5OBM%{=sld-L;e3lfyQ}1a39^`n!c?z;ZP(Lvjf^Lq>OP11$aSVuC!cK zaVm0TLRmyXrWK(3nw9ueUCb=PJl*Nx8%3{JNBbxz8}!W>SKDw03;5U5bUCFJlKs7C z4#hi4hB97CL20shIKB#Jva&|)g@4h1sg6abByNIkYc1`q-O2pTSeN7K=<8tTl@z~m z*S-rmJI|iDR#(<`(>H0Scf$6RUFX;Dzp{Ssh1l!^&Ji0D_vW5ynDyV5=Xbc_($w$H zjQt|L^hWO&{~DdS+uqzU(#1W&-8IhDImFGu&%r9l$tKE+zP;XPpwW~~@Cpd=@JowM zJh**tc4AgaeENZXr%K9Nu2=UQy-<1J^!0OB>wJRKa(15_ntpKf%z0}wbAX-o0BSF- zezRgC;{)iTOPgbr&5gx*C=jOjGyQ)h?U&+LOcK4E5{MS?QV6^;%x6QWcSe9)s;_fS zm`@2S>X5h4)N6?79E7eZtnGZ8uxK`QMFS{qf55PcKh>eR|;0m64BIKlvY} zGvDNoevvow`N8_}v)%V`^fuQBjWS|5Fsb(<`EJtWNScR=+6&cE`FXOt z38T{-#zRb+ipnT4(%`dh1`6(JnCPx&KGs>Q3O;D2aGSEyRMygr`LI?>no?Rib1@n3 zfO-tIfKXJSV1!`gU@B{g$y^eO^~h>+jWrWp*pPJ0vvb?EXB!HJ8VZQbCWnPe4wzK# z8fY%jtQ42#pR?=gBHyNLprr!i?x33xv5+GdD7h5NRZG#R5pCf(H8vnlb|WMJ4#KUc zOw06?(fFLG)1p1ag!d8x)nQgh_9>o~{h!)M=-^ma6-Evn#>0`03Ml|CsU_)F+I5~IFu_AY7Y4)m z(Nt-8aL{pPitlN#jPB4(d(T`^) zJ8G)zO;$vDd9V_omM<~AB)3xB7|g^3^mqzaImjl|2L8ZGP#6mywb9%h{SM`q+~F* zHWJUA6`O3c(%jw3$=BY?dbtG@d1Cv4eH%7sg~w1@gwQ4k9m=NZt;@1y^em=u*3p~| z7x(QBa&WX=vLeXQ$I8Uk&dN7u>!~9bYYykOc0Ky-_)q`W{m*|nG&0fB);2oWC+(r{ z63n3WiN4v_J=xn`cmQ;a@U*F&1W0CWVoO8I+Bzfc{HN9da-%Oa>VfmRRsI zzX<#A6G-H<{30Ba3BL%x3s13zME+nkNQ5&Iyt{=>fQwhOZ^WtnCu4(R&K*2?df%}K zpCCU6Ctd~c@)FpYHK)$MD%5%PDiByGTdCDr{;wazYNkYCR-{g*tH|ai7mqi}3=XWn zbcG(rDIxLBmY&O(I-EFHeN_zaKnNVY15A+T7XE+}3HWDMvtd zVJXXU(cyy?(VhVtV^eHbu1XFKPfE-R3r_0k9N)HKpTC9M=ID&1z_|6vTWDLEU)%e| zKmW0N{8rxOOB8mlF1~`1q`8sD(`Nn>1(d;0}m5E%Zw*LLkr%aupng^&8m?)I1Az#s1}{p!Q< z9h=hr>Mwo(|GvH84N_m1ELpO6@#5F{_v*aY=Dh;{5()k8;w2P8CI{BVEAR(@^>^r2-9MyKsKaw;@D9R4LDYr3WQUZ;Xz-j`1(S-^aZyL}3Qp?IoS!M`Kb zdBunK<{vzqf8bQ%iTu<1FP=G>Uyxr{T-j07H97p`SGT|Z&Gh5XAAb7j_{3OKLm4N8 zRgiH!9x-*2GDcz){L2ar1nvWbTT5BZl8oP8n@e>pR)dS*0Dph*)=ST?c<0Ss8!~B! zG|=9BYig3NWPkg2KgwR8GjwAF1h%wT^S3|zi#K0?dEp!LP=S}cyXdWji{`(v@Xdt_ zU!FJbZ-4ZUHulc0{$Y#P*e$m9dUd7aLJL1apnVcHZ`gYh{-tX75U8t!B!fo4Qc6}1 za^Dvw6?IsLUnYXL@~n);TXgtkV!V&>-1zu^y4|qq_;Z~^Yo_sjeNX5Dm>oDQ-P{EQ7EPy5On1(Lp}vpJc>($s7hV6wWfRoyTR8O z%qtWu(k<0k~K63BbObVcpMy^7XyAh%~m;@u63YS zor~&iqyoGh>>?bjRAplq8!Xt?JkWY=w7V0{pdYgRY^HVLEz&>?I$aTk5x@%U+y~G^VNyLpYLpWc(C_L{yrftu0gKuxH{v4A~NGr;NLx)c2}2C1G1~Us^i?%>Vs!W&lfar z*mf!<>%hf=TGDdqLT+ne$;XC&N%D<$b)eldnsSJ%Q<%F8l&#Fml@#D4PgnZ?lKG4B zE0!7Tz0S{#npZ?VZwmK?e=`H!LEsEOht1)hk$!>nGCpysvSa98U2|JoGvKCFU6mQp zR)kMXbtG&m!4&zn71G~FwWDn+#^!1fGby4;F6BGOAL*?xxi#2v@zBl~2TRog*v|w0 z#Y@axGS0_4B`A=;LrSYfd$pv7ud~v4h?z!%VXFBiak9}5g`xni(KJA*gQ`6XhUz8G6 zBFwEg?!o0 zh$B}hm5k} ztaDVWv|ycK!Cvl1`WEATgk+5gS8!Vwm$ff$U~_pR*@2gcTf>-t^|_MZJ8M*9?(SM; zTEqpT@-_9qhDsX+0LhIN0F(*3u=M|Bq(Lx-jwbv#(b+UknWl~g)dRPSf(D>2z}rfI z$6!a@Kzl8j4*Ulv>z}m^2+V60HA9gaM63A#+^s@V5#|h3PG4iHh0```s7YkpTSIL` zGT*t;fiY*J2)ppCZh$R8t-4ExuPm9)hIns{j)jq>wXuxwF9!C~sMpZ3*XX+|V$u|F zMDV#d=k8l$fGSnIRQYR27Wl;=Sxg0uYeuCk6~;WK8a9EwjQ9|6EO0)7Xbv^jr-G|> zxJFZEBS!#%IogBik;k*+!0*R*rx`!GJ^A?dBzP+-@WYwON3&B<@W=OVu~C#_#A1}< zd($KG(3pQEp;+Rm34sQIXD4nTuYCFN{-(ru5JoYVy`xIQB=N`58QGWEGqSqiDOMmD z6Np$xB#p3afIjLTgTP3}@Nc}kdroBJrkH5%K^r2Y30kHN1W8XR!C@H@(F8VcOU>Mz zlDRW;Q~ue@2_aFL38~?}!L}>cX2v8rthNAzUCiyB*4oDUN7=5l%1Ozl*esQrlKg@Z zk!fw8?Cq^OG?|-&z(@}X-kua8S^egG=T)oytn6dF!`6OaVQcBLE`8s*!nW%EM`K_A zv3lZ*hMv*-rnc7h_MzUc8{I@cbWr$1bC(dx&QNL_v;Fa zOc%Wu;q4jZ=HP6(lAu=pR&o3A|KiI#v&XjPfZi z*IK)<*0oSQJqbHRJ@GbU-Q^1cdsx}*-LNSkJ|i-0-9Yd3iGvqH?R+wW6Ax|Lw|mpU z^?T2DO+5bSm;a-ocO?JH<@&N>Ah-6q5_vJ9U{ZRiY6TRd3%A#mZp%!yG+B;fdtlq1 zODE19+_QJz?(N48?LBjNKe_osZ4I5ZmA#F%y^Zx`_%@U)1a7NV2;AFL1p;?Bm9ofz ze>-X_ruzG9i;C<`O({Tpqoa-g>HK-%8|kPo<`UOdm5&eqPIoDWuuCi-YA>~<;7SpH zXWMdTI&yD!7u@W;inL0Z)7jp9WL9_+nUz=F>Mm7HFgpu*;e)THO=0E@Z8}tHRx_s5*Rcqf_VYbxF0Tp=r{$pVwAuTnfvwe+|P5HOm6?EUDr*L}# z?@QRTvfg|Fc|NKt1l?9veey`&-UCGkPhH-3_QZ~p{4OVsTqr4TsvEgK^Y!oVfBmbk ze*TLOKfFhKH538vo#l7|h{7Zdr+a+f@4S(2d+Q#KhWBYf`ecvoZT zwMDN#|IAOJoAs<0f7$gUO)JMe!Osv;|k{pr>IR4n~wV= zZB5#+JHNDIu&-;dQ>|o(o8ne$a3gEtuK=cu!oQ3<0<%^ZL$Sj2hsG0mN=E$%PfZNH zhBbYer{tk3Mm-mR4a{QSt%5W>msJg)jfp%f{H~As{`wY4{*tgdHcDI>>nH-`;9nG+ ziMDdeppDTKpt*+&T#!Fc8DU1pe5HUkQ4r;crwMGg@2P=9aG$$liZyNpbdAi_qQ>R^Yak?1%YV? z9OLOmxH6Y4Jb1WX2~k#oE2~UWg92%%OI;~1D{H!hL%!tsa(rl)tA`kkir`RQjtTj4 z^^@oqu7reSk70q z1%V@-tVnSs_?Z^ToB^69K=Em-V*Vo2A!9OT1ERp~x zoQ)K(IDH~_WA+{#qi;K?8OxwPB>+wyy&TTrBd$DTRH)VfN#*qWpTK1i}e zi#6*H6(;V@OFUS9qWM9=oqx}%x|35qduih9hN(|U?{~AX%L)!o^>)X%;O}f7;Nn0L zs&&5Z>A`^sGyn<+$%siI=r<>0YeGbFT-3UA=ks^%J?$T!5|OlJ=gEStN3Z!sWajKR zeKxl&_jjP-MjYU9lUjuz?i~8#+iq+g$cq!i5W*se%_*+7o z_V(bfD8k((B{%?&3Wi3{mKZP37*8L5h~&VCq;(mt!I7s6%fI*^-=3`L-E_67^Nau4 z^X304pZ#UyqicD-M(`3tE26ADkpy0ap#NL&SCUlih=aik!f4e z-&l%qgTS~`V1rGS${MRM`7T3^6~j%HBTZGK&DCQqHP~pYvXQo0Y_zQ&8|tjqP4rwu zUfs}_F;yl@E1AV8?2LBIN?WvMz!@%<++i6-o0d@r-ann70wV!G#kq6*t5jfP<=3#A zru+iGx{3FapG>psig}yLRCNpO{LCS+rvGY4*w<2}n?Vak4sNLsY8DDsmPSE%LSYng;?oCj0ySj@uWz&5^x8ViCV2f_4=E{ z*ursiSe6$ug7fs$P)X2QX*HEjuGL!ur7;!kt;KtTz^di(oDrHb)zduP+ro$k0OJ#a z#-e3U4z?rp&LDh`_S_s(rnN}c9x4@B5i7<-WL(LH){AAaLKe{+hEm^Ga~g1boB+58 z#E{E*7mSH!hIC_LVWkw)KnjkYB)fSKs?|+GqoHhAn{;DUD`vPyZ+oP|*R?ccgv**w~#Z$=v<3!Xl7>SpaN`i>C}!tap&v;uV3;o>1+!^i8SJ z$-y20Thcc>nL9@Lh92Iw4^a~Haq=UKc}vE&BfE|jUMR>rahZ}GG!NqA1zPgfYkb$N z_FcUq&}_Baip42DZmHxY*;~?e*Wb!E#XmgUBP=dBZ9~?fv)71Too$%Ww;$*(?o_$8PRF(n6jUEZ71QGDs>#to<>oFZfb%8&~Ga*{EqmVjq8UoyxTS%47& z&B@0*A-XW+i%Aq8-U)sVk&=a52|mX^pakDlru;gPtU=GUwDPleP7IDLy?UK2=}oDd z&mKDCZsSIoygU!u@%(NU~#lI^ZD5+{nSEf}C zOWyZ0qXziuwTny^zq5MF)>B2*!>0@SGmqETjQ{f9PrpsgK1EGdi)D7+)^1L#NJ%y! zHP3nNN-uhgI5~#9xCdA`xvxYUa@e;qCnkE`spHrBd!~;azU*!0>hOV8Vqj8qcxHUg z;laCK-Tv~|?c-Brg;$y?it0*pvHH?{jHWrtO7rMy)KXnsUzXR=SaJH$K6@%)J31l6 z@7lP{!gO_jw^vGRR7Py{)su${&!6n9Ex*y;+SAn3UR&E(US4QDLQw4&Emzh8tJa9p+3CCun~O1t(-eP7djoL@cB5C4qiC9^VIPJ=P6*DTUgyP_0gT5 z|Id40{qonp`_?e6ywR@(aGVknG+i0fC{7%`J}}+&_Qj_`DaMS-ou0 zqBrN!2a1lsh`(e9(+!H$V7ft>tTi(+xBAOxUU}cj-O?{PY4^q8tV6*Wd$M;P&AVRS z)!sZg)QF2-$d|=~x_8fczq$3x3gIbe)%4&03;!C!FLMFsr;cL`ygK^v{ta=o3bZpv{Y(w=h5Lwnj)W^6?6~sd2<75K z?L-(8mmMSm8sifq^B4Y&w6+3%)4bf^UsXoQ(Z@?o%#nRBt2Po&vv=z`}bb(aVH7!{c0;xfX%IA|(T)OxP&?K#oc9 z3@rv|D1huMeT3m(*EOpsVgUa-n=ZFrVFLe#dbn`~=Ey#EuH)P}K^=F%#9{tDp zvHzZRefm)Mrx(Y+s-OJCCoF+<8+tbYzaVgOcyPG4dq$vln!o3U$ndR6$vbJXzGcs` z-G@&eJhLt~J!kz+FYnN$%dPF)f_=m3{C6NaYwx}j1t-s!)01e!_I(yMw%*RpwEb17 zzK*s)?uMkeV0UM{0e&?9btdfDm8am}L=P7LnXqtzpEHAe(gVD*Lw$3if*@bPUX)+v zTcQH?BnEE^^H`snb?SUcb^AnF(~ahi_NF>wo3CO+EqVOk?`^u?OA1MSnX<+r&9p|< z8vph-6k}AK0()6__csj==Wc~?E2(h8wqVcx#F za;&$m6yp;P)Rzs_mk(3QzNrek(Ofk`<$;!JB^I~TVuKx3x(OfAAXtpzTGU8XCY7Q! z1g40zATSq6L13J&3W3{*>rgh_YDg9qg&N4kbmdn9q1l2WEc|N>xth+a$X6&>WM3VS zndsQ7dNXOU&~v|+`qgk#DAUOIDgG5bl(E0HTDPb87iRpg_}4(enr~33ZH^68rRVCw+st(kmW^x?V>^wp_)W!dZeZ{) z@Y{!%piLPREG7^8=c0!6I}sDciB>&yye;nAW+jM86@b7qQ?Ra|~HcF6&=8xikBL5!^AslTgiy!pX z{Z|~8986_Bb;kTFz^+D(WFcPxUhUJ?G4ha&#{6qgc%`nF<}u*B3IFo-@dKy;gWmdy zz6L-By_jHZOc0)=3=kOp#T5K%*%^xQwODSjlz?Z9$=F~UMnty|E2F5ljJlXhD)dt( zVz+3`B6%C|zrPisTq-0O1&R|i-hxa?4`FJJqg5Lw%0Y`!aEt=cDz;gwY*ARK zw~Y?JjC=q9oQZ7FH?k)zJUXlpcxwCx!JCtVeZTqg^UH^im@RwAZcAROi7v?D&A6xX!iplu0Bse!>BX6A7|zLf2? zUSi_s;O1^=zcDG3J92vLy0eE)?cTU+_4}*RqLPm7JQ(2Wk3|K4ME!L48ZXZ_@-ja_}6?QI>cl$&TJ@SflL&S1xEPy1+l>tuH)Djxhh+};QmKN{~& zkMPECkK9aeVyCssPww4J=Pdqa@W+zN(_LGBZ+M_F_bThF2zy(9v(=Ff3Vx#OoPSQfgzd2pCAHO$LQpjIEgc=0K*10z!QmM2 z>t;d{9Ib~9WvtMDeeIm~tlx5I`@zlWTQ{!D;oK&MC7=t0dH9IP%l^nN@GmHhaWrvs zh~_H@%*eyQwQK!NRVFg}FYt@8dgQ0^Tx~)rY*!Ogr`5J@jsfWz`_JdM)%AXSq4D0} z$Nzcr(?149Y(q|QvGB58P6tm*;Fr>@uI8(Js3&7%9qiy7V&j(N72;`TnHCwHmb&T0 z(JQr8U55``fPb+7hd>txf(~;!r=C3c+3yB!-@BfFiTX$l<@sh4}l$MubO)1a3`F^{_EJv~432a4$iD4GkT2 zb*2?;d?d0J)oHbUK4uBb&w zJ3Ev=>?y(?bQ8v`?0y&Osxsq;kgRTqzkk*YI;^I~DnRZoqCPV=-F)twnL0>$!Lxs{ zaNe^PYfOoDUTM1K<@v9_^!jVBzy0RlJo67Pzy6xZ+BNg$zwzvgKY8(`m)}|R-bxF{ zAO85Ye|-G|bNBEc{QZlI7B8bvgSxb~DLlVV=ygZ#bXVR?SJ6zXW^MU5Tk~$VU&E#~ zqxnc@<>m5=C$1eodg;iivj@(d+jsTcp}gr&etzrAU;OOXzx(XTM_qLleHFR4+A1cS z3MaIV8!C>mB_E^8%6PLfS;rFAs51MEYNW6rkyuAnmuak(-cKiXr3E^#TJ+{m-hSgX zS5L3SADF!U=DR=qn}1A*jePQ8wzBxjf>(Y_1UPj6*1JpQzqM%LyNk(&p8x9e3toTm znHQe_+vn$fVD7kdturalK9L#gcAQ*h8)WVkAG7f&p`PuXox?p^@~@`A${k-;9ST~t zghVFaS9MF(3PJOz3*<`1B1wywG2z0zJY;pjB2DJTYARw|)ThP5oS}A#1 zt?{%pCG}WEv)I|lx0AxukQ9aVk$qGAJTP*B(Sk#5R-h*A3* z9w&;Jpq(V(*Do;M$DgJ=5$;||A)%BGh$1LDE_uVIog23w%Qo!jkf;+Qy?tj(NLz1bKJ_I=k?h@n(~$o$l|Q8RDPp>k;8*kKqswbfHbNz3PAD zVoww_Nk9Za@s+cK12+WwZw?Pm@^IpAnBwcYF(P1d3|+Lm(}E*NeaencqO|*Zd6}{ku7~KB^b{d zQ;!k>jWS`4=Ta3x_)F$M87e2=om&!j9OIy9=DK98v$N18tfaSN6Bd?Hf}bS?c(kc- zq_N;eL;i4m-aunM#jki4QYJKAFPt^fl&2eeYQ{?nzE>1li&s~d@n%)qP!EI#_mpX# z38NuXQg=~Op`RLw4_6`L z+8Gdycn+w`cz5AYxle(>I56=WtI+7)(#gIu#_^u(qn#zB&r2ZmTu`)1#f41O{X$EB z)>=)eka$dvBbCS4jkn;lQCf`;$){Dx)Tp=GorsZ`VaZ?SJL+FqR9A^omKb#dna)YQ z3VZu%Fgl%$p#t~SXjVIh>$R^|nf4nA!69PGk0olRKIfsB{%ii}M0Vgf1QL_+Iy=-N zMqy_Rg@PnmQf0r(mhElSlYdccb>o9!qof64D5_e*KBGY!oqMQnXQI;lJ8K1d83lL^ z;%|EumkYV4b9EuX{p)UIMdfenJh8R3|Ci7xK$UdnFy;I zh;^>4pSTDV+T)#TuQlX-Xw?s>iXe!s*Fc!;Y9?bEVys=8W>G$kb*|usRb)=JG2@c8Osm9KF4s;tUu*4HobOv=e}h1dKFHfijvUQ5Wme zC-)jFt}mWH54<9PEz;gT)|t2_*9ZsnM`xVa;21@Z1-_`fMC>kfoE{KB95OL)zUG#m zru4J04zzQ`ze@gQbYSed=(JON4k7#E7-z|}F)AX~-ILBcUN-Irw;v~qb92`2gS$@J zt#$Hq^xvCBSD=JY--x)#^kb)rlhbxDGjXOXVr^~r*6bY)rgUbsAm~>`K3iF!{|2nG z2wr3DvSb-|-jo1uZ*#Q@a$ao~?Be6+60&{sv97*b*IS2XfByRi|Nj4t{pvUU?HwZ> zU1Qzd<2^m&JzY~hU6b7%Gu<7N9gQY_7O10QobHHd?H##^6o2js5&N)S=8Hr0r^MzFzqupGUcS4IxCl;Eg6qA~+_E}@& zzS0~;-p6cJ5Ynoh1<`{+j$Yoj{@XGRkQAGHuA(BpDmExIJvKDhS!uomPBUV}LUV8o zwU_i{9&$iNj4h%F6A*~8;N(Y9&5nt$UbWJnVrXmEM6(LDb97#9ZN0`hI&RCAlEKkO zzdzeHGxNJ|yG97u1eUU>PH7hjq8%B!zgTHE}^-#tHn@tTPAooih~9eu;k zoWI=Os4mM>E%`)c-|5PSe`k6K%r2a5D^>{nC;UqnPC}ZytBM+n3(GF&=bp;TKUrFM zzN)Hc?BOqd`{mDnePf`%qo!=Ev2?oWy3W4>zrw#`O}Ut?js$*%C1qqgD;(mTh;KyV zp*zpxsm`w-j*Jepu2}Nkg16s!f9cAXUwd=j{Dpqr?(|%q9q)IuH+%8L7vEmA>=HAZ0g zm)vt|dIP^0WmG|6RY8<4A$>Ld^~E%0Mx06x@rHlX!~C+NC@a*T)|fIEK>15fRy`Y3mYGH*Ma%ZSR@Xt;dh%x3}KVE<~9f7D(IQFc;f!SGzDuf_pfi4ohk< zLNGrr^}R_2O2rxC?i}l67w2LZ>ud{#Z;ua$f49U2CHsdY28E?X#cW7QV5Pw|wyn0L zqej83Ldg08j0x6LudJ&fU$X+p(O???vVUh?VMk42dvyV27FsLwSPPxllY<+aFffvl z*M|g9uxp*am+&uVgM4Iqc##bq?e7i$#sr5&hR2>cm*?mezG26)@kc-3UDUF-{zmPW z|6cmx?+eGjZu{`xc3&Sl-EwDBaToks(D$&g|IyXq$JGzM>A(G?yt)DY?Wip5t)=ua zMf{45`4aT7z^uS6E5Gnjo+i`7E?64gq*dOb|(bD5NY( zF(VHp@|jcml!?#bsf|38?c&6c-%7hC1 zU?OiMPd!D!;H_>_$yw?<>A-tyxRnx86q1r!Qk0yU8R@unqvQ5SCnNj|3zKpyDYU9E zGLooP0?UBF{dE(%DZ$hb70l!*1HQ!6c4S;51ZJtvG1)pimDI>Rc}%%&7A(=nBvB5{YVN!b9O-z3Z`}V2zH2e4iTCDniRN7Z;HH zUogaeYvt>8Cjb+m5|j8w84V>1j4Ig67O+=0;oqUQ8r`5LmFs~lK4;J_8Pkl$*ek&> zDjr6;#khj0BM3)xOff-VJ{1#zT$$+5t-q<7wBpRK9c-(^Kwxxy(z-!l$x5ajFpYx; z``V}!O`{(_Cp(Hfm`?efe7q@=T z)+5{3?+$hgNezwLnw%XK6w7UP_x?+1S^M3*Vw>A1dwZwC{36%9ztU~BId6@!Nrsp3 zZ;+{#{~B|&VERxvtymK4<(?Q2Vz<&fF+Ar_W8{5#dzB)`6L%aET=zDZZrN7FrBRr&TS7CEeZ&w0%U&DXCH7(djk zk~{dHsA3p88xCZrPy&>@EghpMf#Pj#<8I?}{LsaH2d`ypI@;7T^Xbq3&9v0=BfmWJx0x$ynj2{5UGEtX@S~D#TwL{y-~~if9Y}dYD+izg}xr z`kJruw=^Ym(BIBI#4Tcb=E2(Qo$YnQ$&u?E%`D@Bz1_`CcsY68A|gY(Jd^|SrV{fk zBk!f)8pK|;lAa($Wg}Zt;@jWKh9AXy`7(c+BNN7KV{f;Z0!9u?z=d0_oo9lKkA#jRa#q8c0E`4x1*u5wYCf`xTBt1 zPc1pQgr&7rm-MyPv{aT-0?T6AGH(Z`FmGR^pY^eECw6Wxy>v!mGib<2rGl>Js_vF* z!YcaP8+w`aw$K%Qik5IgZDDg+?}Q)2 z+5|=-M$C?O40SdC_}OQceXyMNzI1w8Yx4f_eOrI=`9oKm)j#};AFNun>Ww$wTJYAw zw-&si%0a(HFQn(*S+e-Kd2cRVYa0@q`M#;`YFqEW`0;}07OwG#-juNAB>by7u(X!2 zFi?m(*Xj|L)InGe12f)1f{I0KReEbrH6g@edOJlxSiXf?u26e(uA8uaWF;bNfz|@Z z>?~e=c7VsZ5E*Wi-745gY4jTZio00WfrdyktpW+F8lI95#><%)K9!~d3;*gAe80CE z_{HwgYqhuhc7Mg4fy!G0mGCmPN92BbYoKL!W?a0#b5f8S{7a!Hy226goEa9F7U;u8 zPYOE||BONk1*iD?0*NT3@qXTEVZm8J0niX6NUUs%hxTYf0%2Xv&Nz3<}QE6t}GXRdZX*$SVq5HL@48gG?|R?`1nR#@};cGFG>HfAZ z96#K~f-@ZD?tri!OZO#jF9OKPvZ0bQZI}pINso+;4+)PCib{$~4Dt%hP9yvHz`0Xb z3$B%ISidpI*FVUI&?#>p2M3x5rH6;`<07Q44-Z-&9+>FuO42t+rrD4JVZN-h9bXv= z27YmI;OoeV2-_AF1_G!0xFvf!X9Rh{zgeMP8zOwyg-32#mzEJ5n|J06h3u-YU+Zoz zL&p6c|AN5v1qS}D%k8eu!+IL>d(_4Ps$FSD*(+t8HLCbkR}GDj8V+wwkD~sSpF1Jn z>qC`Pof_axk7hLb^dO(q058&xs9c>H7ndHNL=1LZZ0foVI|5@f4qqr4d-$_s^@DpG zM++bSy5ysOxib7&&4b?+O@DK|{Z49L^O>PXr88d@jXtTm^Htl&KfUqr$@R*LmWpEa z8EUWLqw8xbBr1ELu0(9G{(5I)AqD^v;=&A>!|)21`W(tw5G4P1aH%&60HSSD%Oq zY}^!y&>c(=Sg#1p*HQ89P1i;LCD9ubiWklIdkC-buMWQi3=2L8t{Ug+3eU2GDuoSt z7!}ZFPFShh(p`(`<+7Pb5VD?ft0r^&D<@e-#My%|ZW|Du3y2|QTO0F57QUPK4Eks{7zBheu zt`*G|<`Vvrl3()c$T8*DG5n_Bu=evYN`$Z>f)^(3YoL3PG%&h3)G{;NI(wsyi5L&* z7kPWMLrit`g@4DoZjX208SN4TW>H5}r;2KTyEj_E-h0}dhY!Zu zl`$D@qc7oIh*$$*;aM4ld>K`3XK)xf`1^(stj9|OHM+5o5E9p&4D!KLq=Z49M&DOq z+xmy+i)f}KU2-nIv(6f7d0|qTKp%A%921QH+Wa5qzdRw47zzGFgX3D4)DMVQ<}wa7 zRS!3#Eh^I;cXAy4uxw{8J}xHuZgK>iX_&;8d_TfOp)?3giGCzt5Ljw@Qx2Ny(8NF@ z1b_MAgN@1Yjw?Q(VoA8IZHSc>^h8N#RupJ_BuS|i0(Fqqu7R-ZmMo^o)jD5aVxDPU zLm?3e$jjVndvfZP!^e)~?7VR78j!np)85@#TcW%IH^i;mp0?4)!NAQ9qf!@$}xq1rI;^b#+C%irE{qpO)VzN19!cQmRNdlY}uT9fk^#if7?9akGJ*PqOe#`w6}EL#-e;h1;g zApFbk#gE86m%`RNzG{qmcC9-X*( z=H$`Ysex@7@y_NS?8=BGKd7@TzoYCzd*SK9s%!maxgCY)hboFj>&uh;JSn|G@-IC; zT-K_U8+c1%7i$|)V_{PCU*?SB;pd#N4Z_Z|O9+H+uPsCKg?U@6i<&D75P#ci zuJdP4ZL9k0g)~>PHCY|#;+B8$;+@IKsi8hPjzPXCzrZrd4irWs+8LJ-b^N%vVaUE* zAqls`qfW}wzj+fO)3ITmZria-CAIJ``Y)G9@{SdEcNfgIUz_U8g?~vy z{9`0*s8@xIy5FfhL?1&p!8KnjOzy@FwBhE0-?3 zbn?JIef43Ouk+vk%@0jXOxTFb{pK6~A870$4_}8HSO7jjQ9Yp6}KA{*q&c^_0 zG069Bf2|mE_}8HSA_4bR81wJV{u+GI91Z>@xiT@(H8aYOvdxDPiHX$x8_jjrQ~)yO#K8FN;-iKCZM0hKR{R4R&)O;2G?t z@-zGk(xU1L0+ZWIE(uw^hSqF!iz9Nz$uZc$BEWVn9IbfSYK`isP6)J_xtp0e3B|HM z@Jl)d@JmT6Nf|~3M!hBRgew)-D?k|T#%TLX}Un}*3Jld0xFj^1T z#Cp191p6sE4hd3vx4$n2{3g0NZH)@qz)RfiQKAWc-k%=3DJdm8F5%+QqkTm8I@Z}HgZ@YU zo}?km-)EAK8}OSJ=&gd)gS=_pv@IiJV`|3M^_%zYJ?0;gxaGi^{OZoO(TDphy7o1V zot^ru^y7bxIbONBxIb_F%l0q+Q1K1+8b4$oh*&^a&cK}eLW_Ks8dfCpb}0DeZUWmND*7Q5MBVPusA^UMxbW48wD z)U$on%6bWoowI(e-LR$-f>BC#1jI(@3aWx^b@+uYx$|Q16b86qJPV4787R2B3KiIx ze?<#s6x~@LC9#^3opt?@xzMh#t$NeBcae$yj`|0ach~oyroWHIzl=Kng03L282mds z+IeT9=iZcRGo&N1sK8PWnOe#eRi?D^-I2~a%sR-k}~hX23c&uCB^=MY$duvQ@uG4W|@ss@3Df_1QcY9f~l z*~no9t{MM-#@+(Dt}D&+?SAjoR8MzTb%pK35GPKY*pAs^W@cu#z?Ni^nJH$FEM{hA zX12hR8IlTBiju0Hnp*F5*G%TO@0Lz(?3%Y`t#9qM@6oweSGv+U`?vq!_y6Qey#T*T zg@sgvr36eCw5aB$Q&np%OG*%!PR)HCjnD7RCVhGqFA>q}(8PokXoOw(mlXwfe@KTF zg{)Bpl*pB(&r!UW7ge`Nz&_@dATaq|nHR65eR{beuk_m4q`gsxE*-zLFML;ohyT%? zdo!=zKC$;iLfrAf+=i3Kla3#~m629+<67bFxYN60j>qmiS(Mk#*7%`gX}Kl+5xYK3 z$!Z+C^Z9{&XN)yXDO|E9QB5U2vNJC%JvFuI6>CptpY2!J2$Dx-&6>+$*?!wXB5^ez{f{6+C+ z#(yOj0d8<BYH+#Q^rjcKN`QM*?{{7s8FG?$FI@_8Oub(y3+Td=jZ>ziU=IKLNVN_>cZqB*h zns=);=XQI3a&7YUzViIS8<(Apbt(P@39WVLSVZ4mO_7dnYRXPNC<=Iz^9+qrrOOJ3 z;2?_}=vAgD3*}eE!nRxa?6fG~R`g$_5YprybxaT@ z+SoC7Sjkz%burUAi^X|A!&W}61euPaTjw2W-D3~lvI z!~J(0PB@*FSy@-xd*;kdN{MaFo%}q4-95q%9lKsoJKQt*#hu5$>z$Y@EX^;>&7f~D zUd_O7Sx#zgQ5MWwUrPCv=-!J9bYAkc*pPsX8&~2&Luou67ZR3q zRbWsr&F|&Ozo}tv zcyM~4i$4zOpIJQDhtqp>#NG^D$CkwXi}9=I@}n!)A(|fC-q=;Rg((&5*VipRAmfTr4c|h zp2ITxm$jBi8>R_Da{)>O6-i|9LTxfPkAp1F?(|fp-@NdD{o_BZT)zD6x8MHx&wuV_ zZ$_*7`x9Ncw=cZ?`Y%?kcpLIX{C$7D#Zoz2aZqTw&)KxLMEa zwG|)g+jybGFJM%>^;Hk^TG<M$p(_O`PR58`d zc5yM*Sln~(4>xCAJRap`yEn*-p#GOEXebzQjezMW{a_SuXKPJeFb2-p4T)~Kq(EC3 zOB@4;5G7$EAq(1D)Bo4s!~p&!f~`$=d%J=s^b!JcL0|}Xr;qopz##NrKSz6#j<8my z-IAxdL6oNxHd&P6kTGI!peNm~fLTg_CI6BR4F$`)71t&9maE|>;nr2NJ9gt93n;$288)Z zeKCom6OfZFI|KYGkVGjvB^{TpK&0Rz2SdT6Miba#lTnNy8*D>av}2TmXQZodh+CkG zlb@wS@PSJ?C4--(bUleqY`oBTe}Dd<_5P&&nVk`rOWY49huo}6C>hC^|8JFF{g6;Q zmw4w->BC<;Md9U;L;{uVHa)gUMbfX0xwo~cudO-yFW(5wnu2I5m`LLCv9a~Dv-h!g zBnkQ0p8aLnc@5=N*Uw+Hx3Kkea(A<~^|f~-E8ES&a;Lv=D(_K5CmexZc!ub>PYaRhgh2Ka(6rw?0Y24?`XLHk%)l(L0)?z zB7)r9GHzWT@8j;5*;G^5Tw738n9^9D)>@X5J0S3YU2Yz`)PFC1<~MPfEm`AV)Bm^R!S^{2e%JpWKU{2^I9Js> z_V52$e`hwUqP(gZ`W?y2S(!Kc z@+i|z)DuzU9-ZW0h*)(I&IEx6>e316-j9JHA^EqbGKKgNepMih91QRCCMCZsKi3Ns z3<$G!CFHW1ksN8HPnr5F`FBAFlseR6%VRKB%7O}rF$R&G639jT* z-6hlAWiqC^7F;0Y&b+)^DLKOsnUqQaJ=!i{4h(+Msg}STSeDH)3K?_}Er+}CJ`!J5 zf|IdPVwpt9UpV~@m5_b77Ifi8QOb?pBomw@pz%*k*@ji-g^^$^xI|5S`H&1jD1++&5d;39qydvoS_aTJe(eG zRYlwMa2s8EIiC);bnv-9F+kA7c7Cjnha42Gdq=w;O!V9z@17s+lx=*$VJ34U9S`sH zutd2x+CDejdUvRW!Xnw;m(N<}KeO8mcPuOwRJqLpb=%5Fen$D_E==;Xkari;o>@_F zGQkOig1yRQyrq;r4syRp`SnWdWx>{0S4b#-%*x+62Nw~zSn@CMOUO@CD%$d&NOo$2 ze+BKT_*X$x1X<-DS^Xf#)&H}E&AUntmWuF?52bUyYLu4+#>I3IVLz+H%U^xr1$oWI zcOo4Ig#Nog!5H;4mLqS8X2&YmEUdK1Eu0(cM-^oyz#Sjs4(`{uT3Kz{B!P%U0!sz> zm)&)a5Qvhyy}hO3CtjLl>c;yA?F|YIbM-hKf8bEuiTu>k+m|y?fdf1vP8_^&FyUhS z?(^4fRh&4N@9ux(?3MEU$I`>2&Rg1s1%(~UDILF&)}dn-QCdHrS2=0x8edd8SX$if zW$$mYSqC+f5@X&N3lf?$lA=c697`Q7RzXyuI*^FFP19t8z{aq_drBI~rE9ePOy)CpILut-8N3qjvw!Q|@-&5x(IG(a}3RyK?OGk+B?HyZ{N(iaw#h>r#>t!!PL~< z!PW=2=IGdy*KU_pw9hvUJ|BDVyPnb6+`{bg;yl{&R_AB4GhbJf(^!&ITaZzmmsXQc z${hY1$ds8he+>0-3vqX~H8d2hi%bo@eLVK3N&}dsqXrjuI76*EW=i= zuKdAp*Ia)an|Pn!9sb?(yMOrX!B-Ea$)jV(z|YCf)_~?*VW?5pj~(St<>64*osQb^ zrsA2-iU$Mr3dz1Od6|D-I6(nk^)u!CCluVAI$nG0=}3M0rDLm?zOokmclk=x&!sDt zzw!3cHNnjQhpjFv)z{J;-d^`LTZa%U{0p&O7}b^`tX#-{jW(`Y(U}-pY4qe)R5&`V~UjzL6 zFRw58=Qoyb(lvd3<(f~lu)Gc3YU&36o=Yyfnws0t+}PD3I!8$IeSv?~jii2rTq*Ci z6^^$RN_ADPE7w#q^c~I6wG!X?-1WY5Lh(Xu{7iDQKTH| zXhTLc{7YjXS`q-i1g^;Zq?jaA7p&?aY{H!aG7Yq{3%7IH=N%Gc>k9wI#~!|Pv#`4F ze&o5_(2FH${a>DMxaW4NATp`pYU6y!g@WMo`Ip=8=iUAH!e@Uw*Y$bQ)SqvR|M67S zWM2FHmE=<0Er#qIVmpZd4gb2E8-l=Gy~CXxd7q(<4zwN?`OjY7$9BbDID9ne!o|#+ zNjJ}54Dt4}&^L0naSZVEvowO2 zQgMvCBR_Anhcn`Dw3}m;lN|^gY-I-QgpHf|#QC*Zuzi+6vRV{cZLPfq!CAVdOz~VH7;F1&q>}}$?1!~Fw7{X;?m!pbX~51+r`ADM9CN_uGA zsg%~ybF~9khaTP-es-(par2k|^Kf~8(%{pE-~Z2+?|(R2*7AC^KEoF%!VmdUcF{lgYO2}2WP>|#+C_@EJ@@k+6aB`x^b21S{GOx@(kw?S@nUau2{zd;) z;8z;>EBq@dSmr54n)$ zu-sG1VP46<5`JfT%Vv7YWkA7GoX{yo8O)_Olq`}(A(ikuGt>e$@{np-Sul%cDg!j; zoW-xwxs_NrhY5fzSh#J$${1XF0e(SX$-nY8CsUggMq{E7E-(x5@*en(ydU{}#arsG zg>WV0LgGp&$9V;U#Q-6HqS@irxzYCdu?|82>}WUq`{2&N!zo(I4&I;a=b_}^`O$8e zR|a$OaJ=*GSjXM5&be_x%{=ST)bQi!k=Tk2=m{G&(-mx*S&q>atb<+p3Vu5x)7U?bS0_o zz>!p+fCG6&-D&xQhfWtBJzttuFm&K_eo*AO&Ymanv8VO7n3!(SHCw-h6j`iD;9qNv z&60nu5lJ<+f{H?O)YQ>kv)78yuS+@0%Iv zzBAZCvu3t^h&z2PlfBI%)uFdhUJbYeaXFIfRrvR-`KfEi4{EMibv$mTubuUk69;An zI!KJCOkkEG`p(+Qw40BI`$p@l=)JhZ+voDhGn0c8|M8a}9zXo5uBL+$BL^Et6CE87 zOEc4L>#*Rk)!KAAZb!zaXG}M(qaQ?T_Kn_(%(|Q;3XR)K^Xl@_u|X@kb(QUF7E3O= z+5jfVkC`f6IbcutRMIZ^38ezOgcO2V?O;kq@DTM@g{ZhU>$vJ`x#($9XGgFU)LXyx z*7;j?#qIGsj)r*0y4iY#`-G)myXI+WMH4I3UbJIEe!jdW-;}wEcEyed!B=^GK7HOB zDm-!wO^PX|BRv4;8OWElB2;U%Wm}kU_@Tp}CZ<<6j{dr=>;B~P@7;r9w``&bjfD`V zF-%i+lt%o;f5uKz$8Nj6v$iSCk36lMq5>jrT}nE*@8s!|iH-F`K|y=?1-m*0?utGX z7I`?~*v-_EzN*gqgLl7f=^aZ-y;W9}i&1lFW-89l^~Jg6S-0U|HY=LT@`_S#G?nIF zIJDQ@!pux_yA9%zv2n1wyRDs-m$&<_n9!pMagEglBJ;Vc4q3mgIH&aXwW*HAyFIP5 zy)Dz-OJ%jmyC0`9J)bDzAP$ZcB^oTSHvL|_ieBOD~; zLC{!GuqtCprb}^AnjukY04oo%K$3fOEU463ST@(7kVmY|RO?GNwy$}S?ZlaUUJEeOWtbWeEbE?*!1v#2qFyigwTh)xIzrUV#YXfJak5|u$< zQlJ^hg|^tbi4g=Q*sTSAVOw5}iEwUI@vpR-#>3fBS3@RF^IQst!C@6aZ*kDoa5mH; ztha9>$r%KOf8}M394AV5DH*1nU!bFthlM3_s=vJhhSdabiTk7YMrNk4Ia>iJ$hcl0 zi}Q1lqJtV6YVU{xq@TI9zlBY(rTuPC|AS#sC-)w?bm7L%y{AoG!!}q2-E5x89sc%M z$$0qn`U`dQr%J|mT&noAV)AP5=gE`b=iL9#TVvl9JowM6ZO_Zce{(stR!`3kJHbeM zXMb{pEJeGb0DBu;xVck=IXcjV;Xr7}f$*^7J7Z47$DZB4_t4Jh1JRN0mR2}y%Qz4f zO~Ey78VH(9v3uZaW4SxXABYxxnZ2AtfnP@}(uvur5RISgE$MS4bBwuF!TXVpw)=cN zj|Tf63h>$M<%ZlJU|~cm^5GD_Bcc8~Jso$r*zD%h3=T}bda)oq`NqYQrTMo@a&HPV zD;4>+m!=S{s*wEKT#_WB__h*At_0`cKi?t{IHjQ=5zK5ZPCgjv74L0Bui+?HE71?p z#cqd_1Am9I5fy)pzIHYU-@b01{@#I6k-Lja8*(ce0weeDJ@TooOKAMXw9MYS^Y8w}`)u#Wxx% zk{Zf{FfBD}!N1ih4OPjC{;STv%%vPGL0J8v^!}2`((0plS)}C3bXp$MWkxBbl%@d+ zx5^p{1z@?F$>1U&Cn^)91w*7EVRKX@gSiNmhp?~_#x$w907InV`aD(S4pGBWm)XxX zTxz~Gw|i@D_thqgP#uvY={+wXFz;E!Vov*_oGmnNA$ChIXthytG0Lx?QB}^fRDKuu zSE{;d9cTK4;9K5LF0Lq06`fpY*P;YBboEfId!%~B*xORhs1z`&6S0tkRc}Cwk|@jY zHE)B5ye0CP@hb*kCAxA=Wip6||`Wp=Rf?obnf z_3PYlGvr9z9chEzl;9zf=oE}RxDcchvyi5>E1hvfADp&2a!N&7X-kc?t9p4vW@53; z$nLKEDt9`u!K>nKxRnXm%lDGp%7k|U1k{z!#hK$z(~O8zq}^F?}T-T z+zMbNNfxwx8!S?waw%2IY%YFkm9>}HKLL1ulJvFs5SS&0nNYS7sG^eAWb9li|Jur? zy*wiG)<~t3{+UwqmE`-Q@>`RSd9T91Oe6wJ_+5~R`6K^nfW0ztg6$(2{EsLhlPDPF zKd+pS#qrZx3}GBcVW}#_m)J$*Iv__TBGfvj{U2g4+h{W6RfSg*-&9p-ECF0G(L(%{ z- zmrGlEe|_k5LG<1v#)^iSq|COQ;-0gY3wP~LOwaGFX_-HFwY;QyY+`^TrpC+4Px<|q1RM|+^)g&69Z8W0H&gh=e~Yax>#B1RWxoayiU z_1&4+K!3CCTXzQfXWh8gP?9&)hH-imr(yq?ef>NZSi=p~qfNDcdirFvqieE%w5g^s zCoMZ>$Id|CAWs+9BXPTWYO4~0eB!*EdP;NcH8<;h@P2n?MQwJLi_!M|pn&B!ZjKYk_u!tIL2&M|#$Go6jv_8JBbBtLIa`AFlVMHdoXLkBH=CoK~PZR&#c z+$CCy5*0w1x-*^}IXiIC~Bgd}qh(GJ(x9?U#ch}T!+eV*s4c;OD zxgtNiz95$<&rB{!OKd60BQ71@hlJr`qDMDRdjs7_Zx6Iupq172p_rX#&z#84N-N6C z%ucyhl6{kH4ZPon>r3j=ZygTyuggmPY+`t-yXDKdNv>&jrW*R2*Lc~OrCd4t!(aZi zZ$~&Bjcr%r+0)<5&&~DqetK{Z1#xkHZoOrB_j?InP-`6>^U$qR)0cUc(E zE9JE5mbCG@6!M?5ubo=*um5HFTT50_7W?jdE8czggEecGtz7=jie*dQetW~ltym_n z{dfz;$RBOg(zSG5@rk~*@6N+lvM2z)c=Z}~VXT_qU!1RaO=6-glO$*0_wVvAosvdX z@C*MAHKq?YW%M_s0l9;9g}qfm`K6WcaBT`sStIo+1J#Lr^{K$GNS~|E8m`a95$jH4 z?o`u{@C*NrHsvY^Jl34Ya*GjJ0mWgoIj6Te1%a}$H2I?yufw+QEM4-8U;Lt`riLbT zxOTVI7O?qjZEm#YgVpfwwr$(CZ(hIl!&UFU`_9T$@BGWJURn0R$8W6s(89^n$jb5k zbz58lBK>zA-gEZ$&g0k5-^!#3X?J%ep@Gn+K`vSc7_<11tMc7-zK1iJCp7Vw=kHEOTSD?LT+CN7?1iNKt>_SBfCV(R(o}x{t@J+%a&Z;e z8cvSnJma{9_~>k)iPE~m)g{Qmo^3a>fXugi0>gS+kbZ0d!^(1C$-gkKBwsfD*qQ@N z$$zE43n_GmrxqI7K`8(J}d3x|&cwB(;|Fv``PVWCz|hdq+sZY_+?sAv)E(0R$cOxMYn94O*|oD% zfQ>aa+WaPYlXz=~dAbL?xzOH-JZG+iP9~u6ZOK0l8j zThllnmpu_-@Gni+`&t`o%X0HGuU8eP)D@>T6ek0)t;M$qiMmb2$;1o%3-c1Fu0&nl zji#d8@Na$oEylXMn|niDV?C|tI2>$i1bS0c9!Vv#qdhwhG-4*;UvE1HPbXLS_uzq( zSvlpU4IMl8pN`&h!oog4$2GKe{+q_H{(7xzuI%n_d%pdlX!hHZhu;-F`!4(bZ!WZt z7fn1H{N@k&%`Nb6RZ(_ZaT-l;Tg#I`;JUI~_*jaRY*o&-!oO1RWt6}xCjhS^1an+D z2Ux~US|Bh!*s8Q)SrjZ4UZLkU=A+w6&ms^Q6D0mOWpMRYHxS?=_QI-Io<<)WiNK02 zuq0n7Sm5wtNcg2FSe<{_lZ1b{4zm^6Q=LSBz=DER{3|n}MTJWhncn=oSb2+D;1~E8 zU0acWU*=y4zpYg{ES?qo1U46vpRod_*GYTr0_RHFRrxZ(zbXV4{439qqx7U@RJX2W zF4A;4QmMjRX^!U#&iZy;5e9o4R1HtnuLnhdc_aN?hf;Jeukyn1HTA zJRND1LaqnW3)f!A|huPQOT^CdT_3StwGF#UB+qI3e|D3BT;0 zfWUH38w%zJm!Gl%zif0!7M4dO{|eDutW5ZirtVVkudJt*|Iw0pOVFwkc0gGTRzzXIv-@FMp0*kP{f`F(I zMk7XQ-0A6!^6P73Z?a7z*x8FbTS|aau4NoexN!L3<=D8hdlIf!H_jGR-no_0SyVk; zT6edx^HFZ;Pe;9lA{e$29<^=pUSX zeDD5)yJHWhhwn`eK*0+k6ZnTaNr50pexQsU3I>OtOb>ngcs}RGHH|eNm~Pt=9~w-J z=YxqMb_w9$r!&LNCE3m<+LsQ+V_V9qtU5jI-spH!MV+Owh2~}rt!>(e6OK%cjeq;} zaZ72D(c0B`gce;p&*r(+=8cf)L|bc1QF_wp1AC(aP4&0v=xm6H@Huv5cgl?m>`Nq{ zJQC~T?28o@WzJd}mbkKz=7+{gIosw}`15WeO|G6wJiPnd_4Da$P&Ae{rd&z#cXXw`m|rHEFDfvfFB7C>S@x^W zzaX%D=%%M<{>dlI=`RU)^TyZrI^q{p} zu(hrK&BUU(gI5A$&LmM3>XD9OK1Z|usVKo4sx!z}?WR)6{C^Y6ZVa{J;ry^WtZo0*tw-Rxs){bX$P+xzzh z8me#t*I)Y{POvu)$DWN1k@dXuZP`rJGn|!7W~JblBb=bHt-9bV4>GjtU-);dIfD}5vBoq4{a0NAmJh|)kTyn9 zaN}(eO-aN^bviLtlQK@3aD6f%{G#iV2OClc>oX8`2?~c*J(Z|3&KhsZQDUqyn;31# z6497}#WcYL8!pnVfpG-N)Qbtf`uRVsT=x3=t5%WJ9TFBk(AzpQ+BZ4W`FL*p_|YS; zz47L%)gNuzs=0CfN87h-SpELWW$(Q8tJmLnZRv`Ce(kMS-&whO-39}5D_tumGq)g{ zfOszeIJc^-zNxvbw!5X2aw>q4<)5$~YSr~I+d2w1>F*#=NFA}iaw*;5m*@! zwV_~sgxT&g64CGWRYTBwgPhshp>`wI+nI>>cBZEc^cwHwvfs~(jx*p76dY!68|C5@ z;b>3#3WN*%5^!#~rA4%zZH&ELgq0=YZw%$4PB!$%p?@wda-!UA{H+ayyl87pZ3x#f zVLt5R%Rd+4WTNM9WA0)oN_WYH=Bs3zkaOZ}pp8~b;xUbAgXtMyZUoF)Zrh9t7WhfR z423)Uzk-Ncnp#iU!E^s$Mi3Rv4&UyGIj{KK+mg~Js&Mch_+adC6e7WFkI8`s*B z2u(^h#WmWRR0?yMbvMFP%92)qc>P&uXu`jkbU~4nD$}sZ9ZM@Gmmn86KL;mgnirdz zg}J!;SXq0TTksUx0^)e@Vql87y}z|Xw1@AJsOSUX5qMHjHRI#q8@40P#K9}!)3ozB z4f_+TEAIUMU}{Ii`LdFc-_=a~@p8%7iQ4<0wtaS}eCAmBOx1(Gr8Yl0ajVM4G0erv z&DYd=hm~cttqt-zA-gSb<7N`==|)=wV3wv-KDJgt&JNV_1iLtr#1i7_6i+>gk0)Pc zjP>xqXd=qZWp98VH#Ma8-NC*Q9!`FCBvc!?n(86YlSmBelFrS?O@gtguC+Et{YP}h z&D+mJkIyv3%4Cn13x62+Fyn6)U}ZwWz_A^{(E&chr^gSFX4X)ii}+hre7mM7slHf% zt>j-hO4MyFNopxhY%aRhRCu$o;0D1&%=2&7WL;@0xYb;k*pPRl4Mn*4_P!A3y?*wQ zj^>drmf$(xG{(&Z?2UGJr8yT9(zyeiUE$x@==g~6xHIRjr(_l#Ie9TWe7BQhppLb7 zX8mC2^Y5Ll)65 z+QR-M2Agw-TEzMCvZg#yCg*U`W;c?3NP)Vw$uRGa@T<~)7ob>haRz}=e@CVGS(I4R ze}#j$Is${b>LGlgRh7Rok43>=Bv+}rBJ5(&L7CEUXFaL5fCj+?Un63nOtq_l6Bc|t zT4+aDBjHyH!HP620C};vmFMz0K=DG(C*Kb1>3UI1Lfaj#sHCkzXA0*^yagNYkF?wa zenH^DMn>lBVLlvddotPiXuO?=T&}r9%aEigw=NkabxQJ;qdNb}te)}Ca&8~EUZDBT z^w$zH=UE|NDf>$EEBKdvOKC~L1hp61g?#4+s_zZfFwXT?@ldkxBL7w)AJ6vJ+#RT$ z8?2ijVjEV({gFn3o`d&Cn;(w1KAvoUI@S4Xy6fRo*Q4p~Co}!TWzO>lB=%MXVGs}A^b@7nm zM_Q*XxH_x;a`@9yfKLTl*EZhMGJ!2jZz~ge$c}b55>!))P<2zHp^~uD zQe|SRkNhF2uy-LJKz_s`>r5s1%A998UjSiM^)%$Ggv=gS9~Eg>VzMM<6m`B5 zdnNNS(yvX`Y+c|dSc>v1|J3Ae3Jai2#1j#qT*8w>I@8{Lzp$h;uduCu_)%Z){KLCn-k2Ec)F|ctlw4yBz zxy^{7_M$s29engHbTzH`)_Mlc2FCPVa@Epx)zWj*G&0$w9~H9u?8WSo)`{ug{C~5* z{m)0g|Ldc#{xCiN;L(EzPv>SH&rUs@o_sJhA>;m?@q3eF_s2)?jg2rqx-)TiXaLUr z=FtO8jaYhZe0K$HD9tssNSB=(8JQXCo9v@5zU%SqD8I>2A7|<=-L1_XOboQvuCq6@ zG}hAHvTlRDg|(@Hp{s*qX5tOJg0CFji}!L@QI50rRubxPVxbPp$;@nbOc-5j&s{p@ z?BnFU!*9>Y{X6zVUb%jLq^GqqGkKSXTcDK%Mr0U#AxyBSL*!){MkXF!+#oQ!`g|gQ zC%Q02+2AK%g?~vx7E3i_BbC9awph_=Y`qXy zOv5Z^JwsIH2(QrE;)df#E=5Hh@eGX5E^eX4#)g$^tTt=AXp1ciJAB1yG>nm&hNh!| ziNBeHqlS^2o`sXXg|{gFjfo10yL~Iargktbt0_3@q_uOTllQLcsg*8)2kZk5?YU6U zF#1*ZozMG5XEQQxQ~X<(mrblJNAbMj+*GtJ<8>ccY~5g{u}OdPI-M=+yxnb_ z?M>{A^x{GT9Zd~&H?A|;zV%4#&H!h}ZEHS=3ksO-?T!!e)BbSPiJjpjSY};19cX6; z`N~i@SD8rQeeq#i27b;mKwxygr2`uTL{$@s8W|LGssy}x?x$Lm1gWh+*I zz=*%U_|-4peeb;w>5990?eb+Gu35i*>8cHS)}F@BA+LR)Vc`{Z>T25Uv~-1kX?{db zH39sNK)$$OHKk89ELdRSe5Fc(ULa!lS0HdxvWVu}B5E@U;P(ao?XOE_`GkT%&>ebg)tomT-vUgW5Te5Z2`fXb`E_v&*m`i8-;w z&~mMg#j5R=2d`uwzMNX!(%#wA+|yddCIF)CqW)Vj*^&?cLbVF~GEwK>vDR#2qD2I! z!SBE?fpRUfraM@Kh}8@5EBRMhy~v5=T;LZRR%c;(oKYQq#qvoN97HmH0fFTa+2v44 z!&CK5sH7Af_{H{_%3s7^u=fT2eVKxRUy{1{Ny+7=`j4MtexNq{@=20DDU}NZOspoHLOt)N+mdjU=lk?utFse|=y&>rWyaif8V0Ie0?r{mF0vBB6 zWNLLGU&?g}N^wD8R9*Pj(LmRRjOguK;9q(HgTUBc$rnNY70J&!+o52Z`EpOO-nNCb zBC@H`f4N}tvWzwwn_*-e7(^Ff9c_^UZD54Q1xCtlCZ>*tMgb0vp4K)*n1?4I>}g}? z>i`kEQ$_1-Z9^|Sus7JzDa6T{_Cua#mM(@Sk#62Go_?-|X5QvD?xtq@LP8Jk+;!pT ziBrc;A2@v4KWgvETLmZ6s#2S0(>fkqtDa44xDN&IxmKH4GaHiFW*DFBe7e;CQf+K% zS6TXw=di6`mbz@_uDsW;#-#2>UzOdRm#gTbS+( z4~Yx%5BG508xjZt#|8Kjln>L*5EE~hac__>fft#Fg^{PFk(-%52n_%F;q+x{NQgvh z3u6?2uopvbL}!lpo9ff{cc+V8jI%8QF+R*x3h(lCCjIGfSU^mmZ-kG>$%MF;s^aRR zjPimc_!sjl@;ba5GT2Kf@T*;fUG7A2kC6CC4a9_L{P z|MEA9PR-vT4Y`0{QW0XkJ>lPQFP}qu_Fubn~P0%$3;K!w&ZTdbYlw zX4mEo%oUG3X}SN$neTt-`|aPV9{#@a`Jb|9zPQyrT{rvHz_Tw?3JOX}i#ob7H{S~(aaf&{ z<#R>aGrfRcQhwF-U*K1rf4i&FU*=!w3`X&?!oN}lR)=5a>ijF=SIV!9gh1ftN{PS_ z3Tz^aQWqf$!osacWUiv$!M|Xy%)(VCU$B=iEsQGt7xD$1VPPa-(WI63ud4n&kS`O& zN-nCBe-U|6MWxg$5m=Hh{=ITrk_kr$C>Zz!in(Gd@GH(yCGapx;aK5lDgJWZR`Pik zl;5rj$-nXrB5oq89aL&kL}iW2)mg$XqvYQ^oh1bPtCD)lk$oZG`$M&aq+kicbNw}h zBwq!7?+rurjSohf1pE#+%nvsb5`mxG=>UNr&-4(Ie;3B-fu}Q~ik4jBr*}t*2dW&) zx$!;(ru%n#=O@UtYy*B}z`6XVNEW7>A><1MGcxBm3@bU83EWB*Fq$bzO;Dti;9+6O zzf#hbw965BGU}?V0cXN<3H2kqh_L$UZj>R(mv+4riOXibGG~BMZjvzJZ-YNGBwZ1- zH|phGVGbswZAKc%68t$45}BogG$SpL%Svf_bXCI4CSuR_6Mq9R|ARtf21 zr_R4WqOsa(@_hJL>c5OoumZy1@XPwIBv#H*o+4{?85Q!C6Uo0Xj}nA`Lc4XsLGC9k ztm5An{Q4kbg?wL_0J#eJDih@(!23d=|H=S_CI8C0V@2~77X%gg4s{~aWBt@N+S$rD z(bFO4OlF7rp3Y2W-@4{%X^JHX@*K)9QXp_dT9nAP#a)E8gdW{$1OlV{!b+5gCIr)} zVb`AEu${gEalxS%4jiw_DayK)nVXznl3SCNQJs-lS5h&Mk=>qC&{I}5R#r8XTiBVE z+f-dQ+(Pzo-@S7uZUp(nm>M~)|5#gdi?N-Fi#HA{o3u^WZ6;mT-`EH}l#P1xZJTY4 z^sM#uZS@Tu^$gt%jQotv;9n1I6B{k_$l&;^w@OOeChNwYOn&v(&;I5qB z&)-OMTTbHDyz8HCTd`!avAQ)kU3blUWaZsDeWofe&q!zM$>Ry7RfPvn9XNF1=#h)Z zlk-v%->dYXLzwrC%yz@RQw*uXDD9EfOZXuxrnXYeoL zFKEnajU#*`VeLXWo34h7_ICIehPB+L>1OGOWMFUMz9;7J-kpce9=>qp^tBlOC_ZR_ z7Yk@62*G5$gTNAd83A7KnP5V2#8X$-U0d67!+JVDM%dc|!nkn5zf|&CZr2NN@;yM7 zY25L|#G=f?rks*iD>Fyk_1m1ZjqSH-Id0$XrlSL)^A3$SZ?V-e@Whx{+cd<+ZHJrx z4xbQg#A3pB*VpvK#+^yYXz&g`2mYTQ+I0{m69tMt;@b%uU`re!$nt2)`hOf7K~iVO|7Zj`NU-Iu6St z^56@G&&oroAWt@@Ba(hO-?uB!_0|9Sv-N8}T)TGdM<0p$Uqs*)t5&|f{GE-Px2#{k zW!37Bmn?mMqn3%KOOUl!5SVk!SEym>pht-cIpfmh>Y;p^$96yTSbXiOKO z#=i>)T%U^aJKm^@rsRp{l!d5Eo1jJ*`)I`9h9qKys81QHy^RqTRl|%j@Y>?|Xnop? z(U6J_HKH>kClH(|Pv&5EAgH{N`I&HCl3P>8smSI@envx7_7;zrXe#)my#Q#9U96oNz?WnaC65gt@XlVZuhe z2$gUwM}?+&s2pLkpfal}yujW&Z3~9aG&xe>ceX8$fbM?`l@`3(fdwg9%VANZbTspmiKLlzZC`7}fAWLyX6bPG{hFF+0 z2IJ&xX6k1o%z+_d2hEKoH$MIHPG8EY{gLh#A&$Z`In34?$rYms#M2mGKeBH4|3d!_ zu(j~Epw+Kvxr?V07d@&x5QTj#O&A01ETLe8U`8;OA?SLi|MqJ{T3@gGlOR!zN*TkWZ|y2ftyeU3PhSqW^-xha!S^xH*yvj<(L8gVDfST?dj@Em9-RYgQ+t&k|ti6Fghj)bR z3-&v?FS@ocy`eOn%;&0tn<``H+ij({J4$Z17biio1R2f^1-F{=t`m*9*JQ|t&G|P7 z<#=7z<@)R^JTdpm;UH`6{r=9oJZ&-E5_#J8wn5gG+&$r6bnq}2=NSLMU~ix3u&C3g zF74TU`0V*>hmW3(+p*iz!Pn5l>D=|)`mskNPygKi_`8&vfs)auH=4$h`{qwq^+sLI z8GQPuk;k9qm6cW$!7P)A+sJGB-NBQmcvLwc?%9QS^RAQi7M1NIE zUuAM{#chHK59M+BB_7HX_)>Ruih5v6sAMmT{Yh2GOy-xL+gq9VW2huxNx>o=S`|<* z@T-K7fGgA5%S9|WW2-tK|CEA-m$eeuL`zLduDVITl*OT-sLaNscL@p(V1nX?BnRyh zOrR%~fY>GqHiyaIL({2)YZSE?1ZK_?7f@wUI7T}Lex?3PMzkt<=Esp7UC2~Yst|ui zo9~UaFy0+*oE>VI8LXF@EaI%P!zqPYvXuFfa$IhHDqor#qQ zsu|f_Px?p*;8nHTqn<@FFKv%x=OdB%EQ)y-s(RV3q`Vh}SB`M*y}>#eY-17|pnUE~ko+ZZ1cX$5D2;4NFyY~%sJd{nddaH%o8d*2=hD?z1`S-; z=wQ1;@ibA{9GC0{>Kc9wrEe4yX>BK;BDr{BTs&Vz!J?C|>}Moe8r9=}B?9MO zf)+M1Nm#l?F@naDlo=OEHcwib|K0Hg+dYi|ZTdejKHNOh^a+)${f+Q_f=@;*r}btQHSD=Ts(av`>}+Cj<8VnE<-b2P3{ABUPd@$TnWZ(QKbf5vd^9&XKRfp4@4lIv9(T60y>j7ve0XGtn-?n| zPiL3-=$PODA18b3KyNpH7l+tDKbB-H*bat;x|x}qXlO)-g!FcHR5er|ICbR6g;NQq zkDk7HG5XN%o0&;tGh+ioJ?)J(dn3c*{Ja5D3dhJy7Q!n8s-q3|g21L5H=qJT#Jnt; zFZ&W4=OMDMoWQ?)a3H*>hLir-8ryggb_~31oE%K;BLa6Gh(ER`<{$`Ml3Nw%9>P8b z*wd(YMnywAZsV z+^p|l>U#R{<)eo#y0`{^^s(mV4>vgL8aZs&cGM6%C+we)zK)4E)#5ffw9B-Mu=fnI za`7;*+Ph;{Rx$>mRfiJJ9XN6=DZS3tGcGjlLezn)K9R?dUoQ(im=tp=t9kO<$tU0C zm(^!yBw~BjT$~H=c2$+2`BrD8Hx}gTeEeawx5weA2;5*Od^>+&KYlOx>X1Bu6RDSt zEg)>BwI#^O2J`Ll*1BgCgEQSN7ZY}u-o9~u{~myMcSJ~Jh=0P~7-t8ILwn-NvNHUf z9K7vq?Tic6N*V9%y>B_!d> zQ8_42Q@%9SnhF1Yb+13n!)En6Z*BPaqt&ZdfBf;scwPw$thFD#{?;4szV|--yME)g zRqw4gv-i|6c7%WZV^3+@2kt(Xg8q9W={EdJwU^{yL}$srNWd@iuhf5mUv>T+Z%ST> zpD4eHBlU^H^@#$0|2OC@HdHpI4kKTRv-8Yvmf9suhKlpgV+V!7MBaHd;nh)Rm*H>Qs#Vc>F+pMu< z#rvw+xa1LY_|(nRgC|cMIuO@Ta+~~T;Q&*Y1OGy}z^~+A zT)gC5CT!!%MW9nFAsQt&WC{3f7Fp9YWxm@}KHpa!HpTk#5!pLcMnT2%}wk&EW1E>*fIe ziu6|+-&mWg5@JpKOpPV~g1wS|15Hif-vAS1_!oa*{18U#%4XWD=ez6gv{!t(KLUUX zq*NBa0%Ie%GQz_XbM+`cAAd({(s8N(^)O|B&j2GS?nGj*PvyD{|I#&>tZ7&n{x#dY zo+}=fR#N|^Y$NE`xwah#6zbl>IWAp}qgj8!?$z%QB4`y)c#ER3T4JjjzF$vMW$mHthXvBY|N z!OL+zUcfKEUVf#5i!tA}AkoOghY{>GH|51aZ1@-VZ}^vVXlR$LV>JCJN7@jZd0Fn_mTOB=6U2R^MFm>YWheeC&kQ{T9QX;snJ3%t*!9LR6F zS~mdy_Rc*ltgI+2%wwZlgEP+>!3Kzq_O31!%U@yWh!21IHc2*>}l_pB&W$YMlzpnD9`YdBI+Vj@98; z&ZT<$!U)gGS5{t=m+h&z1^@O{B@qkctEvJPC#xi2#;(e=m-)A?EcFHcRUvQ|iO`aT z;orpuNm&RtAh6Vu(3>RANRVOP-B3ZxPP8`aG-=@qRl&dLzogXCjt7!OrvrXzR!Byx zAQY98l|CTM4a_ zTR~SD^0=HsvZOJ~V9r4a%gR&aD<~)b!@JCan2*`ZZHSVFOU5sA+ah8v(@etdQS9!+*Wnd*Lgr;9RS8u~!2 z{GynU3;kqz;Nf&X@pyLR+59;C3l2Y;q290?BW3tk>c2?6G7*|j4e1v0WkjFlb)Z_1 zRz-{D%I=5!OW@A{nB}W{K#a^6xl){|z_R>nQQ%je!ze(wMM(Uzrw?W?gyQMMw zLBuN4GsQogiP%(WsbW+M4lV}YWijNNSAGP(J5n#9&@K}&7ISX}dnLdEl}yC=QoO*w z3ie_Spv-wzKMxzo8$mc0{Hu<@l7%G&Q|>1N5SF3vFOx;-HdoEDO8QobQ4+2Kyb8?9 z^k#~D33c+7=PReFPyToMFDcM6O9ZNwiOmamyXYa$L3J*cmkzET3jB)ClwyBAvUUPNarR##zfZ`)X3J3$-1$${RP!T#xiKE}C`q3PiPj!X{q4|cUboSk}hf9~6-kB{t( zMq323SaOhO3-}-o;tTDrk71D(=FcD!pv0;G|L4O|J9l_^2ROR=*gEQdvU$z2)edG( z00S-H89XH-tfT|t&Ms{8?|h-P4qYFnCn^C znAq!WGo&?7TwwIx;K)!rH`{GmF1m)6Teh=`a5S^9F*LT(vxI-o?m2Yj@F_PFYnsN= zCfLH%#oaF^y|jJc-ZvNymvsyd&fNd{`|si3Z=Qel^|R++J$(iUfByK%XRxp;I0F3g z)u;3KzW?f*-li633#(^$=YROyf23Z%sQK|)VyM0I#J+@myP|*i;cvhB_2Vy}-T(IM zXLqMZXghoD;-?wOx1G$bCc66eMMOK>+QmjjxltY!8Wa?;6B6;*;fjA@>8_c!%<_lIzYvK6JiHNcd$G1>jq@ z!N0DW8qp5+^uHi5L!*t6$tT<4U%d@FVct=>sbwL7ahh5dxUHCJ8^ga=8@IaY8d5e6 z0t3G|m|5xQxtr4s!~^~fv~&)$^VlC1cP!zEla0HZb5Pvg^JzKF{!ynu;4MZTM=s`M zRgYQ+96q1f+CBfL;d|e<_KcPmWi^)vht*G&vd&+LUb5nvG$sG6Tr5gHxn zyE`T#Gwr6Ev$eC0<>`cdxVZSxN5k7Q(hrW-@yBJw)7_4?T!y+g&z%Z$cS*Z+p|!kF zYwhZ}j-0#g+3G=eAsN#x83fIC8A)R%#H8uPm~PJeyD`&}MbM&Xv^DSXWE-uBH-5Z& z8$WyR z@LS0#l7FWg(*#+o_!s|Yl+A@wUzz8u#=I!JB2-5fMwL6X6mwTzdR1yK2Svyik@L|8gy7_%+NA!Pq>vZ?{70+XW?t&zh~ElRKK|6?%^?^J3?sUNu3>ug=GElizPi95qz>K z<4$uX0Rm4nXYgwgRmqK6Lk(g=EOd!#%%ENJRCDfh3({)ATu0Hp?$QUn<-Fnfp0c^_ z(z{(Hvz;{F6;P?Dt32c&Uy>nD;GjG%)7W5VDIcpKT5R&mwT)cQu#yptEik!iFT;JB zkUr0H!Z#9Pv|7xx=E?wprDvCXGtjYmAQlr-{4A=f;n9Zdxz5VRBkd(g7ebv(BU~+Z zdD_Le+k{vd$2i+WsK7_&In(C|yj8(3La?<^fh{b8EiHr0%mPi3fXxXGy6I`0jtTu{ zW)KB!sJ`IIWLws?Bk-?}G5!*I)av3ZMg6b8lS7cJGnECA?oPDbA^+LS%#htVw)iOe z08R;{$#6O`Sr`Mt5G(vksthU6c;*uny%O*&DzJ^tHhl0T|8fq3FKN#N$QPaPi9M)`98B_a zsI$`!cQ>rMuu~3ma%3cXN|-a4TZFs19gEp{Fk*+NgL9Z~z~0E{5Kr$=U%%L}=(xzZ z0|(CSK6ue1@j(AGCZgcpoi2o;z`?;z7fmKM&6T+0eq9 zf@y4>X!H~1U>56Yz01Wa#(}oKHfX*a+#~F={r3m^?F$Q_0niR_dM!DGd%H*Zd-H~& z;61?sVXjW0PWD86fIq#ZP>M;G#!L)PuyAKPfxV^zdvOAx`2x2g?hf(>!FC6k&ocQr z-ouHSUoxN3e*s~7AEN?eesv@~C?Uv~d~AaHZc0ny13e0EU1aG}TX36W&gT0A zJh1A5d`W?3#Fy2r|XEBnT>&j9) z>WipKYcI`eFG(jUS|%9Fu0Su3ebs3%ggmFe3Ncscxl*x}RNGa0ix6yEaZBPS9Ll__ z>_#6)7NfWPCc(r0%0!I!Uk;ATr>l=IpT-gK3Kb&ci}zICBzmiE5q+2$5}Z@LXaTMI zS>*dy=URc@>%K+ zUzjiCJR|!;yQ%_SN@kS&ANED%jwqu7&am@OLiMiX>&PF39oHXYv4tNmB~y&}@%bgt z4gg0)tSb0+Y`vVKu+s}%gcF!}%CUrDYT_IOv+8YVuJ6Y;0 zW#69m;ogpszE0R`q`!w48yuJ%8J-;(nI0M<=ElZmCnu)I$EGGH=I_qVOx+n98Gbl- zx3#+3N=KK9C-S4rH*JK5z#{mUAPbt2YETM;^|LJdj_s9SK?CYXoO8|@ ziHyhyfdU{2p&U`pIUorTSwch;Y@FIe8=Sh`J>4_@pIb*<%EIpN|JKji>#TFny(*Qe zQ0YGB-TU2l9(;A@qf3{6{-2+dVq&*$*!c5*|2#f2WUyormA@Xng^ewrTJ+gm9V1~IXbJ9g}txNtcpI=*!O!GxfY$N=AsYgUJc1s&L*VP$D%tu(b! zn1ya(%r|`5;IW~V-s_wrHxg5Qi7|eOKf6HdgdM@h2f6v zsaff}RVGG`$cxKY23XrdxH1BB2gn@$B^Mg07X;=k;xCKn!t7UYfdpl=u+-6Jo5CKw zb=4|5H9P7XY0q1m)oRDrkL=7GB6PEXijalgkRAx#^jCD{SK2{Kz3(Hg^HJ0e*flNo&%3j^A(#-D2gD zq;!ufZaG!bd(kT?YfE8wPRqIRPrpBT?n-q@ZhK8BHg52*ugZd&H5Y}kv#HU+ZK;ig z`Q#_Z2l&w{I&aVJaBuIWGiNGvbb>uS&Gq%obakTxd>YG(y&Wur-0i*WEE7WfLbyFL zH|wZAa(m+9KyxF0(Y}r<(w+@guCy{Saj~{`wz7%}^b7WK_ja;3Sh2L|VD|ciSgl3# zIZRDSa<;apEiGb%f1zCOi%tRA=nG@=&TZw-K)e7L%WZ_>$U=~N)@-7{#$JKNG zyDu%6_5S?Xv*2Hp-&fz9{`|}Iy+sRs>*d!;g#PfI_vg-?ziNenwP)BGrCX$(f0AS9 zS_8-6q}09nMa9^Eq5qDx<$=H=|5@-aYOnCQ5>{72^F7xoWjJf{uNrR;NvYAoGP;8V z=0hhtatO&9i+pBCS=~5^QJ^mHJKFUWd*y6r8GFSA)W zh0|Vr&D!2U&q6g{-)f%H%OQGe__l*7d-7NBNZ-6|(@=XE)piuw!M~@vOQi-+ZFz{` zATR;^QVk98N>$12g*bXKk@*++mHBr<5?CuP^;caUsFs;mV6Tu|sUw!PS4m^l@YfP^ zm{hu6ZDRuVieRH&?Av3jB`lrgk^AtoJx7GYv!)X@k4CokuktSxjJB(GgqE_PHQ`sx zfnVfo`1jIa4MojkUDX$lwtjMUFw{vI@dIBmN$1#`n95o35QmgGwVRDF80=pB;=% z!reXi1S7cunG%JU{3Sa4sN73b3Ob^=CjeF`8e8{tz2$F&m%n@9v{Az_74GMwf@To zqqO&HXl%1mi#^6DH&;&!bIiCfV??uBy~{Logq$_-^spo9Je{+QTl&UKwL=9pmnb?29uq+Uv&f zpwy_)4N)O{F!D+!h4^7Y6(8(R2{8PN&ojC(@JpF+l!rSO)?QZT>=@vu?QKbqVa5-$(f+-JQDc_5Pk41HH)v!2in6+!+34Hv{MAD0PG2VD>Sr zENGZT6>x&TThZQaoi&FWO0vngXfBydZ${5W>TNCEr^&xE{0i~~bqSbv;K+V(Snx0K z%bf9Kb4lU$HNF;l(Jr=9b1pMe>d?sphk|M5h|4$o5?*$8Y&$sFI;w0PR8Fo|c8;zp z7k8CsXh>XiV(RvTWyVgyIyOEDy9$H1=IyQ>%o&_GIB=nO@KW1}TlIYdm338Z4OMhJ zKUQBjRFgl_TnyaxwUzZWmv_|^_SY64tuG#^%f|`1mxScTLz*$vkSF43eJ&v%G7&2v zJRym#>JaklB>W=msxy!w-=lTejFKAr1b*cS=qhpUlXY<@kKz$DM{!D~VEIbHzhWKW z74R#Mf`9SCI@X#eHAQ-Yz_R$uM6Lps5coIvmvUfr&U1-o!lZgG$xp=OjeS=Q`kjQS7>Wd4;jMB&mrh`CKOY0`YjFG8*P3izeElaM6i6H;|5{7c!} z)zKd6b_r3{i&iT{TeUt*H7-hSEy08koGY@CHK`U*l@~SF1qI6(%PAfK@DwXDBMSox zsRx0YPZ>48MDvlE^W}Vag1|_?A{PkY734c97UO8qLnm1}=~RnOSYjeAs=tMJw&G{` z#i&lVmLCnyh5ZS>i~Nm5N;dE-c}?K-g*U~C_KB07NWCOHgS|LbA@B0O{L%%wQMSbv z?$(S_bHKhvSXD+{;89R26U{~WP`*H*E{9@8US}e{kPBpICmDn}EBIGzun5}Km7Q+LjVv4-0GM3N2eh`^H-8`j^gGx%mAB*19I{W;Da46@`)Iay^xSnWdJgoq?sjzD(68y`4 zg%jn;Cd$j_BPL)gvFD|K!`jW9Pb>s|Q+Zk9W74E?eMas=qcoP`P4h{_Y)QK9kVsYiAqh z@2fI4q@C!#EnA}f{g=+3os*vKu2R9jP8JG3XR3R(B?NYJSn}aJ%V)m3f7_OUrsm6PL@bVX7fniyYTy#sC03qY=j>3^fvcxl zst@me>EHfg@%&jIe(?UAZ@>Ne^y$BQ@r8G0yg&Wjw_kYWrGNe1?^o&=F4Z!8@599| zzR@lLN%{^!?$MhAl6RB;Z0i-aI%UmpZwpqR=Ua2f+a;Ij@s8Y6oftbywpUO2S1_;I z?MeWtG>QUVwe1zoSMZ?3h8_7*bRHrk6RmcsD43wXlBf*uo!6$#l_CgR?vg%T&Jxi6p>KN-R z8t*Ee=qkS0T>@ZU=q?d4-cv$c=qctcmV-kPnr|_47BBXdULGi?<&$X0%P4EROa$Sc z?W!cVnG9!<&a@(bNyI105? zL43Zm>I(YEV2ihnVf1zMO;{u%9HOA{OS_ac2$!OsM_!kKncRQNvLB0fifk~*AWM6f2H(~$CA;=6f zBA$|8tuoMZR$$>}Mjj5HOHz~il}kv~<|9$Gg(6QFkic=$V;cpmXv0`I|z*ayDr3^I$xUk z`a7#uhX=yHWVX-@jz))+hhY8;?Gm{8Ih&hFx!ej$`2{_Qg*uzlE+e|-1rKJB6{EI;r&jCZ}I8XO2q5j(= zg0@5l6ztkS-y)h8wUlKvmF#U*>%2(49VL4x=7oZRVxj;3D*p=FWrT$pVPP%Lo6%O;FE3Be@V$qp@>9SO>`DW1ZhG9onGH#F3g%}iTIA7|glu=w43 z^U9hABG>O-psz~WRhU^fRB`fV^G6R#Pv45qsya|LP}||3Rfmi&= z{v#JoclNbbv{vTwXZ~bsxm3tppMA7B=U9Et@rGPEI218bcTmK$E7JNCdVO|+!aG!# zNetI#9Yc*(UkS7_k@epxa}H&y>5c;pkmIQu*0^yk>_!smbi4^#i+Qs5u zG~6Y6vr27ek4r8|QpRat?MQbu$)!*g$+4pDQsQM0c%TJW-YFp}I-zDlDmz8_Rrkla ze!AxxdCtdi;BTX}1kqE7r-DEy!E^A)*@0@}oO*Jmze>butP=Vv<-=c{uw6+jcCl&6 z9wvD^QtFP>Yk-#PQi#s-@~Fwb;=60|sk|Z(m@H_tR2s(%*J#GmeKm5(t#hQ-u|3rs za_Urnt%%cHJWzLL@M)hW!KcE8OFc?u(MaC%a~3}Zhiu7Sq$CF@9%+{3@?$Mhe)#d$ zaq6SlTNrE+s_vPd`m?M4 zNHDAEA0=p%L}GQ63RILwWK%+H`%Kd1lj2!%2!4t*X7QYv6Y$-$L7^)ED=K*znM-|4 z)G5uwE!bX3rM^=_fbdi7ee&f3sAc|@o`ag)1&`BkO%r~lx%#IN<4|)6A@pBCxPp1* z(gr4)FXT^+J+;#AGA1h$C!I6DQVa5EJ5@4X16V zy}i7+b!2ej(7_|K-&?q9&T_-W%gq)oaYj}%lPX3{=PtxCIMmr|ec0N)n{wmBQ|;{{ zl&a``Iqk(YCkv{MhsEwmNy*&2F?-fq3(a)R^%m-Qt2}B8s_k7Owe%e;8~aa;U;pgu zZ;2m&{`tF~{&s%+`t4f}9(?uVy)VE2`oW(*`S>f~mw52iUE==TyZ7$gx%<^uQZQHl z`|PvN9^AY4^Upu;+`8rcx8LgP>MY91`QVk8xEXLTGn2fgjZFwErI|Grrh&dr&h{QY z?r}-6+tYTP85{rT=BE$7`5wVyXL8EX&bAFHNsdl-u5L~ZjkW96t-CUQA%B0KgOweT zl#nnqGU65J6BZl6-gD~aZ3)q_d$;X8n3hh_ar(|3F;S6OdHe0%9Cv5#`RePtS0*m- z1n8*iXJtcKoEwB|Xdu7=wsiB3$4TfJ**`qs_6LjqzpuGzI~<38AyyE}1j$rcBx*Dx>dIBzba zpkuC)gDnwjTK8&^g}4f>gd0%@6GI16b4PPKg^rb(p}mWp|BY*3ZCsbOe5rxL)JCOk ztXidOvm73m%w%w6)uYtTz(}F3t6Zt?qGRf;ZQ^dA2(@uk8JW0R+pbI4;OP-jT-n_` za7p13XCJU(YhGhj-^AXU;lrI12b<5H`1HT7-1%u}^n7c5DfasbK|U02H(vW-_RP797HAvj&73!1Ti@i3cW3>}zrXVP z*Jl35YjX{qLW0+(>)Hiac*ia`QEl6?lTV2=ofYt}BmsBk!M`Uv@&G;H7xOE=qon_; z;S@a=w`WcMl{DYhBB`ZOE4_X53A!EqD*p-!K20XGntwrHUJA_+n8`O{!esz2wpvsc zQ%4K}OBP%0IrL`2`&3GC>8Ky+Yo!T7=JsSKE4?}Iy!=o9&;NRU+KZF`e>i*o+}X2c zy#L;t(_aOFUwGy9=U*lv{LTM(;ib3U|9}mF`P#<%_I`8Bd}7lpToZQLhp&&`vNtU| zTktRW&on7M-gXH7Me{|lo&+1&jg22>%(*A~4N5b((p zjb{{Pvm~nrW9V(6^j0W%H{Fb-fPeXW1pflRbbp3_@j&Chfxpr))W$5xMv>(0EEWIy zd(wR#{@oH4u^}{gYghm>@wV8Y1Dlf?3is0Ux3M_AwLBC4g?x$j;xyrB)l|HX5XsLF zE+O<^F>)p3E9P8-X3AV*;fnnO)rZ*xfWAEy22swAG0u+kCcvA5{#=2Sw9q!%+-!YZ zLSuDpZ&%O89Xo7YTzuWUV}fI&!V}W=9XeRnoU-eXjdx65-O%9mZ%#k_dGM=0BLN3( zJCt+eXmv+hX;oo&YxQ75$!KE%!Cu+X_L82~;`TaxoQhAAoY`JESer*b^iw^>!?g!A zQCFU`u6atV%PWFpCDg6WBA5uy6(i(J2nzni`fptS3x!wBvnLu4h>$^eq%KPYEPSFq zTSnlKhHQ0YjWlEpHD*Z&ET=#>9gwPk8}fv}4g3dzb#RdNYU+}MRz5;k0yR^Z zDfM9eB?SY&l09!<6X49(!oRf3!FHJV=u|iGtG3OT43-7_3Z0ZqSHYf|*ejU#RBweG zVnrV1bukfy%LqJzy&{bV+MNQw;!wKyNu94O(aKrMVj`ZB;9pc=R8*ONk*&}4*Ajp* zBeW}8$HKn?ex*e<_A<&84ECz`5GM6mdh`&2e|h~8zQxlP&-^LK57dLPqLBIAP$O}6 zxQPIM&kr<1wZ!>;n&>qFzi0cXP?Hc?@UMVhF`nsd09R#n6>Q5Pi_C>?%b}P9nDU$z zahX_Q{MC?&QnHqM5+I(;zcTg;@}0uJl2|Om?-TwN@GD3bUu6NjLV;y2`V9#-lxcAi z70DBBr32AZS15#30l#7*m{)V00>6;22*JO?@mS_xSQ!45Llc32EB{%}xZw9rFfT6- zFBEg>iK)fkU!*{*nODMIein5MU|~mpbBY=?iuxhnU(tVmn|}uyKw~Kc@Cx{yg23YQ zK~})U?gRN+*t4g8)y){pW#cIw#J=~2k{^7y%{6Jwz6#S0gp zvzr$#5;w*tu3nh9eDNaud+ExR(_`mB;HwiCubdzI;m$pbtx)}>zxy=4(beHkA^b}g zE6slq3b{QnUbHyG$$5Qr?B@8yl!⩔K-7^vf8TFj@IFhmg62S;nQE8yJ+?b-33~D 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%0DCMm@J$QGxgJ1ou3ED!9U`j+Bn!mm{S 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 literal 0 HcmV?d00001 diff --git a/Software/Linux_App_Driver/Results/qvga.bmp b/Software/Linux_App_Driver/Results/qvga.bmp new file mode 100644 index 0000000000000000000000000000000000000000..2011240f67a33fc4d1cb1f0ec121f65e708b8569 GIT binary patch literal 230456 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 yseZ*oVCm220=j0$vAaP*pv0y;}$LLFcn

    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 literal 0 HcmV?d00001 diff --git a/Software/Linux_App_Driver/Results/renamer.txt b/Software/Linux_App_Driver/Results/renamer.txt new file mode 100644 index 0000000..573541a --- /dev/null +++ b/Software/Linux_App_Driver/Results/renamer.txt @@ -0,0 +1 @@ +0 diff --git a/Software/Linux_App_Driver/Results/vga.bmp b/Software/Linux_App_Driver/Results/vga.bmp new file mode 100644 index 0000000000000000000000000000000000000000..08094bf04c270139a744fa3956fdbed63ead2355 GIT binary patch literal 921656 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 z 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

    gZuTncPiJm3l~op&mFIx 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Ξ-@F-;?&6p&>_=aSyc2|^eyBWA&|IHYd|FonNy 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
    -0(W_&$}d%wsKEy%}9tPA+fC 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

    r+3lh{J5El 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

    e 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 VUV{taukeMxVwWIh=5PMy{{a)hQHcNm literal 0 HcmV?d00001 diff --git a/Software/Linux_App_Driver/make_device b/Software/Linux_App_Driver/make_device new file mode 100644 index 0000000..024431e --- /dev/null +++ b/Software/Linux_App_Driver/make_device @@ -0,0 +1,7 @@ +#!/bin/bash +mount -t debugfs none /sys/kernel/debug/ +rm -rf /dev/xilinx_pci_driver +mknod /dev/xilinx_pci_driver c 240 1 +chown root /dev/xilinx_pci_driver +chmod 0644 /dev/xilinx_pci_driver +ls -al /dev/xilinx_pci_driver diff --git a/Software/Linux_App_Driver/ui.cpp b/Software/Linux_App_Driver/ui.cpp new file mode 100644 index 0000000..88a5dd6 --- /dev/null +++ b/Software/Linux_App_Driver/ui.cpp @@ -0,0 +1,3554 @@ +/* + * -------------- + * Public Headers + * ----------------> + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + + +/* + * ------------- + * Local Headers + * ---------------> + */ + +#include "xilinx_pci_driver.h" + +/* + * ---------------- + * Global Variables + * ------------------> + */ + + +/* + * Flags (access_status_x) Used to Indicate the Completion of an Acceleration Group. + * Their Values Change by the Corresponding Signal Handler Below Depending on the Received Signal. + * The Application Remains in Polling Mode Reading One/Some of the Following Flags + * until it Changes to Non-Zero Value Indicating the Completion of the Acceleration. + */ +int access_status_0 = 0; +int access_status_1 = 0; +int access_status_2 = 0; +int access_status_3 = 0; +int access_status_4 = 0; +int access_status_5 = 0; +int access_status_6 = 0; +int access_status_7 = 0; + +/* + * total_reserved_size is the Total Number of Bytes that an Image Requires which is (Width * Height * 4). + * The Images are in .bmp Format which Requires 3 Bytes for each Pixel. + * In order to Have Aligned Image Trasfers the Acceleration System Requires 4 Bytes per Pixel. + * As a Result Each Pixel Uses an Extra Byte (Dummy) as Padding to Fill the 4 Bytes Requirement. + */ +int total_reserved_size; + +/* + * The uint_shared_kernel_address is Used to Map the PCIe BAR1 of the PCIe Bridge to the Userspace Virtual Address Space. + * PCIe BAR1 Represents a BRAM Memory Inside the FPGA which is Used to Store Metrics Information, SG Lists and Synchronization Flags. + * By Mapping the PCIe BAR1 the Userspace Application ic Able to Have Direct Access to the BRAM Memory of the FPGA. + * The shared_kernel_address Pointer, also, Points to the BRAM Memory as the uint_shared_kernel_address Pointer but it Makes it Possible + * to Access the Memory According to the Fields of the struct shared_repository + */ +unsigned int *uint_shared_kernel_address = NULL; +struct shared_repository *shared_kernel_address = NULL; + +/* + * The uint_32_pcie_bar_kernel_address is Used to Map the PCIe BAR0 of the PCIe Bridge to the Userspace Virtual Address Space. + * PCIe BAR0 Represents the AXI Address Space of the FPGA where All the FPGA Peripherals are Mapped. + * By Mapping the PCIe BAR0 the Userspace Application is Able to Have Direct Access to the Peripherals of the FPGA. + * The uint_64_pcie_bar_kernel_address Pointer, also, Points to the FPGA Peripherals as the uint_32_pcie_bar_kernel_address Pointer but + * it Makes it Possible to Make 64 Bit Data Reads/Writes. + */ +unsigned int *uint_32_pcie_bar_kernel_address = NULL; +uint64_t *uint_64_pcie_bar_kernel_address = NULL; + +/* + * The sigaction Structures are Used to Setup the Signal Handlers for each Signal Received by the Driver + * There are 8 Signals Specified each for the 7 Acceleration Groups (Two Signals for the Scatter/Gather) + */ +struct sigaction interrupt_signal_action_0; +struct sigaction interrupt_signal_action_1; +struct sigaction interrupt_signal_action_2; +struct sigaction interrupt_signal_action_3; +struct sigaction interrupt_signal_action_4; +struct sigaction interrupt_signal_action_5; +struct sigaction interrupt_signal_action_6; +struct sigaction interrupt_signal_action_sg; + +/* + * pcie_bar_0_mmap_file and pcie_bar_1_mmap_file are Used to Map the PCIe BAR0 and PCIe BAR1 to the Userspace. + * This Way the Userspace Application Can Have Direct Access to the FPGA Peripherals And Memories. + */ +int pcie_bar_0_mmap_file; +int pcie_bar_1_mmap_file; + +/* + * Structures that are Used to Store Info from the Header of the Image File + * + * bmpfile_magic_t magic_number --> The Structure that Stores the Magic Number of the Bitmap Image + * bmpfile_header_t bitmap_file_header --> The File Header of the Bitmap Image + * bitmap_info_header_t bitmap_info_header --> The Info Header of the Bitmap Image + */ +bmpfile_magic_t magic_number; +bmpfile_header_t bitmap_file_header; +bitmap_info_header_t bitmap_info_header; + + +/* + * Used to Store the Process ID (PID) + */ +unsigned int pid; + +/* + * common_load (Pointer) Points to an Allocated Memory where the Image is Initially Loaded from the Storage Device. + * This Allocated Memory is Shareable among the Threads of the Application. + * Each Thread Copies the Image Data from this Shareable Memory to Its Exclusive Memory Allocation before Requesting Acceleration + * This Technique is Used to Avoid Loading the Image Multiple Times for each Iteration of each Thread which Has Serious Latency Impact + */ +uint8_t *common_load; + +/* + * global_iterations Indicates the Number of Times that each Thread Should Run to Request Acceleration + * The Value of this Variable is Given as an Argument when this Application is Called + */ +int global_iterations = 0; + +/* + * save_request Indicates whether the Thread is going to Save the Accelerated Image. + * Saving an Image Has Serious Latency Impact thus it Should be Optional in Some Cases + * The Value of this Variable is Given as an Argument when this Application is Called + * There are 3 Different Values that this Variable Can be Given: + * + * 0 --> Do Not Save the Image + * 1 --> Save the Image in EACH Iteration + * 2 --> Save the Image ONLY in the Last Iteration + */ +int save_request = 0; + +/* + * load_path_name is Used to Store the Path and Filename of the Image File that the Application is going to Load + * The Value of this Array is Given as an Argument when this Application is Called + */ +char load_path_name[100]; + +/* + * Structure pthread_barrier_t is Used to Force all the Threads of the Application to Start Simultaneously + * A Barrier is a Point where the Thread is Going to Wait for other Threads and Will Proceed Further only when + * the Predefined Number of Threads Reach the Same Barrier. + */ +pthread_barrier_t threads_barrier; + +/* + * renamer_value is Used when Saving the Multiple .xml Files that Keep Metrics Info. + * The Application will Run a Number of Tests which is Given as an Argument. + * Each Test Raises a Number of Threads which is, also, Given as an Argument + * and each Thread Makes a Number of Acceleration Requests According to the global_iterations Described Above. + * For Each Test the Application Saves a new .xml File. + * In order to Dynamically Name each .xml File we use the renamer_value Variable. + * The Application Reads an Arithmetic Value from a Specific .txt File and Stores it in the renamer_value. + * The new .xml File is Named According to the renamer_value. + * The Arithmetic Value of the .txt File is then Incremented for the Next .xml File. + */ +int renamer_value = 0; + + +/* + * --------------------- + * Functions Declaration + * -----------------------> + */ + +void signal_handler_0(int, siginfo_t *, void *); +void signal_handler_1(int, siginfo_t *, void *); +void signal_handler_2(int, siginfo_t *, void *); +void signal_handler_3(int, siginfo_t *, void *); +void signal_handler_4(int, siginfo_t *, void *); +void signal_handler_5(int, siginfo_t *, void *); +void signal_handler_6(int, siginfo_t *, void *); +void signal_handler_sg(int, siginfo_t *, void *); + +int setup_signal_handling(); +void clear_screen(); + +int load_bmp(uint8_t *); +int save_bmp(uint8_t *, char *); + +uint64_t convert_cycles_2_ns(uint64_t); +int file_size(FILE *); + +int print_save_metrics(struct shared_repository_process *, int, unsigned int, int); +int set_save_accelerator(char *, int, int, int); + +int pcie_bar_mmap(); +struct shared_repository_process * shared_repo_mmap(struct per_thread_info *); + +uint8_t * pre_process_mmap(struct per_thread_info *); +uint8_t * post_process_mmap(struct per_thread_info *); + +void* start_thread(void *); + +int multi_threaded_acceleration(int); + +int acceleration_thread(); + + +/* + * --------------------- + * Functions Description + * -----------------------> + */ + + +/* OK + * signal_handler_x() + * + * The Driver Can Send Signals to the Application to Indicate the Completion of an Acceleration. + * There is One Signal Dedicated for each Acceleration Group. + * When the Application Requests Acceleration it Remains in Polling Mode Reading a Specific Flag + * that Indicates the Status of the Acceleration. + * The Signal Handler is Called to Change the Corresponding Flag Depending on the Acceleration Group on Completion of the Acceleration. + * The Signal Method is not Currently Used but is Kept for Future Implementations that Might Require Signal Handling + */ +void signal_handler_0(int sig, siginfo_t *siginfo, void *c) +{ + + #ifdef DEBUG_MESSAGES_UI + printf("Received Signal %d from Kernel Module\n", sig); + #endif + + access_status_0 = DEFAULT_SIGNAL_0;//ACCELERATOR_DIRECT_0_OCCUPIED; + +} + +void signal_handler_1(int sig, siginfo_t *siginfo, void *c) +{ + + #ifdef DEBUG_MESSAGES_UI + printf("Received Signal %d from Kernel Module\n", sig); + #endif + + access_status_1 = DEFAULT_SIGNAL_1;//ACCELERATOR_DIRECT_1_OCCUPIED; +} + +void signal_handler_2(int sig, siginfo_t *siginfo, void *c) +{ + + #ifdef DEBUG_MESSAGES_UI + printf("Received Signal %d from Kernel Module\n", sig); + #endif + + access_status_2 = DEFAULT_SIGNAL_2;//ACCELERATOR_INDIRECT_0_OCCUPIED; + +} + +void signal_handler_3(int sig, siginfo_t *siginfo, void *c) +{ + + #ifdef DEBUG_MESSAGES_UI + printf("Received Signal %d from Kernel Module\n", sig); + #endif + + access_status_3 = DEFAULT_SIGNAL_3;//ACCELERATOR_INDIRECT_1_OCCUPIED; + +} + +void signal_handler_4(int sig, siginfo_t *siginfo, void *c) +{ + + #ifdef DEBUG_MESSAGES_UI + printf("Received Signal %d from Kernel Module\n", sig); + #endif + + access_status_4 = DEFAULT_SIGNAL_4;//ACCELERATOR_INDIRECT_2_OCCUPIED; + +} + +void signal_handler_5(int sig, siginfo_t *siginfo, void *c) +{ + + #ifdef DEBUG_MESSAGES_UI + printf("Received Signal %d from Kernel Module\n", sig); + #endif + + access_status_5 = DEFAULT_SIGNAL_5;//ACCELERATOR_INDIRECT_3_OCCUPIED; + +} + +void signal_handler_6(int sig, siginfo_t *siginfo, void *c) +{ + + #ifdef DEBUG_MESSAGES_UI + printf("Received Signal %d from Kernel Module\n", sig); + #endif + + access_status_6 = DEFAULT_SIGNAL_6;//ACCELERATOR_SG_OCCUPIED; + +} + +void signal_handler_sg(int sig, siginfo_t *siginfo, void *c) +{ + + #ifdef DEBUG_MESSAGES_UI + printf("Received Signal %d from Kernel Module\n", sig); + #endif + + access_status_7 = DEFAULT_SIGNAL_SG;//ACCELERATOR_SG_TO_OCCUPY; + +} + + +/* OK + * setup_signal_handling() + * + * Sets Up each Signal Handler with a Dedicated Signal + */ +int setup_signal_handling() +{ + unsigned int pid; + + /* + * Set the struct interrupt_signal_action_0 with the Signal Handler (signal_handler_0) that will be Used when the Driver Triggers the DEFAULT_SIGNAL_0 + */ + interrupt_signal_action_0.sa_sigaction = &signal_handler_0; + + /* + * Set the Flags for the struct interrupt_signal_action_0 + */ + interrupt_signal_action_0.sa_flags = SA_SIGINFO; + + /* + * Call sigaction() Function which Specifies the Action to be Associated with the DEFAULT_SIGNAL_0 Signal According to the struct interrupt_signal_action_0. + */ + if (sigaction(DEFAULT_SIGNAL_0, &interrupt_signal_action_0, NULL) < 0) + { + #ifdef DEBUG_MESSAGES_UI + printf("[DEBUG MESSAGE] Could not Setup Action 0 for Kernel Signals\n"); + #endif + return -1; + } + + /* + * Set the struct interrupt_signal_action_1 with the Signal Handler (signal_handler_1) that will be Used when the Driver Triggers the DEFAULT_SIGNAL_1 + */ + interrupt_signal_action_1.sa_sigaction = &signal_handler_1; + + /* + * Set the Flags for the struct interrupt_signal_action_1 + */ + interrupt_signal_action_1.sa_flags = SA_SIGINFO; + + + /* + * Call sigaction() Function which Specifies the Action to be Associated with the DEFAULT_SIGNAL_1 Signal According to the struct interrupt_signal_action_1. + */ + if (sigaction(DEFAULT_SIGNAL_1, &interrupt_signal_action_1, NULL) < 0) + { + #ifdef DEBUG_MESSAGES_UI + printf("[DEBUG MESSAGE] Could not Setup Action 1 for Kernel Signals\n"); + #endif + return -1; + } + + /* + * Set the struct interrupt_signal_action_2 with the Signal Handler (signal_handler_2) that will be Used when the Driver Triggers the DEFAULT_SIGNAL_2 + */ + interrupt_signal_action_2.sa_sigaction = &signal_handler_2; + + /* + * Set the Flags for the struct interrupt_signal_action_2 + */ + interrupt_signal_action_2.sa_flags = SA_SIGINFO; + + /* + * Call sigaction() Function which Specifies the Action to be Associated with the DEFAULT_SIGNAL_2 Signal According to the struct interrupt_signal_action_2. + */ + if (sigaction(DEFAULT_SIGNAL_2, &interrupt_signal_action_2, NULL) < 0) + { + #ifdef DEBUG_MESSAGES_UI + printf("[DEBUG MESSAGE] Could not Setup Action 2 for Kernel Signals\n"); + #endif + return -1; + } + + /* + * Set the struct interrupt_signal_action_3 with the Signal Handler (signal_handler_3) that will be Used when the Driver Triggers the DEFAULT_SIGNAL_3 + */ + interrupt_signal_action_3.sa_sigaction = &signal_handler_3; + + /* + * Set the Flags for the struct interrupt_signal_action_3 + */ + interrupt_signal_action_3.sa_flags = SA_SIGINFO; + + /* + * Call sigaction() Function which Specifies the Action to be Associated with the DEFAULT_SIGNAL_3 Signal According to the struct interrupt_signal_action_3. + */ + if (sigaction(DEFAULT_SIGNAL_3, &interrupt_signal_action_3, NULL) < 0) + { + #ifdef DEBUG_MESSAGES_UI + printf("[DEBUG MESSAGE] Could not Setup Action 3 for Kernel Signals\n"); + #endif + return -1; + } + + /* + * Set the struct interrupt_signal_action_4 with the Signal Handler (signal_handler_4) that will be Used when the Driver Triggers the DEFAULT_SIGNAL_4 + */ + interrupt_signal_action_4.sa_sigaction = &signal_handler_4; + + /* + * Set the Flags for the struct interrupt_signal_action_4 + */ + interrupt_signal_action_4.sa_flags = SA_SIGINFO; + + /* + * Call sigaction() Function which Specifies the Action to be Associated with the DEFAULT_SIGNAL_4 Signal According to the struct interrupt_signal_action_4. + */ + if (sigaction(DEFAULT_SIGNAL_4, &interrupt_signal_action_4, NULL) < 0) + { + #ifdef DEBUG_MESSAGES_UI + printf("[DEBUG MESSAGE] Could not Setup Action 4 for Kernel Signals\n"); + #endif + return -1; + } + + /* + * Set the struct interrupt_signal_action_5 with the Signal Handler (signal_handler_5) that will be Used when the Driver Triggers the DEFAULT_SIGNAL_5 + */ + interrupt_signal_action_5.sa_sigaction = &signal_handler_5; + + /* + * Set the Flags for the struct interrupt_signal_action_5 + */ + interrupt_signal_action_5.sa_flags = SA_SIGINFO; + + /* + * Call sigaction() Function which Specifies the Action to be Associated with the DEFAULT_SIGNAL_5 Signal According to the struct interrupt_signal_action_5. + */ + if (sigaction(DEFAULT_SIGNAL_5, &interrupt_signal_action_5, NULL) < 0) + { + #ifdef DEBUG_MESSAGES_UI + printf("[DEBUG MESSAGE] Could not Setup Action 5 for Kernel Signals\n"); + #endif + return -1; + } + + /* + * Set the struct interrupt_signal_action_6 with the Signal Handler (signal_handler_6) that will be Used when the Driver Triggers the DEFAULT_SIGNAL_6 + */ + interrupt_signal_action_6.sa_sigaction = &signal_handler_6; + + /* + * Set the Flags for the struct interrupt_signal_action_6 + */ + interrupt_signal_action_6.sa_flags = SA_SIGINFO; + + /* + * Call sigaction() Function which Specifies the Action to be Associated with the DEFAULT_SIGNAL_6 Signal According to the struct interrupt_signal_action_6. + */ + if (sigaction(DEFAULT_SIGNAL_6, &interrupt_signal_action_6, NULL) < 0) + { + #ifdef DEBUG_MESSAGES_UI + printf("[DEBUG MESSAGE] Could not Setup Action 6 for Kernel Signals\n"); + #endif + return -1; + } + + /* + * Set the struct interrupt_signal_action_sg with the Signal Handler (signal_handler_sg) that will be Used when the Driver Triggers the DEFAULT_SIGNAL_SG + */ + interrupt_signal_action_sg.sa_sigaction = &signal_handler_sg; + + /* + * Set the Flags for the struct interrupt_signal_action_sg + */ + interrupt_signal_action_sg.sa_flags = SA_SIGINFO; + + + /* + * Call sigaction() Function which Specifies the Action to be Associated with the DEFAULT_SIGNAL_SG Signal According to the struct interrupt_signal_action_sg. + */ + if (sigaction(DEFAULT_SIGNAL_SG, &interrupt_signal_action_sg, NULL) < 0) + { + #ifdef DEBUG_MESSAGES_UI + printf("[DEBUG MESSAGE] Could not Setup Action Scatter/Gather for Kernel Signals\n"); + #endif + return -1; + } + + + pid = getpid(); + + #ifdef DEBUG_MESSAGES_UI + printf("[DEBUG MESSAGE] Process ID is: %d\n", pid); + #endif + + return 1; +} + + +/* OK + * clear_screen() + * + * Prints a Specified String to The Terminal that Forces the Terminal to Clear Its Screen + */ +void clear_screen() +{ + /* + * Clear Screen and Move to Top-Left Corner + */ + printf("\033[2J\033[1;1H"); + +} + + +/* OK + * load_bmp() + * + * Used to Load the Image from the Storage Device to a Given Memory + * According to the u8_pre_process_kernel_address Pointer. + * According to the Current Implementation the u8_pre_process_kernel_address Points Directly to an Allocated Memory in Kernel Space + */ +int load_bmp(uint8_t *u8_pre_process_kernel_address) +{ + size_t total_read_bytes; + + FILE *bmp_file; + + int status; + int repeat; + size_t pad; + uint8_t current_byte; + + int count = 0; + int i,j; + + #ifdef DEBUG_MESSAGES_UI + printf("The Path is: %s\n", load_path_name); + + printf("Loading the Image File\n"); + #endif + + /* + * Open the Image File According to the File Name Given by the the User + */ + bmp_file = fopen(load_path_name, "r"); + + if(bmp_file != NULL) + { + #ifdef DEBUG_MESSAGES_UI + printf("Image File Opened\n"); + #endif + } + else + { + if(bmp_file == NULL) + { + printf("Image Failed to Open [NULL Pointer]\n"); + } + + usleep(2000000); + + return(FAILURE); + } + + + #ifdef DEBUG_MESSAGES_UI + printf("Checking the Magic Number to Validate that this is a Bitmap File\n"); + #endif + + /* + * Read the Magic Number from the Header of the Bitmap File. + */ + fread(&magic_number, sizeof(bmpfile_magic_t), 1, bmp_file); + + /* + * Check the Magic Number to Validate that this is a Bitmap File. + * The Magic Number for .bmp Files is: 0x4D42. + */ + if (*((uint16_t *)magic_number.magic) == 0x4D42) + { + #ifdef DEBUG_MESSAGES_UI + printf("Bitmap File Valid [MAGIC NUMBER 0x%X]\n", *((uint16_t *)magic_number.magic)); + #endif + } + else + { + #ifdef DEBUG_MESSAGES_UI + printf("No Bitmap File Was Found/Aborting\n"); + #endif + fclose(bmp_file); + return FAILURE; + } + + + + #ifdef DEBUG_MESSAGES_UI + printf("Reading the Bitmap File Header\n"); + #endif + + /* + * Read the Bitmap File Header + */ + fread(&bitmap_file_header, sizeof(bmpfile_header_t), 1, bmp_file); + + + #ifdef DEBUG_MESSAGES_UI + printf("Reading the Bitmap Info Header\n"); + #endif + + /* + * Read the Bitmap Info Header + */ + fread(&bitmap_info_header, sizeof(bitmap_info_header_t), 1, bmp_file); + + + #ifdef DEBUG_MESSAGES_UI + printf("Checking Compression\n"); + #endif + + /* + * Check the Info Header Structure to See if Compression is Supported + */ + if (bitmap_info_header.compress_type == 0) + { + #ifdef DEBUG_MESSAGES_UI + printf("Compression is Supported\n"); + #endif + } + else + { + #ifdef DEBUG_MESSAGES_UI + printf("Warning, Compression is not Supported\n"); + #endif + } + + /* + * Print Information About the Image + */ + #ifdef DEBUG_MESSAGES_UI + printf("\n* Image Width: %d Pixels\n", bitmap_info_header.width); + printf("* Image Height: %d Pixels\n", bitmap_info_header.height); + printf("* Image Size: %d Bytes\n", bitmap_info_header.bmp_bytesz); + printf("* Image Header Size: %d Bytes\n", bitmap_info_header.header_sz); + printf("* Bits Per Pixel: %d \n\n", bitmap_info_header.bitspp); + #endif + + + /* + * Read the Info Header to Make Sure that the Image Resolution is up to 1920x1080 which is the Maximum Supported + */ + if((bitmap_info_header.width > 1920) || (bitmap_info_header.height >1080)) + { + printf("The Image Cannot be Processed due to Sobel Accelerator's Restricted Resolution at Maximum of 3840x2160/Aborting\n"); + fclose(bmp_file); + + usleep(5000000); + + return FAILURE; + } + + /* + * Move the File Pointer at the Beginning of the Bitmap File + */ + fseek(bmp_file, bitmap_file_header.bmp_offset, SEEK_SET); + + #ifdef DEBUG_MESSAGES_UI + printf("Moved File Pointer at the Beginning of Bitmap Data\n"); + #endif + + + /* + * Get the Total Size Required for the Image Data. + * See Details at the Global Variables Section at the Comments for the total_reserved_size Variable.s + */ + total_reserved_size = (bitmap_info_header.width * bitmap_info_header.height) * 4; + + #ifdef DEBUG_MESSAGES_UI + printf("The Total Reserved Size Should Be: %d\n", total_reserved_size); + #endif + + /* + * Calculate the Possible Padding that Might be Found at the end of an Image Row. + */ + pad = (4 - (((bitmap_info_header.bitspp / 8)*bitmap_info_header.width) % 4)) % 4; + + #ifdef DEBUG_MESSAGES_UI + printf("The Padding is: %d\n", pad); + #endif + + /* + * Loop for the Number of Image Rows + */ + for(i=0; i> 32; + + /* + * Shift Left the gcc_l Variable so that the LSBs Become MSBs + */ + gcc_u = gcc_u << 32; + + /* + * Add the gcc_l with the gcc_u to Get the Correct Total Number of Cycles. + * Then Multiply the Add Value by 8 to Get the Nanoseconds where 8 is the Number of Nanoseconds for each Cycle at 125MHz. + */ + nano_seconds = (gcc_l + gcc_u) * 8; + + return nano_seconds; + +} + + +/* OK + * file_size() + * + * Used to Get the Size of a File. + * It is Useful when We Need to Know if a File is Empty or Not. + */ +int file_size(FILE *file) +{ + int previous_size; + int new_size; + + /* + * Use ftell() which Returns the Current Value of the Position Indicator which Should Be at the Beginning of the File. + * Store the Return Value to the previous_size Variable so that it Can Later be Used to Return the Position Indicator at the Beginning of the File. + */ + previous_size = ftell(file); + + /* + * Use fseek() to Move the Position Indicator at the End (SEEK_END) of the File. + */ + fseek(file, 0L, SEEK_END); + + /* + * Use ftell() which Returns the Current Value of the Position Indicator which Should Be Now at the End of the File. + * Store the Return Value to the new_size Variable so that it Can Later be Used to Know the Size of the File. + */ + new_size = ftell(file); + + /* + * Use fseek() to Move the Position Indicator at the Beginning of the File According to the previous_size Variable. + */ + fseek(file, previous_size, SEEK_SET); + + /* + * Return the new_size Variable which Indicates the Size of the File. + */ + return new_size; +} + + +/* OK + * print_save_metrics() + * + * Used to Save the Metrics of each Iteration of each Test. + * The Metrics from the Hardware Schedulers, the Driver and the User Application are Collected in the + * Shared Kernel Memory which is Accessed by the shared_repo_kernel_address Pointer. + * The shared_repo_kernel_address Pointer Provides Access to the Collected Metrics which are Stored as Structure Fields of Type struct shared_repository_process. + * The Metrics are Organized and Written as Element Nodes of a .xml File. + * + * ---------------------------------------------- + * The Structure of the .xml Nodes is as Follows: + * + * + * ### + * ### + * ### + * ### + * ### + * ### + * ### + * ### + * ### + * ### + * ### + * ### + * + * ### + * ### + * ### + * ### + * ### + * ### + * ### + * ### + * ### + * ### + * ### \ + * ### + * ### + * ### + * ### + * ### + * ### + * ### + * ### + * + * + * + * ------------------------- + * Element Node Explanation: + * + * Process --> The Process ID of the Process that those Metrics Refer to + * Iteration --> The Current Iteration of the Current Thread + * Image_Segments --> The Number of Segments that the Image was Splitted for Parallel Acceleration + * Preparation_Time_Start --> The Starting Point for the Preparation Needed before the Acceleration Procedure + * Preparation_Time_End --> The Ending Point for the Preparation Needed before the Acceleration Procedure + * Load_Time_Start --> The Starting Point of the Duration for Loading the Image from the Storage Device + * Load_Time_End --> The Ending Point of the Duration for Loading the Image from the Storage Device + * Total_Time_Start --> The Starting Point of the Total Time Required for the Acceleration Procedure + * Sleep_Time_Start --> The Starting Point of the Duration that the Thread Possibly Stayed in Sleep State + * Sleep_Time_End --> The Ending Point of the Duration that the Thread Possibly Stayed in Sleep State + * Save_Time_Start --> The Starting Point of the Duration for Saving the Image to the Storage Device + * Save_Time_End --> The Ending Point of the Duration for Saving the Image to the Storage Device + * Total_Time_End --> The Ending Point of the Total Time Required for the Acceleration Procedure + * Segment --> The Segment Element Node Carries Metrics Regarding the Current Segment that Was Accelerated.There Can be as many as 6 Segment Nodes + * Segment_Number --> The Current Segment Number Among the Rest that the Image Might was Splitted + * Initiator --> The Acceleration Group that Accelerated the Current Image Segment + * Read_Transactions --> The Number of Read Transactions that Took Place while the DMA was Reading the Current Image Segment from the Kernel Memory + * Read_Bytes --> The Number of Read Bytes that were Transferred while the DMA was Reading the Current Image Segment from the Kernel Memory + * Write_Transactions --> The Number of Write Transactions that Took Place while the DMA was Writing the Current Processed Image Segment to the Kernel Memory + * Write_Bytes --> The Number of Write Bytes that were Transferred while the DMA was Writing the Current Processed Image Segment to the Kernel Memory + * Stream_Packets --> The Number of Stream Packets that where Transferred through the Sobel Accelerator's Stream Interface + * Stream_Bytes --> The Number of Stream Bytes that where Transferred through the Sobel Accelerator's Stream Interface + * Process_Cycles --> The Number of Clock Cycles that were Required to Complete the Acceleration (DMA Read -> Sobel Acceleration -> DMA Write) + * Set_Pages_Overhead_Time_Start --> The Starting Point of the Duration that the Driver Required to Create the Scatter/Gather List if the Acceleration Group SG was Requested + * Set_Pages_Overhead_Time_End --> The Ending Point of the Duration that the Driver Required to Create the Scatter/Gather List if the Acceleration Group SG was Requested + * Unmap_Pages_Overhead_Time_Start --> The Starting Point of the Duration that the Driver Required to Unmap the Pages that were Previously Mapped when Creating the Scatter/Gather List + * Unmap_Pages_Overhead_Time_End --> The Ending Point of the Duration that the Driver Required to Unmap the Pages that were Previously Mapped when Creating the Scatter/Gather List + * CDMA_Fetch_Time_Start --> The Starting Point of the Duration that the CDMA Fetch Peripheral Required to Fetch Image Data to the FPGA DDR3 Memory (Applicable for the Initiators: AGI0, AGI1, AGI2, AGI3) + * CDMA_Fetch_Time_End --> The Ending Point of the Duration that the CDMA Fetch Peripheral Required to Fetch Image Data to the FPGA DDR3 Memory (Applicable for the Initiators: AGI0, AGI1, AGI2, AGI3) + * Process_Time_Start --> The Starting Point of the Duration that the Image Segment Acceleration Required to Complete + * Process_Time_End --> The Ending Point of the Duration that the Image Segment Acceleration Required to Complete + * CDMA_Send_Time_Start --> The Starting Point of the Duration that the CDMA Send Peripheral Required to Send Processed Image Data from the FPGA DDR3 Memory (Applicable for the Initiators: AGI0, AGI1, AGI2, AGI3) + * CDMA_Send_Time_End --> The Ending Point of the Duration that the CDMA Send Peripheral Required to Send Processed Image Data from the FPGA DDR3 Memory (Applicable for the Initiators: AGI0, AGI1, AGI2, AGI3) + * + */ +int print_save_metrics(struct shared_repository_process *shared_repo_kernel_address, int used_accelerator, unsigned int tid, int global_repeat) +{ + + char file_name[100]; + FILE *metrics_summary_file; + + uint64_t gcc_u; + uint64_t gcc_l; + uint64_t time_counted; + + struct stat file_statistics; + + int segments = 0; + int segment_count = 0; + int repeat; + + /* + * Depending on the Acceleration Policy an Image Can be Processed by Several Acceleration Groups, that is, an Image + * Can be Splitted in Several Segments. + * The Following if Statements Check which Acceleration Groups Took Part in Accelerating the Current Image which is Equal to + * the Number of Segments that the Image was Splitted. + */ + if((used_accelerator & ACCELERATOR_DIRECT_0_OCCUPIED) == ACCELERATOR_DIRECT_0_OCCUPIED) + { + segments++; + } + if((used_accelerator & ACCELERATOR_DIRECT_1_OCCUPIED) == ACCELERATOR_DIRECT_1_OCCUPIED) + { + segments++; + } + if((used_accelerator & ACCELERATOR_INDIRECT_0_OCCUPIED) == ACCELERATOR_INDIRECT_0_OCCUPIED) + { + segments++; + } + if((used_accelerator & ACCELERATOR_INDIRECT_1_OCCUPIED) == ACCELERATOR_INDIRECT_1_OCCUPIED) + { + segments++; + } + if((used_accelerator & ACCELERATOR_INDIRECT_2_OCCUPIED) == ACCELERATOR_INDIRECT_2_OCCUPIED) + { + segments++; + } + if((used_accelerator & ACCELERATOR_INDIRECT_3_OCCUPIED) == ACCELERATOR_INDIRECT_3_OCCUPIED) + { + segments++; + } + if((used_accelerator & ACCELERATOR_SG_OCCUPIED) == ACCELERATOR_SG_OCCUPIED) + { + segments++; + } + + /* + * Use sprintf() to Create a String that Represents the Path and Name of the Metrics .xml File. + * The Arithmetic Value of the renamer_value Variable is Included in the File Name to Ensure that each Test Iteration + * Creates a New .xml File which is Unique Among the Rest .xml Files. + */ + sprintf(file_name,"Results/Metrics_Summary_%d.xml", renamer_value); + + /* + * Open Again the .xml File to Write the Collected Metrics. + */ + metrics_summary_file = fopen(file_name, "a"); + + /* + * The .xml File is Possibly Accessed by Many Threads. + * flock() is Used to Ensure that Only One Thread Write at this .xml File at the Moment. + */ + flock(fileno(metrics_summary_file), LOCK_EX); + + /* + * If the Metrics .xml File was Found or Created then Start Writing the Metrics Data. + */ + if (metrics_summary_file != NULL) + { + #ifdef DEBUG_MESSAGES_UI + printf("File %s Opened\n", file_name); + #endif + + + /* + * Write the Open Tag of the Process Element. + * The Process Element, also, Includes the "ID" Attribute which is the Process ID of the Current Thread. + */ + fprintf(metrics_summary_file," \n", tid); + + /* + * The Following Element Nodes Refer to Metrics of the Acceleration Procedure for the whole Image + */ + + /* + * Write the Iteration Element Node. + * The global_repeat is the Function Argument Given as the Current Iteration of the Acceleration that the Thread Requested + */ + fprintf(metrics_summary_file," %d\n", global_repeat); + + /* + * Write the Image_Segments Element Node. + * The segments was Calculated Previously by Incrementing the Number of Acceleration Groups that Took Part in Accelerating the Current Image + */ + fprintf(metrics_summary_file," %d\n", segments); + + /* + * Write the Preparation_Time_Start Element Node Along with its Value (nanoseconds). + * The Node Value was Calculated by Converting the Cycles Value Found in the preparation_time_start Field of the shared_repo_kernel_address->process_metrics Structure of the Shared Kernel Memory + */ + fprintf(metrics_summary_file," %lld\n", convert_cycles_2_ns(shared_repo_kernel_address->process_metrics.preparation_time_start)); + + /* + * Write the Preparation_Time_End Element Node Along with its Value (nanoseconds). + * The Node Value was Calculated by Converting the Cycles Value Found in the preparation_time_end Field of the shared_repo_kernel_address->process_metrics Structure of the Shared Kernel Memory + */ + fprintf(metrics_summary_file," %lld\n", convert_cycles_2_ns(shared_repo_kernel_address->process_metrics.preparation_time_end)); + + /* + * Write the Load_Time_Start Element Node Along with its Value (nanoseconds). + * The Node Value was Calculated by Converting the Cycles Value Found in the load_time_start Field of the shared_repo_kernel_address->process_metrics Structure of the Shared Kernel Memory + */ + fprintf(metrics_summary_file," %lld\n", convert_cycles_2_ns(shared_repo_kernel_address->process_metrics.load_time_start)); + + /* + * Write the Load_Time_End Element Node Along with its Value (nanoseconds). + * The Node Value was Calculated by Converting the Cycles Value Found in the load_time_end Field of the shared_repo_kernel_address->process_metrics Structure of the Shared Kernel Memory + */ + fprintf(metrics_summary_file," %lld\n", convert_cycles_2_ns(shared_repo_kernel_address->process_metrics.load_time_end)); + + /* + * Write the Total_Time_Start Element Node Along with its Value (nanoseconds). + * The Node Value was Calculated by Converting the Cycles Value Found in the total_time_start Field of the shared_repo_kernel_address->process_metrics Structure of the Shared Kernel Memory + */ + fprintf(metrics_summary_file," %lld\n", convert_cycles_2_ns(shared_repo_kernel_address->process_metrics.total_time_start)); + + /* + * Write the Sleep_Time_Start Element Node Along with its Value (nanoseconds). + * The Node Value was Calculated by Converting the Cycles Value Found in the sleep_time_start Field of the shared_repo_kernel_address->process_metrics Structure of the Shared Kernel Memory + */ + fprintf(metrics_summary_file," %lld\n", convert_cycles_2_ns(shared_repo_kernel_address->process_metrics.sleep_time_start)); + + /* + * Write the Sleep_Time_End Element Node Along with its Value (nanoseconds). + * The Node Value was Calculated by Converting the Cycles Value Found in the sleep_time_end Field of the shared_repo_kernel_address->process_metrics Structure of the Shared Kernel Memory + */ + fprintf(metrics_summary_file," %lld\n", convert_cycles_2_ns(shared_repo_kernel_address->process_metrics.sleep_time_end)); + + /* + * Write the Save_Time_Start Element Node Along with its Value (nanoseconds). + * The Node Value was Calculated by Converting the Cycles Value Found in the save_time_start Field of the shared_repo_kernel_address->process_metrics Structure of the Shared Kernel Memory + */ + fprintf(metrics_summary_file," %lld\n", convert_cycles_2_ns(shared_repo_kernel_address->process_metrics.save_time_start)); + + /* + * Write the Save_Time_End Element Node Along with its Value (nanoseconds). + * The Node Value was Calculated by Converting the Cycles Value Found in the save_time_end Field of the shared_repo_kernel_address->process_metrics Structure of the Shared Kernel Memory + */ + fprintf(metrics_summary_file," %lld\n", convert_cycles_2_ns(shared_repo_kernel_address->process_metrics.save_time_end)); + + /* + * Write the Total_Time_End Element Node Along with its Value (nanoseconds). + * The Node Value was Calculated by Converting the Cycles Value Found in the total_time_end Field of the shared_repo_kernel_address->process_metrics Structure of the Shared Kernel Memory + */ + fprintf(metrics_summary_file," %lld\n", convert_cycles_2_ns(shared_repo_kernel_address->process_metrics.total_time_end)); + + /* + * The Following Element Nodes Refer to Metrics of the Acceleration Procedure for each Image Segment that was Accelerated. + * There are 7 if Statements for each of the 7 Acceleration Groups. + * For each Acceleration Group that Took Part in the Acceleration Procedure a new Segment Element Node is Added to the Process Parent Node. + * + * Comments will be Provided Only for Creating the Segment of the Acceleration Group Direct 0. + * The Procedure is Exactly the Same for the Rest of the Acceleration Groups. + */ + + + /* + * Acceleration Group Direct 0 Segment + */ + + if((used_accelerator & ACCELERATOR_DIRECT_0_OCCUPIED) == ACCELERATOR_DIRECT_0_OCCUPIED) + { + /* + * Write the Open Tag of the Segment Element. + */ + fprintf(metrics_summary_file," \n"); + + /* + * Write the Segment_Number Element Node. + * The Segment_Number Value is Given by the segment_count Variable which Holds a Value that Increments for each New Segment that is Added to the Process Parent Node + */ + fprintf(metrics_summary_file," %d\n", segment_count); + + /* + * Write the Initiator Element Node which is Acceleration Group Direct 0. + */ + fprintf(metrics_summary_file," Acceleration Group Direct 0\n"); + + /* + * Write the Read_Transactions Element Node Along with its Value. + * The Node Value was Found in the apm_read_transactions Field of the shared_repo_kernel_address->process_metrics.agd0 Structure of the Shared Kernel Memory + */ + fprintf(metrics_summary_file," %d\n", shared_repo_kernel_address->process_metrics.agd0.apm_read_transactions); + + /* + * Write the Read_Bytes Element Node Along with its Value. + * The Node Value was Found in the apm_read_bytes Field of the shared_repo_kernel_address->process_metrics.agd0 Structure of the Shared Kernel Memory + */ + fprintf(metrics_summary_file," %d\n", shared_repo_kernel_address->process_metrics.agd0.apm_read_bytes); + + /* + * Write the Write_Transactions Element Node Along with its Value. + * The Node Value was Found in the apm_write_transactions Field of the shared_repo_kernel_address->process_metrics.agd0 Structure of the Shared Kernel Memory + */ + fprintf(metrics_summary_file," %d\n", shared_repo_kernel_address->process_metrics.agd0.apm_write_transactions); + + /* + * Write the Write_Bytes Element Node Along with its Value. + * The Node Value was Found in the apm_write_bytes Field of the shared_repo_kernel_address->process_metrics.agd0 Structure of the Shared Kernel Memory + */ + fprintf(metrics_summary_file," %d\n", shared_repo_kernel_address->process_metrics.agd0.apm_write_bytes); + + /* + * Write the Stream_Packets Element Node Along with its Value. + * The Node Value was Found in the apm_packets Field of the shared_repo_kernel_address->process_metrics.agd0 Structure of the Shared Kernel Memory + */ + fprintf(metrics_summary_file," %d\n", shared_repo_kernel_address->process_metrics.agd0.apm_packets); + + /* + * Write the Stream_Bytes Element Node Along with its Value. + * The Node Value was Found in the apm_bytes Field of the shared_repo_kernel_address->process_metrics.agd0 Structure of the Shared Kernel Memory + */ + fprintf(metrics_summary_file," %d\n", shared_repo_kernel_address->process_metrics.agd0.apm_bytes); + + /* + * Write the Process_Cycles Element Node Along with its Value. + * The Node Value was Found in the apm_gcc_l Field of the shared_repo_kernel_address->process_metrics.agd0 Structure of the Shared Kernel Memory + */ + fprintf(metrics_summary_file," %d\n", shared_repo_kernel_address->process_metrics.agd0.apm_gcc_l); + + /* + * Write the Set_Pages_Overhead_Time_Start Element Node Along with its Value (nanoseconds). + * The Node Value was Calculated by Converting the Cycles Value Found in the set_pages_overhead_time_start Field of the shared_repo_kernel_address->process_metrics Structure of the Shared Kernel Memory + */ + fprintf(metrics_summary_file," %lld\n", convert_cycles_2_ns(shared_repo_kernel_address->process_metrics.set_pages_overhead_time_start)); + + /* + * Write the Set_Pages_Overhead_Time_End Element Node Along with its Value (nanoseconds). + * The Node Value was Calculated by Converting the Cycles Value Found in the set_pages_overhead_time_end Field of the shared_repo_kernel_address->process_metrics Structure of the Shared Kernel Memory + */ + fprintf(metrics_summary_file," %lld\n", convert_cycles_2_ns(shared_repo_kernel_address->process_metrics.set_pages_overhead_time_end)); + + + /* + * Write the Unmap_Pages_Overhead_Time_Start Element Node Along with its Value (nanoseconds). + * The Node Value was Calculated by Converting the Cycles Value Found in the unmap_pages_overhead_time_start Field of the shared_repo_kernel_address->process_metrics Structure of the Shared Kernel Memory + */ + fprintf(metrics_summary_file," %lld\n", convert_cycles_2_ns(shared_repo_kernel_address->process_metrics.unmap_pages_overhead_time_start)); + + /* + * Write the Unmap_Pages_Overhead_Time_End Element Node Along with its Value (nanoseconds). + * The Node Value was Calculated by Converting the Cycles Value Found in the unmap_pages_overhead_time_end Field of the shared_repo_kernel_address->process_metrics Structure of the Shared Kernel Memory + */ + fprintf(metrics_summary_file," %lld\n", convert_cycles_2_ns(shared_repo_kernel_address->process_metrics.unmap_pages_overhead_time_end)); + + + + /* + * Get the cdma_fetch_time_start_l Field of the shared_repo_kernel_address->process_metrics.agd0 Structure of the Shared Kernel Memory. + * The cdma_fetch_time_start_l Field is Partially the CDMA Fetch Time Start Value which was Found at the APM Lower Global Clock Counter Register. + */ + gcc_l = (uint64_t)shared_repo_kernel_address->process_metrics.agd0.cdma_fetch_time_start_l; + + /* + * Get the cdma_fetch_time_start_u Field of the shared_repo_kernel_address->process_metrics.agd0 Structure of the Shared Kernel Memory. + * The cdma_fetch_time_start_u Field is Partially the CDMA Fetch Time Start Value which was Found at the APM Upper Global Clock Counter Register. + */ + gcc_u = (uint64_t)shared_repo_kernel_address->process_metrics.agd0.cdma_fetch_time_start_u; + + /* + * Shift Left by 32 the gcc_u Value. + */ + gcc_u = gcc_u << 32; + + /* + * Calculate the Correct CDMA Fetch Time Start Value from Cycles to Nanoseconds and Write it to the CDMA_Fetch_Time_Start Element Node. + */ + fprintf(metrics_summary_file," %lld\n", (gcc_l + gcc_u) * 8); + + + + + /* + * Get the cdma_fetch_time_end_l Field of the shared_repo_kernel_address->process_metrics.agd0 Structure of the Shared Kernel Memory. + * The cdma_fetch_time_end_l Field is Partially the CDMA Fetch Time End Value which was Found at the APM Lower Global Clock Counter Register. + */ + gcc_l = (uint64_t)shared_repo_kernel_address->process_metrics.agd0.cdma_fetch_time_end_l; + + /* + * Get the cdma_fetch_time_end_u Field of the shared_repo_kernel_address->process_metrics.agd0 Structure of the Shared Kernel Memory. + * The cdma_fetch_time_end_u Field is Partially the CDMA Fetch Time End Value which was Found at the APM Upper Global Clock Counter Register. + */ + gcc_u = (uint64_t)shared_repo_kernel_address->process_metrics.agd0.cdma_fetch_time_end_u; + + /* + * Shift Left by 32 the gcc_u Value. + */ + gcc_u = gcc_u << 32; + + /* + * Calculate the Correct CDMA Fetch Time End Value from Cycles to Nanoseconds and Write it to the CDMA_Fetch_Time_End Element Node. + */ + fprintf(metrics_summary_file," %lld\n", (gcc_l + gcc_u) * 8); + + + + /* + * Get the dma_accel_time_start_l Field of the shared_repo_kernel_address->process_metrics.agd0 Structure of the Shared Kernel Memory. + * The dma_accel_time_start_l Field is Partially the Acceleration Time Start Value which was Found at the APM Lower Global Clock Counter Register. + */ + gcc_l = (uint64_t)shared_repo_kernel_address->process_metrics.agd0.dma_accel_time_start_l; + + /* + * Get the dma_accel_time_start_u Field of the shared_repo_kernel_address->process_metrics.agd0 Structure of the Shared Kernel Memory. + * The dma_accel_time_start_u Field is Partially the Acceleration Time Start Value which was Found at the APM Upper Global Clock Counter Register. + */ + gcc_u = (uint64_t)shared_repo_kernel_address->process_metrics.agd0.dma_accel_time_start_u; + + /* + * Shift Left by 32 the gcc_u Value. + */ + gcc_u = gcc_u << 32; + + /* + * Calculate the Correct Acceleration Time Start Value from Cycles to Nanoseconds and Write it to the Process_Time_Start Element Node. + */ + fprintf(metrics_summary_file," %lld\n", (gcc_l + gcc_u) * 8); + + + + + /* + * Get the dma_accel_time_end_l Field of the shared_repo_kernel_address->process_metrics.agd0 Structure of the Shared Kernel Memory. + * The dma_accel_time_end_l Field is Partially the Acceleration Time End Value which was Found at the APM Lower Global Clock Counter Register. + */ + gcc_l = (uint64_t)shared_repo_kernel_address->process_metrics.agd0.dma_accel_time_end_l; + + /* + * Get the dma_accel_time_end_u Field of the shared_repo_kernel_address->process_metrics.agd0 Structure of the Shared Kernel Memory. + * The dma_accel_time_end_u Field is Partially the Acceleration Time End Value which was Found at the APM Upper Global Clock Counter Register. + */ + gcc_u = (uint64_t)shared_repo_kernel_address->process_metrics.agd0.dma_accel_time_end_u; + + /* + * Shift Left by 32 the gcc_u Value. + */ + gcc_u = gcc_u << 32; + + /* + * Calculate the Correct Acceleration Time End Value from Cycles to Nanoseconds and Write it to the Process_Time_End Element Node. + */ + fprintf(metrics_summary_file," %lld\n", (gcc_l + gcc_u) * 8); + + + + + /* + * Get the cdma_send_time_start_l Field of the shared_repo_kernel_address->process_metrics.agd0 Structure of the Shared Kernel Memory. + * The cdma_send_time_start_l Field is Partially the CDMA Send Time Start Value which was Found at the APM Lower Global Clock Counter Register. + */ + gcc_l = (uint64_t)shared_repo_kernel_address->process_metrics.agd0.cdma_send_time_start_l; + + /* + * Get the cdma_send_time_start_u Field of the shared_repo_kernel_address->process_metrics.agd0 Structure of the Shared Kernel Memory. + * The cdma_send_time_start_u Field is Partially the CDMA Send Time Start Value which was Found at the APM Upper Global Clock Counter Register. + */ + gcc_u = (uint64_t)shared_repo_kernel_address->process_metrics.agd0.cdma_send_time_start_u; + + /* + * Shift Left by 32 the gcc_u Value. + */ + gcc_u = gcc_u << 32; + + /* + * Calculate the Correct CDMA Send Time Start Value from Cycles to Nanoseconds and Write it to the CDMA_Send_Time_Start Element Node. + */ + fprintf(metrics_summary_file," %lld\n", (gcc_l + gcc_u) * 8); + + + + + /* + * Get the cdma_send_time_end_l Field of the shared_repo_kernel_address->process_metrics.agd0 Structure of the Shared Kernel Memory. + * The cdma_send_time_end_l Field is Partially the CDMA Send Time End Value which was Found at the APM Lower Global Clock Counter Register. + */ + gcc_l = (uint64_t)shared_repo_kernel_address->process_metrics.agd0.cdma_send_time_end_l; + + /* + * Get the cdma_send_time_end_u Field of the shared_repo_kernel_address->process_metrics.agd0 Structure of the Shared Kernel Memory. + * The cdma_send_time_end_u Field is Partially the CDMA Send Time End Value which was Found at the APM Upper Global Clock Counter Register. + */ + gcc_u = (uint64_t)shared_repo_kernel_address->process_metrics.agd0.cdma_send_time_end_u; + + /* + * Shift Left by 32 the gcc_u Value. + */ + gcc_u = gcc_u << 32; + + /* + * Calculate the Correct CDMA Send Time End Value from Cycles to Nanoseconds and Write it to the CDMA_Send_Time_End Element Node. + */ + fprintf(metrics_summary_file," %lld\n", (gcc_l + gcc_u) * 8); + + + + + /* + * Write the Close Tag of the Segment Element Node. + */ + fprintf(metrics_summary_file," \n\n\n"); + + /* + * Increment the segment_count Variable for the Next Segment that Might be Present. + */ + segment_count++; + + } + + + /* + * Acceleration Group Direct 1 Segment + */ + + if((used_accelerator & ACCELERATOR_DIRECT_1_OCCUPIED) == ACCELERATOR_DIRECT_1_OCCUPIED) + { + + fprintf(metrics_summary_file," \n"); + + fprintf(metrics_summary_file," %d\n", segment_count); + fprintf(metrics_summary_file," Acceleration Group Direct 1\n"); + fprintf(metrics_summary_file," %d\n", shared_repo_kernel_address->process_metrics.agd1.apm_read_transactions); + fprintf(metrics_summary_file," %d\n", shared_repo_kernel_address->process_metrics.agd1.apm_read_bytes); + fprintf(metrics_summary_file," %d\n", shared_repo_kernel_address->process_metrics.agd1.apm_write_transactions); + fprintf(metrics_summary_file," %d\n", shared_repo_kernel_address->process_metrics.agd1.apm_write_bytes); + fprintf(metrics_summary_file," %d\n", shared_repo_kernel_address->process_metrics.agd1.apm_packets); + fprintf(metrics_summary_file," %d\n", shared_repo_kernel_address->process_metrics.agd1.apm_bytes); + fprintf(metrics_summary_file," %d\n", shared_repo_kernel_address->process_metrics.agd1.apm_gcc_l); + + fprintf(metrics_summary_file," %lld\n", convert_cycles_2_ns(shared_repo_kernel_address->process_metrics.set_pages_overhead_time_start)); + fprintf(metrics_summary_file," %lld\n", convert_cycles_2_ns(shared_repo_kernel_address->process_metrics.set_pages_overhead_time_end)); + + fprintf(metrics_summary_file," %lld\n", convert_cycles_2_ns(shared_repo_kernel_address->process_metrics.unmap_pages_overhead_time_start)); + fprintf(metrics_summary_file," %lld\n", convert_cycles_2_ns(shared_repo_kernel_address->process_metrics.unmap_pages_overhead_time_end)); + + gcc_l = (uint64_t)shared_repo_kernel_address->process_metrics.agd1.cdma_fetch_time_start_l; + gcc_u = (uint64_t)shared_repo_kernel_address->process_metrics.agd1.cdma_fetch_time_start_u; + gcc_u = gcc_u << 32; + + fprintf(metrics_summary_file," %lld\n", (gcc_l + gcc_u) * 8); + + gcc_l = (uint64_t)shared_repo_kernel_address->process_metrics.agd1.cdma_fetch_time_end_l; + gcc_u = (uint64_t)shared_repo_kernel_address->process_metrics.agd1.cdma_fetch_time_end_u; + gcc_u = gcc_u << 32; + + fprintf(metrics_summary_file," %lld\n", (gcc_l + gcc_u) * 8); + + gcc_l = (uint64_t)shared_repo_kernel_address->process_metrics.agd1.dma_accel_time_start_l; + gcc_u = (uint64_t)shared_repo_kernel_address->process_metrics.agd1.dma_accel_time_start_u; + gcc_u = gcc_u << 32; + + fprintf(metrics_summary_file," %lld\n", (gcc_l + gcc_u) * 8); + + gcc_l = (uint64_t)shared_repo_kernel_address->process_metrics.agd1.dma_accel_time_end_l; + gcc_u = (uint64_t)shared_repo_kernel_address->process_metrics.agd1.dma_accel_time_end_u; + gcc_u = gcc_u << 32; + + fprintf(metrics_summary_file," %lld\n", (gcc_l + gcc_u) * 8); + + + gcc_l = (uint64_t)shared_repo_kernel_address->process_metrics.agd1.cdma_send_time_start_l; + gcc_u = (uint64_t)shared_repo_kernel_address->process_metrics.agd1.cdma_send_time_start_u; + gcc_u = gcc_u << 32; + + fprintf(metrics_summary_file," %lld\n", (gcc_l + gcc_u) * 8); + + gcc_l = (uint64_t)shared_repo_kernel_address->process_metrics.agd1.cdma_send_time_end_l; + gcc_u = (uint64_t)shared_repo_kernel_address->process_metrics.agd1.cdma_send_time_end_u; + gcc_u = gcc_u << 32; + + fprintf(metrics_summary_file," %lld\n", (gcc_l + gcc_u) * 8); + + fprintf(metrics_summary_file," \n\n\n"); + + segment_count++; + + } + + + /* + * Acceleration Group Indirect 0 Segment + */ + + if((used_accelerator & ACCELERATOR_INDIRECT_0_OCCUPIED) == ACCELERATOR_INDIRECT_0_OCCUPIED) + { + + fprintf(metrics_summary_file," \n"); + + fprintf(metrics_summary_file," %d\n", segment_count); + fprintf(metrics_summary_file," Acceleration Group Indirect 0\n"); + fprintf(metrics_summary_file," %d\n", shared_repo_kernel_address->process_metrics.agi0.apm_read_transactions); + fprintf(metrics_summary_file," %d\n", shared_repo_kernel_address->process_metrics.agi0.apm_read_bytes); + fprintf(metrics_summary_file," %d\n", shared_repo_kernel_address->process_metrics.agi0.apm_write_transactions); + fprintf(metrics_summary_file," %d\n", shared_repo_kernel_address->process_metrics.agi0.apm_write_bytes); + fprintf(metrics_summary_file," %d\n", shared_repo_kernel_address->process_metrics.agi0.apm_packets); + fprintf(metrics_summary_file," %d\n", shared_repo_kernel_address->process_metrics.agi0.apm_bytes); + fprintf(metrics_summary_file," %d\n", shared_repo_kernel_address->process_metrics.agi0.apm_gcc_l); + + fprintf(metrics_summary_file," %lld\n", convert_cycles_2_ns(shared_repo_kernel_address->process_metrics.set_pages_overhead_time_start)); + fprintf(metrics_summary_file," %lld\n", convert_cycles_2_ns(shared_repo_kernel_address->process_metrics.set_pages_overhead_time_end)); + + fprintf(metrics_summary_file," %lld\n", convert_cycles_2_ns(shared_repo_kernel_address->process_metrics.unmap_pages_overhead_time_start)); + fprintf(metrics_summary_file," %lld\n", convert_cycles_2_ns(shared_repo_kernel_address->process_metrics.unmap_pages_overhead_time_end)); + + gcc_l = (uint64_t)shared_repo_kernel_address->process_metrics.agi0.cdma_fetch_time_start_l; + gcc_u = (uint64_t)shared_repo_kernel_address->process_metrics.agi0.cdma_fetch_time_start_u; + gcc_u = gcc_u << 32; + + fprintf(metrics_summary_file," %lld\n", (gcc_l + gcc_u) * 8); + + gcc_l = (uint64_t)shared_repo_kernel_address->process_metrics.agi0.cdma_fetch_time_end_l; + gcc_u = (uint64_t)shared_repo_kernel_address->process_metrics.agi0.cdma_fetch_time_end_u; + gcc_u = gcc_u << 32; + + fprintf(metrics_summary_file," %lld\n", (gcc_l + gcc_u) * 8); + + gcc_l = (uint64_t)shared_repo_kernel_address->process_metrics.agi0.dma_accel_time_start_l; + gcc_u = (uint64_t)shared_repo_kernel_address->process_metrics.agi0.dma_accel_time_start_u; + gcc_u = gcc_u << 32; + + fprintf(metrics_summary_file," %lld\n", (gcc_l + gcc_u) * 8); + + gcc_l = (uint64_t)shared_repo_kernel_address->process_metrics.agi0.dma_accel_time_end_l; + gcc_u = (uint64_t)shared_repo_kernel_address->process_metrics.agi0.dma_accel_time_end_u; + gcc_u = gcc_u << 32; + + fprintf(metrics_summary_file," %lld\n", (gcc_l + gcc_u) * 8); + + + gcc_l = (uint64_t)shared_repo_kernel_address->process_metrics.agi0.cdma_send_time_start_l; + gcc_u = (uint64_t)shared_repo_kernel_address->process_metrics.agi0.cdma_send_time_start_u; + gcc_u = gcc_u << 32; + + fprintf(metrics_summary_file," %lld\n", (gcc_l + gcc_u) * 8); + + gcc_l = (uint64_t)shared_repo_kernel_address->process_metrics.agi0.cdma_send_time_end_l; + gcc_u = (uint64_t)shared_repo_kernel_address->process_metrics.agi0.cdma_send_time_end_u; + gcc_u = gcc_u << 32; + + fprintf(metrics_summary_file," %lld\n", (gcc_l + gcc_u) * 8); + + fprintf(metrics_summary_file," \n\n\n"); + + segment_count++; + + } + + + /* + * Acceleration Group Indirect 1 Segment + */ + + if((used_accelerator & ACCELERATOR_INDIRECT_1_OCCUPIED) == ACCELERATOR_INDIRECT_1_OCCUPIED) + { + + fprintf(metrics_summary_file," \n"); + + fprintf(metrics_summary_file," %d\n", segment_count); + fprintf(metrics_summary_file," Acceleration Group Indirect 1\n"); + fprintf(metrics_summary_file," %d\n", shared_repo_kernel_address->process_metrics.agi1.apm_read_transactions); + fprintf(metrics_summary_file," %d\n", shared_repo_kernel_address->process_metrics.agi1.apm_read_bytes); + fprintf(metrics_summary_file," %d\n", shared_repo_kernel_address->process_metrics.agi1.apm_write_transactions); + fprintf(metrics_summary_file," %d\n", shared_repo_kernel_address->process_metrics.agi1.apm_write_bytes); + fprintf(metrics_summary_file," %d\n", shared_repo_kernel_address->process_metrics.agi1.apm_packets); + fprintf(metrics_summary_file," %d\n", shared_repo_kernel_address->process_metrics.agi1.apm_bytes); + fprintf(metrics_summary_file," %d\n", shared_repo_kernel_address->process_metrics.agi1.apm_gcc_l); + + fprintf(metrics_summary_file," %lld\n", convert_cycles_2_ns(shared_repo_kernel_address->process_metrics.set_pages_overhead_time_start)); + fprintf(metrics_summary_file," %lld\n", convert_cycles_2_ns(shared_repo_kernel_address->process_metrics.set_pages_overhead_time_end)); + + fprintf(metrics_summary_file," %lld\n", convert_cycles_2_ns(shared_repo_kernel_address->process_metrics.unmap_pages_overhead_time_start)); + fprintf(metrics_summary_file," %lld\n", convert_cycles_2_ns(shared_repo_kernel_address->process_metrics.unmap_pages_overhead_time_end)); + + gcc_l = (uint64_t)shared_repo_kernel_address->process_metrics.agi1.cdma_fetch_time_start_l; + gcc_u = (uint64_t)shared_repo_kernel_address->process_metrics.agi1.cdma_fetch_time_start_u; + gcc_u = gcc_u << 32; + + fprintf(metrics_summary_file," %lld\n", (gcc_l + gcc_u) * 8); + + gcc_l = (uint64_t)shared_repo_kernel_address->process_metrics.agi1.cdma_fetch_time_end_l; + gcc_u = (uint64_t)shared_repo_kernel_address->process_metrics.agi1.cdma_fetch_time_end_u; + gcc_u = gcc_u << 32; + + fprintf(metrics_summary_file," %lld\n", (gcc_l + gcc_u) * 8); + + gcc_l = (uint64_t)shared_repo_kernel_address->process_metrics.agi1.dma_accel_time_start_l; + gcc_u = (uint64_t)shared_repo_kernel_address->process_metrics.agi1.dma_accel_time_start_u; + gcc_u = gcc_u << 32; + + fprintf(metrics_summary_file," %lld\n", (gcc_l + gcc_u) * 8); + + gcc_l = (uint64_t)shared_repo_kernel_address->process_metrics.agi1.dma_accel_time_end_l; + gcc_u = (uint64_t)shared_repo_kernel_address->process_metrics.agi1.dma_accel_time_end_u; + gcc_u = gcc_u << 32; + + fprintf(metrics_summary_file," %lld\n", (gcc_l + gcc_u) * 8); + + + gcc_l = (uint64_t)shared_repo_kernel_address->process_metrics.agi1.cdma_send_time_start_l; + gcc_u = (uint64_t)shared_repo_kernel_address->process_metrics.agi1.cdma_send_time_start_u; + gcc_u = gcc_u << 32; + + fprintf(metrics_summary_file," %lld\n", (gcc_l + gcc_u) * 8); + + gcc_l = (uint64_t)shared_repo_kernel_address->process_metrics.agi1.cdma_send_time_end_l; + gcc_u = (uint64_t)shared_repo_kernel_address->process_metrics.agi1.cdma_send_time_end_u; + gcc_u = gcc_u << 32; + + fprintf(metrics_summary_file," %lld\n", (gcc_l + gcc_u) * 8); + + fprintf(metrics_summary_file," \n\n\n"); + + segment_count++; + + } + + + /* + * Acceleration Group Indirect 2 Segment + */ + + if((used_accelerator & ACCELERATOR_INDIRECT_2_OCCUPIED) == ACCELERATOR_INDIRECT_2_OCCUPIED) + { + + fprintf(metrics_summary_file," \n"); + + fprintf(metrics_summary_file," %d\n", segment_count); + fprintf(metrics_summary_file," Acceleration Group Indirect 2\n"); + fprintf(metrics_summary_file," %d\n", shared_repo_kernel_address->process_metrics.agi2.apm_read_transactions); + fprintf(metrics_summary_file," %d\n", shared_repo_kernel_address->process_metrics.agi2.apm_read_bytes); + fprintf(metrics_summary_file," %d\n", shared_repo_kernel_address->process_metrics.agi2.apm_write_transactions); + fprintf(metrics_summary_file," %d\n", shared_repo_kernel_address->process_metrics.agi2.apm_write_bytes); + fprintf(metrics_summary_file," %d\n", shared_repo_kernel_address->process_metrics.agi2.apm_packets); + fprintf(metrics_summary_file," %d\n", shared_repo_kernel_address->process_metrics.agi2.apm_bytes); + fprintf(metrics_summary_file," %d\n", shared_repo_kernel_address->process_metrics.agi2.apm_gcc_l); + + fprintf(metrics_summary_file," %lld\n", convert_cycles_2_ns(shared_repo_kernel_address->process_metrics.set_pages_overhead_time_start)); + fprintf(metrics_summary_file," %lld\n", convert_cycles_2_ns(shared_repo_kernel_address->process_metrics.set_pages_overhead_time_end)); + + fprintf(metrics_summary_file," %lld\n", convert_cycles_2_ns(shared_repo_kernel_address->process_metrics.unmap_pages_overhead_time_start)); + fprintf(metrics_summary_file," %lld\n", convert_cycles_2_ns(shared_repo_kernel_address->process_metrics.unmap_pages_overhead_time_end)); + + gcc_l = (uint64_t)shared_repo_kernel_address->process_metrics.agi2.cdma_fetch_time_start_l; + gcc_u = (uint64_t)shared_repo_kernel_address->process_metrics.agi2.cdma_fetch_time_start_u; + gcc_u = gcc_u << 32; + + fprintf(metrics_summary_file," %lld\n", (gcc_l + gcc_u) * 8); + + gcc_l = (uint64_t)shared_repo_kernel_address->process_metrics.agi2.cdma_fetch_time_end_l; + gcc_u = (uint64_t)shared_repo_kernel_address->process_metrics.agi2.cdma_fetch_time_end_u; + gcc_u = gcc_u << 32; + + fprintf(metrics_summary_file," %lld\n", (gcc_l + gcc_u) * 8); + + gcc_l = (uint64_t)shared_repo_kernel_address->process_metrics.agi2.dma_accel_time_start_l; + gcc_u = (uint64_t)shared_repo_kernel_address->process_metrics.agi2.dma_accel_time_start_u; + gcc_u = gcc_u << 32; + + fprintf(metrics_summary_file," %lld\n", (gcc_l + gcc_u) * 8); + + gcc_l = (uint64_t)shared_repo_kernel_address->process_metrics.agi2.dma_accel_time_end_l; + gcc_u = (uint64_t)shared_repo_kernel_address->process_metrics.agi2.dma_accel_time_end_u; + gcc_u = gcc_u << 32; + + fprintf(metrics_summary_file," %lld\n", (gcc_l + gcc_u) * 8); + + + gcc_l = (uint64_t)shared_repo_kernel_address->process_metrics.agi2.cdma_send_time_start_l; + gcc_u = (uint64_t)shared_repo_kernel_address->process_metrics.agi2.cdma_send_time_start_u; + gcc_u = gcc_u << 32; + + fprintf(metrics_summary_file," %lld\n", (gcc_l + gcc_u) * 8); + + gcc_l = (uint64_t)shared_repo_kernel_address->process_metrics.agi2.cdma_send_time_end_l; + gcc_u = (uint64_t)shared_repo_kernel_address->process_metrics.agi2.cdma_send_time_end_u; + gcc_u = gcc_u << 32; + + fprintf(metrics_summary_file," %lld\n", (gcc_l + gcc_u) * 8); + + fprintf(metrics_summary_file," \n\n\n"); + + segment_count++; + + } + + + + /* + * Acceleration Group Indirect 3 Segment + */ + + if((used_accelerator & ACCELERATOR_INDIRECT_3_OCCUPIED) == ACCELERATOR_INDIRECT_3_OCCUPIED) + { + + fprintf(metrics_summary_file," \n"); + + fprintf(metrics_summary_file," %d\n", segment_count); + fprintf(metrics_summary_file," Acceleration Group Indirect 3\n"); + fprintf(metrics_summary_file," %d\n", shared_repo_kernel_address->process_metrics.agi3.apm_read_transactions); + fprintf(metrics_summary_file," %d\n", shared_repo_kernel_address->process_metrics.agi3.apm_read_bytes); + fprintf(metrics_summary_file," %d\n", shared_repo_kernel_address->process_metrics.agi3.apm_write_transactions); + fprintf(metrics_summary_file," %d\n", shared_repo_kernel_address->process_metrics.agi3.apm_write_bytes); + fprintf(metrics_summary_file," %d\n", shared_repo_kernel_address->process_metrics.agi3.apm_packets); + fprintf(metrics_summary_file," %d\n", shared_repo_kernel_address->process_metrics.agi3.apm_bytes); + fprintf(metrics_summary_file," %d\n", shared_repo_kernel_address->process_metrics.agi3.apm_gcc_l); + + fprintf(metrics_summary_file," %lld\n", convert_cycles_2_ns(shared_repo_kernel_address->process_metrics.set_pages_overhead_time_start)); + fprintf(metrics_summary_file," %lld\n", convert_cycles_2_ns(shared_repo_kernel_address->process_metrics.set_pages_overhead_time_end)); + + fprintf(metrics_summary_file," %lld\n", convert_cycles_2_ns(shared_repo_kernel_address->process_metrics.unmap_pages_overhead_time_start)); + fprintf(metrics_summary_file," %lld\n", convert_cycles_2_ns(shared_repo_kernel_address->process_metrics.unmap_pages_overhead_time_end)); + + gcc_l = (uint64_t)shared_repo_kernel_address->process_metrics.agi3.cdma_fetch_time_start_l; + gcc_u = (uint64_t)shared_repo_kernel_address->process_metrics.agi3.cdma_fetch_time_start_u; + gcc_u = gcc_u << 32; + + fprintf(metrics_summary_file," %lld\n", (gcc_l + gcc_u) * 8); + + gcc_l = (uint64_t)shared_repo_kernel_address->process_metrics.agi3.cdma_fetch_time_end_l; + gcc_u = (uint64_t)shared_repo_kernel_address->process_metrics.agi3.cdma_fetch_time_end_u; + gcc_u = gcc_u << 32; + + fprintf(metrics_summary_file," %lld\n", (gcc_l + gcc_u) * 8); + + gcc_l = (uint64_t)shared_repo_kernel_address->process_metrics.agi3.dma_accel_time_start_l; + gcc_u = (uint64_t)shared_repo_kernel_address->process_metrics.agi3.dma_accel_time_start_u; + gcc_u = gcc_u << 32; + + fprintf(metrics_summary_file," %lld\n", (gcc_l + gcc_u) * 8); + + gcc_l = (uint64_t)shared_repo_kernel_address->process_metrics.agi3.dma_accel_time_end_l; + gcc_u = (uint64_t)shared_repo_kernel_address->process_metrics.agi3.dma_accel_time_end_u; + gcc_u = gcc_u << 32; + + fprintf(metrics_summary_file," %lld\n", (gcc_l + gcc_u) * 8); + + + gcc_l = (uint64_t)shared_repo_kernel_address->process_metrics.agi3.cdma_send_time_start_l; + gcc_u = (uint64_t)shared_repo_kernel_address->process_metrics.agi3.cdma_send_time_start_u; + gcc_u = gcc_u << 32; + + fprintf(metrics_summary_file," %lld\n", (gcc_l + gcc_u) * 8); + + gcc_l = (uint64_t)shared_repo_kernel_address->process_metrics.agi3.cdma_send_time_end_l; + gcc_u = (uint64_t)shared_repo_kernel_address->process_metrics.agi3.cdma_send_time_end_u; + gcc_u = gcc_u << 32; + + fprintf(metrics_summary_file," %lld\n", (gcc_l + gcc_u) * 8); + + fprintf(metrics_summary_file," \n\n\n"); + + segment_count++; + + } + + + /* + * Acceleration Group Scatter/Gather Segment + */ + + if((used_accelerator & ACCELERATOR_SG_OCCUPIED) == ACCELERATOR_SG_OCCUPIED) + { + + fprintf(metrics_summary_file," \n"); + + fprintf(metrics_summary_file," %d\n", segment_count); + fprintf(metrics_summary_file," Acceleration Group SG\n"); + fprintf(metrics_summary_file," %d\n", shared_repo_kernel_address->process_metrics.agsg.apm_read_transactions); + fprintf(metrics_summary_file," %d\n", shared_repo_kernel_address->process_metrics.agsg.apm_read_bytes); + fprintf(metrics_summary_file," %d\n", shared_repo_kernel_address->process_metrics.agsg.apm_write_transactions); + fprintf(metrics_summary_file," %d\n", shared_repo_kernel_address->process_metrics.agsg.apm_write_bytes); + fprintf(metrics_summary_file," %d\n", shared_repo_kernel_address->process_metrics.agsg.apm_packets); + fprintf(metrics_summary_file," %d\n", shared_repo_kernel_address->process_metrics.agsg.apm_bytes); + fprintf(metrics_summary_file," %d\n", shared_repo_kernel_address->process_metrics.agsg.apm_gcc_l); + + fprintf(metrics_summary_file," %lld\n", convert_cycles_2_ns(shared_repo_kernel_address->process_metrics.set_pages_overhead_time_start)); + fprintf(metrics_summary_file," %lld\n", convert_cycles_2_ns(shared_repo_kernel_address->process_metrics.set_pages_overhead_time_end)); + + fprintf(metrics_summary_file," %lld\n", convert_cycles_2_ns(shared_repo_kernel_address->process_metrics.unmap_pages_overhead_time_start)); + fprintf(metrics_summary_file," %lld\n", convert_cycles_2_ns(shared_repo_kernel_address->process_metrics.unmap_pages_overhead_time_end)); + + gcc_l = (uint64_t)shared_repo_kernel_address->process_metrics.agsg.cdma_fetch_time_start_l; + gcc_u = (uint64_t)shared_repo_kernel_address->process_metrics.agsg.cdma_fetch_time_start_u; + gcc_u = gcc_u << 32; + + fprintf(metrics_summary_file," %lld\n", (gcc_l + gcc_u) * 8); + + gcc_l = (uint64_t)shared_repo_kernel_address->process_metrics.agsg.cdma_fetch_time_end_l; + gcc_u = (uint64_t)shared_repo_kernel_address->process_metrics.agsg.cdma_fetch_time_end_u; + gcc_u = gcc_u << 32; + + fprintf(metrics_summary_file," %lld\n", (gcc_l + gcc_u) * 8); + + gcc_l = (uint64_t)shared_repo_kernel_address->process_metrics.agsg.dma_accel_time_start_l; + gcc_u = (uint64_t)shared_repo_kernel_address->process_metrics.agsg.dma_accel_time_start_u; + gcc_u = gcc_u << 32; + + fprintf(metrics_summary_file," %lld\n", (gcc_l + gcc_u) * 8); + + gcc_l = (uint64_t)shared_repo_kernel_address->process_metrics.agsg.dma_accel_time_end_l; + gcc_u = (uint64_t)shared_repo_kernel_address->process_metrics.agsg.dma_accel_time_end_u; + gcc_u = gcc_u << 32; + + fprintf(metrics_summary_file," %lld\n", (gcc_l + gcc_u) * 8); + + + gcc_l = (uint64_t)shared_repo_kernel_address->process_metrics.agsg.cdma_send_time_start_l; + gcc_u = (uint64_t)shared_repo_kernel_address->process_metrics.agsg.cdma_send_time_start_u; + gcc_u = gcc_u << 32; + + fprintf(metrics_summary_file," %lld\n", (gcc_l + gcc_u) * 8); + + gcc_l = (uint64_t)shared_repo_kernel_address->process_metrics.agsg.cdma_send_time_end_l; + gcc_u = (uint64_t)shared_repo_kernel_address->process_metrics.agsg.cdma_send_time_end_u; + gcc_u = gcc_u << 32; + + fprintf(metrics_summary_file," %lld\n", (gcc_l + gcc_u) * 8); + + fprintf(metrics_summary_file," \n\n\n"); + + segment_count++; + + } + + /* + * Write to the Metrics .xml the Close Tag of the Process Element. + */ + fprintf(metrics_summary_file," \n\n\n"); + + /* + * Close the Metrics .xml File. + */ + fclose(metrics_summary_file); + + /* + * Unlock the Metrics .xml File so that the Rest of the Threads Can Use It. + */ + flock(fileno(metrics_summary_file), LOCK_UN); + + metrics_summary_file = NULL; + + } + + else + { + printf("Could not Open the File %s\n", file_name); + } + + +} + + +/* OK + * set_save_accelerator() + * + * Used to Create a String that Represents the Path and Name of the .bmp File where the Accelerated Image is Going to be Stored. + * The Name of the new .bmp File Carries the Following Information Regarding the Processed Image: + * -> pid Followed by the Process ID Number. + * -> iter Followed by the Current Iteration Number. + * -> d0 Followed by Value Zero or One Depending on whether the Accelereration Group Direct 0 Was Used or Not for Accelerating the Current Image + * -> d1 Followed by Value Zero or One Depending on whether the Accelereration Group Direct 1 Was Used or Not for Accelerating the Current Image + * -> i0 Followed by Value Zero or One Depending on whether the Accelereration Group Indirect 0 Was Used or Not for Accelerating the Current Image + * -> i1 Followed by Value Zero or One Depending on whether the Accelereration Group Indirect 1 Was Used or Not for Accelerating the Current Image + * -> i2 Followed by Value Zero or One Depending on whether the Accelereration Group Indirect 2 Was Used or Not for Accelerating the Current Image + * -> i3 Followed by Value Zero or One Depending on whether the Accelereration Group Indirect 3 Was Used or Not for Accelerating the Current Image + * -> sg Followed by Value Zero or One Depending on whether the Accelereration Group Scatter/Gather Was Used or Not for Accelerating the Current Image + */ +int set_save_accelerator(char *save_path_name, int used_accelerator, int tid, int iteration) +{ + int accel_occupied[7]; + int repeat; + + /* + * Shift Right the used_accelerator Variable to Get the 7 LSB Bits + * that Represent the Status (Used or Not) of each Acceleration Group Respectively + */ + for(repeat = 0; repeat < 7; repeat++) + { + accel_occupied[repeat] = (used_accelerator >> repeat) & 1; + } + + /* + * Create a New String that Carries the Path, Name and Image Info that will be Used to Later Save the Current Processed Image + */ + sprintf(save_path_name, "Results/pid_%d_iter_%d_d0%d_d1%d_i0%d_i1%d_i2%d_i3%d_sg%d.bmp", tid, iteration, accel_occupied[0], accel_occupied[1], accel_occupied[2], accel_occupied[3], accel_occupied[4], accel_occupied[5], accel_occupied[6]); + + + return SUCCESS; +} + + +/* OK + * pcie_bar_mmap() + * + * Used to Map the PCIe BAR0 and PCIe BAR1 of the PCIe Bridge as Part of the Virtual Address Space of the Userspace Application. + * PCIe BARs Represent Memories or Address Mappings of a PCIe Endpoint Device. + * The Host System Can Get Direct Access to the the Peripherals and Memories of the Endpoint Device through the PCIe BARs. + * + * Herein: + * PCIe BAR0 Represents the AXI Address Space where all the FPGA Peripherals are Mapped. + * PCIe BAR1 Represents the BRAM Memory of the FPGA which is Used to Store Metrics Information, SG Lists and Synchronization Flags. + * + * At Boot Time the Host System, among others, Enumerates the PCIe BAR0 and PCIe BAR 1 of the PCIe Endpoint Device and Creates + * the resource0 and resource2 Files at the "/sys/bus/pci/devices/0000:01:00.0/" Path. + * Those two Files are Used to Map the PCIe BARs Respectively. + */ +int pcie_bar_mmap() +{ + printf("Memory Mapping PCIe BAR Address Space\n"); + + /* + * Open the resource0 File that Represents the PCIe BAR0 of the PCIe Bridge. + */ + pcie_bar_0_mmap_file = open("/sys/bus/pci/devices/0000:01:00.0/resource0", O_RDWR); + + /* + * If the pcie_bar_0_mmap_file Value is Less than Zero then the System Failed to Open the File or the File Does not Exist + */ + if ( pcie_bar_0_mmap_file < 0 ) + { + #ifdef DEBUG_MESSAGES_UI + printf("[DEBUG MESSAGE] Error Opening PCIe BAR 0 MMAP File\n"); + #endif + return FAILURE; + } + + /* + * Use the mmap() Function to Map the PCIe BAR0 to the Virtual Address Space of the Userspace. + * The mmap() Function Returns a 32 Bit Pointer(uint_32_pcie_bar_kernel_address) which Can be Used to Get Direct Access to the AXI Address Space (Peripherals) of the FPGA. + */ + uint_32_pcie_bar_kernel_address = (unsigned int *)mmap(0, MMAP_ALLOCATION_SIZE, PROT_READ | PROT_WRITE, MAP_SHARED | MAP_LOCKED, pcie_bar_0_mmap_file, 0); + + /* + * Cast the uint_32_pcie_bar_kernel_address Pointer to the 64 Bit uint_64_pcie_bar_kernel_address Pointer. + * The uint_64_pcie_bar_kernel_address Can be Used to Make 64 Bit Read/Write Transactions. + */ + uint_64_pcie_bar_kernel_address = (uint64_t *)uint_32_pcie_bar_kernel_address; + + /* + * If the Value of the uint_32_pcie_bar_kernel_address Pointer is Equal with the MAP_FAILED Value it Means that We Failed to Map the PCIe BAR0 + */ + if (uint_32_pcie_bar_kernel_address == MAP_FAILED) + { + printf("Kernel Memory MMAP [FAILURE]\n"); + + #ifdef DEBUG_MESSAGES_UI + usleep(2000000); + #endif + return FAILURE; + } + else + { + printf("PCIe BAR 0 Kernel Memory MMAP [SUCCESS]\n"); + printf("PCIe BAR 0 Kernel Virtual Address is 0x%016lX\n", (unsigned long)uint_64_pcie_bar_kernel_address); + + } + + /* + * Open the resource2 File that Represents the PCIe BAR1 of the PCIe Bridge. + */ + pcie_bar_1_mmap_file = open("/sys/bus/pci/devices/0000:01:00.0/resource2", O_RDWR); + + /* + * If the pcie_bar_1_mmap_file Value is Less than Zero then the System Failed to Open the File or the File Does not Exist + */ + if ( pcie_bar_1_mmap_file < 0 ) + { + #ifdef DEBUG_MESSAGES_UI + printf("[DEBUG MESSAGE] Error Opening PCIe BAR 1 MMAP File\n"); + #endif + return FAILURE; + } + + /* + * Use the mmap() Function to Map the PCIe BAR1 to the Virtual Address Space of the Userspace. + * The mmap() Function Returns a n Unsigned Int Pointer(uint_shared_kernel_address) which Can be Used to Get Direct Access to the FPGA BRAM. + */ + uint_shared_kernel_address = (unsigned int *)mmap(0, 128 * KBYTE, PROT_READ | PROT_WRITE, MAP_SHARED | MAP_LOCKED, pcie_bar_1_mmap_file, 0); + + /* + * Cast the uint_shared_kernel_address Pointer to the struct shared_repository shared_kernel_address Pointer. + * The shared_kernel_address Pointer Can be Used to Make Read/Write Transactions in a Manner of Accessing the Fields of the struct shared_repository. + */ + shared_kernel_address = (struct shared_repository *)uint_shared_kernel_address; + + /* + * If the Value of the uint_shared_kernel_address Pointer is Equal with the MAP_FAILED Value it Means that We Failed to Map the PCIe BAR1 + */ + if (uint_shared_kernel_address == MAP_FAILED) + { + printf("Kernel Memory MMAP [FAILURE]\n"); + + #ifdef DEBUG_MESSAGES_UI + usleep(2000000); + #endif + return FAILURE; + } + else + { + printf("PCIe BAR 1 Kernel Memory MMAP [SUCCESS]\n"); + printf("PCIe BAR 1 Kernel Virtual Address is 0x%016lX\n", (unsigned long)shared_kernel_address); + + } + + + return SUCCESS; +} + + +/* OK + * shared_repo_mmap() + * + * This Function is Used to Map a Memory Allocation of the Kernel Space so that it Can Be Directly Accessed by the User Application. + * This Memory Allocation is Shared Between the Kernel Driver and the User Application and is Used to Store Metrics Gathered During the Whole Acceleration Procedure. + */ +struct shared_repository_process * shared_repo_mmap(struct per_thread_info *per_thread_info) +{ + unsigned int *uint_shared_repo_kernel_address; + struct shared_repository_process *shared_repo_kernel_address; + + //clear_screen(); + printf("Memory Mapping Shared Repo Kernel Allocation Buffer\n"); + + /* + * Open the shared_repo_mmap_value File. + * This File is Used to Make File Operations(Open, Read, Write, Mmap, Release, etc) Targetting Specific Code Execution Parts of the Kernel Driver. + * The shared_repo_mmap_value File Located inside the "/sys/kernel/debug/" Path is a Debugfs File which is Created by the Kernel Driver. + * The shared_repo_mmap_value File is Set with the Open, Mmap and Release File Operations that on Being Called Execute Specific Code Routines inside the Kernel Driver. + * The Debugfs File is Integrated to Provide Additional Operations between the User Application and the Kernel Driver. + */ + per_thread_info->shared_repo_mmap_file = open("/sys/kernel/debug/shared_repo_mmap_value", O_RDWR); + + /* + * If the per_thread_info->shared_repo_mmap_file Value is Less than Zero then the System Failed to Open the File or the File Does not Exist + */ + if ( per_thread_info->shared_repo_mmap_file < 0 ) + { + #ifdef DEBUG_MESSAGES_UI + printf("[DEBUG MESSAGE] Error Opening Shared Repo MMAP File\n"); + #endif + } + + /* + * When Calling the mmap() Function the Driver Makes a MMap File Operation which Allocates Memory in Kernel Space and Maps it to the Userspace Application. + * The mmap() Function Returns an unsigned int Pointer(uint_shared_repo_kernel_address) which Can be Used so that the + * Userspace Application Can Read/Write Directly to the Kernel Memory Allocation. + */ + uint_shared_repo_kernel_address = (unsigned int *)mmap(0, MMAP_ALLOCATION_SIZE, PROT_READ | PROT_WRITE, MAP_SHARED | MAP_LOCKED, per_thread_info->shared_repo_mmap_file, 0); + + /* + * Cast the uint_shared_repo_kernel_address Pointer to the struct shared_repository_process shared_repo_kernel_address Pointer. + * The shared_repo_kernel_address Pointer Can be Used to Read/Write the Kernel Memory Allocation in a Manner of Accessing the Fields of the struct shared_repository_process. + * This Memory Allocation is Used to Store Metrics. + * Being Shareable it Means that Both the Userspace Application and the Kernel Driver Can Store Metrics in this Kernel Space Memory Allocation. + */ + shared_repo_kernel_address = (struct shared_repository_process *)uint_shared_repo_kernel_address; + + + /* + * If the Value of the uint_shared_repo_kernel_address Pointer is Equal with the MAP_FAILED Value it Means that We Failed to Map the Kernel Space Memory Allocation + */ + if (uint_shared_repo_kernel_address == MAP_FAILED) + { + printf("Kernel Memory MMAP [FAILURE]\n"); + + #ifdef DEBUG_MESSAGES_UI + usleep(2000000); + #endif + } + else + { + printf("Kernel Memory MMAP [SUCCESS]\n"); + printf("Kernel Virtual Address is 0x%016lX\n", (unsigned long)shared_repo_kernel_address); + + } + + + return shared_repo_kernel_address; +} + + +/* OK + * pre_process_mmap() + * + * This Function is Used to Map a Memory Allocation of the Kernel Space so that it Can Be Directly Accessed by the User Application. + * This Memory Allocation is Shared Between the Kernel Driver and the User Application and is Used to Load the Image Data Directly from the Storage Device to the Kernel Space Memory. + * Without Using the MMap Technique Application the Userspace would Have to Load the Image Data in a Userspace Memory Allocation and then Copy the Image Data to a Kernel Memory Allocation. + * By Using the MMap Technique we Avoid Additional Memory Allocations and Data Copies. + */ +uint8_t * pre_process_mmap(struct per_thread_info *per_thread_info) +{ + unsigned int *pre_process_kernel_address; + uint8_t *u8_pre_process_kernel_address; + + + //clear_screen(); + printf("Memory Mapping Pre-Process Kernel Allocation Buffer\n"); + + /* + * Open the pre_process_mmap_value File. + * This File is Used to Make File Operations(Open, Read, Write, Mmap, Release, etc) Targetting Specific Code Execution Parts of the Kernel Driver. + * The pre_process_mmap_value File Located inside the "/sys/kernel/debug/" Path is a Debugfs File which is Created by the Kernel Driver. + * The pre_process_mmap_value File is Set with the Open, Mmap and Release File Operations that on Being Called Execute Specific Code Routines inside the Kernel Driver. + * The Debugfs File is Integrated to Provide Additional Operations between the User Application and the Kernel Driver. + */ + per_thread_info->pre_process_mmap_file = open("/sys/kernel/debug/pre_process_mmap_value", O_RDWR); + + /* + * If the per_thread_info->pre_process_mmap_file Value is Less than Zero then the System Failed to Open the File or the File Does not Exist + */ + if ( per_thread_info->pre_process_mmap_file < 0 ) + { + #ifdef DEBUG_MESSAGES_UI + printf("[DEBUG MESSAGE] Error Opening Pre-Process MMAP File\n"); + #endif + } + + /* + * When Calling the mmap() Function the Driver Makes a MMap File Operation which Allocates Memory in Kernel Space and Maps it to the Userspace Application. + * The mmap() Function Returns an unsigned int Pointer(pre_process_kernel_address) which Can be Used so that the + * Userspace Application Can Read/Write Directly to the Kernel Memory Allocation. + */ + pre_process_kernel_address = (unsigned int *)mmap(0, MMAP_ALLOCATION_SIZE, PROT_READ | PROT_WRITE, MAP_SHARED | MAP_LOCKED, per_thread_info->pre_process_mmap_file, 0); + + /* + * Cast the pre_process_kernel_address Pointer to the 8 Bit u8_pre_process_kernel_address Pointer. + * The u8_pre_process_kernel_address Pointer Can be Used to Make Byte Reads/Writes from/to the Kernel Memory Allocation. + * This Memory Allocation is Used to Store the Image Data that we Load from the Storage Device. + */ + u8_pre_process_kernel_address = (uint8_t *)pre_process_kernel_address; + + /* + * If the Value of the pre_process_kernel_address Pointer is Equal with the MAP_FAILED Value it Means that We Failed to Map the Kernel Space Memory Allocation + */ + if (pre_process_kernel_address == MAP_FAILED) + { + printf("Kernel Memory MMAP [FAILURE]\n"); + + #ifdef DEBUG_MESSAGES_UI + usleep(2000000); + #endif + } + else + { + printf("Kernel Memory MMAP [SUCCESS]\n"); + printf("Kernel Virtual Address is 0x%016lX\n", (unsigned long)pre_process_kernel_address); + + } + + + return u8_pre_process_kernel_address; +} + + +/* OK + * post_process_mmap() + * + * This Function is Used to Map a Memory Allocation of the Kernel Space so that it Can Be Directly Accessed by the User Application. + * This Memory Allocation is Shared Between the Kernel Driver and the User Application and is Used to Save the Processed Image Data Directly from the Kernel Space Memory to the Storage Device. + * Without Using the MMap Technique the Userspace Application would Have to Copy the Image Data From the Kernel Space Memory Allocation to the Userspace Memory Allocation + * and then Save the Image Data to the Storage Device. + * By Using the MMap Technique we Avoid Additional Memory Allocations and Data Copies. + */ +uint8_t * post_process_mmap(struct per_thread_info *per_thread_info) +{ + unsigned int *post_process_kernel_address; + uint8_t *u8_post_process_kernel_address; + + + //clear_screen(); + printf("Memory Mapping Post-Process Kernel Allocation Buffer\n"); + + /* + * Open the post_process_mmap_value File. + * This File is Used to Make File Operations(Open, Read, Write, Mmap, Release, etc) Targetting Specific Code Execution Parts of the Kernel Driver. + * The post_process_mmap_value File Located inside the "/sys/kernel/debug/" Path is a Debugfs File which is Created by the Kernel Driver. + * The post_process_mmap_value File is Set with the Open, Mmap and Release File Operations that on Being Called Execute Specific Code Routines inside the Kernel Driver. + * The Debugfs File is Integrated to Provide Additional Operations between the User Application and the Kernel Driver. + */ + per_thread_info->post_process_mmap_file = open("/sys/kernel/debug/post_process_mmap_value", O_RDWR); + + /* + * If the per_thread_info->post_process_mmap_file Value is Less than Zero then the System Failed to Open the File or the File Does not Exist + */ + if ( per_thread_info->post_process_mmap_file < 0 ) + { + #ifdef DEBUG_MESSAGES_UI + printf("[DEBUG MESSAGE] Error Opening Post-Process MMAP File\n"); + #endif + } + + /* + * When Calling the mmap() Function the Driver Makes a MMap File Operation which Allocates Memory in Kernel Space and Maps it to the Userspace Application. + * The mmap() Function Returns an unsigned int Pointer(post_process_kernel_address) which Can be Used so that the + * Userspace Application Can Read/Write Directly to the Kernel Memory Allocation. + */ + post_process_kernel_address = (unsigned int *)mmap(0, MMAP_ALLOCATION_SIZE, PROT_READ | PROT_WRITE, MAP_SHARED | MAP_LOCKED, per_thread_info->post_process_mmap_file, 0); + + /* + * Cast the post_process_kernel_address Pointer to the 8 Bit u8_post_process_kernel_address Pointer. + * The u8_post_process_kernel_address Pointer Can be Used to Make Byte Reads/Writes from/to the Kernel Memory Allocation. + * This Memory Allocation is Used to Store the Processed Image Data that are Later Saved to the Storage Device. + */ + u8_post_process_kernel_address = (uint8_t *)post_process_kernel_address; + + + /* + * If the Value of the post_process_kernel_address Pointer is Equal with the MAP_FAILED Value it Means that We Failed to Map the Kernel Space Memory Allocation + */ + if (post_process_kernel_address == MAP_FAILED) + { + printf("Kernel Memory MMAP [FAILURE]\n"); + + #ifdef DEBUG_MESSAGES_UI + usleep(2000000); + #endif + } + else + { + printf("Kernel Memory MMAP [SUCCESS]\n"); + printf("Kernel Virtual Address is 0x%016lX\n", (unsigned long)post_process_kernel_address); + + } + + + return u8_post_process_kernel_address; +} + + +/* OK + * start_thread() + * + * This is the Function that each new Thread is Actually Going to Execute. + */ +void* start_thread(void *arg) +{ + /* + * Make a System Call to Get the Process ID of the Current Thread (Thread ID). + */ + pid_t x = syscall(__NR_gettid); + + /* + * When a Thread Calls pthread_barrier_wait(), it Blocks Until the Number of Threads Specified Initially in the pthread_barrier_init() Function + * Have Called pthread_barrier_wait() (and Blocked Also). + * When the Correct Number of Threads Have Called pthread_barrier_wait(), all those Threads Will Unblock at the Same Time. + */ + pthread_barrier_wait(&threads_barrier); + + printf("[Thread ID: %d]\n", x); + + /* + * At this Point each Thread Has Unblocked from pthread_barrier_wait(). + * At this Point each Thread calls Its Own acceleration_thread() Function + * which Actually Starts and Manages the Acceleration Procedure. + */ + acceleration_thread(); + + + return NULL; +} + + +/* OK + * multi_threaded_acceleration() + * + * Called to Generate a Number of Threads According to the threads_number Function Argument. + */ +int multi_threaded_acceleration(int threads_number) +{ + int status; + int repeat; + + /* + * Create a pthread_t Type Array According to the threads_number. + */ + pthread_t thread_id[threads_number]; + + /* + * Initialize the Threads Barrier. + * A Barrier is a Point where the Thread is Going to Wait for other Threads and Will Proceed Further only when + * the Predefined Number of Threads (threads_number) Reach the Same Barrier. + */ + pthread_barrier_init(&threads_barrier, NULL, threads_number + 1); + + clear_screen(); + + printf("Performing the Multi-Threading Test\n"); + + /* + * Loop for as many Times as Defined by the threads_number in order to Create the Required Number of Threads. + */ + for(repeat = 0; repeat < threads_number; repeat++) + { + /* + * Create a New Thread of the start_thread() Function + */ + status = pthread_create(&thread_id[repeat], NULL, &start_thread, NULL); + if (status != 0) + { + printf("\nCannot Create a Thread :[%s]", strerror(status)); + } + else + { + printf("\nThread Created Successfully\n"); + } + } + + /* + * When a Thread Calls pthread_barrier_wait(), it Blocks Until the Number of Threads Specified Initially in the pthread_barrier_init() Function + * Have Called pthread_barrier_wait() (and Blocked Also). + * When the Correct Number of Threads Have Called pthread_barrier_wait(), all those Threads Will Unblock at the Same Time. + */ + pthread_barrier_wait(&threads_barrier); + + + /* + * The pthread_join() function Waits for the Thread to Terminate. + * We Loop for as many Times as Defined by the threads_number to Make Sure that All Threads are Terminated. + */ + for (repeat = 0;repeat < threads_number; repeat++) + { + /* + * The pthread_join() function Waits for the Thread to Terminate. + */ + pthread_join(thread_id[repeat], NULL); + } + + /* + * Call the pthread_barrier_destroy() Function which Destroys the Barrier and Releases any Resources Used by the Barrier. + */ + pthread_barrier_destroy(&threads_barrier); + + return SUCCESS; +} + +/* OK + * acceleration_thread() + * + * Called to Start a New Acceleration Request and Manage the Acceleration Procedure. + * There are as many acceleration_thread() Functions as the Number of Threads that the Application Initiated. + */ +int acceleration_thread() +{ + /* + * The pre_process_kernel_address Points to the Kernel Memory Created by the pre_process_mmap() Function. + * This Kernel Memory is Used to Load the Initial Image Data + */ + unsigned int *pre_process_kernel_address = NULL; + + /* + * The u8_pre_process_kernel_address, also, Points to the Kernel Memory Created by the pre_process_mmap() Function + * It is Used for 8 Bit Reads/Writes. + */ + uint8_t *u8_pre_process_kernel_address = NULL; + + /* + * The post_process_kernel_address Points to the Kernel Memory Created by the post_process_mmap() Function. + * This Kernel Memory is Used to Keep and Later Save the Processed Image Data + */ + unsigned int *post_process_kernel_address = NULL; + + /* + * The u8_post_process_kernel_address, also, Points to the Kernel Memory Created by the post_process_mmap() Function + * It is Used for 8 Bit Reads/Writes. + */ + uint8_t *u8_post_process_kernel_address = NULL; + + /* + * The uint_shared_repo_kernel_address Points to the Kernel Memory Created by the shared_repo_mmap() Function. + * This Kernel Memory is Used to Collect the Metrics Information. + */ + unsigned int *uint_shared_repo_kernel_address = NULL; + + /* + * The shared_repo_kernel_address, also, Points to the Kernel Memory Created by the shared_repo_mmap() Function + * It is Used to Access the Metrics Data as Fields of a struct shared_repository_process Structure Type. + */ + struct shared_repository_process *shared_repo_kernel_address = NULL; + + + /* + * The Name of the PCIe Device Driver. + */ + char device_driver_name[] = "/dev/xilinx_pci_driver"; + int device_file = -1; + + /* + * This Variable Increments for Each New Completed Acceleration. + */ + int completed = 0; + + /* + * The save_path_name Char Array is Used to Store the String with the Path and Name of the Save Image File. + */ + char save_path_name[100]; + + pid_t tid = syscall(__NR_gettid); + + int repeat; + int global_repeat = 0; + + int status = 0; + + int page_size; + + /* + * This Structure Pointer is Used to Store the Pre Process, Post Process and Metrics Kernel Memory Pointers as well as the File Descriptors + * which are used by the pre_process_mmap(), post_process_mmap() and shared_repo_mmap() Functions for Mapping the Kernel's Allocated Memories for the Current Thread. + */ + struct per_thread_info *mm_per_thread_info; + + /* + * Used to Keep the Last Time Value Captured by the FPGA's Shared Timer. + */ + uint64_t time_stamp; + + /* + * Used to Point to Pre Process Userspace Memory for the Source Data of the Acceleration Group SG. + */ + uint8_t *u8_sg_pre_process_kernel_address = NULL; + + /* + * Used to Point to Post Process Userspace Memory for the Destination Data of the Acceleration Group SG. + */ + uint8_t *u8_sg_post_process_kernel_address = NULL; + + /* + * This Structure Pointer is Used to Store the Pre Process and Post Process Userspace Memory Pointers. + */ + struct sg_list_addresses *sg_list_src_dst_addresses = NULL; + + + char* device_file_name = device_driver_name; + + /* + * Open the PCIe Device Driver. + */ + device_file = open(device_file_name, O_RDWR); + + if ( device_file < 0 ) + { + #ifdef DEBUG_MESSAGES_UI + printf("[DEBUG MESSAGE] Error Opening Device File\n"); + #endif + return 0; + } + + /* + * Call the clear_screen() Function to Clear the Terminal Screen + */ + clear_screen(); + + + #ifdef DEBUG_MESSAGES_UI + printf("Performing .bmp Image Acceleration\n"); + #endif + + + /* + * Allocate a "per_thread_info" Structure + */ + mm_per_thread_info = (struct per_thread_info *)malloc(sizeof(struct per_thread_info)); + + pid = getpid(); + + /* + * Read the Time Spot where the Required Preparation before Acceleration Started. + * + * The uint_64_pcie_bar_kernel_address Pointer Points to the PCIe BAR0 which Gives Access to the Peripherlas of the FPGA. + * The BAR0_OFFSET_TIMER is the Offset where the Shared Timer Peripheral is Mapped in the FPGA AXI Address Space. + * Reading from that Offset of the uint_64_pcie_bar_kernel_address Pointer is Actually Reading the Lower and Upper Registers of the Global Clock Counter of the Shared Timer (Shared APM). + */ + time_stamp = uint_64_pcie_bar_kernel_address[BAR0_OFFSET_TIMER / 8]; + + /* + * MMap Kernel Memory Allocation (4M) that is Common Between the Kernel Space and the Userspace + * This Memory is Used to Store Time and Transfer Metrics + */ + shared_repo_kernel_address = shared_repo_mmap(mm_per_thread_info); + + /* + * Store the Height, Width and Size of the Image that will be Accelerated. + * This Information will be Given by the Driver to the Appropriate Acceleration Group. + */ + shared_repo_kernel_address->shared_image_info.rows = bitmap_info_header.height; + shared_repo_kernel_address->shared_image_info.columns = bitmap_info_header.width; + shared_repo_kernel_address->shared_image_info.size = total_reserved_size; + + + /* + * Store the Time Spot where the Required Preparation before Acceleration Started + */ + shared_repo_kernel_address->process_metrics.preparation_time_start = time_stamp; + + /* + * MMap a Kernel Memory Allocation (4M Size) so that it Can be Common Between the Kernel Space and the Userspace. + * This Memory is Used by the Userspace Application to Load the Image Directly to the Kernel Space (Pre-Process Data) + * This Memory is where the Accelerator Reads the Data from. + */ + u8_pre_process_kernel_address = pre_process_mmap(mm_per_thread_info); + + + /* + * MMap a Kernel Memory Allocation (4M Size) so that it can be Common Between the Kernel Space and the Userspace. + * This Memory is where the Accelerator Writes the Processed Data to (Post-Process Data). + * This Memory is Directly Accessed by the Userspace Application to Save the Processed Data to an Image File. + */ + u8_post_process_kernel_address = post_process_mmap(mm_per_thread_info); + + + /* + * The Post Process Kernel Memory Allocated and Mapped in the Previous Step (post_process_mmap()) is not Used in this Implementation. + * Due to Limitation of Available AXI BARs we Use one Kernel Memory Allocation for the Image Data which is the Pre Process Kernel Memory. + * The DMA Gets Access to that Memory through one AXI BAR, It Reads the Initial Image Data which are Processed and then Returned to the Same Memory and Same Offset. + * As a Result, the Post Process Kernel Memory is Not Required but it is Created in Case the Developer Decides to Make a Different Implementation + * Regarding where the DMA Reads from or Writes to and how Many BARs are Used for a Single Acceleration. + * + * Taking the Above into Consideration, the u8_post_process_kernel_address Pointer is Set to Point at the Pre Process Kernel Memory as the u8_pre_process_kernel_address Pointer. + * The Application will Use the u8_pre_process_kernel_address Pointer to Load the Image and the u8_post_process_kernel_address Pointer to Save the Processed Image. + */ + u8_post_process_kernel_address = (uint8_t * )u8_pre_process_kernel_address; + + + /* + * Read the Time Spot where the Required Preparation before Acceleration Ended + */ + time_stamp = uint_64_pcie_bar_kernel_address[BAR0_OFFSET_TIMER / 8]; + + /* + * Store the Time Spot where the Required Preparation before Acceleration Ended + */ + shared_repo_kernel_address->process_metrics.preparation_time_end = time_stamp; + + /* + * This Loop Contains the Main Steps of the Acceleration Procedure from Requesting Acceleration to Completing the Acceleration. + * Each New Iteration of the for Loop is A New Acceleration Request. + */ + for(global_repeat = 0; global_repeat < global_iterations; global_repeat++) + { + + /* + * Read and Store the Time Spot where we Start to Capture the Total Time of a Single Iteration of the Acceleration Procedure + */ + time_stamp = uint_64_pcie_bar_kernel_address[BAR0_OFFSET_TIMER / 8]; + shared_repo_kernel_address->process_metrics.total_time_start = time_stamp; + + + /* + * Read and Store the Time Spot where Loading the Image to the Kernel Memory Started + */ + time_stamp = uint_64_pcie_bar_kernel_address[BAR0_OFFSET_TIMER / 8]; + shared_repo_kernel_address->process_metrics.load_time_start = time_stamp; + + /* + * Copy the Image Data from the Common Memory where they were Initially Loaded to the Pre Process Kernel Memory (u8_pre_process_kernel_address). + * An Old but Slower Approach was to Load the Image Data to the Pre Process Kernel Memory instead of Using the Copy Method. + */ + memcpy((void *)u8_pre_process_kernel_address, (void *)common_load, shared_repo_kernel_address->shared_image_info.size); + + + /* + * Read and Store the Time Spot where Loading the Image to the Kernel Memory Ended. + */ + time_stamp = uint_64_pcie_bar_kernel_address[BAR0_OFFSET_TIMER / 8]; + shared_repo_kernel_address->process_metrics.load_time_end = time_stamp; + + + #ifdef DEBUG_MESSAGES_UI + printf("Sending Access Request to the Driver\n"); + #endif + + /* + * Read and Store the Time Spot Right Before the Thread is Possibly Set to Sleep State (If no Acceleration Groups were Found Available). + * This is where the Sleep State Possibly Started. + */ + time_stamp = uint_64_pcie_bar_kernel_address[BAR0_OFFSET_TIMER / 8]; + shared_repo_kernel_address->process_metrics.sleep_time_start = time_stamp; + + /* + * IOCtl Request Access to Hardware Accelerator From Driver. + * This System Call Makes the Driver to Execute a Specific Code Routine that will Try to Occupy Acceleration Group(s) + */ + status = ioctl(device_file, COMMAND_REQUEST_ACCELERATOR_ACCESS, (unsigned long)0); + + if(status == FAILURE) + { + printf("IOCtl Failed\n"); + usleep(1500000); + + return FAILURE; + } + + /* + * This if Statement Checks if the Acceleration Group SG is Occupied which Requires Additional Handling for Creating Scatter/Gather Lists. + * The Reason for Scatter/Gather Lists is that the AGSG Uses Userspace Memory for Loading the Image Data which is Chunked in Pages. + */ + if(shared_repo_kernel_address->accel_occupied == ACCELERATOR_SG_OCCUPIED) + { + #ifdef DEBUG_MESSAGES_UI + printf("The Only Available Accelerator is SG\nGoing to Allocate Userspace Memory in order to Occupy the Acceleration Group SG\n"); + #endif + + if(u8_sg_pre_process_kernel_address == NULL && u8_sg_post_process_kernel_address == NULL) + { + /* + * Get the Page Size which is Set by the Linux System. + */ + page_size = getpagesize(); + + /* + * Allocate a "sg_list_addresses" Structure. + * This Structure Holds the Pointers for the Pre Process (Source) and the Post Process (Destination) Userspace Memories. + */ + sg_list_src_dst_addresses = (struct sg_list_addresses *)malloc(sizeof(struct sg_list_addresses)); + + /* + * Allocate 4M of Memory Aligned in Pages of PAGE_SIZE (4K) for the Pre Process Userspace Memory + */ + status = posix_memalign((void **)&sg_list_src_dst_addresses->sg_list_source_address, page_size, POSIX_ALLOCATED_SIZE); + + /* + * Set the u8_sg_pre_process_kernel_address Pointer to Point at the Pre Process Userspace Memory as the sg_list_src_dst_addresses->sg_list_source_address Pointer. + */ + u8_sg_pre_process_kernel_address = (uint8_t *)sg_list_src_dst_addresses->sg_list_source_address; + + if(status == 0) + { + printf("Succesfully Allocated Memory for Source Buffer\nThe Virtual Address for Source Buffer is: 0x%016X\n", (unsigned long)sg_list_src_dst_addresses->sg_list_source_address); + } + else + { + printf("Failed to Allocate Memory for Source Buffer [ERROR %d]", status); + } + + /* + * Pin the Allocated Memory to Avoid Swapping. + */ + mlock(sg_list_src_dst_addresses->sg_list_source_address, POSIX_ALLOCATED_SIZE); + + /* + * Allocate 4M of Memory Aligned in Pages of PAGE_SIZE (4K) for the Post Process Userspace Memory + */ + status = posix_memalign((void **)&sg_list_src_dst_addresses->sg_list_destination_address, page_size, POSIX_ALLOCATED_SIZE); + + /* + * Set the u8_sg_post_process_kernel_address Pointer to Point at the Post Process Userspace Memory as the sg_list_src_dst_addresses->sg_list_destination_address Pointer. + */ + u8_sg_post_process_kernel_address = (uint8_t *)sg_list_src_dst_addresses->sg_list_destination_address; + + + if(status == 0) + { + printf("Succesfully Allocated Memory for Destination Buffer\nThe Virtual Address for Destination Buffer is: 0x%016X\n", (unsigned long)sg_list_src_dst_addresses->sg_list_destination_address); + } + else + { + printf("Failed to Allocate Memory for Destination Buffer [ERROR %d]", status); + } + + /* + * Pin the Allocated Memory to Avoid Swapping. + */ + mlock(sg_list_src_dst_addresses->sg_list_destination_address, POSIX_ALLOCATED_SIZE); + } + + /* + * The Thread Originally Copied the Image Data to the Pre Process Kernel Memory (u8_pre_process_kernel_address). + * Since there was no Available Acceleration Group (Except for the AGSG) that Uses the Kernel Memory the Data Must be Copied to the + * Pre Process Userspace Memory so that they Can be Processed by the Acceleration Group SG (AGSG). + */ + memcpy(u8_sg_pre_process_kernel_address, u8_pre_process_kernel_address, total_reserved_size); + + + sg_list_src_dst_addresses->current_pid = tid; + + /* + * Read and Store the Time Spot where Setting the Scatter/Gather Lists Started. + */ + time_stamp = uint_64_pcie_bar_kernel_address[BAR0_OFFSET_TIMER / 8]; + shared_repo_kernel_address->process_metrics.set_pages_overhead_time_start = time_stamp; + + /* + * IOCtl Request to Create the Scatter/Gather List. + * This System Call Provides the Driver with the Pre Process and Post Process Memory Pointers so that the Driver Can Create + * two Scatter/Gather Lists for the Source and Destination of the Image Data. + */ + ioctl(device_file, COMMAND_SET_PAGES, (unsigned long)sg_list_src_dst_addresses); + + /* + * Read and Store the Time Spot where Setting the Scatter/Gather Lists Ended. + */ + time_stamp = uint_64_pcie_bar_kernel_address[BAR0_OFFSET_TIMER / 8]; + shared_repo_kernel_address->process_metrics.set_pages_overhead_time_end = time_stamp; + + /* + * Read and Store the Time Spot Right Before the Thread is Possibly Set to Sleep State (If no Acceleration Groups were Found Available). + * This is where the Sleep State Possibly Started. + */ + time_stamp = uint_64_pcie_bar_kernel_address[BAR0_OFFSET_TIMER / 8]; + shared_repo_kernel_address->process_metrics.sleep_time_start = time_stamp; + + /* + * IOCtl Request Access to Hardware Accelerator From Driver. + * This System Call Makes the Driver to Execute a Specific Code Routine that will Try to Occupy Acceleration Group(s). + * This Time Since there were no other Acceleration Groups Available (Except for the AGSG) the Application Requests to Occupy the Acceleration Group SG. + */ + ioctl(device_file, COMMAND_REQUEST_ACCELERATOR_SG_ACCESS, (unsigned long)0); + + } + + /* + * The shared_repo_kernel_address->accel_occupied is a Flag whose 7 LSBs Indicate which Acceleration Groups where Occupied for the Current Thread Depending on the Acceleration Policy. + * The shared_repo_kernel_address->accel_completed is a Flag whose 7 LSBs Indicate which Acceleration Groups Have Completed their Procedure. + * When the Driver Occupies a Number of Acceleration Groups for the Thread we Expect that the Total Acceleration is Completed when all the Occupied Acceleration Groups Have Completed. + * As a Result the while Loop is Active until all the Acceleration Groups that where Occupied are Completed. + */ + + while(shared_repo_kernel_address->accel_completed != shared_repo_kernel_address->accel_occupied) + { + + } + + printf("Occupied: %d Completed: %d [PID: %d]\n", shared_repo_kernel_address->accel_occupied, shared_repo_kernel_address->accel_completed, tid); + + + #ifdef DEBUG_MESSAGES_UI + printf("Accereration Completed\n"); + #endif + + /* + * Call the set_save_accelerator() Function to Create the Path and Name for the Image File. + */ + set_save_accelerator(save_path_name, shared_repo_kernel_address->accel_occupied, tid, global_repeat); + + /* + * The if-else Statement Below Nests the Procedure for Saving the Processed Image. + * Check the accel_occupied Flag to Know if the Acceleration Group SG was Used Because Saving the Image in such Case Requires Special Handling. + */ + if(shared_repo_kernel_address->accel_occupied == ACCELERATOR_SG_OCCUPIED) + { + /* + * Read and Store the Time Spot where Unmapping the Pages Started. + * Those Pages were Previously Mapped when Creating the Scatter/Gather Lists. + */ + time_stamp = uint_64_pcie_bar_kernel_address[BAR0_OFFSET_TIMER / 8]; + shared_repo_kernel_address->process_metrics.unmap_pages_overhead_time_start = time_stamp; + + /* + * IOCtl Request to Unmap the Pages. + * This System Call Makes the Driver to Execute a Specific Code Routine that will Try to Unmap the Pages + * that were Previoulsy Mapped when Creating the Scatter/Gather Lists. + * The Scatter/Gather Mapped Pages Must be Released before the Application Tries to Read and Store + * the Processed Image Data from the Pre Process Userspace Memory. + * + * The Unmap Procedure is Only Required if the Acceleration Group SG was Occupied. + */ + ioctl(device_file, COMMAND_UNMAP_PAGES, (unsigned long)0); + + /* + * Read and Store the Time Spot where Unmapping the Pages Ended. + */ + time_stamp = uint_64_pcie_bar_kernel_address[BAR0_OFFSET_TIMER / 8]; + shared_repo_kernel_address->process_metrics.unmap_pages_overhead_time_end = time_stamp; + + /* + * If the save_request Value is Set to 1 then Save the Image in EACH Iteration. + */ + if(save_request == 1) + { + /* + * Read and Store the Time Spot where Saving the Processed Image Started. + */ + time_stamp = uint_64_pcie_bar_kernel_address[BAR0_OFFSET_TIMER / 8]; + shared_repo_kernel_address->process_metrics.save_time_start = time_stamp; + + /* + * Call the save_bmp() Function to Save the Image from the Post Process Usespace Memory (u8_sg_post_process_kernel_address) to the Storage Device (save_path_name). + */ + status = save_bmp(u8_sg_post_process_kernel_address, save_path_name); + + /* + * Read and Store the Time Spot where Saving the Processed Image Ended. + */ + time_stamp = uint_64_pcie_bar_kernel_address[BAR0_OFFSET_TIMER / 8]; + shared_repo_kernel_address->process_metrics.save_time_end = time_stamp; + } + /* + * If the save_request Value is Set to 2 then Save the Image Only in the Last Iteration. + */ + if(save_request == 2) + { + /* + * If the Current Iteration is Equal with the Number of global_iterations then it is the Last Iteration so Save the Processed Image. + */ + if(global_repeat == (global_iterations - 1)) + { + /* + * Read and Store the Time Spot where Saving the Processed Image Started. + */ + time_stamp = uint_64_pcie_bar_kernel_address[BAR0_OFFSET_TIMER / 8]; + shared_repo_kernel_address->process_metrics.save_time_start = time_stamp; + + /* + * Call the save_bmp() Function to Save the Image from the Post Process Usespace Memory (u8_sg_post_process_kernel_address) to the Storage Device (save_path_name). + */ + status = save_bmp(u8_sg_post_process_kernel_address, save_path_name); + + /* + * Read and Store the Time Spot where Saving the Processed Image Ended. + */ + time_stamp = uint_64_pcie_bar_kernel_address[BAR0_OFFSET_TIMER / 8]; + shared_repo_kernel_address->process_metrics.save_time_end = time_stamp; + } + } + } + else + { + if(save_request == 1) + { + /* + * Read and Store the Time Spot where Saving the Processed Image Started. + */ + time_stamp = uint_64_pcie_bar_kernel_address[BAR0_OFFSET_TIMER / 8]; + shared_repo_kernel_address->process_metrics.save_time_start = time_stamp; + + /* + * Call the save_bmp() Function to Save the Image from the Pre Process Kernel Memory (u8_post_process_kernel_address Points to u8_pre_process_kernel_address) + * to the Storage Device (save_path_name). + */ + status = save_bmp(u8_post_process_kernel_address, save_path_name); + + /* + * Read and Store the Time Spot where Saving the Processed Image Ended. + */ + time_stamp = uint_64_pcie_bar_kernel_address[BAR0_OFFSET_TIMER / 8]; + shared_repo_kernel_address->process_metrics.save_time_end = time_stamp; + } + if(save_request == 2) + { + /* + * If the Current Iteration is Equal with the Number of global_iterations then it is the Last Iteration so Save the Processed Image. + */ + if(global_repeat == (global_iterations - 1)) + { + /* + * Read and Store the Time Spot where Saving the Processed Image Started. + */ + time_stamp = uint_64_pcie_bar_kernel_address[BAR0_OFFSET_TIMER / 8]; + shared_repo_kernel_address->process_metrics.save_time_start = time_stamp; + + /* + * Call the save_bmp() Function to Save the Image from the Pre Process Kernel Memory (u8_post_process_kernel_address Points to u8_pre_process_kernel_address) + * to the Storage Device (save_path_name). + */ + status = save_bmp(u8_post_process_kernel_address, save_path_name); + + /* + * Read and Store the Time Spot where Saving the Processed Image Ended. + */ + time_stamp = uint_64_pcie_bar_kernel_address[BAR0_OFFSET_TIMER / 8]; + shared_repo_kernel_address->process_metrics.save_time_end = time_stamp; + } + } + } + + /* + * Read and Store the Time Spot where we End to Capture the Total Time of a Single Iteration of the Acceleration Procedure + */ + time_stamp = uint_64_pcie_bar_kernel_address[BAR0_OFFSET_TIMER / 8]; + shared_repo_kernel_address->process_metrics.total_time_end = time_stamp; + + /* + * Call the print_save_metrics() Function to Collect and Save the Metrics of the Current Iteration in the Metrics .xml File. + */ + print_save_metrics(shared_repo_kernel_address, shared_repo_kernel_address->accel_occupied, tid, global_repeat); + + /* + * Reset to Zero the Following 6 Fields of the Metrics and Flags Kernel Memory. + */ + shared_repo_kernel_address->process_metrics.set_pages_overhead_time_start = 0; + shared_repo_kernel_address->process_metrics.set_pages_overhead_time_end = 0; + + shared_repo_kernel_address->process_metrics.unmap_pages_overhead_time_start = 0; + shared_repo_kernel_address->process_metrics.unmap_pages_overhead_time_end = 0; + + shared_repo_kernel_address->accel_completed = 0; + shared_repo_kernel_address->accel_occupied = 0; + + if(status == SUCCESS) + { + #ifdef DEBUG_MESSAGES_UI + printf("Saving Bitmap [SUCCESS]\n"); + #endif + + + } + else + { + printf("Multi-Application Access Test Failed / Save Image Error\n"); + usleep(1500000); + + return FAILURE; + } + + completed++; + + + printf("Completed Jobs: %d [PID: %d]\n", completed, tid); + + } + + + + /* + * If the sg_list_src_dst_addresses Pointer is not Null then Release All the Memories Related with the Acceleration Group SG. + */ + if(sg_list_src_dst_addresses != NULL) + { + printf("Freed SG Lists [PID: %d]\n", tid); + + /* + * If the Pre Process (Source) Userspace Memory (sg_list_src_dst_addresses->sg_list_source_address) was Used (not Null) then Release it. + */ + if(sg_list_src_dst_addresses->sg_list_source_address != NULL) + { + free(sg_list_src_dst_addresses->sg_list_source_address); + #ifdef DEBUG_MESSAGES_UI + printf("SG LIST SOURCE FREED %d\n", tid); + #endif + } + + /* + * If the Post Process (Destination) Userspace Memory (sg_list_src_dst_addresses->sg_list_destination_address) was Used (not Null) then Release it. + */ + if(sg_list_src_dst_addresses->sg_list_destination_address != NULL) + { + free(sg_list_src_dst_addresses->sg_list_destination_address); + #ifdef DEBUG_MESSAGES_UI + printf("SG LIST DESTINATION FREED %d\n", tid); + #endif + } + + /* + * Free the Memory Allocation of the sg_list_src_dst_addresses Pointer. + */ + free(sg_list_src_dst_addresses); + } + + /* + * Call munmap() to Release the Pre Process Kernel Memory that was Mapped when Calling the pre_process_mmap() Function. + */ + munmap(mm_per_thread_info->u8_pre_process_kernel_address, MMAP_ALLOCATION_SIZE); + + /* + * Call munmap() to Release the Post Process Kernel Memory that was Mapped when Calling the post_process_mmap() Function. + */ + munmap(mm_per_thread_info->u8_post_process_kernel_address, MMAP_ALLOCATION_SIZE); + + /* + * Call munmap() to Release the Metrics Kernel Memory that was Mapped when Calling the shared_repo_mmap() Function. + */ + munmap(mm_per_thread_info->shared_repo_kernel_address, MMAP_ALLOCATION_SIZE); + + /* + * Close the pre_process_mmap_file File that was Opened when Calling the pre_process_mmap() Function. + */ + close(mm_per_thread_info->pre_process_mmap_file); + + /* + * Close the post_process_mmap_file File that was Opened when Calling the post_process_mmap() Function. + */ + close(mm_per_thread_info->post_process_mmap_file); + + /* + * Close the shared_repo_mmap_file File that was Opened when Calling the shared_repo_mmap() Function. + */ + close(mm_per_thread_info->shared_repo_mmap_file); + + + /* + * Close the PCIe Device Driver. + */ + close(device_file); + + /* + * Free the Memory Allocation of the mm_per_thread_info Pointer. + */ + free(mm_per_thread_info); + + + completed = 0; + + return SUCCESS; +} + + +/* OK + * The Starting Point for the Application + */ +int main(int argc, char *argv[]) +{ + /* + * The Device Driver to Open + */ + char device_driver_name[] = "/dev/xilinx_pci_driver"; + int device_file = -1; + + /* + * Used to Store the Arithmetic Value Read from the renamer.txt File + */ + char value[4]; + + /* + * Used for File Operations on the Image File + */ + FILE *bmp_file; + + /* + * Used for File Operations on the Metrics .xml File + */ + FILE *metrics_summary_file; + + /* + * Used for File Operations on the renamer.txt File + */ + FILE *renamer_file; + + /* + * Used to Store the Path and Name of the Metrics .xml File + */ + char file_name[100]; + + int repeat; + int global_repeat = 0; + int test_iterations = 0; + int test_repeat = 0; + + int status; + + /* + * Used to Store the Number of Threads that the Application is Going to Start. + */ + int threads_number = 0; + + /* + * Get the First Argument of the Application Call. + * The First Argument Represents the Path and Name of the Image File to Accelerate. + */ + strcpy(load_path_name, argv[1]); + + /* + * Get the Second Argument of the Application Call. + * The Second Argument Represents the Number of Iterations (Acceleration Requests) that each Thread Should Perform. + */ + global_iterations = atoi(argv[2]); + + /* + * Get the Third Argument of the Application Call. + * The Third Argument Represents the Number of Threads that the Application is Going to Start. + */ + threads_number = atoi(argv[3]); + + /* + * Get the Fourth Argument of the Application Call. + * The Fourth Argument Represents the Save Flag which Refers to Saving or Not the Accelerated Image. + * See the Comments of the save_request at the Global Variables Section for more Details. + */ + save_request = atoi(argv[4]); + + /* + * Get the Fifth Argument of the Application Call. + * The Fifth Argument Represents the Number of Tests to Run. + * In every Test the Application Starts a Number of Threads according to the threads_number Variable + * and each Thread Runs for a Number of Iterations (Acceleration Requests) According to the global_iterations Variable + */ + test_iterations = atoi(argv[5]); + + clear_screen(); + + /* + * The for Loop Below Represents the Tests Execution + * It Loops for as Many Times as Defined by the test_iterations Variable + */ + for(test_repeat = 0; test_repeat < test_iterations; test_repeat++) + { + /* + * Call pcie_bar_mmap() to Map the PCIe BAR0 and PCIe BAR1 of the PCIe Bridge to the Virtual Address Space of the Userspace + * See Details Inside the pcie_bar_mmap() Function Description + */ + status = pcie_bar_mmap(); + + if(status == SUCCESS) + { + #ifdef DEBUG_MESSAGES_UI + printf("Memory Mapping PCIe BAR Address Space [SUCCESS]\n"); + #endif + } + else + { + printf("Memory Mapping PCIe BAR Address Space [FAILURE]\n"); + #ifdef DEBUG_MESSAGES_UI + usleep(1500000); + #endif + + return FAILURE; + } + + /* + * Call setup_signal_handling() Function to Setup the Handler for Signals Triggered by the Kernel Module + */ + setup_signal_handling(); + + + /* + * Call getpid() to Get the Parent Process ID + */ + pid = getpid(); + + printf("Process ID is: %d\n", pid); + + + /* + * Open the Image File According to the File Name Given by the the User. + * In this Point We Open the Image File to Extract Information from Its Header. + * This Information (Image Width/Heigth etc) Will be Shared by All the Threads + */ + + bmp_file = fopen(load_path_name, "r"); + + if(bmp_file != NULL) + { + #ifdef DEBUG_MESSAGES_UI + printf("Image File Opened\n"); + #endif + } + else + { + if(bmp_file == NULL) + { + printf("Image Failed to Open [NULL Pointer]\n"); + } + + usleep(2000000); + + return(FAILURE); + } + + + + #ifdef DEBUG_MESSAGES_UI + printf("Checking the Magic Number to Validate that this is a Bitmap File\n"); + #endif + + /* + * Read the Magic Number from the Header of the Bitmap File. + */ + fread(&magic_number, sizeof(bmpfile_magic_t), 1, bmp_file); + + /* + * Check the Magic Number to Validate that this is a Bitmap File. + * The Magic Number for .bmp Files is: 0x4D42. + */ + if (*((uint16_t *)magic_number.magic) == 0x4D42) + { + #ifdef DEBUG_MESSAGES_UI + printf("Bitmap File Valid [MAGIC NUMBER 0x%X]\n", *((uint16_t *)magic_number.magic)); + #endif + } + else + { + #ifdef DEBUG_MESSAGES_UI + printf("No Bitmap File Was Found/Aborting\n"); + #endif + fclose(bmp_file); + return FAILURE; + } + + + #ifdef DEBUG_MESSAGES_UI + printf("Reading the Bitmap File Header\n"); + #endif + + /* + * Read the Bitmap File Header + */ + fread(&bitmap_file_header, sizeof(bmpfile_header_t), 1, bmp_file); + + + #ifdef DEBUG_MESSAGES_UI + printf("Reading the Bitmap Info Header\n"); + #endif + + /* + * Read the Bitmap Info Header + */ + fread(&bitmap_info_header, sizeof(bitmap_info_header_t), 1, bmp_file); + + + #ifdef DEBUG_MESSAGES_UI + printf("Checking Compression\n"); + #endif + + /* + * Read the Info Header Structure to Check if Compression is Supported + */ + if (bitmap_info_header.compress_type == 0) + { + #ifdef DEBUG_MESSAGES_UI + printf("Compression is Supported\n"); + #endif + } + else + { + #ifdef DEBUG_MESSAGES_UI + printf("Warning, Compression is not Supported\n"); + #endif + } + + /* + * Print Information About the Image + */ + #ifdef DEBUG_MESSAGES_UI + printf("\n* Image Width: %d Pixels\n", bitmap_info_header.width); + printf("* Image Height: %d Pixels\n", bitmap_info_header.height); + printf("* Image Size: %d Bytes\n", bitmap_info_header.bmp_bytesz); + printf("* Image Header Size: %d Bytes\n", bitmap_info_header.header_sz); + printf("* Bits Per Pixel: %d \n\n", bitmap_info_header.bitspp); + #endif + + /* + * Close the Image File Since We Extracted the Necessary Information from the Headers + */ + fclose(bmp_file); + + /* + * Allocate a Common Memory Area Equal to the Size of the Clear Image Data (No Headers) Along with the Required Padding. + * common_load is the Pointer where All Threads will Copy the Image from. + */ + common_load = (uint8_t *)malloc(bitmap_info_header.width * bitmap_info_header.height * 4); + + + /* + * Call the load_bmp() Function to Load the Image to a Common Memory + */ + status = load_bmp(common_load); + + + /* + * Open the renamer.txt File + */ + renamer_file = fopen("Results/renamer.txt", "r"); + + /* + * Read the Arithmetic Value Stored as a String in the renamer.txt File + */ + fscanf(renamer_file, "%s", value); + + /* + * Close the renamer.txt File + */ + fclose(renamer_file); + + /* + * Convert the Previous Arithmetic Value from String to Integer and Write it to the renamer_value + * This Integer Value Will Be Used to Name and Save the Metrics .xml File when the Current Test Completes + */ + renamer_value = atoi(value); + + /* + * Use sprintf() to Create a String that Represents the Path and Name of the Metrics .xml File. + * The Arithmetic Value of the renamer_value Variable is Included in the File Name to Ensure that each Test Iteration + * Creates a New .xml File which is Unique Among the Rest .xml Files. + */ + sprintf(file_name,"Results/Metrics_Summary_%d.xml", renamer_value); + + /* + * Open the Current Metrics .xml File + */ + metrics_summary_file = fopen(file_name, "a"); + + /* + * Since this is the First Time we Open the File it is Required to Write the XML Header. + */ + fprintf(metrics_summary_file,"\n\n\n"); + + /* + * It is, also, Required to Write the Open Tag of the Root Node + */ + fprintf(metrics_summary_file,"\n\n"); + + /* + * Close for now the Current Metrics .xml File + */ + fclose(metrics_summary_file); + + /* + * Write a Value to the Data Register of the GPIO PCIe Interrupt Peripheral of the FPGA through the PCIe BAR0. + * The Written Value is a Command to Start the FPGA Shared Timer (Shared APM). + * On Receiving the new Value the GPIO PCIe Interrupt Peripheral Triggers an Interrupt. + * This Interrupt is Handled by the Microblaze that Reads the Command (Written Value) from the Data Register of the GPIO PCIe Interrupt Peripheral. + * See Details for this Pointer at the Global Variables Section + */ + uint_64_pcie_bar_kernel_address[BAR0_OFFSET_GPIO_PCIE_INTERRUPT / 8] = (uint32_t)OPERATION_START_TIMER; + + + usleep(150000); //Do Not Remove. Microblaze Requires Some Time to Restart the Shared Timer Before we Use it to Get Correct Time Stamps + + + /* + * Call multi_threaded_acceleration() Function to Start new Threads According to the Value of the threads_number Variable. + * When this Function Returns All Threads Have Completed and we are Ready to Move to the Next Test Iteration. + */ + multi_threaded_acceleration(threads_number); + + /* + * At this Point All Threads Have Completed and any Metrics Info is Already Written to the Current Metrics .xml File. + * We Have to Re-open the Current Metrics .xml File to Write the Close Tag of the Root Element. + */ + metrics_summary_file = fopen(file_name, "a"); + + /* + * Write the Close Tag of the Root Element. + */ + fprintf(metrics_summary_file,"\n\n"); + + /* + * Close the Current Metrics .xml File. + */ + fclose(metrics_summary_file); + + /* + * Increment the Arithmetic Value of the renamer_value Variable. + * This Value will be Used in the Next Test Iteration to Save a New Metrics .xml File. + */ + renamer_value++; + + /* + * Open the renamer.txt File and Update it with the Incremented Arithmetic Value of the renamer_value Variable. + */ + renamer_file = fopen("Results/renamer.txt", "w"); + fprintf(renamer_file,"%d", renamer_value); + fclose(renamer_file); + + /* + * Unmap the PCIe BAR0 from the Virtual Address Space. + * It is Important that the Unmap Operation Should Happen before Closing the Corresponding pcie_bar_0_mmap_file. + */ + munmap(uint_64_pcie_bar_kernel_address, MMAP_ALLOCATION_SIZE); + + /* + * Unmap the PCIe BAR1 from the Virtual Address Space + * It is Important that the Unmap Operation Should Happen before Closing the Corresponding pcie_bar_1_mmap_file. + */ + munmap(shared_kernel_address, 128 * KBYTE); + + /* + * Free the Allocated Common Memory + */ + free(common_load); + + /* + * Close the pcie_bar_0_mmap_file and pcie_bar_1_mmap_file Files that where Opened when we Previously Called pcie_bar_mmap(). + * These to Files are Actually Debugfs Files that are Associated with the Xilinx PCIe Device Driver. + * See Details in the pcie_bar_mmap() Function Description. + */ + close(pcie_bar_0_mmap_file); + close(pcie_bar_1_mmap_file); + + /* + * Open the Xilinx PCIe Device Driver. + */ + char* device_file_name = device_driver_name; + device_file = open(device_file_name, O_RDWR); + + if ( device_file < 0 ) + { + #ifdef DEBUG_MESSAGES_UI + printf("[DEBUG MESSAGE] Error Opening Device File\n"); + #endif + return 0; + } + + /* + * Make a IOCtl System Call to Request Reseting the Driver's Variables. + * The Driver will Actually Set to Zero the Synchronization Flags tha are Loacated in the FPGA BRAM. + */ + status = ioctl(device_file, COMMAND_RESET_VARIABLES, (unsigned long)0); + + /* + * Close the Xilinx PCIe Device Driver. + */ + close(device_file); + + } + + + return SUCCESS; + +} + diff --git a/Software/Linux_App_Driver/xilinx_pci_driver.c b/Software/Linux_App_Driver/xilinx_pci_driver.c new file mode 100644 index 0000000..107bd48 --- /dev/null +++ b/Software/Linux_App_Driver/xilinx_pci_driver.c @@ -0,0 +1,5732 @@ +/** + ********************************************************************** + * Public Headers + ********************************************************************** + */ + +#include +#include +#include +#include +#include +#include + + +/** + ********************************************************************** + * Local Headers + ********************************************************************** + */ + + #include "xilinx_pci_driver.h" + + +/** + ********************************************************************** + * Global Variables + ********************************************************************** + */ + +/* + * PCIe Device Structure. + */ +struct pci_dev *dev = NULL; + +/* + * The Driver's Name . + */ +char driver_name[]= "isca_pcie_driver"; + +/* + * The Semaphores that are Used to Explicitly Lock Part of the Code to a Thread. + */ +struct rw_semaphore ioctl_sem; + +struct rw_semaphore case_0_sem; +struct rw_semaphore case_1_sem; +struct rw_semaphore case_2_sem; +struct rw_semaphore case_3_sem; +struct rw_semaphore case_4_sem; +struct rw_semaphore case_5_sem; +struct rw_semaphore case_6_sem; + +struct rw_semaphore msi_1_sem; +struct rw_semaphore msi_2_sem; +struct rw_semaphore msi_3_sem; +struct rw_semaphore msi_4_sem; +struct rw_semaphore msi_5_sem; +struct rw_semaphore msi_6_sem; +struct rw_semaphore msi_7_sem; +struct rw_semaphore msi_8_sem; + +struct rw_semaphore set_pages_sem; +struct rw_semaphore unmap_pages_sem; +struct rw_semaphore sg_sem; +struct rw_semaphore write_sem; + +struct rw_semaphore search_element_sem; + +struct rw_semaphore main_open_sem; +struct rw_semaphore main_release_sem; +struct rw_semaphore shared_repo_mmap_sem; +struct rw_semaphore pre_process_mmap_sem; +struct rw_semaphore post_process_mmap_sem; + +/* + * The ioctl_queue is Used to Queue the Userspace Threads that are Put in Sleep State. + */ +wait_queue_head_t ioctl_queue; + +/* + * BAR0, BAR1 and BAR2 64 Bit Hardware/Physical Addresses. + */ +u64 bar0_address_physical; +u64 bar1_address_physical; +u64 bar2_address_physical; + +/* + * BAR0, BAR1 and BAR2 64 Bit Virtual Addresses. + */ +u64 *bar0_address_virtual; +u64 *bar1_address_virtual; +u64 *bar2_address_virtual; + +/* + * BAR0, BAR1 and BAR2 32 Bit Virtual Addresses. + */ +u32 *u32_bar0_address_virtual; +u32 *u32_bar1_address_virtual; +u32 *u32_bar2_address_virtual; + +/* + * BAR0, BAR1 and BAR2 Lengths. + */ +u64 bar0_length; +u64 bar1_length; +u64 bar2_length; + +/* + * The Debugfs Files. + */ +struct dentry *pre_process_mmap_file; +struct dentry *post_process_mmap_file; +struct dentry *shared_repo_mmap_file; + +/* + * Pointer of Type struct shared_repository that will be Used to Access the FPGA's BRAM. + * The Reason for Using that Pointer is that we Want to Access the BRAM as Fields of a Structure of Type struct shared_repository. + */ +struct shared_repository *inter_process_shared_info_memory; + +/* + * The IRQ of the Endpoint Device. + */ +int irq; + +/* + * Status Flags that are Used for Cleanup. + */ +int status_flags = 0x00; + +/* + * The Major Number of the Driver Module (Not Dynamic) + */ +int driver_major_number = 240; + +/* + * Used to Store the Value of the Signal that may be Sent to a Userspace Process/Thread. + */ +short int signal_to_pid; + +/* + * Used to Indicate the Head of a Singly Linked List with Nodes of Type struct pid_reserved_memories. + * + * The Usage of the Singly Linked List is Vital in Order for the Driver to Support Multiple Userspace Threads. + * + * Each Node of the Singly Linked List is Actually a Structure That is Corresponding ONLY to a Single Userspace Thread. + * The Fields of the Node's Structure (struct pid_reserved_memories) are Mostly Pointers to Memories that are Explicitly Allocated for the Node's Corresponding Userspace Thread. + * As a Result, when the Driver Needs to Access the Memories of a Specific Thread it Does it through the Pointers that are Found inside the Thread's Corresponding Node. + * + * Each Node is Distinguished by an Integer Field with the ID of its Corresponding Thread. + * + * The Pointers of each Node Point to: + * + * --> The Kernel Memory Allocation (Virtual/Physical Addresses) which is Used to Store the Metrics of the Acceleration Procedure of the Current Thread (Shared Repo MMap). + * --> The Kernel Memory Allocation (Virtual/Physical Addresses) which is Used to Store the Initial Image Data (Pre-Process MMap). + * --> The Kernel Memory Allocation (Virtual/Physical Addresses) which is Used to Store the Processed Image Data (Post-Process MMap). + * --> The Userspace Source and Destination Scatter/Gather Lists of this Node's Userspace Thread. + * --> The Physical Addresses of the Pages of the Source and Destination Memories that Belong to the Node's Userspace Thread. + */ +static struct pid_reserved_memories *pid_list_head = NULL; + +/* + * Used to Move Through the Singly Linked List. + */ +static struct pid_reserved_memories *pid_list_mover = NULL; + +/* + * Used to Point to an Offset of the FPGA's BRAM where the Scatter/Gather List of the Userspace Source Memory will be Stored. + */ +u32 *sg_list_source_base_address; + +/* + * Used to Point to an Offset of the FPGA's BRAM where the Scatter/Gather List of the Userspace Destination Memory will be Stored. + */ +u32 *sg_list_destination_base_address; + + +/** + ********************************************************************** + * Functions Declaration + ********************************************************************** + */ + +irqreturn_t irq_handler_0 (int irq, void *dev_id, struct pt_regs *regs); +irqreturn_t irq_handler_1 (int irq, void *dev_id, struct pt_regs *regs); +irqreturn_t irq_handler_2 (int irq, void *dev_id, struct pt_regs *regs); +irqreturn_t irq_handler_3 (int irq, void *dev_id, struct pt_regs *regs); +irqreturn_t irq_handler_4 (int irq, void *dev_id, struct pt_regs *regs); +irqreturn_t irq_handler_5 (int irq, void *dev_id, struct pt_regs *regs); +irqreturn_t irq_handler_6 (int irq, void *dev_id, struct pt_regs *regs); + +irqreturn_t irq_fast_handler_0 (int irq, void *dev_id, struct pt_regs *regs); +irqreturn_t irq_fast_handler_1 (int irq, void *dev_id, struct pt_regs *regs); +irqreturn_t irq_fast_handler_2 (int irq, void *dev_id, struct pt_regs *regs); +irqreturn_t irq_fast_handler_3 (int irq, void *dev_id, struct pt_regs *regs); +irqreturn_t irq_fast_handler_4 (int irq, void *dev_id, struct pt_regs *regs); +irqreturn_t irq_fast_handler_5 (int irq, void *dev_id, struct pt_regs *regs); +irqreturn_t irq_fast_handler_6 (int irq, void *dev_id, struct pt_regs *regs); + +void initcode(void); +u32 xilinx_pci_driver_read_cfg_register (u32 byte_offset); +void write_remote_register(u64 *, u64, u32); +u32 read_remote_register(u64 *, u64); +int setup_and_send_signal(u8 signal, pid_t pid); + + +/** + ********************************************************************** + * Functions Description + ********************************************************************** + */ + + +/** OK + * xilinx_pci_driver_open() + * + * It is Called when a Userspace Application Opens the Driver File. + * + * When the Driver Module Opens for the First Time the xilinx_pci_driver_open() Function is Responsible to Clear the Acceleration Flags. + * + * For Every new Userspace Thread that Opens the Driver Module the xilinx_pci_driver_open() Function is Responsible to Create and Insert a + * new Node to the Signly Linked List which is Referenced by the ID of the Thread. + */ +int xilinx_pci_driver_open(struct inode *inode, struct file *file_pointer) +{ + /* + * Pointer of Type struct pid_reserved_memories. + * Used to Create a new Node for the the Singly Linked List. + */ + struct pid_reserved_memories *new_element = NULL; + + /* + * Pointer of Type struct pid_reserved_memories. + * Used to Access the Singly Linked List where each Node Hold Metrics Information and Pointers for each Userspace Application. + */ + struct pid_reserved_memories *search_element = NULL; + + + #ifdef DEBUG_MESSAGES + printk(KERN_ALERT "[%s-DBG -> MAIN OPEN (PID %d)] Opening Main Driver Module\n", driver_name, current->pid); + #endif + + /* + * Lock the main_open_sem Semaphore so that only the Current Userspace Thread can Access that part of the Code. + */ + down_write(&main_open_sem); + + /* + * When the Driver Module Opens for the First Time the xilinx_pci_driver_open() Function is Responsible to Set the inter_process_shared_info_memory Pointer + * to Point at the FPGA BRAM (bar1_address_virtual) which is Used, among others, to Store the Acceleration Flags. + * + * If the inter_process_shared_info_memory Pointer Has NULL Value then we Know that it is the First Time that we Open the Driver Module. + * So, Set the inter_process_shared_info_memory Pointer to Point at the FPGA BRAM and Clear the Acceleration Flags. + */ + if(inter_process_shared_info_memory == NULL) + { + + #ifdef DEBUG_MESSAGES + printk(KERN_ALERT "[%s-DBG -> MAIN OPEN (PID %d)] Setting Inter Process Shared Repository\n",driver_name, current->pid); + #endif + + /* + * Set the inter_process_shared_info_memory Pointer to Point where the bar1_address_virtual Pointer Points which is the Base Address of the FPGA BRAM. + */ + inter_process_shared_info_memory = (struct shared_repository *)bar1_address_virtual; + + /* + * Set a 32 Bit Pointer (u32_bar1_address_virtual) to, also, Point at the FPGA BRAM in Case we Need to Make 32 Bit Writes/Reads. + * The bar1_address_virtual is a 64 Bit Pointer. + */ + u32_bar1_address_virtual = (u32 *)bar1_address_virtual; + + /* + * The FPGA BRAM is Used, among others, to Store the Scatter/Gather List Physical Addresses of the Source and Destination Userspace Memories. + * The Source is the Memory where the Initial Image Data is Stored and the Destination is the Memory where the Processed Image Data is Stored. + * + * Set the sg_list_source_base_address Pointer to Point at 32K Offset at the FPGA BRAM where the Scatter Gather List of the Source Userspace Memory + */ + sg_list_source_base_address = (u32 *)(u32_bar1_address_virtual + (32 * KBYTE / 4)); + + /* + * Set the sg_list_destination_base_address Pointer to Point at 64K Offset at the FPGA BRAM where the Scatter Gather List of the Destination Userspace Memory is Stored. + */ + sg_list_destination_base_address = (u32 *)(u32_bar1_address_virtual + (64 * KBYTE / 4)); + + /* + * Clear the open_modules Flag. + * + * This Flag is NOT Currently in Use but it is Kept for Possible Future Implementations. + */ + inter_process_shared_info_memory->shared_status_flags.open_modules = 0; + + /* + * Clear the accelerator_busy Flag. + * + * This Flag is NOT Currently in Use but it is Kept for Possible Future Implementations. + */ + inter_process_shared_info_memory->shared_status_flags.accelerator_busy = 0; + + /* + * Clear the agd0_busy, agd1_busy, agi0_busy, agi1_busy, agi2_busy, agi3_busy and agsg_busy Flags. + * + * Those Flags are Used to Store the ID of the Userspace Thread that Occupied the Corresponding Acceleration Group. + */ + inter_process_shared_info_memory->shared_status_flags.agd0_busy = 0; + inter_process_shared_info_memory->shared_status_flags.agd1_busy = 0; + inter_process_shared_info_memory->shared_status_flags.agi0_busy = 0; + inter_process_shared_info_memory->shared_status_flags.agi1_busy = 0; + inter_process_shared_info_memory->shared_status_flags.agi2_busy = 0; + inter_process_shared_info_memory->shared_status_flags.agi3_busy = 0; + inter_process_shared_info_memory->shared_status_flags.agsg_busy = 0; + + /* + * Write a Start Value to the Data Register of the GPIO_PCIE_INTERRUPT Peripheral of the FPGA through the PCIe Bus to Start the Shared Timer (Shared APM). + * + * It is NOT Currently in Use Since the Shared Timer of the FPGA is Now Started by the Parent Thread of the Userspace Application. + */ + //write_remote_register(bar0_address_virtual, BAR0_OFFSET_GPIO_PCIE_INTERRUPT, (u32)OPERATION_START_TIMER); + + } + else + { + #ifdef DEBUG_MESSAGES + printk(KERN_ALERT "[%s-DBG -> MAIN OPEN (PID %d)] Inter Process Shared Repository is Already Set\n",driver_name, current->pid); + #endif + } + + /* + * Create a new Memory Allocation which Has Size Equal to a pid_reserved_memories Structure and Set the new_element Pointer to Point at this Allocation. + * + * This Memory Allocation is Going to be a new Node that will be Inserted in the Singly Linked List. + */ + new_element = (struct pid_reserved_memories *) kmalloc(sizeof(struct pid_reserved_memories), GFP_KERNEL); + + /* + * If the new_element Pointer Has NULL Value then we Failed to Allocate Memory. + */ + if(new_element == NULL) + { + #ifdef DEBUG_MESSAGES + printk(KERN_ALERT "[%s-DBG -> MAIN OPEN (PID %d)] Failed to Create Element Structure\n", driver_name, current->pid); + #endif + + return FAILURE; + } + + /* + * Set the new Node's Process ID Value to be the Current Thread's Process ID. + * + * At this Point we Have Created a new Node that Can be Identified by the PID that Belongs to the Current Thread. + * When the Current Thread Requires to Access the Structure Fields of Its Node it Should Look the Singly Linked List + * to Find the Node with the Same PID Value as the PID of the Thread. + */ + new_element->pid = current->pid; + + /* + * Clear the Structure Fields of the new Node so that it is Initialized. + */ + new_element->shared_repo_virtual_address = NULL; + new_element->shared_repo_physical_address = 0; + new_element->pre_process_mmap_virtual_address = NULL; + new_element->post_process_mmap_virtual_address = NULL; + new_element->next_pid = NULL; + + /* + * This if-else Condition is where the new Node is Inserted to the Singly Linked List. + * + * If the pid_list_head List Head Pointer has NULL Value then the Previously Created Node is the First Node so it Should be Inserted as the Head of the List. + * + * Else the new Node is not the First so Insert it at the End of the Singly Linked List. + */ + if(pid_list_head == NULL) + { + #ifdef DEBUG_MESSAGES + printk(KERN_ALERT "[%s-DBG -> MAIN OPEN (PID %d)] Inserting the First Element in the List\n", driver_name, current->pid); + #endif + + /* + * Set the pid_list_head and pid_list_mover Pointers to Point at the new Node (new_element). + */ + pid_list_head = new_element; + pid_list_mover = new_element; + + + } + else + { + #ifdef DEBUG_MESSAGES + printk(KERN_ALERT "[%s-DBG -> MAIN OPEN (PID %d)] Inserting New Element in the List\n", driver_name, current->pid); + #endif + + /* + * The pid_list_mover Pointer is Currently Pointing at the Previous Node. + * + * Set the next_pid Pointer (which is a Structure Field of the pid_list_mover Pointer) to Point at the new Node. + * This Way the new Node is Inserted in the Tail of the Singly Linked List. + */ + pid_list_mover->next_pid = new_element; + pid_list_mover = new_element; + + } + + /* + * Set the search_element Pointer to Point at the Head (pid_list_head) of the Singly Linked List so that we Can Search the List of Nodes from the Beginning. + */ + search_element = pid_list_head; + + /* + * Keep Moving Forward in the Singly Linked List for as long as the search_element Pointer has not Reached a NULL Value. + * + * The Reason for Searching the Singly Linked List at this Point is to Validate that we Have Successfully Inserted the New Node. + */ + while(search_element != NULL) + { + + /* + * Check if the Current Node's PID Value is Equal to the Current Userspace Thread's PID. + * If this is the Case then we Have Validated that the Node is Successfully Inserted in the Singly Linked List. + */ + if(search_element->pid == current->pid) + { + #ifdef DEBUG_MESSAGES + printk(KERN_ALERT "[%s-DBG -> MAIN OPEN (PID %d)] Adding the New Element is Validated\n", driver_name, current->pid); + #endif + + break; + } + + /* + * Set the search_element Pointer to Point at the Next List Node. + */ + search_element = search_element->next_pid; + } + + /* + * Unlock the main_open_sem Semaphore so that other Userspace Threads can Access that Part of the Code. + */ + up_write(&main_open_sem); + + + return SUCCESS; +} + +/** OK + * xilinx_pci_driver_release() + * + * It is Called when a Userspace Thread Releases the Driver File. + * + * When a Userspace Thread Releases the Driver Module we Know that it will no Longer Require the Kernel Resources. + * As a Result the Driver is Responsible to Free the Memory Resources that were Explicitly Created for the Current Thread and Remove + * the Current Thread's Node from the Singly Linked List. + */ +int xilinx_pci_driver_release(struct inode *inode, struct file *file_pointer) +{ + /* + * Pointer of Type struct pid_reserved_memories. + * Used to Access the Singly Linked List where each Node Hold Metrics Information and Pointers for each Userspace Application. + */ + struct pid_reserved_memories *search_element = NULL; + + /* + * Pointer of Type struct pid_reserved_memories. + * Used when Removing a Node in Order to Connect the Previous and the Next Nodes of the Removed Node. + */ + struct pid_reserved_memories *previous_element = NULL; + + int validate = 0; + int check_elements = 0; + + /* + * Lock the main_release_sem Semaphore so that only the Current Userspace Thread can Access that part of the Code. + */ + down_write(&main_release_sem); + + /* + * Set the search_element Pointer to Point at the Head (pid_list_head) of the Singly Linked List so that we Can Search the List of Nodes from the Beginning. + */ + search_element = pid_list_head; + + /* + * Keep Moving Forward in the Singly Linked List for as long as the search_element Pointer has not Reached a NULL Value. + * + * The Reason for Searching the Singly Linked List at this Point is to Find the Current Thread's Node in Order to Free the Thread's Kernel Resources and Remove the Pointer. + */ + while(search_element != NULL) + { + /* + * Check if the Current Node's PID Value is Equal to the Current Userspace Thread's PID. + * If this is the Case we Can Proceed to Removing the Node from the Singly Linked List. + * + * Else we Set the search_element Pointer to Point at the Next List Node and the previous_element Pointer to Point at the Current List Node. + * As a Result when Moving Forward in the List we Always Know the Previous Node. + */ + if(search_element->pid == current->pid) + { + /* + * If the Node that we Want to Remove is the Head of the List then we Should Set the Next Node as the Head of the List before Removing the Current Node. + * + * Else we Should Set the Previous Node to Point at the Next Node of the Current Node that we are about to Remove. + */ + if(search_element == pid_list_head) + { + /* + * Set the pid_list_head Pointer to Point at the Next Node (search_element->next_pid). + */ + pid_list_head = search_element->next_pid; + } + else + { + /* + * Set the Previous Node's next_pid Pointer to Point at the Current Node's next_pid Pointer which Actually Points at the Next Node of the Current Node. + * As a Result we Connect the Previous and the Next Node of the Current Node. + */ + previous_element->next_pid = search_element->next_pid; + } + + /* + * If the Current Node's pre_process_mmap_virtual_address Pointer is not NULL then it Points to a Kernel Memory Allocation. + * This Kernel Memory Allocation Belongs to the Current Thread and we Should Free it with dma_free_coherent() Since it will no Longer be Required. + */ + if(search_element->pre_process_mmap_virtual_address != NULL) + { + dma_free_coherent(&dev->dev, MMAP_ALLOCATION_SIZE, search_element->pre_process_mmap_virtual_address, search_element->pre_process_mmap_physical_address); + #ifdef DEBUG_MESSAGES + printk(KERN_ALERT "[%s-DBG -> MAIN RELEASE (PID %d)] Pre Process MMAP Memory Freed\n", driver_name, current->pid); + #endif + } + + /* + * If the Current Node's post_process_mmap_virtual_address Pointer is not NULL then it Points to a Kernel Memory Allocation. + * This Kernel Memory Allocation Belongs to the Current Thread and we Should Free it with dma_free_coherent() Since it will no Longer be Required. + */ + if(search_element->post_process_mmap_virtual_address != NULL) + { + dma_free_coherent(&dev->dev, MMAP_ALLOCATION_SIZE, search_element->post_process_mmap_virtual_address, search_element->post_process_mmap_physical_address); + #ifdef DEBUG_MESSAGES + printk(KERN_ALERT "[%s-DBG -> MAIN RELEASE (PID %d)] Post Process MMAP Memory Freed\n", driver_name, current->pid); + #endif + } + + /* + * If the Current Node's shared_repo_virtual_address Pointer is not NULL then it Points to a Kernel Memory Allocation. + * This Kernel Memory Allocation Belongs to the Current Thread and we Should Free it with dma_free_coherent() Since it will no Longer be Required. + */ + if(search_element->shared_repo_virtual_address != NULL) + { + dma_free_coherent(&dev->dev, MMAP_ALLOCATION_SIZE, search_element->shared_repo_virtual_address, search_element->shared_repo_physical_address); + #ifdef DEBUG_MESSAGES + printk(KERN_ALERT "[%s-DBG -> MAIN RELEASE (PID %d)] Shared Repo MMAP Memory Freed\n", driver_name, current->pid); + #endif + } + + /* + * Free the Memory Allocation where the Current Node was Stored which Results in Removing the Current Node. + */ + kfree(search_element); + + + /* + * Set the search_element Pointer to Point at the Head (pid_list_head) of the Singly Linked List so that we Can Search the List of Nodes from the Beginning. + */ + search_element = pid_list_head; + + /* + * Keep Moving Forward in the Singly Linked List for as long as the search_element Pointer has not Reached a NULL Value. + * + * The Reason for Searching the Singly Linked List at this Point is to Validate that we Have Successfully Removed the New Node. + */ + while(search_element != NULL) + { + + /* + * Check if the Current Node's PID Value is Equal to the Current Userspace Thread's PID. + * If this is the Case then the Node is Still Present so Increment the Value of the validate Variable to Indicate the Presence of the Node. + */ + if(search_element->pid == current->pid) + { + validate++; + } + + /* + * Set the search_element Pointer to Point at the Next List Node. + */ + search_element = search_element->next_pid; + } + + /* + * If the Value of the validate Variable is Zero then the Node was not Found in the List. + */ + if(validate == 0) + { + #ifdef DEBUG_MESSAGES + printk(KERN_ALERT "[%s-DBG -> MAIN RELEASE (PID %d)] Deleting Current Element is Validated\n", driver_name, current->pid); + #endif + + } + + } + else + { + /* + * Set the previous_element Pointer to Point at the Current Node. + */ + previous_element = search_element; + + /* + * Set the search_element Pointer to Point at the Next List Node. + */ + search_element = search_element->next_pid; + } + + } + + + /* + * Set the search_element Pointer to Point at the Head (pid_list_head) of the Singly Linked List so that we Can Search the List of Nodes from the Beginning. + */ + search_element = pid_list_head; + + /* + * Keep Moving Forward in the Singly Linked List for as long as the search_element Pointer has not Reached a NULL Value. + * + * The Reason for Searching the Singly Linked List at this Point is to Check if there are any Left Nodes in the Singly Linked List. + * If the List is Empty then we Should Clean the pid_list_head Pointer. + */ + while(search_element != NULL) + { + /* + * If the search_element Pointer is not NULL then we Have Nodes in the List so Increment the check_elements Variable. + */ + if(search_element != NULL) + { + check_elements++; + } + + /* + * Set the search_element Pointer to Point at the Next List Node. + */ + search_element = search_element->next_pid; + } + + /* + * If the check_elements Variable Has Zero Value then the Singly Linked List is Empty. + */ + if(check_elements == 0) + { + /* + * Clear the pid_list_head Pointer. + */ + pid_list_head = NULL; + } + + /* + * Unlock the main_release_sem Semaphore so that other Userspace Threads can Access that Part of the Code. + */ + up_write(&main_release_sem); + + #ifdef DEBUG_MESSAGES + printk(KERN_ALERT "[%s-DBG -> MAIN RELEASE (PID %d)] Releasing Main Driver Module\n", driver_name, current->pid); + #endif + + + return(SUCCESS); +} + +/** OK + * xilinx_pci_driver_unlocked_ioctl() + * + * Input/Output System Control (IOCtl) is a Kind of Device-Specific System Call. + * The few System Calls in Linux are not Enough to Express all the Unique Functions that Devices may Require. + * + * The Driver Can Define an IOCtl which Allows a Userspace Application to Send Orders/Commands to It and Expand the Number of Functions for a Device. + * + * The xilinx_pci_driver_unlocked_ioctl() is Used by the Userspace Application Threads for the Following Request Commands: + * + * --> Request to Occupy Acceleration Groups + * --> Request to Explicitly Occupy the Acceleration Group Scatter/Gather + * --> Request to Create Scatter/Gather Lists + * --> Request to Unmap Pages which where Mapped when Creating the Scatter/Gather Lists + * --> Request to Clear the Flags that are Used to Handle the Acceleration Procedure + */ +long xilinx_pci_driver_unlocked_ioctl(struct file *file_pointer, unsigned int command, unsigned long userspace_value) +{ + +/* + * Pointer of Type struct sg_list_addresses. + * Used to Point to a Userspace Memory Allocation where the Pointers to the Userspace Source and Destination Memories are Stored. + */ +struct sg_list_addresses *sg_list_src_dst_addresses; + +/* + * Pointer of Type struct pid_reserved_memories. + * Used to Access the Singly Linked List where each Node Hold Metrics Information and Pointers for each Userspace Thread. + */ +struct pid_reserved_memories *search_element = NULL; + +int sg_table_value_source; +int sg_table_value_destination; + +int buffer_entries_source = 0; +int buffer_entries_destination = 0; + +int repeat; + +/* + * Used to Store the Pages of the Userspace Source Memory. + */ +struct page **buffer_page_array_source; + +/* + * Used to Store the Pages of the Userspace Destination Memory. + */ +struct page **buffer_page_array_destination; + +/* + * The 7 Flags Below are Used to Set the Acceleration Group(s) that will be Assigned to the Current Thread. + */ +int direct_0_accel = 0; +int direct_1_accel = 0; +int indirect_0_accel = 0; +int indirect_1_accel = 0; +int indirect_2_accel = 0; +int indirect_3_accel = 0; +int sg_accel = 0; + +/* + * Dependng on the Acceleration Policy if a Single Image will be Processed by Multiple Acceleration Groups then it Should be + * Divided into a Number of Segments which is Equal to the Number of the Acceleration Groups that will Collaborate to Process that Single Image. + * The segments Variable Indicates that Number of Segments. + */ +int segments = 0; + +/* + * The segment_size Variable is the Number of the Image Rows Divided by the Number of Acceleration Groups that will Process a Single Image. + * This Variable Gives an Initial Reference to how Many Rows of the Image each Acceleration Group Should Process. + */ +int segment_size = 0; + +/* + * If the segment_size Variable is not an Integer Multiple of the Acceleration Groups that will Process the Image + * then there Should be Remaining Rows that Should be Shared Among the Acceleration Groups. + * + * For example, if 3 Acceleration Groups were Occupied in Order to Process an Image of 11 Rows then: + * + * Dividing 11 by 3 Does not Return an Integer Multiple of the 3 Acceleration Groups. + * The Integer Part of the Division is 3 so we Have 3 Rows for each of the Acceleration Groups. + * + * As a Result, 3 Acceleration Groups by 3 Rows is 9 which Leaves 2 Remaining Rows that are Stored in the remaining_rows Variable. + * + * The 2 Remaining Rows will be Shared in such way that 1 Row will be Given to the First Acceleration Group and 1 Row to the Second. + */ +int remaining_rows = 0; + +/* + * The Maximum Number of Segments that an Image can be Divided Into is 6 which is, also, the Maximum + * Number of Acceleration Groups that can be Occupied to Process a Single Image. + * + * The segment_rows Array Has 6 Fields where each Field is Used to Store the Number of Rows that each Acceleration Group Should Process. + * + * The Final Number of Rows for Each Acceleration Group is Equal to the segment_size or Possibly segment_size + 1 if the + * Image Rows Divided by the Number of Acceleration Groups is not an Integer Multiple. + * + * --> segment_rows[0] Corresponds to AGD0. + * --> segment_rows[1] Corresponds to AGD1. + * --> segment_rows[2] Corresponds to AGI0. + * --> segment_rows[3] Corresponds to AGI1. + * --> segment_rows[4] Corresponds to AGI2. + * --> segment_rows[5] Corresponds to AGI3. + */ +int segment_rows[6]; + +/* + * The segment_count Variable is Used to Access the Fields of the segment_rows Array. + */ +int segment_count = 0; + +/* + * The segment_offset Variable is the Offset in Bytes where the Acceleration Group Should Read/Write the Image Segment. + */ +int segment_offset = 0; + +/* + * Lock the ioctl_sem Semaphore so that only the Current Userspace Thread can Access that part of the Code. + */ +down_write(&ioctl_sem); + +switch(command) +{ + /* + * This Case is Used when a Userspace Thread Requests to Occupy Acceleration Group(s) Depending on the Driver's Policy for Distributing the Acceleration Groups. + */ + case COMMAND_REQUEST_ACCELERATOR_ACCESS: + + /* + * The wait_event_interruptible() Puts a Process to Sleep Until a Condition Evaluates to True. + * + * In this Case the Driver Checks in the Below Condition if any of the agd0_busy, agd1_busy, agi0_busy, agi1_busy, agi2_busy, agi3_busy, agsg_busy Flags Has Zero Value + * which Means that there is at Least one Acceleration Group that is not Busy(not Occupied). + * + * If the Condition Returns Non-Zero Value then the Process will be Set to Sleep and Put in a Wait Queue. + * Once a Wake Up Call Takes Place in the Future the Condition will be Re-evaluated. + * + * If the Condition Below Validates that there is at Least One Acceleration Group Available then the Userspace Thread Can Proceed to Request Acceleration. + */ + wait_event_interruptible(ioctl_queue, (inter_process_shared_info_memory->shared_status_flags.agd0_busy & + inter_process_shared_info_memory->shared_status_flags.agd1_busy & + inter_process_shared_info_memory->shared_status_flags.agi0_busy & + inter_process_shared_info_memory->shared_status_flags.agi1_busy & + inter_process_shared_info_memory->shared_status_flags.agi2_busy & + inter_process_shared_info_memory->shared_status_flags.agi3_busy & + inter_process_shared_info_memory->shared_status_flags.agsg_busy) == 0); + + #ifdef DEBUG_MESSAGES + printk(KERN_ALERT "[%s-DBG -> UNLOCKED IOCTL (PID %d)] New Process Request for Acceleration Group\n", driver_name, current->pid); + #endif + + /* + * Set the search_element Pointer to Point at the Head (pid_list_head) of the Singly Linked List so that we Can Search the List of Nodes from the Beginning. + */ + search_element = pid_list_head; + + /* + * Keep Moving Forward in the Singly Linked List for as long as the search_element Pointer has not Reached a NULL Value. + * + * The Reason for Searching the Singly Linked List at this Point is to Find the List Node that Belongs to the Current Userspace Thread. + * The Structure Fields of the Current Thread's Node will be Needed During the Acceleration Procedure. + */ + while(search_element != NULL) + { + /* + * Check if the Current Node's PID Value is Equal to the Current Userspace Thread's PID. + * If this is the Case then we Can Proceed to Request an Acceleration Group. + */ + if(search_element->pid == current->pid) + { + /* + * This Macro if Condition Encloses Part of the Code that is ONLY Applicable in the Greedy Policy. + * + * The Greedy Policy Tries to Occupy as many Accelerators as Possible for a Single Image Accelerarion for a Single Userspace Thread. + * This Policy Initially Checks if any of the AGD0, AGD1, AGI0, AGI1, AGI2, AGI3 is Available and Locks all of those that are Found Available. + * If it Fails with the Previous Step then it Checks if the AGSG is Available and Locks it. + * The Reason for this Separation is that the AGSG Requires Special Handling due to Using Scatter/Gather Lists so it Can Only be Used if no Other is Available. + * + * This Part of the Code is where the Driver Locks the Available Acceleration Groups so that they Can be Occupied ONLY by the Current Thread. + */ + #ifdef GREEDY + /* + * If this Condition Returns Zero Value then at Least one Acceleration Group from the AGD0, AGD1, AGI0, AGI1, AGI2 or AGI3 is Available for Locking. + * + * Else Try to Occupy the AGSG. + */ + if((inter_process_shared_info_memory->shared_status_flags.agd0_busy & + inter_process_shared_info_memory->shared_status_flags.agd1_busy & + inter_process_shared_info_memory->shared_status_flags.agi0_busy & + inter_process_shared_info_memory->shared_status_flags.agi1_busy & + inter_process_shared_info_memory->shared_status_flags.agi2_busy & + inter_process_shared_info_memory->shared_status_flags.agi3_busy) == 0) + { + /* + * Check if the agd0_busy Flag has Zero Value which Means that AGD0 is Available. + */ + if(inter_process_shared_info_memory->shared_status_flags.agd0_busy == 0) + { + /* + * Set the direct_0_accel Flag as Occupied. + * This Flag will be Used Later to Lock the AGD0 as Occupied. + */ + direct_0_accel = OCCUPIED; + + /* + * Increment the Value of the segments Variable. + */ + segments++; + } + /* + * Check if the agd1_busy Flag has Zero Value which Means that AGD1 is Available. + */ + if(inter_process_shared_info_memory->shared_status_flags.agd1_busy == 0) + { + /* + * Set the direct_1_accel Flag as Occupied. + * This Flag will be Used Later to Lock the AGD1 as Occupied. + */ + direct_1_accel = OCCUPIED; + + /* + * Increment the Value of the segments Variable. + */ + segments++; + } + /* + * Check if the agi0_busy Flag has Zero Value which Means that AGI0 is Available. + */ + if(inter_process_shared_info_memory->shared_status_flags.agi0_busy == 0) + { + /* + * Set the indirect_0_accel Flag as Occupied. + * This Flag will be Used Later to Lock the AGI0 as Occupied. + */ + indirect_0_accel = OCCUPIED; + + /* + * Increment the Value of the segments Variable. + */ + segments++; + } + /* + * Check if the agi1_busy Flag has Zero Value which Means that AGI1 is Available. + */ + if(inter_process_shared_info_memory->shared_status_flags.agi1_busy == 0) + { + /* + * Set the indirect_1_accel Flag as Occupied. + * This Flag will be Used Later to Lock the AGI1 as Occupied. + */ + indirect_1_accel = OCCUPIED; + + /* + * Increment the Value of the segments Variable. + */ + segments++; + } + /* + * Check if the agi2_busy Flag has Zero Value which Means that AGI2 is Available. + */ + if(inter_process_shared_info_memory->shared_status_flags.agi2_busy == 0) + { + /* + * Set the indirect_2_accel Flag as Occupied. + * This Flag will be Used Later to Lock the AGI2 as Occupied. + */ + indirect_2_accel = OCCUPIED; + + /* + * Increment the Value of the segments Variable. + */ + segments++; + } + /* + * Check if the agi3_busy Flag has Zero Value which Means that AGI3 is Available. + */ + if(inter_process_shared_info_memory->shared_status_flags.agi3_busy == 0) + { + /* + * Set the indirect_3_accel Flag as Occupied. + * This Flag will be Used Later to Lock the AGI3 as Occupied. + */ + indirect_3_accel = OCCUPIED; + + /* + * Increment the Value of the segments Variable. + */ + segments++; + } + } + /* + * Check if the agsg_busy Flag Has Zero Value which Means that AGSG is Available. + */ + else if(inter_process_shared_info_memory->shared_status_flags.agsg_busy == 0) + { + /* + * Set the sg_accel Flag as Occupied. + * This Flag will be Used Later to Lock the AGSG as Occupied. + */ + sg_accel = OCCUPIED; + + /* + * Increment the Value of the segments Variable. + */ + segments++; + } + + /* + * The shared_repo_virtual_address Points to the Kernel Memory Allocation which is Used so that the Current Thread Can Explicitly Store + * Metrics Information fot its own Acceleration Procedure. + * + * Set the image_segments Structure Field of the Current Userspace Thread with the Value of the segments Variable. + */ + search_element->shared_repo_virtual_address->image_segments = segments; + + #ifdef DEBUG_MESSAGES + printk(KERN_ALERT "[%s-DBG -> UNLOCKED IOCTL (PID %d)] Assigned Acceleration Group are\n", driver_name, current->pid); + #endif + + #ifdef DEBUG_MESSAGES + printk(KERN_ALERT "[%s-DBG -> UNLOCKED IOCTL (PID %d)] AGD0 AGD1 AGI0 AGI1 AGI2 AGI3 AGSG\n", driver_name, current->pid); + #endif + + #ifdef DEBUG_MESSAGES + printk(KERN_ALERT "[%s-DBG -> UNLOCKED IOCTL (PID %d)] %d %d %d %d %d %d %d\n", driver_name, current->pid, direct_0_accel, direct_1_accel, indirect_0_accel, indirect_1_accel, indirect_2_accel, indirect_3_accel, sg_accel); + #endif + + /* + * Get the Number of Rows that each Acceleration Group Should Process. + */ + segment_size = search_element->shared_repo_virtual_address->shared_image_info.rows / segments; + + /* + * Get the Remaining Rows (If any) + */ + remaining_rows = search_element->shared_repo_virtual_address->shared_image_info.rows - (segment_size * segments); + + /* + * Repeat for as many Times as the Number of Image Segments. + */ + for (repeat = 0; repeat < segments; repeat++) + { + /* + * Set the Current Array Field with the Number of Rows that the Corresponding Acceleration Group Should Process. + */ + segment_rows[repeat] = segment_size; + + /* + * If we Found Remaining Rows then the Acceleration Group of the Current Array Field Should Process One More Row. + */ + if (remaining_rows > 0) + { + /* + * Decrement the remaining_rows Value. + */ + remaining_rows--; + + /* + * Increment the Number of Rows of the Current Array Field by 1. + */ + segment_rows[repeat]++; + } + } + #endif + + + /* + * This Macro if Condition Encloses Part of the Code that is ONLY Applicable in the Best Available Policy. + * + * The Best Available Policy Tries to Occupy a Single Acceleration Group for a Single Image Process for a Single Userspace Thread. + * + * It Checks to Occupy the First that is Found Available Starting from the Best Efficient to the Worst Efficient with the Below Priority: + * AGD0 --> AGD1 --> AGI0 --> AGI1 --> AGI2 --> AGI3 --> AGSG + * + * This Part of the Code is where the Driver Locks a Single Available Acceleration Group so that it Can be Occupied ONLY by the Current Thread. + */ + #ifdef BEST_AVAILABLE + + /* + * Check if the agd0_busy Flag has Zero Value which Means that AGD0 is Available. + */ + if(inter_process_shared_info_memory->shared_status_flags.agd0_busy == 0) + { + /* + * Set the direct_0_accel Flag as Occupied. + * This Flag will be Used Later to Lock the AGD0 as Occupied. + */ + direct_0_accel = OCCUPIED; + } + /* + * Else Check if the agd1_busy Flag has Zero Value which Means that AGD1 is Available. + */ + else if(inter_process_shared_info_memory->shared_status_flags.agd1_busy == 0) + { + /* + * Set the direct_1_accel Flag as Occupied. + * This Flag will be Used Later to Lock the AGD1 as Occupied. + */ + direct_1_accel = OCCUPIED; + } + /* + * Else Check if the agi0_busy Flag has Zero Value which Means that AGI0 is Available. + */ + else if(inter_process_shared_info_memory->shared_status_flags.agi0_busy == 0) + { + /* + * Set the indirect_0_accel Flag as Occupied. + * This Flag will be Used Later to Lock the AGI0 as Occupied. + */ + indirect_0_accel = OCCUPIED; + } + /* + * Else Check if the agi1_busy Flag has Zero Value which Means that AGI1 is Available. + */ + else if(inter_process_shared_info_memory->shared_status_flags.agi1_busy == 0) + { + /* + * Set the indirect_1_accel Flag as Occupied. + * This Flag will be Used Later to Lock the AGI1 as Occupied. + */ + indirect_1_accel = OCCUPIED; + } + /* + * Else Check if the agi2_busy Flag has Zero Value which Means that AGI2 is Available. + */ + else if(inter_process_shared_info_memory->shared_status_flags.agi2_busy == 0) + { + /* + * Set the indirect_2_accel Flag as Occupied. + * This Flag will be Used Later to Lock the AGI2 as Occupied. + */ + indirect_2_accel = OCCUPIED; + } + /* + * Else Check if the agi3_busy Flag has Zero Value which Means that AGI3 is Available. + */ + else if(inter_process_shared_info_memory->shared_status_flags.agi3_busy == 0) + { + /* + * Set the indirect_3_accel Flag as Occupied. + * This Flag will be Used Later to Lock the AGI3 as Occupied. + */ + indirect_3_accel = OCCUPIED; + } + /* + * Else Check if the agsg_busy Flag has Zero Value which Means that AGSG is Available. + */ + else if(inter_process_shared_info_memory->shared_status_flags.agsg_busy == 0) + { + /* + * Set the sg_accel Flag as Occupied. + * This Flag will be Used Later to Lock the AGSG as Occupied. + */ + sg_accel = OCCUPIED; + } + + /* + * Set segments Variable with 1 Because in this Policy the Image will not be Processed in Segments. + */ + segments = 1; + + /* + * Set the segment_rows First Array Field with the Number of Image Rows. + */ + segment_rows[0] = search_element->shared_repo_virtual_address->shared_image_info.rows; + + #endif + + /* + * Check if the direct_0_accel Flag is Set as Occupied which Means that AGD0 is Assigned to the Current Thread. + * If this is the Case then Setup and Start the AGD0. + */ + if(direct_0_accel == OCCUPIED) + { + /* + * Lock the case_0_sem Semaphore so that only the Current Userspace Thread can Access that part of the Code. + */ + down_write(&case_0_sem); + + /* + * Set accel_direct_0_occupied_pid Flag with the PID of the Current Thread so that we Later Know which Thread Occupied the AGD0. + */ + inter_process_shared_info_memory->shared_status_flags.accel_direct_0_occupied_pid = current->pid; + + /* + * Set the agd0_busy Flag with Value 1 in order to Lock AGD0 for the Current Thread. + */ + inter_process_shared_info_memory->shared_status_flags.agd0_busy = 1; + + /* + * Read a 64 Bit Time Value from the FPGA's Shared Timer (Shared APM) which is the Time Moment that the Sleep State (If the Thread was in Sleep State) of the Current Thread Has Ended. + * Store this Time Value in the Metrics Structure which is inside the Metrics Kernel Memory of the Current Thread. + */ + search_element->shared_repo_virtual_address->process_metrics.sleep_time_end = readq((u64 *)bar0_address_virtual + BAR0_OFFSET_TIMER / 8); + + /* + * Add the ACCELERATOR_DIRECT_0_OCCUPIED Flag in the accel_occupied Mask of the Metrics Kernel Memory. + * + * The Metrics Kernel Memory that the search_element->shared_repo_virtual_address Pointer Refers to is Shared Only with the Current Userspace Thread. + * As a Result, the accel_occupied Mask is Read in Polling Mode by the Current Userspace Thread and Compared with the accel_completed Mask. + * The accel_completed Mask is Set inside the Interrupt Handlers when the Interrupt Manager of the FPGA Sends MSI Completion Interupts. + * When both Masks Have the Same Value the Userspace Thread Knows that the Acceleration Has Completed by All the Acceleration Groups that Participated in Processing a Single Image. + */ + search_element->shared_repo_virtual_address->accel_occupied |= ACCELERATOR_DIRECT_0_OCCUPIED; + + /* + * Unlock the case_0_sem Semaphore so that other Userspace Threads can Access that Part of the Code. + */ + up_write(&case_0_sem); + + + + /////////////////////////////////////////////////////////////////////////////////////////// + // Set Up and Start Accelerator Group Direct 0 + /////////////////////////////////////////////////////////////////////////////////////////// + + /* + * Set (through the PCIe Bus) the AXI BAR0 Address Translation Register of the FPGA's PCIe Bridge + * with the Physical Address of the Pre-Process Data Kernel Memory (pre_process_mmap_physical_address). + * This Way the DMA of the AGD0 that Uses AXI BAR0 for Accessing the Host Memory Can Directly Target the Pre-Process Data Kernel Memory that Belongs to the Current Userspace Thread. + */ + write_remote_register(bar0_address_virtual, BAR0_OFFSET_PCIE_CTL + AXI_BAR0_LOWER_ADDRESS_OFFSET, (u32)search_element->pre_process_mmap_physical_address); + + /* + * Set (through the PCIe Bus) the FPGA's Acceleration Scheduler Direct of the AGD0 with the Host's Source Address where the Pre-Process Image Data is Located which is AXI BAR0. + * By Extension AXI BAR0 Targets the Pre-Process Data Kernel Memory that Belongs to the Current Userspace Thread. + * + * If the Image is Segmented in order to be Processed by Multiple Acceleration Groups (Greedy Policy) then the Source Address Points to an Offset of AXI BAR0 + * According to the segment_offset Variable where the Segment that AGD0 will Process is Located. + */ + write_remote_register(bar0_address_virtual, BAR0_OFFSET_ACCEL_GROUP_DIRECT_0_ACCELERATION_SCHEDULER_DIRECT + ACCELERATION_SCHEDULER_DIRECT_HOST_SOURCE_ADDRESS_REGISTER_OFFSET, (u32)(AXI_BAR_0_OFFSET + segment_offset)); + + /* + * Set (through the PCIe Bus) the FPGA's Acceleration Scheduler Direct of the AGD0 with the Host's Destination Address where + * the Post-Process Image Data Should be Located which is AXI BAR0. + * By Extension AXI BAR0 Targets the Pre-Process Data Kernel Memory which is, also, Used as the Destination Memory for the Post-Processed Data. + * Typically, the Driver Creates a Post-Process Data Kernel Memory but Using it Would Require the Usage of Additional AXI BAR. + * In Order to Reduce the AXI BARs that are Required for Data Acceleration we Use ONLY the Pre-Process Data Kernel Memory + * both to Read the Initial Image Data from and Write the Processed Image Data to. + * + * + * If the Image is Segmented in order to be Processed by Multiple Acceleration Groups (Greedy Policy) then the Destination Address Points to an Offset of AXI BAR0 + * According to the segment_offset Variable where the Segment that AGD0 will Process is Located. + */ + write_remote_register(bar0_address_virtual, BAR0_OFFSET_ACCEL_GROUP_DIRECT_0_ACCELERATION_SCHEDULER_DIRECT + ACCELERATION_SCHEDULER_DIRECT_HOST_DESTINATION_ADDRESS_REGISTER_OFFSET, (u32)(AXI_BAR_0_OFFSET + segment_offset)); + + /* + * Set the FPGA's Acceleration Scheduler Direct of the AGD0 (through the PCIe Bus) with the Number of Image Columns that the AGD0 will Process. + */ + write_remote_register(bar0_address_virtual, BAR0_OFFSET_ACCEL_GROUP_DIRECT_0_ACCELERATION_SCHEDULER_DIRECT + ACCELERATION_SCHEDULER_DIRECT_IMAGE_COLUMNS_REGISTER_OFFSET, (u32)search_element->shared_repo_virtual_address->shared_image_info.columns); + + /* + * Set the FPGA's Acceleration Scheduler Direct of the AGD0 (through the PCIe Bus) with the Number of Image Rows that the AGD0 will Process. + */ + write_remote_register(bar0_address_virtual, BAR0_OFFSET_ACCEL_GROUP_DIRECT_0_ACCELERATION_SCHEDULER_DIRECT + ACCELERATION_SCHEDULER_DIRECT_IMAGE_ROWS_REGISTER_OFFSET, (u32)segment_rows[segment_count]); + + /* + * Set the FPGA's Acceleration Scheduler Direct of the AGD0 (through the PCIe Bus) with the START Flag in Order to Start the Acceleration Procedure. + */ + write_remote_register(bar0_address_virtual, BAR0_OFFSET_ACCEL_GROUP_DIRECT_0_ACCELERATION_SCHEDULER_DIRECT + ACCELERATION_SCHEDULER_DIRECT_CONTROL_REGISTER_OFFSET, (u32)START); + + #ifdef GREEDY + /* + * If we are in Greedy Policy we Have to Calculate the Offset where the Next Image Segment is Located so that the Next Acceleration Group + * Should Know which Image Segment to Process. + */ + segment_offset = segment_offset + (segment_rows[segment_count] * search_element->shared_repo_virtual_address->shared_image_info.columns * 4); + + /* + * Increment the segment_count Variable so that the Next Acceleration Group will Read the Correct Field of the segment_rows Array + * in order to Get the Correct Number of Image Rows that it Should Process. + */ + segment_count++; + #endif + + #ifdef DEBUG_MESSAGES + printk(KERN_ALERT "[%s-DBG -> UNLOCKED IOCTL (PID %d)] Sending Start Request to AGD 0\n", driver_name, current->pid); + #endif + + #ifdef DEBUG_MESSAGES + printk(KERN_ALERT "[%s-DBG -> UNLOCKED IOCTL (PID %d)] OFFSET %d\n", driver_name, current->pid, segment_offset); + #endif + + + } + + /* + * Check if the direct_1_accel Flag is Set as Occupied which Means that AGD1 is Assigned to the Current Thread. + * If this is the Case then Setup and Start the AGD1. + */ + if(direct_1_accel == OCCUPIED) + { + /* + * Lock the case_1_sem Semaphore so that only the Current Userspace Thread can Access that part of the Code. + */ + down_write(&case_1_sem); + + /* + * Set accel_direct_1_occupied_pid Flag with the PID of the Current Thread so that we Later Know which Thread Occupied the AGD1. + */ + inter_process_shared_info_memory->shared_status_flags.accel_direct_1_occupied_pid = current->pid; + + /* + * Set the agd1_busy Flag with Value 1 in order to Lock AGD1 for the Current Thread. + */ + inter_process_shared_info_memory->shared_status_flags.agd1_busy = 1; + + /* + * Read a 64 Bit Time Value from the FPGA's Shared Timer (Shared APM) which is the Time Moment that the Sleep State (If the Thread was in Sleep State) of the Current Thread Has Ended. + * Store this Time Value in the Metrics Structure which is inside the Metrics Kernel Memory of the Current Thread. + */ + search_element->shared_repo_virtual_address->process_metrics.sleep_time_end = readq((u64 *)bar0_address_virtual + BAR0_OFFSET_TIMER / 8); + + /* + * Add the ACCELERATOR_DIRECT_1_OCCUPIED Flag in the accel_occupied Mask of the Metrics Kernel Memory. + * + * The Metrics Kernel Memory that the search_element->shared_repo_virtual_address Pointer Refers to is Shared Only with the Current Userspace Thread. + * As a Result, the accel_occupied Mask is Read in Polling Mode by the Current Userspace Thread and Compared with the accel_completed Mask. + * The accel_completed Mask is Set inside the Interrupt Handlers when the Interrupt Manager of the FPGA Sends MSI Completion Interupts. + * When both Masks Have the Same Value the Userspace Thread Knows that the Acceleration Has Completed by All the Acceleration Groups that Participated in Processing a Single Image. + */ + search_element->shared_repo_virtual_address->accel_occupied |= ACCELERATOR_DIRECT_1_OCCUPIED; + + /* + * Unlock the case_1_sem Semaphore so that other Userspace Threads can Access that Part of the Code. + */ + up_write(&case_1_sem); + + + + /////////////////////////////////////////////////////////////////////////////////////////// + // Set Up and Start Accelerator Group Direct 1 + /////////////////////////////////////////////////////////////////////////////////////////// + + /* + * Set (through the PCIe Bus) the AXI BAR1 Address Translation Register of the FPGA's PCIe Bridge + * with the Physical Address of the Pre-Process Data Kernel Memory (pre_process_mmap_physical_address). + * This Way the DMA of the AGD1 that Uses AXI BAR1 for Accessing the Host Memory Can Directly Target the Pre-Process Data Kernel Memory that Belongs to the Current Userspace Thread. + */ + write_remote_register(bar0_address_virtual, BAR0_OFFSET_PCIE_CTL + AXI_BAR1_LOWER_ADDRESS_OFFSET, (u32)search_element->pre_process_mmap_physical_address); + + /* + * Set (through the PCIe Bus) the FPGA's Acceleration Scheduler Direct of the AGD1 with the Host's Source Address where the Pre-Process Image Data is Located which is AXI BAR1. + * By Extension AXI BAR1 Targets the Pre-Process Data Kernel Memory that Belongs to the Current Userspace Thread. + * + * If the Image is Segmented in order to be Processed by Multiple Acceleration Groups (Greedy Policy) then the Source Address Points to an Offset of AXI BAR1 + * According to the segment_offset Variable where the Segment that AGD1 will Process is Located. + */ + write_remote_register(bar0_address_virtual, BAR0_OFFSET_ACCEL_GROUP_DIRECT_1_ACCELERATION_SCHEDULER_DIRECT + ACCELERATION_SCHEDULER_DIRECT_HOST_SOURCE_ADDRESS_REGISTER_OFFSET, (u32)(AXI_BAR_1_OFFSET + segment_offset)); + + /* + * Set (through the PCIe Bus) the FPGA's Acceleration Scheduler Direct of the AGD1 with the Host's Destination Address where + * the Post-Process Image Data Should be Located which is AXI BAR1. + * By Extension AXI BAR1 Targets the Pre-Process Data Kernel Memory which is, also, Used as the Destination Memory for the Post-Processed Data. + * Typically, the Driver Creates a Post-Process Data Kernel Memory but Using it Would Require the Usage of Additional AXI BAR. + * In Order to Reduce the AXI BARs that are Required for Data Acceleration we Use ONLY the Pre-Process Data Kernel Memory + * both to Read the Initial Image Data from and Write the Processed Image Data to. + * + * + * If the Image is Segmented in order to be Processed by Multiple Acceleration Groups (Greedy Policy) then the Destination Address Points to an Offset of AXI BAR1 + * According to the segment_offset Variable where the Segment that AGD1 will Process is Located. + */ + write_remote_register(bar0_address_virtual, BAR0_OFFSET_ACCEL_GROUP_DIRECT_1_ACCELERATION_SCHEDULER_DIRECT + ACCELERATION_SCHEDULER_DIRECT_HOST_DESTINATION_ADDRESS_REGISTER_OFFSET, (u32)(AXI_BAR_1_OFFSET + segment_offset)); + + /* + * Set the FPGA's Acceleration Scheduler Direct of the AGD1 (through the PCIe Bus) with the Number of Image Columns that the AGD1 will Process. + */ + write_remote_register(bar0_address_virtual, BAR0_OFFSET_ACCEL_GROUP_DIRECT_1_ACCELERATION_SCHEDULER_DIRECT + ACCELERATION_SCHEDULER_DIRECT_IMAGE_COLUMNS_REGISTER_OFFSET, (u32)search_element->shared_repo_virtual_address->shared_image_info.columns); + + /* + * Set the FPGA's Acceleration Scheduler Direct of the AGD1 (through the PCIe Bus) with the Number of Image Rows that the AGD1 will Process. + */ + write_remote_register(bar0_address_virtual, BAR0_OFFSET_ACCEL_GROUP_DIRECT_1_ACCELERATION_SCHEDULER_DIRECT + ACCELERATION_SCHEDULER_DIRECT_IMAGE_ROWS_REGISTER_OFFSET, (u32)segment_rows[segment_count]); + + /* + * Set the FPGA's Acceleration Scheduler Direct of the AGD1 (through the PCIe Bus) with the START Flag in Order to Start the Acceleration Procedure. + */ + write_remote_register(bar0_address_virtual, BAR0_OFFSET_ACCEL_GROUP_DIRECT_1_ACCELERATION_SCHEDULER_DIRECT + ACCELERATION_SCHEDULER_DIRECT_CONTROL_REGISTER_OFFSET, (u32)START); + + #ifdef GREEDY + /* + * If we are in Greedy Policy we Have to Calculate the Offset where the Next Image Segment is Located so that the Next Acceleration Group + * Should Know which Image Segment to Process. + */ + segment_offset = segment_offset + (segment_rows[segment_count] * search_element->shared_repo_virtual_address->shared_image_info.columns * 4); + + /* + * Increment the segment_count Variable so that the Next Acceleration Group will Read the Correct Field of the segment_rows Array + * in order to Get the Correct Number of Image Rows that it Should Process. + */ + segment_count++; + #endif + + #ifdef DEBUG_MESSAGES + printk(KERN_ALERT "[%s-DBG -> UNLOCKED IOCTL (PID %d)] Sending Start Request to AGD 1\n", driver_name, current->pid); + #endif + + #ifdef DEBUG_MESSAGES + printk(KERN_ALERT "[%s-DBG -> UNLOCKED IOCTL (PID %d)] OFFSET %d\n", driver_name, current->pid, segment_offset); + #endif + } + + /* + * Check if the indirect_0_accel Flag is Set as Occupied which Means that AGI0 is Assigned to the Current Thread. + * If this is the Case then Setup and Start the AGI0. + */ + if(indirect_0_accel == OCCUPIED) + { + /* + * Lock the case_2_sem Semaphore so that only the Current Userspace Thread can Access that part of the Code. + */ + down_write(&case_2_sem); + + /* + * Set accel_indirect_0_occupied_pid Flag with the PID of the Current Thread so that we Later Know which Thread Occupied the AGI0. + */ + inter_process_shared_info_memory->shared_status_flags.accel_indirect_0_occupied_pid = current->pid; + + /* + * Set the agi0_busy Flag with Value 1 in order to Lock AGI0 for the Current Thread. + */ + inter_process_shared_info_memory->shared_status_flags.agi0_busy = 1; + + /* + * Read a 64 Bit Time Value from the FPGA's Shared Timer (Shared APM) which is the Time Moment that the Sleep State (If the Thread was in Sleep State) of the Current Thread Has Ended. + * Store this Time Value in the Metrics Structure which is inside the Metrics Kernel Memory of the Current Thread. + */ + search_element->shared_repo_virtual_address->process_metrics.sleep_time_end = readq((u64 *)bar0_address_virtual + BAR0_OFFSET_TIMER / 8); + + /* + * Add the ACCELERATOR_INDIRECT_0_OCCUPIED Flag in the accel_occupied Mask of the Metrics Kernel Memory. + * + * The Metrics Kernel Memory that the search_element->shared_repo_virtual_address Pointer Refers to is Shared Only with the Current Userspace Thread. + * As a Result, the accel_occupied Mask is Read in Polling Mode by the Current Userspace Thread and Compared with the accel_completed Mask. + * The accel_completed Mask is Set inside the Interrupt Handlers when the Interrupt Manager of the FPGA Sends MSI Completion Interupts. + * When both Masks Have the Same Value the Userspace Thread Knows that the Acceleration Has Completed by All the Acceleration Groups that Participated in Processing a Single Image. + */ + search_element->shared_repo_virtual_address->accel_occupied |= ACCELERATOR_INDIRECT_0_OCCUPIED; + + /* + * Unlock the case_2_sem Semaphore so that other Userspace Threads can Access that Part of the Code. + */ + up_write(&case_2_sem); + + + + /////////////////////////////////////////////////////////////////////////////////////////// + // Set Up and Start Accelerator Group Indirect 0 + /////////////////////////////////////////////////////////////////////////////////////////// + + /* + * Set (through the PCIe Bus) the FPGA's Acceleration Scheduler Indirect of the AGI0 with the Host's Source Address where the Pre-Process Image Data is Located. + * The Acceleration Scheduler Indirect will Set the AXI BAR2 Address Translation Register of the FPGA's PCIe Bridge with that Source Address. + * Then the CDMA Fetch will Read the Image Data from AXI BAR 2 and by Extension the Pre-Process Data Kernel Memory that Belongs to the Current Userspace Thread. + */ + write_remote_register(bar0_address_virtual, BAR0_OFFSET_ACCEL_GROUP_INDIRECT_0_ACCELERATION_SCHEDULER_INDIRECT + ACCELERATION_SCHEDULER_INDIRECT_SOURCE_ADDRESS_FETCH_REGISTER_OFFSET, (u32)(search_element->pre_process_mmap_physical_address)); + + /* + * Set (through the PCIe Bus) the FPGA's Acceleration Scheduler Indirect of the AGI0 with the Host's Destination Address where the Post-Process Image Data Should be Stored. + * + * Typically, the Driver Creates a Post-Process Data Kernel Memory to Store the Processed Data But in order to Reduce Memory Usage the Processed Data are Stored Back to + * the Pre-Process Data Kernel Memory. + * + * The Acceleration Scheduler Indirect will Set the AXI BAR3 Address Translation Register of the FPGA's PCIe Bridge with that Destination Address. + * Then the CDMA Send will Write the Processed Image Data to AXI BAR 3 and by Extension the Pre-Process Data Kernel Memory that Belongs to the Current Userspace Thread. + */ + write_remote_register(bar0_address_virtual, BAR0_OFFSET_ACCEL_GROUP_INDIRECT_0_ACCELERATION_SCHEDULER_INDIRECT + ACCELERATION_SCHEDULER_INDIRECT_DESTINATION_ADDRESS_SEND_REGISTER_OFFSET, (u32)(search_element->pre_process_mmap_physical_address)); + + /* + * Set (through the PCIe Bus) the FPGA's Acceleration Scheduler Indirect of the AGI0 with the Offset of the Source Address where the Image Segment that the AGI0 will Process is Located. + * + * @note This is Applicable ONLY for the Greedy Policy. + * @note The Best Available Policy Assigns a whole Image in the AGI0 so there is no Need for an Offset(The segment_offset Variable Has Zero Value). + */ + write_remote_register(bar0_address_virtual, BAR0_OFFSET_ACCEL_GROUP_INDIRECT_0_ACCELERATION_SCHEDULER_INDIRECT + ACCELERATION_SCHEDULER_INDIRECT_OFFSET_FETCH_REGISTER_OFFSET, (u32)segment_offset); + + /* + * Set (through the PCIe Bus) the FPGA's Acceleration Scheduler Indirect of the AGI0 with the Offset of the Destination Address + * where the Image Segment that the AGI0 will Process Should be Stored. + * + * @note This is Applicable ONLY for the Greedy Policy. + * @note The Best Available Policy Assigns a whole Image in the AGI0 so there is no Need for an Offset(The segment_offset Variable Has Zero Value). + */ + write_remote_register(bar0_address_virtual, BAR0_OFFSET_ACCEL_GROUP_INDIRECT_0_ACCELERATION_SCHEDULER_INDIRECT + ACCELERATION_SCHEDULER_INDIRECT_OFFSET_SEND_REGISTER_OFFSET, (u32)segment_offset); + + /* + * Set the FPGA's Acceleration Scheduler Indirect of the AGI0 (through the PCIe Bus) with the Number of Image Columns that the AGI0 will Process. + */ + write_remote_register(bar0_address_virtual, BAR0_OFFSET_ACCEL_GROUP_INDIRECT_0_ACCELERATION_SCHEDULER_INDIRECT + ACCELERATION_SCHEDULER_INDIRECT_IMAGE_COLUMNS_REGISTER_OFFSET, (u32)search_element->shared_repo_virtual_address->shared_image_info.columns); + + /* + * Set the FPGA's Acceleration Scheduler Indirect of the AGI0 (through the PCIe Bus) with the Number of Image Rows that the AGI0 will Process. + */ + write_remote_register(bar0_address_virtual, BAR0_OFFSET_ACCEL_GROUP_INDIRECT_0_ACCELERATION_SCHEDULER_INDIRECT + ACCELERATION_SCHEDULER_INDIRECT_IMAGE_ROWS_REGISTER_OFFSET, (u32)segment_rows[segment_count]); + + /* + * Set the FPGA's Acceleration Scheduler Indirect of the AGI0 (through the PCIe Bus) with the START Flag in Order to Start the Acceleration Procedure. + */ + write_remote_register(bar0_address_virtual, BAR0_OFFSET_ACCEL_GROUP_INDIRECT_0_ACCELERATION_SCHEDULER_INDIRECT + ACCELERATION_SCHEDULER_INDIRECT_CONTROL_REGISTER_OFFSET, (u32)START); + + #ifdef GREEDY + /* + * If we are in Greedy Policy we Have to Calculate the Offset where the Next Image Segment is Located so that the Next Acceleration Group + * Should Know which Image Segment to Process. + */ + segment_offset = segment_offset + (segment_rows[segment_count] * search_element->shared_repo_virtual_address->shared_image_info.columns * 4); + + /* + * Increment the segment_count Variable so that the Next Acceleration Group will Read the Correct Field of the segment_rows Array + * in order to Get the Correct Number of Image Rows that it Should Process. + */ + segment_count++; + #endif + + #ifdef DEBUG_MESSAGES + printk(KERN_ALERT "[%s-DBG -> UNLOCKED IOCTL (PID %d)] Sending Start Request to AGI 0\n", driver_name, current->pid); + #endif + + #ifdef DEBUG_MESSAGES + printk(KERN_ALERT "[%s-DBG -> UNLOCKED IOCTL (PID %d)] OFFSET %d\n", driver_name, current->pid, segment_offset); + #endif + } + + /* + * Check if the indirect_1_accel Flag is Set as Occupied which Means that AGI1 is Assigned to the Current Thread. + * If this is the Case then Setup and Start the AGI1. + */ + if(indirect_1_accel == OCCUPIED) + { + /* + * Lock the case_3_sem Semaphore so that only the Current Userspace Thread can Access that part of the Code. + */ + down_write(&case_3_sem); + + /* + * Set accel_indirect_1_occupied_pid Flag with the PID of the Current Thread so that we Later Know which Thread Occupied the AGI1. + */ + inter_process_shared_info_memory->shared_status_flags.accel_indirect_1_occupied_pid = current->pid; + + /* + * Set the agi1_busy Flag with Value 1 in order to Lock AGI1 for the Current Thread. + */ + inter_process_shared_info_memory->shared_status_flags.agi1_busy = 1; + + /* + * Read a 64 Bit Time Value from the FPGA's Shared Timer (Shared APM) which is the Time Moment that the Sleep State (If the Thread was in Sleep State) of the Current Thread Has Ended. + * Store this Time Value in the Metrics Structure which is inside the Metrics Kernel Memory of the Current Thread. + */ + search_element->shared_repo_virtual_address->process_metrics.sleep_time_end = readq((u64 *)bar0_address_virtual + BAR0_OFFSET_TIMER / 8); + + /* + * Add the ACCELERATOR_INDIRECT_1_OCCUPIED Flag in the accel_occupied Mask of the Metrics Kernel Memory. + * + * The Metrics Kernel Memory that the search_element->shared_repo_virtual_address Pointer Refers to is Shared Only with the Current Userspace Thread. + * As a Result, the accel_occupied Mask is Read in Polling Mode by the Current Userspace Thread and Compared with the accel_completed Mask. + * The accel_completed Mask is Set inside the Interrupt Handlers when the Interrupt Manager of the FPGA Sends MSI Completion Interupts. + * When both Masks Have the Same Value the Userspace Thread Knows that the Acceleration Has Completed by All the Acceleration Groups that Participated in Processing a Single Image. + */ + search_element->shared_repo_virtual_address->accel_occupied |= ACCELERATOR_INDIRECT_1_OCCUPIED; + + /* + * Unlock the case_3_sem Semaphore so that other Userspace Threads can Access that Part of the Code. + */ + up_write(&case_3_sem); + + + + /////////////////////////////////////////////////////////////////////////////////////////// + // Set Up and Start Accelerator Group Indirect 1 + /////////////////////////////////////////////////////////////////////////////////////////// + + /* + * Set (through the PCIe Bus) the FPGA's Acceleration Scheduler Indirect of the AGI1 with the Host's Source Address where the Pre-Process Image Data is Located. + * The Acceleration Scheduler Indirect will Set the AXI BAR2 Address Translation Register of the FPGA's PCIe Bridge with that Source Address. + * Then the CDMA Fetch will Read the Image Data from AXI BAR 2 and by Extension the Pre-Process Data Kernel Memory that Belongs to the Current Userspace Thread. + */ + write_remote_register(bar0_address_virtual, BAR0_OFFSET_ACCEL_GROUP_INDIRECT_1_ACCELERATION_SCHEDULER_INDIRECT + ACCELERATION_SCHEDULER_INDIRECT_SOURCE_ADDRESS_FETCH_REGISTER_OFFSET, (u32)(search_element->pre_process_mmap_physical_address)); + + /* + * Set (through the PCIe Bus) the FPGA's Acceleration Scheduler Indirect of the AGI1 with the Host's Destination Address where the Post-Process Image Data Should be Stored. + * + * Typically, the Driver Creates a Post-Process Data Kernel Memory to Store the Processed Data But in order to Reduce Memory Usage the Processed Data are Stored Back to + * the Pre-Process Data Kernel Memory. + * + * The Acceleration Scheduler Indirect will Set the AXI BAR3 Address Translation Register of the FPGA's PCIe Bridge with that Destination Address. + * Then the CDMA Send will Write the Processed Image Data to AXI BAR 3 and by Extension the Pre-Process Data Kernel Memory that Belongs to the Current Userspace Thread. + */ + write_remote_register(bar0_address_virtual, BAR0_OFFSET_ACCEL_GROUP_INDIRECT_1_ACCELERATION_SCHEDULER_INDIRECT + ACCELERATION_SCHEDULER_INDIRECT_DESTINATION_ADDRESS_SEND_REGISTER_OFFSET, (u32)(search_element->pre_process_mmap_physical_address)); + + /* + * Set (through the PCIe Bus) the FPGA's Acceleration Scheduler Indirect of the AGI1 with the Offset of the Source Address where the Image Segment that the AGI1 will Process is Located. + * + * @note This is Applicable ONLY for the Greedy Policy. + * @note The Best Available Policy Assigns a whole Image in the AGI1 so there is no Need for an Offset(The segment_offset Variable Has Zero Value). + */ + write_remote_register(bar0_address_virtual, BAR0_OFFSET_ACCEL_GROUP_INDIRECT_1_ACCELERATION_SCHEDULER_INDIRECT + ACCELERATION_SCHEDULER_INDIRECT_OFFSET_FETCH_REGISTER_OFFSET, (u32)segment_offset); + + /* + * Set (through the PCIe Bus) the FPGA's Acceleration Scheduler Indirect of the AGI1 with the Offset of the Destination Address + * where the Image Segment that the AGI1 will Process Should be Stored. + * + * @note This is Applicable ONLY for the Greedy Policy. + * @note The Best Available Policy Assigns a whole Image in the AGI1 so there is no Need for an Offset(The segment_offset Variable Has Zero Value). + */ + write_remote_register(bar0_address_virtual, BAR0_OFFSET_ACCEL_GROUP_INDIRECT_1_ACCELERATION_SCHEDULER_INDIRECT + ACCELERATION_SCHEDULER_INDIRECT_OFFSET_SEND_REGISTER_OFFSET, (u32)segment_offset); + + /* + * Set the FPGA's Acceleration Scheduler Indirect of the AGI1 (through the PCIe Bus) with the Number of Image Columns that the AGI1 will Process. + */ + write_remote_register(bar0_address_virtual, BAR0_OFFSET_ACCEL_GROUP_INDIRECT_1_ACCELERATION_SCHEDULER_INDIRECT + ACCELERATION_SCHEDULER_INDIRECT_IMAGE_COLUMNS_REGISTER_OFFSET, (u32)search_element->shared_repo_virtual_address->shared_image_info.columns); + + /* + * Set the FPGA's Acceleration Scheduler Indirect of the AGI1 (through the PCIe Bus) with the Number of Image Rows that the AGI1 will Process. + */ + write_remote_register(bar0_address_virtual, BAR0_OFFSET_ACCEL_GROUP_INDIRECT_1_ACCELERATION_SCHEDULER_INDIRECT + ACCELERATION_SCHEDULER_INDIRECT_IMAGE_ROWS_REGISTER_OFFSET, (u32)segment_rows[segment_count]); + + /* + * Set the FPGA's Acceleration Scheduler Indirect of the AGI1 (through the PCIe Bus) with the START Flag in Order to Start the Acceleration Procedure. + */ + write_remote_register(bar0_address_virtual, BAR0_OFFSET_ACCEL_GROUP_INDIRECT_1_ACCELERATION_SCHEDULER_INDIRECT + ACCELERATION_SCHEDULER_INDIRECT_CONTROL_REGISTER_OFFSET, (u32)START); + + #ifdef GREEDY + /* + * If we are in Greedy Policy we Have to Calculate the Offset where the Next Image Segment is Located so that the Next Acceleration Group + * Should Know which Image Segment to Process. + */ + segment_offset = segment_offset + (segment_rows[segment_count] * search_element->shared_repo_virtual_address->shared_image_info.columns * 4); + + /* + * Increment the segment_count Variable so that the Next Acceleration Group will Read the Correct Field of the segment_rows Array + * in order to Get the Correct Number of Image Rows that it Should Process. + */ + segment_count++; + #endif + + #ifdef DEBUG_MESSAGES + printk(KERN_ALERT "[%s-DBG -> UNLOCKED IOCTL (PID %d)] Sending Start Request to AGI 1\n", driver_name, current->pid); + #endif + + #ifdef DEBUG_MESSAGES + printk(KERN_ALERT "[%s-DBG -> UNLOCKED IOCTL (PID %d)] OFFSET %d\n", driver_name, current->pid, segment_offset); + #endif + + } + + + /* + * Check if the indirect_2_accel Flag is Set as Occupied which Means that AGI2 is Assigned to the Current Thread. + * If this is the Case then Setup and Start the AGI2. + */ + if(indirect_2_accel == OCCUPIED) + { + /* + * Lock the case_4_sem Semaphore so that only the Current Userspace Thread can Access that part of the Code. + */ + down_write(&case_4_sem); + + /* + * Set accel_indirect_2_occupied_pid Flag with the PID of the Current Thread so that we Later Know which Thread Occupied the AGI2. + */ + inter_process_shared_info_memory->shared_status_flags.accel_indirect_2_occupied_pid = current->pid; + + /* + * Set the agi2_busy Flag with Value 1 in order to Lock AGI2 for the Current Thread. + */ + inter_process_shared_info_memory->shared_status_flags.agi2_busy = 1; + + /* + * Read a 64 Bit Time Value from the FPGA's Shared Timer (Shared APM) which is the Time Moment that the Sleep State (If the Thread was in Sleep State) of the Current Thread Has Ended. + * Store this Time Value in the Metrics Structure which is inside the Metrics Kernel Memory of the Current Thread. + */ + search_element->shared_repo_virtual_address->process_metrics.sleep_time_end = readq((u64 *)bar0_address_virtual + BAR0_OFFSET_TIMER / 8); + + /* + * Add the ACCELERATOR_INDIRECT_2_OCCUPIED Flag in the accel_occupied Mask of the Metrics Kernel Memory. + * + * The Metrics Kernel Memory that the search_element->shared_repo_virtual_address Pointer Refers to is Shared Only with the Current Userspace Thread. + * As a Result, the accel_occupied Mask is Read in Polling Mode by the Current Userspace Thread and Compared with the accel_completed Mask. + * The accel_completed Mask is Set inside the Interrupt Handlers when the Interrupt Manager of the FPGA Sends MSI Completion Interupts. + * When both Masks Have the Same Value the Userspace Thread Knows that the Acceleration Has Completed by All the Acceleration Groups that Participated in Processing a Single Image. + */ + search_element->shared_repo_virtual_address->accel_occupied |= ACCELERATOR_INDIRECT_2_OCCUPIED; + + /* + * Unlock the case_4_sem Semaphore so that other Userspace Threads can Access that Part of the Code. + */ + up_write(&case_4_sem); + + + /////////////////////////////////////////////////////////////////////////////////////////// + // Set Up and Start Accelerator Group Indirect 2 + /////////////////////////////////////////////////////////////////////////////////////////// + + /* + * Set (through the PCIe Bus) the FPGA's Acceleration Scheduler Indirect of the AGI2 with the Host's Source Address where the Pre-Process Image Data is Located. + * The Acceleration Scheduler Indirect will Set the AXI BAR2 Address Translation Register of the FPGA's PCIe Bridge with that Source Address. + * Then the CDMA Fetch will Read the Image Data from AXI BAR 2 and by Extension the Pre-Process Data Kernel Memory that Belongs to the Current Userspace Thread. + */ + write_remote_register(bar0_address_virtual, BAR0_OFFSET_ACCEL_GROUP_INDIRECT_2_ACCELERATION_SCHEDULER_INDIRECT + ACCELERATION_SCHEDULER_INDIRECT_SOURCE_ADDRESS_FETCH_REGISTER_OFFSET, (u32)(search_element->pre_process_mmap_physical_address)); + + /* + * Set (through the PCIe Bus) the FPGA's Acceleration Scheduler Indirect of the AGI2 with the Host's Destination Address where the Post-Process Image Data Should be Stored. + * + * Typically, the Driver Creates a Post-Process Data Kernel Memory to Store the Processed Data But in order to Reduce Memory Usage the Processed Data are Stored Back to + * the Pre-Process Data Kernel Memory. + * + * The Acceleration Scheduler Indirect will Set the AXI BAR3 Address Translation Register of the FPGA's PCIe Bridge with that Destination Address. + * Then the CDMA Send will Write the Processed Image Data to AXI BAR 3 and by Extension the Pre-Process Data Kernel Memory that Belongs to the Current Userspace Thread. + */ + write_remote_register(bar0_address_virtual, BAR0_OFFSET_ACCEL_GROUP_INDIRECT_2_ACCELERATION_SCHEDULER_INDIRECT + ACCELERATION_SCHEDULER_INDIRECT_DESTINATION_ADDRESS_SEND_REGISTER_OFFSET, (u32)(search_element->pre_process_mmap_physical_address)); + + /* + * Set (through the PCIe Bus) the FPGA's Acceleration Scheduler Indirect of the AGI2 with the Offset of the Source Address where the Image Segment that the AGI2 will Process is Located. + * + * @note This is Applicable ONLY for the Greedy Policy. + * @note The Best Available Policy Assigns a whole Image in the AGI2 so there is no Need for an Offset(The segment_offset Variable Has Zero Value). + */ + write_remote_register(bar0_address_virtual, BAR0_OFFSET_ACCEL_GROUP_INDIRECT_2_ACCELERATION_SCHEDULER_INDIRECT + ACCELERATION_SCHEDULER_INDIRECT_OFFSET_FETCH_REGISTER_OFFSET, (u32)segment_offset); + + /* + * Set (through the PCIe Bus) the FPGA's Acceleration Scheduler Indirect of the AGI2 with the Offset of the Destination Address + * where the Image Segment that the AGI2 will Process Should be Stored. + * + * @note This is Applicable ONLY for the Greedy Policy. + * @note The Best Available Policy Assigns a whole Image in the AGI2 so there is no Need for an Offset(The segment_offset Variable Has Zero Value). + */ + write_remote_register(bar0_address_virtual, BAR0_OFFSET_ACCEL_GROUP_INDIRECT_2_ACCELERATION_SCHEDULER_INDIRECT + ACCELERATION_SCHEDULER_INDIRECT_OFFSET_SEND_REGISTER_OFFSET, (u32)segment_offset); + + /* + * Set the FPGA's Acceleration Scheduler Indirect of the AGI2 (through the PCIe Bus) with the Number of Image Columns that the AGI2 will Process. + */ + write_remote_register(bar0_address_virtual, BAR0_OFFSET_ACCEL_GROUP_INDIRECT_2_ACCELERATION_SCHEDULER_INDIRECT + ACCELERATION_SCHEDULER_INDIRECT_IMAGE_COLUMNS_REGISTER_OFFSET, (u32)search_element->shared_repo_virtual_address->shared_image_info.columns); + + /* + * Set the FPGA's Acceleration Scheduler Indirect of the AGI2 (through the PCIe Bus) with the Number of Image Rows that the AGI2 will Process. + */ + write_remote_register(bar0_address_virtual, BAR0_OFFSET_ACCEL_GROUP_INDIRECT_2_ACCELERATION_SCHEDULER_INDIRECT + ACCELERATION_SCHEDULER_INDIRECT_IMAGE_ROWS_REGISTER_OFFSET, (u32)segment_rows[segment_count]); + + /* + * Set the FPGA's Acceleration Scheduler Indirect of the AGI2 (through the PCIe Bus) with the START Flag in Order to Start the Acceleration Procedure. + */ + write_remote_register(bar0_address_virtual, BAR0_OFFSET_ACCEL_GROUP_INDIRECT_2_ACCELERATION_SCHEDULER_INDIRECT + ACCELERATION_SCHEDULER_INDIRECT_CONTROL_REGISTER_OFFSET, (u32)START); + + #ifdef GREEDY + /* + * If we are in Greedy Policy we Have to Calculate the Offset where the Next Image Segment is Located so that the Next Acceleration Group + * Should Know which Image Segment to Process. + */ + segment_offset = segment_offset + (segment_rows[segment_count] * search_element->shared_repo_virtual_address->shared_image_info.columns * 4); + + /* + * Increment the segment_count Variable so that the Next Acceleration Group will Read the Correct Field of the segment_rows Array + * in order to Get the Correct Number of Image Rows that it Should Process. + */ + segment_count++; + #endif + + #ifdef DEBUG_MESSAGES + printk(KERN_ALERT "[%s-DBG -> UNLOCKED IOCTL (PID %d)] Sending Start Request to AGI 2\n", driver_name, current->pid); + #endif + + #ifdef DEBUG_MESSAGES + printk(KERN_ALERT "[%s-DBG -> UNLOCKED IOCTL (PID %d)] OFFSET %d\n", driver_name, current->pid, segment_offset); + #endif + + } + + /* + * Check if the indirect_3_accel Flag is Set as Occupied which Means that AGI3 is Assigned to the Current Thread. + * If this is the Case then Setup and Start the AGI3. + */ + if(indirect_3_accel == OCCUPIED) + { + /* + * Lock the case_5_sem Semaphore so that only the Current Userspace Thread can Access that part of the Code. + */ + down_write(&case_5_sem); + + /* + * Set accel_indirect_3_occupied_pid Flag with the PID of the Current Thread so that we Later Know which Thread Occupied the AGI3. + */ + inter_process_shared_info_memory->shared_status_flags.accel_indirect_3_occupied_pid = current->pid; + + /* + * Set the agi3_busy Flag with Value 1 in order to Lock AGI3 for the Current Thread. + */ + inter_process_shared_info_memory->shared_status_flags.agi3_busy = 1; + + /* + * Read a 64 Bit Time Value from the FPGA's Shared Timer (Shared APM) which is the Time Moment that the Sleep State (If the Thread was in Sleep State) of the Current Thread Has Ended. + * Store this Time Value in the Metrics Structure which is inside the Metrics Kernel Memory of the Current Thread. + */ + search_element->shared_repo_virtual_address->process_metrics.sleep_time_end = readq((u64 *)bar0_address_virtual + BAR0_OFFSET_TIMER / 8); + + /* + * Add the ACCELERATOR_INDIRECT_3_OCCUPIED Flag in the accel_occupied Mask of the Metrics Kernel Memory. + * + * The Metrics Kernel Memory that the search_element->shared_repo_virtual_address Pointer Refers to is Shared Only with the Current Userspace Thread. + * As a Result, the accel_occupied Mask is Read in Polling Mode by the Current Userspace Thread and Compared with the accel_completed Mask. + * The accel_completed Mask is Set inside the Interrupt Handlers when the Interrupt Manager of the FPGA Sends MSI Completion Interupts. + * When both Masks Have the Same Value the Userspace Thread Knows that the Acceleration Has Completed by All the Acceleration Groups that Participated in Processing a Single Image. + */ + search_element->shared_repo_virtual_address->accel_occupied |= ACCELERATOR_INDIRECT_3_OCCUPIED; + + /* + * Unlock the case_5_sem Semaphore so that other Userspace Threads can Access that Part of the Code. + */ + up_write(&case_5_sem); + + + /////////////////////////////////////////////////////////////////////////////////////////// + // Set Up and Start Accelerator Group Indirect 3 + /////////////////////////////////////////////////////////////////////////////////////////// + + /* + * Set (through the PCIe Bus) the FPGA's Acceleration Scheduler Indirect of the AGI3 with the Host's Source Address where the Pre-Process Image Data is Located. + * The Acceleration Scheduler Indirect will Set the AXI BAR2 Address Translation Register of the FPGA's PCIe Bridge with that Source Address. + * Then the CDMA Fetch will Read the Image Data from AXI BAR 2 and by Extension the Pre-Process Data Kernel Memory that Belongs to the Current Userspace Thread. + */ + write_remote_register(bar0_address_virtual, BAR0_OFFSET_ACCEL_GROUP_INDIRECT_3_ACCELERATION_SCHEDULER_INDIRECT + ACCELERATION_SCHEDULER_INDIRECT_SOURCE_ADDRESS_FETCH_REGISTER_OFFSET, (u32)(search_element->pre_process_mmap_physical_address)); + + /* + * Set (through the PCIe Bus) the FPGA's Acceleration Scheduler Indirect of the AGI3 with the Host's Destination Address where the Post-Process Image Data Should be Stored. + * + * Typically, the Driver Creates a Post-Process Data Kernel Memory to Store the Processed Data But in order to Reduce Memory Usage the Processed Data are Stored Back to + * the Pre-Process Data Kernel Memory. + * + * The Acceleration Scheduler Indirect will Set the AXI BAR3 Address Translation Register of the FPGA's PCIe Bridge with that Destination Address. + * Then the CDMA Send will Write the Processed Image Data to AXI BAR 3 and by Extension the Pre-Process Data Kernel Memory that Belongs to the Current Userspace Thread. + */ + write_remote_register(bar0_address_virtual, BAR0_OFFSET_ACCEL_GROUP_INDIRECT_3_ACCELERATION_SCHEDULER_INDIRECT + ACCELERATION_SCHEDULER_INDIRECT_DESTINATION_ADDRESS_SEND_REGISTER_OFFSET, (u32)(search_element->pre_process_mmap_physical_address)); + + /* + * Set (through the PCIe Bus) the FPGA's Acceleration Scheduler Indirect of the AGI3 with the Offset of the Source Address where the Image Segment that the AGI3 will Process is Located. + * + * @note This is Applicable ONLY for the Greedy Policy. + * @note The Best Available Policy Assigns a whole Image in the AGI3 so there is no Need for an Offset(The segment_offset Variable Has Zero Value). + */ + write_remote_register(bar0_address_virtual, BAR0_OFFSET_ACCEL_GROUP_INDIRECT_3_ACCELERATION_SCHEDULER_INDIRECT + ACCELERATION_SCHEDULER_INDIRECT_OFFSET_FETCH_REGISTER_OFFSET, (u32)segment_offset); + + /* + * Set (through the PCIe Bus) the FPGA's Acceleration Scheduler Indirect of the AGI3 with the Offset of the Destination Address + * where the Image Segment that the AGI3 will Process Should be Stored. + * + * @note This is Applicable ONLY for the Greedy Policy. + * @note The Best Available Policy Assigns a whole Image in the AGI3 so there is no Need for an Offset(The segment_offset Variable Has Zero Value). + */ + write_remote_register(bar0_address_virtual, BAR0_OFFSET_ACCEL_GROUP_INDIRECT_3_ACCELERATION_SCHEDULER_INDIRECT + ACCELERATION_SCHEDULER_INDIRECT_OFFSET_SEND_REGISTER_OFFSET, (u32)segment_offset); + + /* + * Set the FPGA's Acceleration Scheduler Indirect of the AGI3 (through the PCIe Bus) with the Number of Image Columns that the AGI3 will Process. + */ + write_remote_register(bar0_address_virtual, BAR0_OFFSET_ACCEL_GROUP_INDIRECT_3_ACCELERATION_SCHEDULER_INDIRECT + ACCELERATION_SCHEDULER_INDIRECT_IMAGE_COLUMNS_REGISTER_OFFSET, (u32)search_element->shared_repo_virtual_address->shared_image_info.columns); + + /* + * Set the FPGA's Acceleration Scheduler Indirect of the AGI3 (through the PCIe Bus) with the Number of Image Rows that the AGI3 will Process. + */ + write_remote_register(bar0_address_virtual, BAR0_OFFSET_ACCEL_GROUP_INDIRECT_3_ACCELERATION_SCHEDULER_INDIRECT + ACCELERATION_SCHEDULER_INDIRECT_IMAGE_ROWS_REGISTER_OFFSET, (u32)segment_rows[segment_count]); + + /* + * Set the FPGA's Acceleration Scheduler Indirect of the AGI3 (through the PCIe Bus) with the START Flag in Order to Start the Acceleration Procedure. + */ + write_remote_register(bar0_address_virtual, BAR0_OFFSET_ACCEL_GROUP_INDIRECT_3_ACCELERATION_SCHEDULER_INDIRECT + ACCELERATION_SCHEDULER_INDIRECT_CONTROL_REGISTER_OFFSET, (u32)START); + + #ifdef GREEDY + /* + * If we are in Greedy Policy we Have to Calculate the Offset where the Next Image Segment is Located so that the Next Acceleration Group + * Should Know which Image Segment to Process. + */ + segment_offset = segment_offset + (segment_rows[segment_count] * search_element->shared_repo_virtual_address->shared_image_info.columns * 4); + + /* + * Increment the segment_count Variable so that the Next Acceleration Group will Read the Correct Field of the segment_rows Array + * in order to Get the Correct Number of Image Rows that it Should Process. + */ + segment_count++; + #endif + + #ifdef DEBUG_MESSAGES + printk(KERN_ALERT "[%s-DBG -> UNLOCKED IOCTL (PID %d)] Sending Start Request to AGI 3\n", driver_name, current->pid); + #endif + + #ifdef DEBUG_MESSAGES + printk(KERN_ALERT "[%s-DBG -> UNLOCKED IOCTL (PID %d)] OFFSET %d\n", driver_name, current->pid, segment_offset); + #endif + + } + + /* + * Check if the sg_accel Flag is Set as Occupied which Means that AGSG is Assigned to the Current Thread. + * If this is the Case then Setup and Start the AGSG. + */ + if(sg_accel == OCCUPIED) + { + /* + * Lock the case_6_sem Semaphore so that only the Current Userspace Thread can Access that part of the Code. + */ + down_write(&case_6_sem); + + /* + * Set accel_sg_0_occupied_pid Flag with the PID of the Current Thread so that we Later Know which Thread Occupied the AGSG. + */ + inter_process_shared_info_memory->shared_status_flags.accel_sg_0_occupied_pid = current->pid; + + /* + * Set the agsg_busy Flag with Value 1 in order to Lock AGSG for the Current Thread. + */ + inter_process_shared_info_memory->shared_status_flags.agsg_busy = 1; + + /* + * Read a 64 Bit Time Value from the FPGA's Shared Timer (Shared APM) which is the Time Moment that the Sleep State (If the Thread was in Sleep State) of the Current Thread Has Ended. + * Store this Time Value in the Metrics Structure which is inside the Metrics Kernel Memory of the Current Thread. + */ + search_element->shared_repo_virtual_address->process_metrics.sleep_time_end = readq((u64 *)bar0_address_virtual + BAR0_OFFSET_TIMER / 8); + + /* + * Add the ACCELERATOR_SG_OCCUPIED Flag in the accel_occupied Mask of the Metrics Kernel Memory. + * + * The Metrics Kernel Memory that the search_element->shared_repo_virtual_address Pointer Refers to is Shared Only with the Current Userspace Thread. + * As a Result, the accel_occupied Mask is Read in Polling Mode by the Current Userspace Thread. + * + * The Difference Between the AGSG and the Rest Acceleration Groups is that if the accel_occupied Mask is Set with the ACCELERATOR_SG_OCCUPIED Flag + * the Current Userspace Thread Has to Make a Request to the Driver to Create Scatter/Gather Lists before Requesting to Occupy the AGSG. + */ + search_element->shared_repo_virtual_address->accel_occupied |= ACCELERATOR_SG_OCCUPIED; + + /* + * Unlock the case_6_sem Semaphore so that other Userspace Threads can Access that Part of the Code. + */ + up_write(&case_6_sem); + + + + #ifdef DEBUG_MESSAGES + printk(KERN_ALERT "[%s-DBG -> UNLOCKED IOCTL (PID %d)] Request from Process to Allocate Usersapce Memory for Using AGSG\n", driver_name, current->pid); + #endif + + } + + } + + /* + * Set the search_element Pointer to Point at the Next List Node. + */ + search_element = search_element->next_pid; + } + + + break; + + /* + * This Case is Used when a Userspace Thread Requests to Create Scatter/Gather Lists. + * + * The AGSG is Used in Cases where the Initial Image Data are Read Directly from the Userspace Memory and the Processed Data are Written Directly to the Userspace Memory. + * The Particularity of a Userspace Memory is that its Allocation is Chunked in Pages of 4K rather than being Contiguous Memory. + * In Order for the AGSG to Access the Source and Destination Userspace Memories it Has to be Aware of the Physical Addresses of all the Pages that Constitute the Source and Destination Memories. + * This is Accomplished in Driver Level by Creating the Scatter/Gather Lists of the Previous Memories. + * + * When a Userspace Thread is Assigned the AGSG it Makes a IOCtl Call with the COMMAND_SET_PAGES Flag in Order to Create the Scatter/Gather Lists for its Source and Destination Memories. + */ + case COMMAND_SET_PAGES: + + /* + * Lock the set_pages_sem Semaphore so that only the Current Userspace Thread can Access that part of the Code. + */ + down_write(&set_pages_sem); + + /* + * Set the search_element Pointer to Point at the Head (pid_list_head) of the Singly Linked List so that we Can Search the List of Nodes from the Beginning. + */ + search_element = pid_list_head; + + /* + * Keep Moving Forward in the Singly Linked List for as long as the search_element Pointer has not Reached a NULL Value. + * + * The Reason for Searching the Singly Linked List at this Point is to Find the List Node that Belongs to the Current Userspace Thread. + * The Structure Fields of the Current Thread's Node will be Needed During the Creation of the Scatter/Gather List. + */ + while(search_element != NULL) + { + + /* + * Check if the Current Node's PID Value is Equal to the Current Userspace Thread's PID. + * If this is the Case then we Can Proceed to Create the Scatter/Gather Lists. + */ + if(search_element->pid == current->pid) + { + + /* + * Calculate the Number of Pages According to the Image Size and the Page Size for the Userspace Source and Destination Memories. + * + * For Example, an Image of 1920x1080 Resolution Has Size 8294400 Bytes (1920 x 1080 x 4Bytes). + * For an Image Size of 8294400 Bytes and a Page Size of 4096 Bytes we Require 2025 Pages (8294400/4096). + */ + buffer_entries_source = search_element->shared_repo_virtual_address->shared_image_info.size / PAGE_SIZE; + buffer_entries_destination = search_element->shared_repo_virtual_address->shared_image_info.size / PAGE_SIZE; + + + #ifdef DEBUG_MESSAGES + printk(KERN_ALERT "[%s-DBG -> UNLOCKED IOCTL (PID %d)] Set Scatter/Gather Pages\n", driver_name, current->pid); + #endif + + /* + * The userspace_value is a Variable with Data from the Current Userspace Thread that are Carried Along with the IOCtl Command. + * The Data of the userspace_value herein is a Pointer to a Structure of Type struct sg_list_addresses which Contains the Pointers of the Source and Destination Userspace Memories + * that the Current Userspace Thread Created in order to Occupy the AGSG. + * + * We Cast the Remote Pointer that is Carried by the userspace_value Variable to the Local sg_list_src_dst_addresses Pointer of Structure Type struct sg_list_addresses. + * This Way we Can Access the Virtual Addresses of the Userspace Source and Destination Memories in order to Create their Scatter/Gather Lists. + */ + sg_list_src_dst_addresses = (struct sg_list_addresses *)userspace_value; + + /* + * Check to Make Sure that the Pointers of the Userspace Source and Destination Memories is not NULL. + * This is the Way to Validate that the Memories are Allocated Succesfully Before Trying to Create Their Scatter/Gather Lists. + */ + if(sg_list_src_dst_addresses->sg_list_source_address != NULL && sg_list_src_dst_addresses->sg_list_destination_address != NULL) + { + /* + * Allocate a Kernel Memory Large Enough to Fit as many Structures of Type struct page as the Number of Pages that we Earlier Calculated in the buffer_entries_source Variable + * and Set the buffer_page_array_source to Point at this Memory Allocation. + * + * This is a Page Array. + */ + buffer_page_array_source = kmalloc(sizeof(struct page *) * buffer_entries_source, GFP_KERNEL); + + /* + * Allocate a Kernel Memory Large Enough to Fit as many Structures of Type struct page as the Number of Pages that we Earlier Calculated in the buffer_entries_destination Variable + * and Set the buffer_page_array_destination to Point at this Memory Allocation. + * + * This is a Page Array. + */ + buffer_page_array_destination = kmalloc(sizeof(struct page *) * buffer_entries_destination, GFP_KERNEL); + + /* + * Lock the mmap_sem Semaphore so that only the Current Userspace Thread can Access that part of the Code. + */ + down_read(¤t->mm->mmap_sem); + + /* + * Pin the the Source User Pages in Memory. + * Upon Successful Completion, the Caller of get_user_pages() Has a Pages Array (buffer_page_array_source) Pointing to the Source Userspace Memory Allocation, which is Locked into Memory. + * + * The get_user_pages() Returns the Number of Pages that were Succesfully Pinned(search_element->buffer_mapped_pages_source) + * which is not Necessarily Equal to the Requested Pages(buffer_entries_source). + */ + search_element->buffer_mapped_pages_source = get_user_pages(current, current->mm, (unsigned long)(sg_list_src_dst_addresses->sg_list_source_address), buffer_entries_source, 1, 1, buffer_page_array_source, NULL); + + /* + * Pin the the Destination User Pages in Memory. + * Upon Successful Completion, the Caller of get_user_pages() Has a Pages Array (buffer_page_array_destination) Pointing to the Destination Userspace Memory Allocation, which is Locked into Memory. + * + * The get_user_pages() Returns the Number of Pages that were Succesfully Pinned(search_element->buffer_mapped_pages_destination) + * which is not Necessarily Equal to the Requested Pages(buffer_entries_destination). + */ + search_element->buffer_mapped_pages_destination = get_user_pages(current, current->mm, (unsigned long)(sg_list_src_dst_addresses->sg_list_destination_address), buffer_entries_destination, 1, 1, buffer_page_array_destination, NULL); + + /* + * Now that we Got the Source Page Array (buffer_page_array_source) we Can Release the Source Pages. + * Loop for as Many Times as the Number of Pinned Pages of the Source Userspace Memory. + */ + for(repeat = 0; repeat < search_element->buffer_mapped_pages_source; repeat++) + { + /* + * Release the Page of the Current Field of the Source Page Array. + */ + put_page(buffer_page_array_source[repeat]); + + } + + /* + * Now that we Got the Destination Page Array (buffer_page_array_destination) we Can Release the Destination Pages. + * Loop for as Many Times as the Number of Pinned Pages of the Destinaton Userspace Memory. + */ + for(repeat = 0; repeat < search_element->buffer_mapped_pages_destination; repeat++) + { + /* + * Release the Page of the Current Field of the Destination Page Array. + */ + put_page(buffer_page_array_destination[repeat]); + } + + /* + * Unlock the mmap_sem Semaphore so that other Userspace Threads can Access that Part of the Code. + */ + up_read(¤t->mm->mmap_sem); + + /* + * Allocate Memory of Size Equal to struct sg_table. + * Set the search_element->dma_sg_table_source to Point at this Memory Allocation. + */ + search_element->dma_sg_table_source = kmalloc(sizeof(struct sg_table), GFP_KERNEL); + + /* + * Allocate Memory of Size Equal to struct sg_table. + * Set the search_element->dma_sg_table_destinaiton to Point at this Memory Allocation. + */ + search_element->dma_sg_table_destination = kmalloc(sizeof(struct sg_table), GFP_KERNEL); + + /* + * The sg_alloc_table Allocates the Memory to Use for the Actual Scatterlist Arrays of the Source Userspace Memory and Deals with the Process of Chaining them all Together. + */ + sg_table_value_source = sg_alloc_table(search_element->dma_sg_table_source, search_element->buffer_mapped_pages_source, GFP_KERNEL); + + /* + * The sg_alloc_table Allocates the Memory to Use for the Actual Scatterlist Arrays of the Destinaiton Userspace Memory and Deals with the Process of Chaining them all Together. + */ + sg_table_value_destination = sg_alloc_table(search_element->dma_sg_table_destination, search_element->buffer_mapped_pages_destination, GFP_KERNEL); + + /* + * The search_element->dma_sg_table_source->sgl Points to the Memory where the Source Scatter/Gather List will be Stored. + * Set the search_element->scatterlist_pointer_source Pointer that Belongs to the Current Thread to Point at the Same Memory where the Source Scatter/Gather List will be Stored. + */ + search_element->scatterlist_pointer_source = search_element->dma_sg_table_source->sgl; + + /* + * The search_element->dma_sg_table_destination->sgl Points to the Memory where the Destination Scatter/Gather List will be Stored. + * Set the search_element->scatterlist_pointer_destination Pointer that Belongs to the Current Thread to Point at the Same Memory where the Destination Scatter/Gather List will be Stored. + */ + search_element->scatterlist_pointer_destination = search_element->dma_sg_table_destination->sgl; + + /* + * Loop for as Many Times as the Number of Pinned Pages of the Source Userspace Memory. + */ + for(repeat = 0; repeat < search_element->buffer_mapped_pages_source; repeat++) + { + /* + * Get the Current Page from the Source Page Array and Set Accordingly the Current Scatter/Gather List Entry (search_element->scatterlist_pointer_source) of that Page. + */ + sg_set_page(search_element->scatterlist_pointer_source, buffer_page_array_source[repeat], PAGE_SIZE, 0); + + /* + * Use sg_next() to Walk to the Next Scatter/Gather List Entry that will be Set in the Next Iteration. + */ + search_element->scatterlist_pointer_source = sg_next(search_element->scatterlist_pointer_source); + } + + + /* + * Loop for as Many Times as the Number of Pinned Pages of the Destination Userspace Memory. + */ + for(repeat = 0; repeat < search_element->buffer_mapped_pages_destination; repeat++) + { + /* + * Get the Current Page from the Destination Page Array and Set Accordingly the Current Scatter/Gather List Entry (search_element->scatterlist_pointer_destinaiton) of that Page. + */ + sg_set_page(search_element->scatterlist_pointer_destination, buffer_page_array_destination[repeat], PAGE_SIZE, 0); + + /* + * Use sg_next() to Walk to the Next Scatter/Gather List Entry that will be Set in the Next Iteration. + */ + search_element->scatterlist_pointer_destination = sg_next(search_element->scatterlist_pointer_destination); + } + + /* + * The Usage of sg_next() Made the search_element->scatterlist_pointer_source Pointer to Point at the Last Scatter/Gather List Entry. + * So, Set the search_element->scatterlist_pointer_source to Point again at the Beginning of the Scatter/Gathet List (search_element->dma_sg_table_source->sgl) + */ + search_element->scatterlist_pointer_source = search_element->dma_sg_table_source->sgl; + + /* + * The Usage of sg_next() Made the search_element->scatterlist_pointer_destination Pointer to Point at the Last Scatter/Gather List Entry. + * So, Set the search_element->scatterlist_pointer_destination to Point again at the Beginning of the Scatter/Gathet List (search_element->dma_sg_table_destination->sgl) + */ + search_element->scatterlist_pointer_destination = search_element->dma_sg_table_destination->sgl; + + /* + * Use dma_map_sg() which Fills the dma_address Field of each Entry of the Source Scatter/Gather List with the Physical Address of each Page of the Source Userspace Memory. + * The Physical Address Can be Later Passed to the AGSG in Order to Access the Userspace Source Memory. + */ + search_element->buffer_dma_buffers_source = dma_map_sg(&dev->dev, search_element->scatterlist_pointer_source, search_element->buffer_mapped_pages_source, DMA_BIDIRECTIONAL); + + /* + * Use dma_map_sg() which Fills the dma_address Field of each Entry of the Destination Scatter/Gather List with the Physical Address of each Page of the Destination Userspace Memory. + * The Physical Address Can be Later Passed to the AGSG in Order to Access the Userspace Destination Memory. + */ + search_element->buffer_dma_buffers_destination = dma_map_sg(&dev->dev, search_element->scatterlist_pointer_destination, search_element->buffer_mapped_pages_destination, DMA_BIDIRECTIONAL); + + #ifdef DEBUG_MESSAGES + printk(KERN_ALERT "[%s-DBG -> UNLOCKED IOCTL (PID %d)] DMA Source SG Pages Number: %d\n", driver_name, current->pid, search_element->buffer_dma_buffers_source); + printk(KERN_ALERT "[%s-DBG -> UNLOCKED IOCTL (PID %d)] DMA Destination SG Pages Number: %d\n", driver_name, current->pid, search_element->buffer_dma_buffers_destination); + #endif + + /* + * Clear the Pages Array of the Source Userspace Memory as it is no Longer Needed. + */ + kfree(buffer_page_array_source); + + /* + * Clear the Pages Array of the Destination Userspace Memory as it is no Longer Needed. + */ + kfree(buffer_page_array_destination); + + /* + * Allocate Memory (64K) that will be Used as an Array to Store all the Physical Addresses of the Pages that Belong to the Source Userspace Memory. + * The Allocation Size is Large Enough to Support Images of 4K Resolution that Require 8100 Pages. + * + * The Physical Addresses of this Allocation will be Copied in the FPGA BRAM so that the AGSG Can Use them to Fetch the Initial Image Data from the Source Userspace Memory. + */ + search_element->u64_sg_list_source = (uint64_t *)kmalloc( 64 * KBYTE, GFP_KERNEL); + + /* + * Allocate Memory (64K) that will be Used as an Array to Store all the Physical Addresses of the Pages that Belong to the Destination Userspace Memory. + * The Allocation Size is Large Enough to Support Images of 4K Resolution that Require 8100 Pages. + * + * The Physical Addresses of this Allocation will be Copied in the FPGA BRAM so that the AGSG Can Use them to Send the Processed Image Data to the Destination Userspace Memory. + */ + search_element->u64_sg_list_destination = (uint64_t *)kmalloc( 64 * KBYTE, GFP_KERNEL); + + + for(repeat = 0; repeat < search_element->buffer_dma_buffers_source; repeat++) + { + /* + * Use sg_dma_address() to Get the Physical Address of the Source Page of the Current Source Scatter/Gather List Entry. + * Store the Physical Address to the Current Field of the search_element->u64_sg_list_source Array Pointer. + */ + search_element->u64_sg_list_source[repeat] = sg_dma_address(search_element->scatterlist_pointer_source); + + /* + * The sg_dma_len() is Useful If we Needed to Know the Data Size in Each Page. + * It is not Currently Used but it is Kept for Future Implementations. + */ + //sg_list_length_source_base_address[repeat] = sg_dma_len(scatterlist_pointer_source); + + /* + * Use sg_next() to Walk to the Next Scatter/Gather List Entry. + */ + search_element->scatterlist_pointer_source = sg_next(search_element->scatterlist_pointer_source); + + } + + + for(repeat = 0; repeat < search_element->buffer_dma_buffers_destination; repeat++) + { + /* + * Use sg_dma_address() to Get the Physical Address of the Destination Page of the Current Destination Scatter/Gather List Entry. + * Store the Physical Address to the Current Field of the search_element->u64_sg_list_destination Array Pointer. + */ + search_element->u64_sg_list_destination[repeat] = sg_dma_address(search_element->scatterlist_pointer_destination); + + /* + * The sg_dma_len() is Useful If we Needed to Know the Data Size in Each Page. + * It is not Currently Used but it is Kept for Future Implementations. + */ + //sg_list_length_destination_base_address[repeat] = sg_dma_len(scatterlist_pointer_destination); + + /* + * Use sg_next() to Walk to the Next Scatter/Gather List Entry. + */ + search_element->scatterlist_pointer_destination = sg_next(search_element->scatterlist_pointer_destination); + + } + + /* + * The Usage of sg_next() Made the search_element->scatterlist_pointer_source Pointer to Point at the Last Scatter/Gather List Entry. + * So, Set the search_element->scatterlist_pointer_source to Point again at the Beginning of the Scatter/Gathet List (search_element->dma_sg_table_source->sgl) + */ + search_element->scatterlist_pointer_source = search_element->dma_sg_table_source->sgl; + + /* + * The Usage of sg_next() Made the search_element->scatterlist_pointer_destination Pointer to Point at the Last Scatter/Gather List Entry. + * So, Set the search_element->scatterlist_pointer_destination to Point again at the Beginning of the Scatter/Gathet List (search_element->dma_sg_table_destination->sgl) + */ + search_element->scatterlist_pointer_destination = search_element->dma_sg_table_destination->sgl; + + + /* + * Use pci_dma_sync_sg_for_device() that Synchronizes the Source Userspace Memory so that the Device Can See the Most Up to Date Data. + * This Step Should Take Place Before Actually Giving the Physical Addresses of the Scatter/Gather List to the Hardware (AGSG). + */ + pci_dma_sync_sg_for_device(dev, search_element->scatterlist_pointer_source, search_element->buffer_dma_buffers_source, PCI_DMA_TODEVICE); + + /* + * Use pci_dma_sync_sg_for_device() that Synchronizes the Destination Userspace Memory so that the Device Can See the Most Up to Date Data. + * This Step Should Take Place Before Actually Giving the Physical Addresses of the Scatter/Gather List to the Hardware (AGSG). + */ + pci_dma_sync_sg_for_device(dev, search_element->scatterlist_pointer_destination, search_element->buffer_dma_buffers_destination, PCI_DMA_TODEVICE); + + } + } + + /* + * Set the search_element Pointer to Point at the Next List Node. + */ + search_element = search_element->next_pid; + } + + /* + * Unlock the set_pages_sem Semaphore so that other Userspace Threads can Access that Part of the Code. + */ + up_write(&set_pages_sem); + + + break; + + + /* + * This Case is Used when the Current Thread of the Userspace Application Requests to Unmap the Pages that were Mapped + * when Creating the Scatter/Gather Lists for the Need of the Current Thread. + * + * It, also, Releases the Scatter/Gather Lists and any Resources that were Required for the Scatter/Gather Operations of the Current Thread. + */ + case COMMAND_UNMAP_PAGES: + + /* + * Lock the unmap_pages_sem Semaphore so that only the Current Userspace Thread can Access that part of the Code. + */ + down_write(&unmap_pages_sem); + + #ifdef DEBUG_MESSAGES + printk(KERN_ALERT "[%s-DBG -> UNLOCKED IOCTL (PID %d)] Going to Unmap Scatter/Gather Pages\n", driver_name, current->pid); + #endif + + /* + * Set the search_element Pointer to Point at the Head (pid_list_head) of the Singly Linked List so that we Can Search the List of Nodes from the Beginning. + */ + search_element = pid_list_head; + + /* + * Keep Moving Forward in the Singly Linked List for as long as the search_element Pointer has not Reached a NULL Value. + * + * The Reason for Searching the Singly Linked List at this Point is to Find the List Node that Belongs to the Current Userspace Thread. + * The Structure Fields of the Current Thread's Node will be Needed in order to Unmap the Pages from the Kernel Space and Free the Scatter/Gather Lists and the Resources + * that were Created when Setting the Scatter/Gather Lists for the Userspace Memories of the Current Thread. + */ + while(search_element != NULL) + { + /* + * Check if the Current Node's PID Value is Equal to the Current Userspace Thread's PID. + * If this is the Case then we Can Proceed to Unmapping and Releasing. + */ + if(search_element->pid == current->pid) + { + /* + * Unmap the Scatter/Gather List of the Userspace Source Memory. + * If we Avoid Unmapping, the Userspace Thread will not be able to Use the Source Memory Correctly. + */ + dma_unmap_sg(&dev->dev, search_element->scatterlist_pointer_source, search_element->buffer_mapped_pages_source, DMA_BIDIRECTIONAL); + + /* + * Unmap the Scatter/Gather List of the Userspace Destination Memory. + * If we Avoid Unmapping, the Userspace Thread will not be able to Use the Destination Memory Correctly. + */ + dma_unmap_sg(&dev->dev, search_element->scatterlist_pointer_destination, search_element->buffer_mapped_pages_destination, DMA_BIDIRECTIONAL); + + /* + * Free the Scatter/Gather List Table of the Source Userspace Memory. + */ + sg_free_table(search_element->dma_sg_table_source); + + /* + * Free the Scatter/Gather List Table of the Destination Userspace Memory. + */ + sg_free_table(search_element->dma_sg_table_destination); + + /* + * Free the Memory Allocation where the Scatter/Gather List Table of the Source Memory was Stored. + */ + kfree(search_element->dma_sg_table_source); + + /* + * Free the Memory Allocation where the Scatter/Gather List Table of the Destination Memory was Stored. + */ + kfree(search_element->dma_sg_table_destination); + + /* + * Free the Memory Allocation where the 64 Bit Physical Addresses of the Pages of the Source Userspace Memory were Stored. + */ + kfree(search_element->u64_sg_list_source); + + /* + * Free the Memory Allocation where the 64 Bit Physical Addresses of the Pages of the Destination Userspace Memory were Stored. + */ + kfree(search_element->u64_sg_list_destination); + + } + + /* + * Set the search_element Pointer to Point at the Next List Node. + */ + search_element = search_element->next_pid; + + } + + /* + * Unlock the unmap_pages_sem Semaphore so that other Userspace Threads can Access that Part of the Code. + */ + up_write(&unmap_pages_sem); + + break; + + /* + * This Case is Used when a Userspace Thread Requests to Reset the Acceleration Flags that are Used to Indicate which Threads (PIDs) Use the Acceleration Groups. + * It is, also, Used to Reset the accelerator_busy Mask. + */ + case COMMAND_RESET_VARIABLES: + + + #ifdef DEBUG_MESSAGES + printk(KERN_ALERT "[%s-DBG -> UNLOCKED IOCTL (PID %d)] Going to Reset Driver Variables\n", driver_name, current->pid); + #endif + + /* + * Reset the accelerator_busy Mask. + */ + inter_process_shared_info_memory->shared_status_flags.accelerator_busy = 0; + + /* + * Reset the accel_direct_0_occupied_pid Flag that Indicates which Thread (PID) Occupies the AGD0. + */ + inter_process_shared_info_memory->shared_status_flags.accel_direct_0_occupied_pid = 0; + + /* + * Reset the accel_direct_1_occupied_pid Flag that Indicates which Thread (PID) Occupies the AGD1. + */ + inter_process_shared_info_memory->shared_status_flags.accel_direct_1_occupied_pid = 0; + + /* + * Reset the accel_indirect_0_occupied_pid Flag that Indicates which Thread (PID) Occupies the AGI0. + */ + inter_process_shared_info_memory->shared_status_flags.accel_indirect_0_occupied_pid = 0; + + /* + * Reset the accel_indirect_1_occupied_pid Flag that Indicates which Thread (PID) Occupies the AGI1. + */ + inter_process_shared_info_memory->shared_status_flags.accel_indirect_1_occupied_pid = 0; + + /* + * Reset the accel_indirect_2_occupied_pid Flag that Indicates which Thread (PID) Occupies the AGI2. + */ + inter_process_shared_info_memory->shared_status_flags.accel_indirect_2_occupied_pid = 0; + + /* + * Reset the accel_indirect_3_occupied_pid Flag that Indicates which Thread (PID) Occupies the AGI3. + */ + inter_process_shared_info_memory->shared_status_flags.accel_indirect_3_occupied_pid = 0; + + /* + * Reset the accel_sg_0_occupied_pid Flag that Indicates which Thread (PID) Occupies the AGSG. + */ + inter_process_shared_info_memory->shared_status_flags.accel_sg_0_occupied_pid = 0; + + break; + + /* + * This IOCtl Call is Made After the Current Thread Has Called the COMMAND_REQUEST_ACCELERATOR_ACCESS IOCtl Call and the Driver Assigned AGSG to the Current Thread. + * Then, the Current Thread Had to Make the COMMAND_SET_PAGES IOCtl Call to Create the Scatter/Gather Lists that are Required for the AGSG to Operate. + * Finally the Current Userspace Thread Makes the COMMAND_REQUEST_ACCELERATOR_SG_ACCESS IOCtl Call in order to Start the AGSG. + */ + case COMMAND_REQUEST_ACCELERATOR_SG_ACCESS: + + /* + * Lock the sg_sem Semaphore so that only the Current Userspace Thread can Access that part of the Code. + */ + down_write(&sg_sem); + + /* + * Set the search_element Pointer to Point at the Head (pid_list_head) of the Singly Linked List so that we Can Search the List of Nodes from the Beginning. + */ + search_element = pid_list_head; + + /* + * Keep Moving Forward in the Singly Linked List for as long as the search_element Pointer has not Reached a NULL Value. + * + * The Reason for Searching the Singly Linked List at this Point is to Find the List Node that Belongs to the Current Userspace Thread. + * The Structure Fields of the Current Thread's Node will be Needed in order to Get the Source and Destination Scatter/Gather Lists of the Current Thread. + * The Scatter/Gather Lists will be Transferred to the FPGA's BRAM so that the AGSG Can Use them to Start the Acceleration. + */ + while(search_element != NULL) + { + + /* + * Check if the Current Node's PID Value is Equal to the Current Userspace Thread's PID. + * If this is the Case then we Can Proceed to Acceleration. + */ + if(search_element->pid == current->pid) + { + + /* + * Lock the case_6_sem Semaphore so that only the Current Userspace Thread can Access that part of the Code. + */ + down_write(&case_6_sem); + + /* + * Read a 64 Bit Time Value from the FPGA's Shared Timer (Shared APM) which is the Time Moment that the Sleep State (If the Thread was in Sleep State) of the Current Thread Has Ended. + * Store this Time Value in the Metrics Structure which is inside the Metrics Kernel Memory of the Current Thread. + */ + search_element->shared_repo_virtual_address->process_metrics.sleep_time_end = readq((u64 *)bar0_address_virtual + BAR0_OFFSET_TIMER / 8); + + /* + * Unlock the case_6_sem Semaphore so that other Userspace Threads can Access that Part of the Code. + */ + up_write(&case_6_sem); + + ///////////////////////////////////////////////////////////////////////////////////////// + //Set Up and Start Accelerator Group SG + ///////////////////////////////////////////////////////////////////////////////////////// + + /* + * Loop for as Many Times as the Number of Pinned Pages of the Source Userspace Memory. + */ + for(repeat = 0; repeat < search_element->buffer_dma_buffers_source; repeat++) + { + /* + * Write the 64 Bit SG List Source Addresses of the Current Thread to FPGA BRAM at 32K Offset. + */ + writeq(search_element->u64_sg_list_source[repeat], (u64 *) bar1_address_virtual + repeat + 8192); + } + + + /* + * Loop for as Many Times as the Number of Pinned Pages of the Destination Userspace Memory. + */ + for(repeat = 0; repeat < search_element->buffer_dma_buffers_destination; repeat++) + { + /* + * Write the 64 Bit SG List Destination Addresses of the Current Thread to FPGA BRAM at 64K Offset. + */ + writeq(search_element->u64_sg_list_destination[repeat], (u64 *) bar1_address_virtual + repeat + 16384); + + } + + /* + * Set the FPGA's Acceleration Scheduler Scatter/Gather of the AGSG (through the PCIe Bus) with the Number of Image Columns that the AGSG will Process. + */ + write_remote_register(bar0_address_virtual, BAR0_OFFSET_ACCEL_GROUP_SG_ACCELERATION_SCHEDULER_SG + XACCELERATION_SCHEDULER_SG_XDMA_CFG_ADDR_IMAGE_COLS_DATA, (u32)search_element->shared_repo_virtual_address->shared_image_info.columns); + + /* + * Set the FPGA's Acceleration Scheduler Scatter/Gather of the AGSG (through the PCIe Bus) with the Number of Image Rows that the AGSG will Process. + */ + write_remote_register(bar0_address_virtual, BAR0_OFFSET_ACCEL_GROUP_SG_ACCELERATION_SCHEDULER_SG + XACCELERATION_SCHEDULER_SG_XDMA_CFG_ADDR_IMAGE_ROWS_DATA, (u32)search_element->shared_repo_virtual_address->shared_image_info.rows); + + /* + * Set the FPGA's Acceleration Scheduler Scatter/Gather of the AGSG (through the PCIe Bus) with the START Flag in Order to Start the Acceleration Procedure. + */ + write_remote_register(bar0_address_virtual, BAR0_OFFSET_ACCEL_GROUP_SG_ACCELERATION_SCHEDULER_SG + XACCELERATION_SCHEDULER_SG_XDMA_CFG_ADDR_AP_CTRL, (u32)START); + + #ifdef DEBUG_MESSAGES + printk(KERN_ALERT "[%s-DBG -> UNLOCKED IOCTL (PID %d)] Sending Start Request to AGSG\n", driver_name, current->pid); + #endif + + } + + /* + * Set the search_element Pointer to Point at the Next List Node. + */ + search_element = search_element->next_pid; + } + + /* + * Unlock the sg_sem Semaphore so that other Userspace Threads can Access that Part of the Code. + */ + up_write(&sg_sem); + + break; + + + + default: + break; +} + +/* + * Unlock the ioctl_sem Semaphore so that other Userspace Threads can Access that Part of the Code. + */ +up_write(&ioctl_sem); + +return(SUCCESS); +} + +/** OK + * The xilinx_kc705_driver_file_operations Structure Indicates which Driver Function Routines Correspond (Called) to the + * File Operations that a Userspace Application Makes on the Driver File. + * + * @note Older Versions of the Driver, also, Used the Write and Read File Operations which are no Longer Needed Since only DMAs Make Data Transfers. + */ +struct file_operations xilinx_kc705_driver_file_operations = { + unlocked_ioctl: xilinx_pci_driver_unlocked_ioctl, + open: xilinx_pci_driver_open, + release: xilinx_pci_driver_release, +}; + + + + +/** OK + * shared_repo_open() + * + * It is Called when a Userspace Application Opens the shared_repo_mmap_value Debugfs File. + */ +int shared_repo_open(struct inode *inode, struct file *file_pointer) +{ + #ifdef DEBUG_MESSAGES + printk(KERN_ALERT "[%s-DBG -> SHARED REPO OPEN (PID %d)] Opening Shared Repo File\n", driver_name, current->pid); + #endif + + return SUCCESS; +} + +/** OK + * shared_repo_release() + * + * It is Called when a Userspace Application Releases the shared_repo_mmap_value Debugfs File. + */ +int shared_repo_release(struct inode *inode, struct file *file_pointer) +{ + + #ifdef DEBUG_MESSAGES + printk(KERN_ALERT "[%s-DBG -> SHARED REPO RELEASE (PID %d)] Releasing Shared Repo File\n", driver_name, current->pid); + #endif + + return(SUCCESS); +} + +/** OK + * shared_repo_mmap() + * + * It is Called when a Userspace Application Makes a Mmap File Operation to the shared_repo_mmap_value Debugfs File. + * By Calling the shared_repo_mmap() a Userspace Application Intends to Map a Kernel Space Memory Allocation to Userspace. + */ +static int shared_repo_mmap(struct file *file, struct vm_area_struct *vma) +{ + /* + * Pointer of Type struct pid_reserved_memories. + * Used to Access the Singly Linked List where each Node Hold Metrics Information and Pointers for each Userspace Application. + */ + struct pid_reserved_memories *search_element = NULL; + + /* + * The Virtual Address Pointer of the Kernel Memory that will be Allocated by the dma_alloc_coherent(). + */ + u64 *shared_repo_mmap_virtual_address = NULL; + + /* + * The Physical Address of the Kernel Memory that will be Allocated by the dma_alloc_coherent(). + */ + dma_addr_t shared_repo_mmap_physical_address; + + int mmap_return_value; + + /* + * Get the Size of Kernel Memory that the Userspace Application Requested to Map. + */ + long length = vma->vm_end - vma->vm_start; + + + #ifdef DEBUG_MESSAGES + printk(KERN_ALERT "[%s-DBG -> SHARED REPO MMAP (PID %d)] Going to MMAP Kernel Memory of Size %ld\n",driver_name, current->pid, (unsigned long)length); + #endif + + /* + * The dma_alloc_coherent() is Used to Allocate Physically Contiguous Consistent Memory which is Suitable for DMA Operations. + * Consistent Memory Refers to Write Operations by either the Device or the Processor that can Immediately be Read by the Processor or Device + * without Having to Worry about Caching Effects. + * + * The dma_alloc_coherent() herein is Called to Allocate 4M of Kernel Contiguous Memory that will be Used to Store/Gather Metrics from the FPGA, the Kernel Driver and the Userspace Application. + * + * The dma_alloc_coherent() Returns a Pointer (shared_repo_mmap_virtual_address) with the Virtual Address of the Allocated Memory. + * It, also, Returns the shared_repo_mmap_physical_address Pointer with the Physical Address of the Same Allocated Memory. + * + * The Physical Address will be Used by the FPGA Peripherals (DMA, Microblaze etc) to Access the Kernel Memory. + * The Virtual Address will be Used by the Kernel Driver and the Userspace Application to Access the Kernel Memory. + */ + shared_repo_mmap_virtual_address = dma_alloc_coherent( &dev->dev, MMAP_ALLOCATION_SIZE, &shared_repo_mmap_physical_address, GFP_ATOMIC); + + /* + * If the Returned Value of the shared_repo_mmap_virtual_address Pointer is NULL then the dma_alloc_coherent() Failed to Allocate Memory. + */ + if(shared_repo_mmap_virtual_address == NULL) + { + #ifdef DEBUG_MESSAGES + printk(KERN_ALERT "[%s-DBG -> SHARED REPO MMAP (PID %d)] Allocating MMAP Coherent Memory [FAILURE]\n",driver_name, current->pid); + #endif + + return FAILURE; + } + else + { + #ifdef DEBUG_MESSAGES + printk(KERN_ALERT "[%s-DBG -> SHARED REPO MMAP (PID %d)] Allocating MMAP Coherent Memory (Virtual 0x%016lX)(Physical 0x%016lX)[SUCCESS]\n",driver_name, current->pid, (unsigned long)shared_repo_mmap_virtual_address, (unsigned long)shared_repo_mmap_physical_address); + #endif + } + + + /* + * Do Not Allow Larger Mappings than the Number of Allocated Pages in the Kernel. + */ + + if (length > KERNEL_ALLOCATION_SIZE) + { + #ifdef DEBUG_MESSAGES + printk(KERN_ALERT "[%s-DBG -> SHARED REPO MMAP (PID %d)] Cannot MMAP Kernel Memory [Process Requested Larger Number of Pages than the Allocated Ones]\n", driver_name, current->pid); + #endif + + return FAILURE; + } + + + /* + * If Architecture Supports dma_mmap_coherent(). + */ + if (vma->vm_pgoff == 0) + { + #ifdef DEBUG_MESSAGES + printk(KERN_ALERT "[%s-DBG -> SHARED REPO MMAP (PID %d)] Going to MMAP with dma_mmap_coherent()\n", driver_name, current->pid); + #endif + + /* + * The dma_mmap_coherent() is Used to Map the Kernel Memory to Userspace as Non-Cacheable. + * It Requires the Virtual and Physical Addresses as well as the Length of the Memory that we Want to Map to Userspace. + */ + mmap_return_value = dma_mmap_coherent(&dev->dev, vma, shared_repo_mmap_virtual_address, shared_repo_mmap_physical_address, length); + } + /* + * If Architecture Does not Support dma_mmap_coherent() Use the remap_pfn_range(). + */ + else + { + #ifdef DEBUG_MESSAGES + printk(KERN_ALERT "[%s-DBG -> SHARED REPO MMAP (PID %d)] Going to MMAP with remap_pfn_range()\n", driver_name, current->pid); + #endif + + /* + * Set the Memory Area as Non-Cacheable. + */ + vma->vm_page_prot = pgprot_noncached(vma->vm_page_prot); + + /* + * Set the vm_flags with the VM_IO Flag. + * The VM_IO flag specifies that this memory area is a mapping of a device's I/O space. + * It, also, Specifies, among Other Things, that the Memory Allocated Area Must not be Included in any Process's Core Dump. + */ + vma->vm_flags |= VM_IO; + + /* + * Kernel Memory Has a Page Table Entry with an Architecture Specific Bit that Defines that this Page Table Entry is Only Valid while the CPU is in Kernel Mode. + * The remap_pfn_range() Creates Another Page Table Entry, with a Different Virtual Address to the Same Physical Memory Page that Does not Have that Bit Set. + * As s Result, by Using the New Virtual Address the Userspace Application is Capable of Accessing the Kernel Memory Allocation. + */ + mmap_return_value = remap_pfn_range(vma, vma->vm_start, PFN_DOWN(virt_to_phys(bus_to_virt(shared_repo_mmap_physical_address))) + vma->vm_pgoff, length, vma->vm_page_prot); + } + + /* + * If mmap_return_value is Less than 0 then Mmap Failed. + */ + if (mmap_return_value < 0) + { + #ifdef DEBUG_MESSAGES + printk(KERN_ALERT "[%s-DBG -> SHARED REPO MMAP (PID %d)] MMAP [FAILURE]: %d\n", driver_name, current->pid, mmap_return_value); + #endif + + return mmap_return_value; + } + else + { + #ifdef DEBUG_MESSAGES + printk(KERN_ALERT "[%s-DBG -> SHARED REPO MMAP (PID %d)] MMAP [SUCCESS]\n", driver_name, current->pid); + #endif + } + + /* + * Lock the shared_repo_mmap_sem Semaphore so that only the Current Userspace Thread can Access that part of the Code. + */ + down_write(&shared_repo_mmap_sem); + + /* + * Set the search_element Pointer to Point at the Head (pid_list_head) of the Singly Linked List so that we Can Search the List of Nodes from the Beginning. + */ + search_element = pid_list_head; + + /* + * Keep Moving Forward in the Singly Linked List for as long as the search_element Pointer has not Reached a NULL Value. + */ + while(search_element != NULL) + { + + /* + * Check if the Current Node's PID Value is Equal to the PID that Made the MMap File Operation Call. + */ + if(search_element->pid == current->pid) + { + /* + * Save the shared_repo_mmap_virtual_address Virtual Pointer inside the Singly Linked List Node of the Current PID so that we Know that the Kernel Allocated Memory Belongs to the Current PID. + * From this Moment the Virtual Address of that Kernel Memory can be Accessed only through the Current Singly List Node and Only on Behalf of the PID that this Node Belongs to. + */ + search_element->shared_repo_virtual_address = (struct shared_repository_process *)shared_repo_mmap_virtual_address; + + /* + * Save the shared_repo_mmap_physical_address Physical Address inside the Singly Linked List Node of the Current PID so that we Know that the Kernel Allocated Memory Belongs to the Current PID. + * From this Moment the Physical Address of that Kernel Memory can be Accessed only through the Current Singly List Node and Only on Behalf of the PID that this Node Belongs to. + */ + search_element->shared_repo_physical_address = (u32)shared_repo_mmap_physical_address; + + break; + } + + /* + * Set the search_element Pointer to Point at the Next List Node. + */ + search_element = search_element->next_pid; + } + + /* + * Unlock the shared_repo_mmap_sem Semaphore so that other Userspace Threads can Access that Part of the Code. + */ + up_write(&shared_repo_mmap_sem); + + + return SUCCESS; +} + +/** OK + * The shared_repo_ops Structure Indicates which Driver Function Routines Correspond (Called) to the + * File Operations that a Userspace Application Makes on the shared_repo_mmap_value Debugfs File. + */ +struct file_operations shared_repo_ops = { + open: shared_repo_open, + release: shared_repo_release, + mmap: shared_repo_mmap, +}; + + + + +/** OK + * pre_process_mmap_open() + * + * It is Called when a Userspace Application Opens the pre_process_mmap_value Debugfs File. + */ +int pre_process_mmap_open(struct inode *inode, struct file *file_pointer) +{ + #ifdef DEBUG_MESSAGES + printk(KERN_ALERT "[%s-DBG -> PRE-PROCESS OPEN (PID %d)] Opening Pre-Processed File\n", driver_name, current->pid); + #endif + + return SUCCESS; +} + +/** OK + * pre_process_mmap_release() + * + * It is Called when a Userspace Application Releases the pre_process_mmap_value Debugfs File. + */ +int pre_process_mmap_release(struct inode *inode, struct file *file_pointer) +{ + #ifdef DEBUG_MESSAGES + printk(KERN_ALERT "[%s-DBG -> PRE-PROCESS RELEASE (PID %d)] Releasing Pre-Processed File\n", driver_name, current->pid); + #endif + + return(SUCCESS); +} + +/** OK + * pre_process_mmap_mmap() + * + * It is Called when a Userspace Application Makes a Mmap File Operation to the pre_process_mmap_value Debugfs File. + * By Calling the pre_process_mmap_mmap() a Userspace Application Intends to Map a Kernel Space Memory Allocation to Userspace. + */ +static int pre_process_mmap_mmap(struct file *file, struct vm_area_struct *vma) +{ + /* + * Pointer of Type struct pid_reserved_memories. + * Used to Access the Singly Linked List where each Node Hold Metrics Information and Pointers for each Userspace Application. + */ + struct pid_reserved_memories *search_element = NULL; + + /* + * The Virtual Address Pointer of the Kernel Memory that will be Allocated by the dma_alloc_coherent(). + */ + u64 *pre_process_mmap_virtual_address = NULL; + + /* + * The Physical Address of the Kernel Memory that will be Allocated by the dma_alloc_coherent(). + */ + dma_addr_t pre_process_mmap_physical_address; + + int mmap_return_value; + + /* + * Get the Size of Kernel Memory that the Userspace Application Requested to Map. + */ + long length = vma->vm_end - vma->vm_start; + + + #ifdef DEBUG_MESSAGES + printk(KERN_ALERT "[%s-DBG -> PRE-PROCESS MMAP (PID %d)] Going to MMAP Kernel Memory of Size %ld\n",driver_name, current->pid, (unsigned long)length); + #endif + + /* + * The dma_alloc_coherent() is Used to Allocate Physically Contiguous Consistent Memory which is Suitable for DMA Operations. + * Consistent Memory Refers to Write Operations by either the Device or the Processor that can Immediately be Read by the Processor or Device + * without Having to Worry about Caching Effects. + * + * The dma_alloc_coherent() herein is Called to Allocate 4M of Kernel Contiguous Memory that will be Used by the Userspace Application to Directly Load the Image Data Before Processing. + * + * The dma_alloc_coherent() Returns a Pointer (pre_process_mmap_virtual_address) with the Virtual Address of the Allocated Memory. + * It, also, Returns the pre_process_mmap_physical_address Pointer with the Physical Address of the Same Allocated Memory. + * + * The Physical Address will be Used by the FPGA Peripherals (DMA, Microblaze etc) to Access the Kernel Memory. + * The Virtual Address will be Used by the Kernel Driver and the Userspace Application to Access the Kernel Memory. + */ + pre_process_mmap_virtual_address = dma_alloc_coherent ( &dev->dev, MMAP_ALLOCATION_SIZE, &pre_process_mmap_physical_address, GFP_ATOMIC); + + /* + * If the Returned Value of the pre_process_mmap_virtual_address Pointer is NULL then the dma_alloc_coherent() Failed to Allocate Memory. + */ + if(pre_process_mmap_virtual_address == NULL) + { + #ifdef DEBUG_MESSAGES + printk(KERN_ALERT "[%s-DBG -> PRE-PROCESS MMAP (PID %d)] Allocating MMAP Coherent Memory [FAILURE]\n",driver_name, current->pid); + #endif + + return FAILURE; + } + else + { + #ifdef DEBUG_MESSAGES + printk(KERN_ALERT "[%s-DBG -> PRE-PROCESS MMAP (PID %d)] Allocating MMAP Coherent Memory (Virtual 0x%016lX)(Physical 0x%016lX)[SUCCESS]\n",driver_name, current->pid, (unsigned long)pre_process_mmap_virtual_address, (unsigned long)pre_process_mmap_physical_address); + #endif + } + + + /* + * Do Not Allow Larger Mappings than the Number of Allocated Pages in the Kernel + */ + if (length > KERNEL_ALLOCATION_SIZE) + { + #ifdef DEBUG_MESSAGES + printk(KERN_ALERT "[%s-DBG -> PRE-PROCESS MMAP (PID %d)] Cannot MMAP Kernel Memory [Process Requested Larger Number of Pages than the Allocated Ones]\n", driver_name, current->pid); + #endif + + return FAILURE; + } + + + /* + * If Architecture Supports dma_mmap_coherent(). + */ + if (vma->vm_pgoff == 0) + { + #ifdef DEBUG_MESSAGES + printk(KERN_ALERT "[%s-DBG -> PRE-PROCESS MMAP (PID %d)] Going to MMAP with dma_mmap_coherent()\n", driver_name, current->pid); + #endif + + /* + * The dma_mmap_coherent() is Used to Map the Kernel Memory to Userspace as Non-Cacheable. + * It Requires the Virtual and Physical Addresses as well as the Length of the Memory that we Want to Map to Userspace. + */ + mmap_return_value = dma_mmap_coherent(&dev->dev, vma, pre_process_mmap_virtual_address, pre_process_mmap_physical_address, length); + } + /* + * If Architecture Does not Support dma_mmap_coherent() Use the remap_pfn_range(). + */ + else + { + #ifdef DEBUG_MESSAGES + printk(KERN_ALERT "[%s-DBG -> PRE-PROCESS MMAP (PID %d)] Going to MMAP with remap_pfn_range()\n", driver_name, current->pid); + #endif + + /* + * Set the Memory Area as Non-Cacheable. + */ + vma->vm_page_prot = pgprot_noncached(vma->vm_page_prot); + + /* + * Set the vm_flags with the VM_IO Flag. + * The VM_IO flag specifies that this memory area is a mapping of a device's I/O space. + * It, also, Specifies, among Other Things, that the Memory Allocated Area Must not be Included in any Process's Core Dump. + */ + vma->vm_flags |= VM_IO; + + /* + * Kernel Memory Has a Page Table Entry with an Architecture Specific Bit that Defines that this Page Table Entry is Only Valid while the CPU is in Kernel Mode. + * The remap_pfn_range() Creates Another Page Table Entry, with a Different Virtual Address to the Same Physical Memory Page that Does not Have that Bit Set. + * As s Result, by Using the New Virtual Address the Userspace Application is Capable of Accessing the Kernel Memory Allocation. + */ + mmap_return_value = remap_pfn_range(vma, vma->vm_start, PFN_DOWN(virt_to_phys(bus_to_virt(pre_process_mmap_physical_address))) + vma->vm_pgoff, length, vma->vm_page_prot); + } + + + /* + * If mmap_return_value is Less than 0 then Mmap Failed. + */ + if (mmap_return_value < 0) + { + #ifdef DEBUG_MESSAGES + printk(KERN_ALERT "[%s-DBG -> PRE-PROCESS MMAP (PID %d)] MMAP [FAILURE]: %d\n", driver_name, current->pid, mmap_return_value); + #endif + + return mmap_return_value; + } + else + { + #ifdef DEBUG_MESSAGES + printk(KERN_ALERT "[%s-DBG -> PRE-PROCESS MMAP (PID %d)] MMAP [SUCCESS]\n", driver_name, current->pid); + #endif + } + + /* + * Lock the pre_process_mmap_sem Semaphore so that only the Current Userspace Thread can Access that part of the Code. + */ + down_write(&pre_process_mmap_sem); + + /* + * Set the search_element Pointer to Point at the Head (pid_list_head) of the Singly Linked List so that we Can Search the List of Nodes from the Beginning. + */ + search_element = pid_list_head; + + + /* + * Keep Moving Forward in the Singly Linked List for as long as the search_element Pointer has not Reached a NULL Value. + */ + while(search_element != NULL) + { + + /* + * Check if the Current Node's PID Value is Equal to the PID that Made the MMap File Operation Call. + */ + if(search_element->pid == current->pid) + { + /* + * Save the pre_process_mmap_virtual_address Virtual Pointer inside the Singly Linked List Node of the Current PID so that we Know that the Kernel Allocated Memory Belongs to the Current PID. + * From this Moment the Virtual Address of that Kernel Memory can be Accessed only through the Current Singly List Node and Only on Behalf of the PID that this Node Belongs to. + */ + search_element->pre_process_mmap_virtual_address = pre_process_mmap_virtual_address; + + /* + * Save the pre_process_mmap_physical_address Physical Address inside the Singly Linked List Node of the Current PID so that we Know that the Kernel Allocated Memory Belongs to the Current PID. + * From this Moment the Physical Address of that Kernel Memory can be Accessed only through the Current Singly List Node and Only on Behalf of the PID that this Node Belongs to. + */ + search_element->pre_process_mmap_physical_address = (u32)pre_process_mmap_physical_address; + + break; + } + + /* + * Set the search_element Pointer to Point at the Next List Node. + */ + search_element = search_element->next_pid; + } + + /* + * Unlock the pre_process_mmap_sem Semaphore so that other Userspace Threads can Access that Part of the Code. + */ + up_write(&pre_process_mmap_sem); + + + return SUCCESS; +} + +/** OK + * The pre_process_mmap_ops Structure Indicates which Driver Function Routines Correspond (Called) to the + * File Operations that a Userspace Application Makes on the pre_process_mmap_value Debugfs File. + */ +struct file_operations pre_process_mmap_ops = { + open: pre_process_mmap_open, + release: pre_process_mmap_release, + mmap: pre_process_mmap_mmap, +}; + + + + +/** OK + * post_process_mmap_open() + * + * It is Called when a Userspace Application Opens the post_process_mmap_value Debugfs File. + */ +int post_process_mmap_open(struct inode *inode, struct file *file_pointer) +{ + #ifdef DEBUG_MESSAGES + printk(KERN_ALERT "[%s-DBG -> POST-PROCESS OPEN (PID %d)] Opening Post-Processed File\n", driver_name, current->pid); + #endif + + return SUCCESS; +} + +/** OK + * post_process_mmap_release() + * + * It is Called when a Userspace Application Releases the post_process_mmap_value Debugfs File. + */ +int post_process_mmap_release(struct inode *inode, struct file *file_pointer) +{ + #ifdef DEBUG_MESSAGES + printk(KERN_ALERT "[%s-DBG -> POST-PROCESS RELEASE (PID %d)] Releasing Post-Processed File\n", driver_name, current->pid); + #endif + + return(SUCCESS); +} + +/** OK + * post_process_mmap_mmap() + * + * It is Called when a Userspace Application Makes a Mmap File Operation to the post_process_mmap_value Debugfs File. + * By Calling the post_process_mmap_mmap() a Userspace Application Intends to Map a Kernel Space Memory Allocation to Userspace. + */ +static int post_process_mmap_mmap(struct file *file, struct vm_area_struct *vma) +{ + /* + * Pointer of Type struct pid_reserved_memories. + * Used to Access the Singly Linked List where each Node Hold Metrics Information and Pointers for each Userspace Application. + */ + struct pid_reserved_memories *search_element = NULL; + + /* + * The Virtual Address Pointer of the Kernel Memory that will be Allocated by the dma_alloc_coherent(). + */ + u64 *post_process_mmap_virtual_address = NULL; + + /* + * The Physical Address of the Kernel Memory that will be Allocated by the dma_alloc_coherent(). + */ + dma_addr_t post_process_mmap_physical_address; + + int mmap_return_value; + + /* + * Get the Size of Kernel Memory that the Userspace Application Requested to Map. + */ + long length = vma->vm_end - vma->vm_start; + + + #ifdef DEBUG_MESSAGES + printk(KERN_ALERT "[%s-DBG -> POST-PROCESS MMAP (PID %d)] Going to MMAP Kernel Memory of Size %ld\n",driver_name, current->pid, (unsigned long)length); + #endif + + /* + * The dma_alloc_coherent() is Used to Allocate Physically Contiguous Consistent Memory which is Suitable for DMA Operations. + * Consistent Memory Refers to Write Operations by either the Device or the Processor that can Immediately be Read by the Processor or Device + * without Having to Worry about Caching Effects. + * + * The dma_alloc_coherent() herein is Called to Allocate 4M of Kernel Contiguous Memory that will be Used by the DMA to Store the Processed Image Data + * and by the Userspace Application to Directly Save the Image Data After Processing. + * + * The dma_alloc_coherent() Returns a Pointer (post_process_mmap_virtual_address) with the Virtual Address of the Allocated Memory. + * It, also, Returns the post_process_mmap_physical_address Pointer with the Physical Address of the Same Allocated Memory. + * + * The Physical Address will be Used by the FPGA Peripherals (DMA, Microblaze etc) to Access the Kernel Memory. + * The Virtual Address will be Used by the Kernel Driver and the Userspace Application to Access the Kernel Memory. + */ + post_process_mmap_virtual_address = dma_alloc_coherent ( &dev->dev, MMAP_ALLOCATION_SIZE, &post_process_mmap_physical_address, GFP_ATOMIC); + + /* + * If the Returned Value of the post_process_mmap_virtual_address Pointer is NULL then the dma_alloc_coherent() Failed to Allocate Memory. + */ + if(post_process_mmap_virtual_address == NULL) + { + #ifdef DEBUG_MESSAGES + printk(KERN_ALERT "[%s-DBG -> POST-PROCESS MMAP (PID %d)] Allocating MMAP Coherent Memory [FAILURE]\n",driver_name, current->pid); + #endif + + return FAILURE; + } + else + { + #ifdef DEBUG_MESSAGES + printk(KERN_ALERT "[%s-DBG -> POST-PROCESS MMAP (PID %d)] Allocating MMAP Coherent Memory (Virtual 0x%016lX)(Physical 0x%016lX)[SUCCESS]\n",driver_name, current->pid, (unsigned long)post_process_mmap_virtual_address, (unsigned long)post_process_mmap_physical_address); + #endif + } + + + /* + * Do Not Allow Larger Mappings than the Number of Allocated Pages in the Kernel + */ + if (length > KERNEL_ALLOCATION_SIZE) + { + #ifdef DEBUG_MESSAGES + printk(KERN_ALERT "[%s-DBG -> POST-PROCESS MMAP (PID %d)] Cannot MMAP Kernel Memory [Process Requested Larger Number of Pages than the Allocated Ones]\n", driver_name, current->pid); + #endif + + return FAILURE; + } + + + /* + * If Architecture Supports dma_mmap_coherent(). + */ + if (vma->vm_pgoff == 0) + { + #ifdef DEBUG_MESSAGES + printk(KERN_ALERT "[%s-DBG -> POST-PROCESS MMAP (PID %d)] Going to MMAP with dma_mmap_coherent()\n", driver_name, current->pid); + #endif + + /* + * The dma_mmap_coherent() is Used to Map the Kernel Memory to Userspace as Non-Cacheable. + * It Requires the Virtual and Physical Addresses as well as the Length of the Memory that we Want to Map to Userspace. + */ + mmap_return_value = dma_mmap_coherent(&dev->dev, vma, post_process_mmap_virtual_address, post_process_mmap_physical_address, length); + } + /* + * If Architecture Does not Support dma_mmap_coherent() Use the remap_pfn_range(). + */ + else + { + #ifdef DEBUG_MESSAGES + printk(KERN_ALERT "[%s-DBG -> POST-PROCESS MMAP (PID %d)] Going to MMAP with remap_pfn_range()\n", driver_name, current->pid); + #endif + + /* + * Set the Memory Area as Non-Cacheable. + */ + vma->vm_page_prot = pgprot_noncached(vma->vm_page_prot); + + /* + * Set the vm_flags with the VM_IO Flag. + * The VM_IO flag specifies that this memory area is a mapping of a device's I/O space. + * It, also, Specifies, among Other Things, that the Memory Allocated Area Must not be Included in any Process's Core Dump. + */ + vma->vm_flags |= VM_IO; + + /* + * Kernel Memory Has a Page Table Entry with an Architecture Specific Bit that Defines that this Page Table Entry is Only Valid while the CPU is in Kernel Mode. + * The remap_pfn_range() Creates Another Page Table Entry, with a Different Virtual Address to the Same Physical Memory Page that Does not Have that Bit Set. + * As s Result, by Using the New Virtual Address the Userspace Application is Capable of Accessing the Kernel Memory Allocation. + */ + mmap_return_value = remap_pfn_range(vma, vma->vm_start, PFN_DOWN(virt_to_phys(bus_to_virt(post_process_mmap_physical_address))) + vma->vm_pgoff, length, vma->vm_page_prot); + } + + /* + * If mmap_return_value is Less than 0 then Mmap Failed. + */ + if (mmap_return_value < 0) + { + #ifdef DEBUG_MESSAGES + printk(KERN_ALERT "[%s-DBG -> POST-PROCESS MMAP (PID %d)] MMAP [FAILURE]: %d\n", driver_name, current->pid, mmap_return_value); + #endif + + return mmap_return_value; + } + else + { + #ifdef DEBUG_MESSAGES + printk(KERN_ALERT "[%s-DBG -> POST-PROCESS MMAP (PID %d)] MMAP [SUCCESS]\n", driver_name, current->pid); + #endif + } + + /* + * Lock the post_process_mmap_sem Semaphore so that only the Current Userspace Thread can Access that part of the Code. + */ + down_write(&post_process_mmap_sem); + + /* + * Set the search_element Pointer to Point at the Head (pid_list_head) of the Singly Linked List so that we Can Search the List of Nodes from the Beginning. + */ + search_element = pid_list_head; + + /* + * Keep Moving Forward in the Singly Linked List for as long as the search_element Pointer has not Reached a NULL Value. + */ + while(search_element != NULL) + { + + /* + * Check if the Current Node's PID Value is Equal to the PID that Made the MMap File Operation Call. + */ + if(search_element->pid == current->pid) + { + /* + * Save the post_process_mmap_virtual_address Virtual Pointer inside the Singly Linked List Node of the Current PID so that we Know that the Kernel Allocated Memory Belongs to the Current PID. + * From this Moment the Virtual Address of that Kernel Memory can be Accessed only through the Current Singly List Node and Only on Behalf of the PID that this Node Belongs to. + */ + search_element->post_process_mmap_virtual_address = post_process_mmap_virtual_address; + + /* + * Save the post_process_mmap_physical_address Physical Address inside the Singly Linked List Node of the Current PID so that we Know that the Kernel Allocated Memory Belongs to the Current PID. + * From this Moment the Physical Address of that Kernel Memory can be Accessed only through the Current Singly List Node and Only on Behalf of the PID that this Node Belongs to. + */ + search_element->post_process_mmap_physical_address = (u32)post_process_mmap_physical_address; + + break; + } + + /* + * Set the search_element Pointer to Point at the Next List Node. + */ + search_element = search_element->next_pid; + } + + /* + * Unlock the post_process_mmap_sem Semaphore so that other Userspace Threads can Access that Part of the Code. + */ + up_write(&post_process_mmap_sem); + + return SUCCESS; +} + +/** OK + * The post_process_mmap_ops Structure Indicates which Driver Function Routines Correspond (Called) to the + * File Operations that a Userspace Application Makes on the post_process_mmap_value Debugfs File. + */ +struct file_operations post_process_mmap_ops = { + open: post_process_mmap_open, + release: post_process_mmap_release, + mmap: post_process_mmap_mmap, +}; + + + + +/** OK + * xilinx_pci_driver_init() + * + * It is Called when the Driver Module is Inserted into the Linux Kernel. + * + * @return SUCCESS when the whole Initialization Procedure Completes Successfully. + */ +static int xilinx_pci_driver_init(void) +{ + int interrupts_number = 0; + + /* + * Initialize the Wait Queue. + */ + init_waitqueue_head(&ioctl_queue); + + /* + * Initialize the Read/Write Semaphores Present in the Driver. + */ + init_rwsem(&ioctl_sem); + + init_rwsem(&case_0_sem); + init_rwsem(&case_1_sem); + init_rwsem(&case_2_sem); + init_rwsem(&case_3_sem); + init_rwsem(&case_4_sem); + init_rwsem(&case_5_sem); + init_rwsem(&case_6_sem); + + init_rwsem(&msi_1_sem); + init_rwsem(&msi_2_sem); + init_rwsem(&msi_3_sem); + init_rwsem(&msi_4_sem); + init_rwsem(&msi_5_sem); + init_rwsem(&msi_6_sem); + init_rwsem(&msi_7_sem); + + init_rwsem(&set_pages_sem); + init_rwsem(&unmap_pages_sem); + init_rwsem(&sg_sem); + + init_rwsem(&write_sem); + init_rwsem(&search_element_sem); + + init_rwsem(&main_open_sem); + init_rwsem(&main_release_sem); + + init_rwsem(&shared_repo_mmap_sem); + init_rwsem(&pre_process_mmap_sem); + init_rwsem(&post_process_mmap_sem); + + + /* + * Check if Hardware Exists According to the Vendor and Device ID of the PCIe Device. + * + */ + dev = pci_get_device (VENDOR_ID, DEVICE_ID, dev); + if (dev == NULL) + { + #ifdef DEBUG_MESSAGES + printk(KERN_ALERT "[%s-DBG -> DRIVER INIT (PID %d)] Checking for Hardware [NOT FOUND]\n", driver_name, current->pid); + #endif + return (-1); + } + else + { + #ifdef DEBUG_MESSAGES + printk(KERN_ALERT "[%s-DBG -> DRIVER INIT (PID %d)] Checking for Hardware [FOUND]\n", driver_name, current->pid); + #endif + } + + /* + * Create Debugfs File Which Will Be Used to Provide Additional System Calls from the Userspace Application to the Driver + */ + pre_process_mmap_file = debugfs_create_file("pre_process_mmap_value", 0644, NULL, NULL, &pre_process_mmap_ops); + + + if(pre_process_mmap_file == NULL) + { + #ifdef DEBUG_MESSAGES + printk(KERN_ALERT "[%s-DBG -> DRIVER INIT (PID %d)] Creating Pre-Process MMAP Debugfs File [FAILURE]\n", driver_name, current->pid); + #endif + return (-1); + } + else + { + #ifdef DEBUG_MESSAGES + printk(KERN_ALERT "[%s-DBG -> DRIVER INIT (PID %d)] Creating Pre-Process MMAP Debugfs File [SUCCESS]\n", driver_name, current->pid); + #endif + } + + + /* + * Create Debugfs File Which Will Be Used to Provide Additional System Calls from the Userspace Application to the Driver + */ + post_process_mmap_file = debugfs_create_file("post_process_mmap_value", 0644, NULL, NULL, &post_process_mmap_ops); + + + if(post_process_mmap_file == NULL) + { + #ifdef DEBUG_MESSAGES + printk(KERN_ALERT "[%s-DBG -> DRIVER INIT (PID %d)] Creating Post-Process MMAP Debugfs File [FAILURE]\n", driver_name, current->pid); + #endif + return (-1); + } + else + { + #ifdef DEBUG_MESSAGES + printk(KERN_ALERT "[%s-DBG -> DRIVER INIT (PID %d)] Creating Post-Process MMAP Debugfs File [SUCCESS]\n", driver_name, current->pid); + #endif + } + + /* + * Create Debugfs File Which Will Be Used to Provide Additional System Calls from the Userspace Application to the Driver + */ + shared_repo_mmap_file = debugfs_create_file("shared_repo_mmap_value", 0644, NULL, NULL, &shared_repo_ops); + + + if(shared_repo_mmap_file == NULL) + { + #ifdef DEBUG_MESSAGES + printk(KERN_ALERT "[%s-DBG -> DRIVER INIT (PID %d)] Creating Shared Repo MMAP Debugfs File [FAILURE]\n", driver_name, current->pid); + #endif + return (-1); + } + else + { + #ifdef DEBUG_MESSAGES + printk(KERN_ALERT "[%s-DBG -> DRIVER INIT (PID %d)] Creating Shared Repo MMAP Debugfs File [SUCCESS]\n", driver_name, current->pid); + #endif + } + + /* + * Configure the status_flags with the HAVE_DEBUGFS Flag to Let the Driver Know that we Have Created debugfs Files. + */ + status_flags = status_flags | HAVE_DEBUGFS; + + /* + * Enable the PCIe Endpoint Device + */ + if (pci_enable_device(dev) < 0) + { + #ifdef DEBUG_MESSAGES + printk(KERN_ALERT "[%s-DBG -> DRIVER INIT (PID %d)] Enabling Device [FAILURE]\n", driver_name, current->pid); + #endif + return (-1); + } + else + { + #ifdef DEBUG_MESSAGES + printk(KERN_ALERT "[%s-DBG -> DRIVER INIT (PID %d)] Enabling Device [SUCCESS]\n", driver_name, current->pid); + #endif + } + + /* + * Provide Master Capabilities to the device + */ + pci_set_master(dev); + + /* + * Get BAR 0 Physical Address from PCI Structure + * BAR 0 Represents the AXI Address Space of the Peripheral Devices inside the FPGA. + */ + bar0_address_physical = pci_resource_start(dev, BAR0_64BIT); + if (bar0_address_physical<0) + { + #ifdef DEBUG_MESSAGES + printk(KERN_ALERT "[%s-DBG -> DRIVER INIT (PID %d)] Assign a Physical Address to BAR 0 [FAILURE]\n", driver_name, current->pid); + #endif + return (-1); + } + else + { + #ifdef DEBUG_MESSAGES + printk(KERN_ALERT "[%s-DBG -> DRIVER INIT (PID %d)] Assign a Physical Address to BAR 0 [0x%lX]\n", driver_name, current->pid, (unsigned long)bar0_address_physical); + #endif + } + + /* + * Get the Size of Address Space or Memory that BAR 0 Represents + */ + bar0_length = pci_resource_len (dev, BAR0_64BIT); + + #ifdef DEBUG_MESSAGES + printk(KERN_ALERT "[%s-DBG -> DRIVER INIT (PID %d)] BAR 0 Length is: %d Bytes\n", driver_name, current->pid, (unsigned int)bar0_length); + #endif + + + /* + * Get BAR 1 Physical Address from PCI Structure + * BAR 1 Represents the AXI BRAM inside the FPGA. + */ + bar1_address_physical = pci_resource_start(dev, BAR1_64BIT); + if (bar1_address_physical<0) + { + #ifdef DEBUG_MESSAGES + printk(KERN_ALERT "[%s-DBG -> DRIVER INIT (PID %d)] Assign a Physical Address to BAR 1 [FAILURE]\n", driver_name, current->pid); + #endif + return (-1); + } + else + { + #ifdef DEBUG_MESSAGES + printk(KERN_ALERT "[%s-DBG -> DRIVER INIT (PID %d)] Assign a Physical Address to BAR 1 [0x%lX]\n", driver_name, current->pid, (unsigned long)bar1_address_physical); + #endif + } + + /* + * Get the Size of Address Space or Memory that BAR 1 Represents which is Equal to the Size of the BRAM Memory + */ + bar1_length = pci_resource_len (dev, BAR1_64BIT); + + #ifdef DEBUG_MESSAGES + printk(KERN_ALERT "[%s-DBG -> DRIVER INIT (PID %d)] BAR 1 Length is: %d Bytes\n", driver_name, current->pid, (unsigned int)bar1_length); + #endif + + /* + * Get BAR 2 Physical Address from PCI Structure + * BAR 2 Represents the AXI DDR3 Memory inside the FPGA. + */ + bar2_address_physical = pci_resource_start(dev, BAR2_64BIT); + if (bar2_address_physical<0) + { + #ifdef DEBUG_MESSAGES + printk(KERN_ALERT "[%s-DBG -> DRIVER INIT (PID %d)] Assign a Physical Address to BAR 2 [FAILURE]\n", driver_name, current->pid); + #endif + return (-1); + } + else + { + #ifdef DEBUG_MESSAGES + printk(KERN_ALERT "[%s-DBG -> DRIVER INIT (PID %d)] Assign a Physical Address to BAR 2 [0x%lX]\n", driver_name, current->pid, (unsigned long)bar2_address_physical); + #endif + } + + /* + * Get the Size of Address Space or Memory that BAR 2 Represents which is Equal to the Size of the DDR3 Memory + */ + bar2_length = pci_resource_len (dev, BAR2_64BIT); + + #ifdef DEBUG_MESSAGES + printk(KERN_ALERT "[%s-DBG -> DRIVER INIT (PID %d)] BAR 2 Length is: %d Bytes\n", driver_name, current->pid, (unsigned int)bar2_length); + #endif + + /* + * Remap the I/O Register Block for BAR 0 so that It Can Be Safely Accessed from a Virtual Addresss(bar0_address_virtual). + * I/O Register Block Starts at bar0_address_physical and is 4M Bytes Long + */ + bar0_address_virtual = ioremap_nocache(bar0_address_physical, bar0_length); + if (!bar0_address_virtual) + { + #ifdef DEBUG_MESSAGES + printk(KERN_ALERT "[%s-DBG -> DRIVER INIT (PID %d)] Remap BAR 0 Memory to Virtual Address Space with Virtual Address [FAILURE]\n", driver_name, current->pid); + #endif + return (-1); + } + else + { + #ifdef DEBUG_MESSAGES + printk(KERN_ALERT "[%s-DBG -> DRIVER INIT (PID %d)] Remap BAR 0 Memory to Virtual Address Space with Virtual Address [Ox%lX]\n", driver_name, current->pid, (unsigned long)bar0_address_virtual); + #endif + } + + /* + * Remap the I/O Register Block for BAR 1 so that It Can Be Safely Accessed from a Virtual Addresss(bar1_address_virtual). + * I/O Register Block Starts at bar1_address_physical and is 256K Bytes Long + */ + bar1_address_virtual = ioremap(bar1_address_physical, bar1_length); + if (!bar1_address_virtual) + { + #ifdef DEBUG_MESSAGES + printk(KERN_ALERT "[%s-DBG -> DRIVER INIT (PID %d)] Remap BAR 1 Memory to Virtual Address Space with Virtual Address [FAILURE]\n", driver_name, current->pid); + #endif + return (-1); + } + else + { + #ifdef DEBUG_MESSAGES + printk(KERN_ALERT "[%s-DBG -> DRIVER INIT (PID %d)] Remap BAR 1 Memory to Virtual Address Space with Virtual Address [Ox%lX]\n", driver_name, current->pid, (unsigned long)bar1_address_virtual); + #endif + } + + /* + * Remap the I/O Register Block for BAR 2 so that It Can Be Safely Accessed from a Virtual Addresss(bar2_address_virtual). + * I/O Register Block Starts at bar2_address_physical and is 512M Bytes Long + */ + bar2_address_virtual = ioremap(bar2_address_physical, bar2_length); + if (!bar2_address_virtual) + { + #ifdef DEBUG_MESSAGES + printk(KERN_ALERT "[%s-DBG -> DRIVER INIT (PID %d)] Remap BAR 2 Memory to Virtual Address Space with Virtual Address [FAILURE]\n", driver_name, current->pid); + #endif + return (-1); + } + else + { + #ifdef DEBUG_MESSAGES + printk(KERN_ALERT "[%s-DBG -> DRIVER INIT (PID %d)] Remap BAR 2 Memory to Virtual Address Space with Virtual Address [Ox%lX]\n", driver_name, current->pid, (unsigned long)bar2_address_virtual); + #endif + } + + /* + * Get IRQ from pci_dev structure. It May have been Remapped by the Kernel and this Value will be the Correct One. + */ + irq = dev->irq; + + #ifdef DEBUG_MESSAGES + printk("[%s-DBG -> DRIVER INIT (PID %d)] Getting the Device IRQ [IRQ %d]\n", driver_name, current->pid, irq); + #endif + + /* + * Check Memory Region for BAR 0 Before Requesting Control + */ + if (check_mem_region(bar0_address_physical, bar0_length)<0) + { + #ifdef DEBUG_MESSAGES + printk(KERN_ALERT "[%s-DBG -> DRIVER INIT (PID %d)] Checking BAR 0 Memory Region [IN USE]\n", driver_name, current->pid); + #endif + + return (-1); + } + else + { + #ifdef DEBUG_MESSAGES + printk(KERN_ALERT "[%s-DBG -> DRIVER INIT (PID %d)] Checking BAR 0 Memory Region [OK FOR MEMORY REQUEST]\n", driver_name, current->pid); + #endif + } + + /* + * Check Memory Region for BAR 1 Before Requesting Control + */ + if (check_mem_region(bar1_address_physical, bar1_length)<0) + { + #ifdef DEBUG_MESSAGES + printk(KERN_ALERT "[%s-DBG -> DRIVER INIT (PID %d)] Checking BAR 1 Memory Region [IN USE]\n", driver_name, current->pid); + #endif + + return (-1); + } + else + { + #ifdef DEBUG_MESSAGES + printk(KERN_ALERT "[%s-DBG -> DRIVER INIT (PID %d)] Checking BAR 1 Memory Region [OK FOR MEMORY REQUEST]\n", driver_name, current->pid); + #endif + } + + /* + * Check Memory Region for BAR 2 Before Requesting Control + */ + if (check_mem_region(bar2_address_physical, bar2_length)<0) + { + #ifdef DEBUG_MESSAGES + printk(KERN_ALERT "[%s-DBG -> DRIVER INIT (PID %d)] Checking BAR 2 Memory Region [IN USE]\n", driver_name, current->pid); + #endif + + return (-1); + } + else + { + #ifdef DEBUG_MESSAGES + printk(KERN_ALERT "[%s-DBG -> DRIVER INIT (PID %d)] Checking BAR 2 Memory Region [OK FOR MEMORY REQUEST]\n", driver_name, current->pid); + #endif + } + + #ifdef DEBUG_MESSAGES + printk(KERN_ALERT "[%s-DBG -> DRIVER INIT (PID %d)] Requesting Memory Regions for BAR 0, BAR 1 and BAR 2\n",driver_name, current->pid); + #endif + + /* + * Request BAR 0, BAR 1 and BAR 2 Memory Regions + */ + request_mem_region(bar0_address_physical, bar0_length, driver_name); + request_mem_region(bar1_address_physical, bar1_length, driver_name); + request_mem_region(bar2_address_physical, bar2_length, driver_name); + + /* + * Configure the status_flags with the HAVE_REGION Flag to Let the Driver Know that we have Claimed the BAR 0, BAR1 and BAR 2 Memory Regions. + */ + status_flags = status_flags | HAVE_REGION; + + #ifdef DEBUG_MESSAGES + printk(KERN_ALERT "[%s-DBG -> DRIVER INIT (PID %d)] Initializing Hardware Done\n",driver_name, current->pid); + #endif + + /* + * Enable the MSI Interrupts with Range 1 to 7 which is 7 Interrupts. + * The MSI Can be Configured with as many as 32 Interrupts. + * + * The pci_enable_msi_range() Returns the Number of MSI Interrupts that were Allocated which is not Necessarily Equal to the Requested Range. + */ + interrupts_number = pci_enable_msi_range(dev, 1, 7); + + if (interrupts_number < 0) + { + #ifdef DEBUG_MESSAGES + printk("[%s-DBG -> DRIVER INIT (PID %d)] Enabling MSI Interrupts with Re-Assigned IRQ [FAILURE-ERROR %d]\n", driver_name, current->pid, interrupts_number); + #endif + return (-1); + } + else + { + irq=dev->irq; + #ifdef DEBUG_MESSAGES + printk("[%s-DBG -> DRIVER INIT (PID %d)] Enabling MSI Interrupts with Re-Assigned IRQ [IRQ %d]\n", driver_name, current->pid, irq); + #endif + + + #ifdef DEBUG_MESSAGES + printk("[%s-DBG -> DRIVER INIT (PID %d)] The Number of Assigned Interrupts Is: %d\n", driver_name, current->pid, interrupts_number); + #endif + } + + + /** + * Request Threaded IRQ 1 Allocation from OS which is the Base Interrupt from dev->irq. + * + * Interrupts are Conditions that should be Served by an Interrupt Handler as Fast as Possible. + * Threaded IRQs are Used in cases where an Interrupt Requires Large Code Executions in Order to be Handled. + * + * In such cases the MSI Interrupt is Handled by a Fast Interrupt Handler (irq_fast_handler_0). + * The irq_fast_handler_0() returns the IRQ_WAKE_THREAD Flag which Starts a Threaded Function (irq_handler_0) + * The Threaded Function can Serve the Interrupt Requirements Independently while the MSI Interrupt can be Triggered again. + * + * @note The Same Apply for the Rest Allocated IRQs. + * + */ + #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) + if (request_threaded_irq(irq, (void *) irq_fast_handler_0, (void *) irq_handler_0, IRQF_SHARED |IRQF_TRIGGER_RISING/*| IRQF_SAMPLE_RANDOM*/, driver_name, dev) < 0) + { + #ifdef DEBUG_MESSAGES + printk(KERN_ALERT "[%s-DBG -> DRIVER INIT (PID %d)] Allocate IRQ %d to Interrupt Handler 0 [FAILURE]\n",driver_name, current->pid, irq); + #endif + return (-1); + } + else + { + #ifdef DEBUG_MESSAGES + printk(KERN_ALERT "[%s-DBG -> DRIVER INIT (PID %d)] Allocate IRQ %d to Interrupt Handler 0 [SUCCESS]\n",driver_name, current->pid, irq); + #endif + } + #endif + + + /* + * Request Threaded IRQ 2 Allocation from OS which is the Base Interrupt from dev->irq + 1. + */ + #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) + if (request_threaded_irq(irq + 1, (void *) irq_fast_handler_1, (void *) irq_handler_1, IRQF_SHARED |IRQF_TRIGGER_RISING /*| IRQF_SAMPLE_RANDOM*/, driver_name, dev) < 0) + { + #ifdef DEBUG_MESSAGES + printk(KERN_ALERT "[%s-DBG -> DRIVER INIT (PID %d)] Allocate IRQ %d to Interrupt Handler 1 [FAILURE]\n",driver_name, current->pid, irq + 1); + #endif + return (-1); + } + else + { + #ifdef DEBUG_MESSAGES + printk(KERN_ALERT "[%s-DBG -> DRIVER INIT (PID %d)] Allocate IRQ %d to Interrupt Handler 1 [SUCCESS]\n",driver_name, current->pid, irq + 1); + #endif + } + #endif + + + /* + * Request Threaded IRQ 3 Allocation from OS which is the Base Interrupt from dev->irq + 2. + */ + #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) + if (request_threaded_irq(irq + 2, (void *) irq_fast_handler_2, (void *) irq_handler_2, IRQF_SHARED |IRQF_TRIGGER_RISING /*| IRQF_SAMPLE_RANDOM*/, driver_name, dev) < 0) + { + #ifdef DEBUG_MESSAGES + printk(KERN_ALERT "[%s-DBG -> DRIVER INIT (PID %d)] Allocate IRQ %d to Interrupt Handler 2 [FAILURE]\n",driver_name, current->pid, irq + 2); + #endif + return (-1); + } + else + { + #ifdef DEBUG_MESSAGES + printk(KERN_ALERT "[%s-DBG -> DRIVER INIT (PID %d)] Allocate IRQ %d to Interrupt Handler 2 [SUCCESS]\n",driver_name, current->pid, irq + 2); + #endif + } + #endif + + + /* + * Request Threaded IRQ 4 Allocation from OS which is the Base Interrupt from dev->irq + 3. + */ + #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) + if (request_threaded_irq(irq + 3, (void *) irq_fast_handler_3, (void *) irq_handler_3, IRQF_SHARED |IRQF_TRIGGER_RISING /*| IRQF_SAMPLE_RANDOM*/, driver_name, dev) < 0) + { + #ifdef DEBUG_MESSAGES + printk(KERN_ALERT "[%s-DBG -> DRIVER INIT (PID %d)] Allocate IRQ %d to Interrupt Handler 3 [FAILURE]\n",driver_name, current->pid, irq + 3); + #endif + return (-1); + } + else + { + #ifdef DEBUG_MESSAGES + printk(KERN_ALERT "[%s-DBG -> DRIVER INIT (PID %d)] Allocate IRQ %d to Interrupt Handler 3 [SUCCESS]\n",driver_name, current->pid, irq + 3); + #endif + } + #endif + + /* + * Request Threaded IRQ 5 Allocation from OS which is the Base Interrupt from dev->irq + 4. + */ + #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) + if (request_threaded_irq(irq + 4, (void *) irq_fast_handler_4, (void *) irq_handler_4, IRQF_SHARED |IRQF_TRIGGER_RISING /*| IRQF_SAMPLE_RANDOM*/, driver_name, dev) < 0) + { + #ifdef DEBUG_MESSAGES + printk(KERN_ALERT "[%s-DBG -> DRIVER INIT (PID %d)] Allocate IRQ %d to Interrupt Handler 4 [FAILURE]\n",driver_name, current->pid, irq + 4); + #endif + return (-1); + } + else + { + #ifdef DEBUG_MESSAGES + printk(KERN_ALERT "[%s-DBG -> DRIVER INIT (PID %d)] Allocate IRQ %d to Interrupt Handler 4 [SUCCESS]\n",driver_name, current->pid, irq + 4); + #endif + } + #endif + + /* + * Request Threaded IRQ 6 Allocation from OS which is the Base Interrupt from dev->irq + 5. + */ + #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) + if (request_threaded_irq(irq + 5, (void *) irq_fast_handler_5, (void *) irq_handler_5, IRQF_SHARED |IRQF_TRIGGER_RISING /*| IRQF_SAMPLE_RANDOM*/, driver_name, dev) < 0) + { + #ifdef DEBUG_MESSAGES + printk(KERN_ALERT "[%s-DBG -> DRIVER INIT (PID %d)] Allocate IRQ %d to Interrupt Handler 5 [FAILURE]\n",driver_name, current->pid, irq + 5); + #endif + return (-1); + } + else + { + #ifdef DEBUG_MESSAGES + printk(KERN_ALERT "[%s-DBG -> DRIVER INIT (PID %d)] Allocate IRQ %d to Interrupt Handler 5 [SUCCESS]\n",driver_name, current->pid, irq + 5); + #endif + } + #endif + + /* + * Request Threaded IRQ 7 Allocation from OS which is the Base Interrupt from dev->irq + 6. + */ + #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) + if (request_threaded_irq(irq + 6, (void *) irq_fast_handler_6, (void *) irq_handler_6, IRQF_SHARED |IRQF_TRIGGER_RISING /*| IRQF_SAMPLE_RANDOM*/, driver_name, dev) < 0) + { + #ifdef DEBUG_MESSAGES + printk(KERN_ALERT "[%s-DBG -> DRIVER INIT (PID %d)] Allocate IRQ %d to Interrupt Handler 6 [FAILURE]\n",driver_name, current->pid, irq + 6); + #endif + return (-1); + } + else + { + #ifdef DEBUG_MESSAGES + printk(KERN_ALERT "[%s-DBG -> DRIVER INIT (PID %d)] Allocate IRQ %d to Interrupt Handler 6 [SUCCESS]\n",driver_name, current->pid, irq + 6); + #endif + } + #endif + + + /* + * Configure the status_flags with the HAVE_IRQ Flag to Let the Driver Know that we Allocated the MSI Interrupts. + */ + status_flags = status_flags | HAVE_IRQ; + + /* + * Call this Function to Make Additional Initializations (If Required). + * + * Currently initcode() is Empty. + */ + initcode(); + + + /* + * Register Driver in the Kernel as a Character Device + */ + if (0 > register_chrdev(driver_major_number, driver_name, &xilinx_kc705_driver_file_operations)) + { + #ifdef DEBUG_MESSAGES + printk(KERN_ALERT "[%s-DBG -> DRIVER INIT (PID %d)] Registering the Driver Module [FAILURE]\n", driver_name, current->pid); + #endif + return (-1); + } + else + { + #ifdef DEBUG_MESSAGES + printk(KERN_ALERT "[%s-DBG -> DRIVER INIT (PID %d)] Registering the Driver Module [SUCCESS]\n", driver_name, current->pid); + #endif + } + + /* + * Configure the status_flags with the HAVE_KREG Flag to Let the Driver Know that we Have Registered the Driver in Kernel. + */ + status_flags = status_flags | HAVE_KREG; + + #ifdef DEBUG_MESSAGES + printk(KERN_ALERT "[%s-DBG -> DRIVER INIT (PID %d)] Driver is Successfully Loaded\n", driver_name, current->pid); + #endif + + return SUCCESS; +} + +/** OK + * xilinx_pci_driver_exit() + * + * It is Called when the Driver Module is Removed from the Linux Kernel. + */ +static void xilinx_pci_driver_exit(void) +{ + + if(inter_process_shared_info_memory != NULL) + { + #ifdef DEBUG_MESSAGES + printk(KERN_ALERT "[%s-DBG -> DRIVER EXIT (PID %d)] Releasing Inter Process Shared Repository\n",driver_name, current->pid); + #endif + + inter_process_shared_info_memory = NULL; + + } + + /* + * If the status_flags Includes the HAVE_DEBUGFS Flag then Remove the Debugfs Files + */ + if (status_flags & HAVE_DEBUGFS) + { + debugfs_remove(pre_process_mmap_file); + debugfs_remove(post_process_mmap_file); + debugfs_remove(shared_repo_mmap_file); + + #ifdef DEBUG_MESSAGES + printk(KERN_ALERT "[%s-DBG -> DRIVER EXIT (PID %d)] Debugfs Files are Removed\n", driver_name, current->pid); + #endif + } + + /* + * If the status_flags Includes the HAVE_REGION Flag then Release the BAR 0, BAR 1 and BAR 2 Memory Regions + */ + if (status_flags & HAVE_REGION) + { + (void)release_mem_region(bar0_address_physical, bar0_length); + (void)release_mem_region(bar1_address_physical, bar1_length); + (void)release_mem_region(bar2_address_physical, bar2_length); + + #ifdef DEBUG_MESSAGES + printk(KERN_ALERT "[%s-DBG -> DRIVER EXIT (PID %d)] Memory Regions are Released\n", driver_name, current->pid); + #endif + } + + /* + * If the status_flags Includes the HAVE_IRQ Flag then Release the IRQs + */ + if (status_flags & HAVE_IRQ) + { + (void)free_irq(irq, dev); + (void)free_irq(irq + 1, dev); + (void)free_irq(irq + 2, dev); + (void)free_irq(irq + 3, dev); + (void)free_irq(irq + 4, dev); + (void)free_irq(irq + 5, dev); + (void)free_irq(irq + 6, dev); + (void)free_irq(irq + 7, dev); + + + #ifdef DEBUG_MESSAGES + printk(KERN_ALERT "[%s-DBG -> DRIVER EXIT (PID %d)] IRQs are Released\n", driver_name, current->pid); + #endif + } + + /* + * Disable the MSI Interrupts. + */ + pci_disable_msi(dev); + + #ifdef DEBUG_MESSAGES + printk(KERN_ALERT "[%s-DBG -> DRIVER EXIT (PID %d)] MSI is Disabled\n", driver_name, current->pid); + #endif + + + /* + * Unmap the BAR 0, BAR 1 and BAR 2 Virtual Addresses. + */ + if (bar0_address_virtual != NULL) + { + iounmap(bar0_address_virtual); + } + + if (bar1_address_virtual != NULL) + { + iounmap(bar1_address_virtual); + } + + if (bar2_address_virtual != NULL) + { + iounmap(bar2_address_virtual); + } + + /* + * Clear the BAR 0, BAR 1 and BAR 2 Pointers. + */ + bar0_address_virtual = NULL; + bar1_address_virtual = NULL; + bar2_address_virtual = NULL; + + #ifdef DEBUG_MESSAGES + printk(KERN_ALERT "[%s-DBG -> DRIVER EXIT (PID %d)] Virtual Addresses are Unmapped\n", driver_name, current->pid); + #endif + + /* + * Unregister the Device Driver + */ + if (status_flags & HAVE_KREG) + { + unregister_chrdev(driver_major_number, driver_name); + } + + /* + * Clear the status_flags. + */ + status_flags = 0; + + #ifdef DEBUG_MESSAGES + printk(KERN_ALERT "[%s-DBG -> DRIVER EXIT (PID %d)] Driver is Unloaded\n", driver_name, current->pid); + #endif + + /* + * Disable the PCIe Device + */ + pci_disable_device(dev); + + #ifdef DEBUG_MESSAGES + printk(KERN_ALERT "[%s-DBG -> DRIVER EXIT (PID %d)] The Device is Disabled\n", driver_name, current->pid); + #endif + +} + + +module_init(xilinx_pci_driver_init); +module_exit(xilinx_pci_driver_exit); + +module_param(signal_to_pid, short, S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP); +MODULE_PARM_DESC(signal_to_pid, "Signal to Send"); + + +/** OK + * irq_fast_handler_0() + * + * Fast Interrupt Handler which is Called when MSI 0 Interrupt is Triggered. + * There is no Need to Clear any Interrupt. + * The only Requirement is to Return the IRQ_WAKE_THREAD Flag that Starts the Threaded Function irq_handler_0() + * which can Handle the Current Interrupt Event Independently without the Risk to Loose the Next Triggered MSI 0 Interrupt. + * + * @note The same Apply for the Rest Fast Interrrupt Handlers. + */ +irqreturn_t irq_fast_handler_0(int irq, void *dev_id, struct pt_regs *regs) +{ + return IRQ_WAKE_THREAD; +} + +/* OK + * irq_fast_handler_1() + * + * Fast Interrupt Handler which is Called when MSI 1 Interrupt is Triggered. + */ +irqreturn_t irq_fast_handler_1(int irq, void *dev_id, struct pt_regs *regs) +{ + return IRQ_WAKE_THREAD; +} + +/* OK + * irq_fast_handler_2() + * + * Fast Interrupt Handler which is Called when MSI 2 Interrupt is Triggered. + */ +irqreturn_t irq_fast_handler_2(int irq, void *dev_id, struct pt_regs *regs) +{ + return IRQ_WAKE_THREAD; +} + +/* OK + * irq_fast_handler_3() + * + * Fast Interrupt Handler which is Called when MSI 3 Interrupt is Triggered. + */ +irqreturn_t irq_fast_handler_3(int irq, void *dev_id, struct pt_regs *regs) +{ + return IRQ_WAKE_THREAD; +} + +/* OK + * irq_fast_handler_4() + * + * Fast Interrupt Handler which is Called when MSI 4 Interrupt is Triggered. + */ +irqreturn_t irq_fast_handler_4(int irq, void *dev_id, struct pt_regs *regs) +{ + return IRQ_WAKE_THREAD; +} + +/* OK + * irq_fast_handler_5() + * + * Fast Interrupt Handler which is Called when MSI 5 Interrupt is Triggered. + */ +irqreturn_t irq_fast_handler_5(int irq, void *dev_id, struct pt_regs *regs) +{ + return IRQ_WAKE_THREAD; +} + +/* OK + * irq_fast_handler_6() + * + * Fast Interrupt Handler which is Called when MSI 6 Interrupt is Triggered. + */ +irqreturn_t irq_fast_handler_6(int irq, void *dev_id, struct pt_regs *regs) +{ + return IRQ_WAKE_THREAD; +} + + + + +/** OK + * irq_handler_0() + * + * Started as a Threaded Function by the irq_fast_handler_0() when a MSI 0 Interrupt Occurs. + * + * MSI 0 Interrupt Signifies the Completion of the Acceleration Procedure for the Acceleration Group Direct 0 (AGD0). + * In such Condition the irq_handler_0() Should Gather the Metrics Information that AGD0 Stored to the FPGA BRAM and + * Copy it to the Metrics Kernel Memory Allocation that Corresponds to the Userspace Thread that Occupied the AGD0. + * + */ +irqreturn_t irq_handler_0(int irq, void *dev_id, struct pt_regs *regs) +{ + /* + * Pointer of Type struct pid_reserved_memories. + * Used to Access the Singly Linked List where each Node Hold Metrics Information and Pointers for each Userspace Application. + */ + struct pid_reserved_memories *search_element = NULL; + + + #ifdef DEBUG_MESSAGES + printk(KERN_ALERT "[%s-DBG -> MSI IRQ (PID %d)] Kernel Interrupted from Handler 0 [IRQ: %d]\n", driver_name, current->pid, irq); + #endif + + #ifdef DEBUG_MESSAGES + printk(KERN_ALERT "[%s-DBG -> MSI IRQ (PID %d)] Acceleration Group Direct 0 Completed\n", driver_name, current->pid); + #endif + + /* + * Lock the msi_1_sem Semaphore so that only the Current Userspace Thread can Access that part of the Code. + */ + down_write(&msi_1_sem); + + /* + * Set the search_element Pointer to Point at the Head (pid_list_head) of the Singly Linked List so that we Can Search the List of Nodes from the Beginning. + */ + search_element = pid_list_head; + + /* + * Keep Moving Forward in the Singly Linked List for as long as the search_element Pointer has not Reached a NULL Value. + */ + while(search_element != NULL) + { + /* + * Check if the Current Node's PID Value is Equal to the PID that Occupied the Acceleration Group Direct 0 (AGD0). + * If this is the Case then we can Copy the AGDO Metrics Information from the FPGA BRAM to the Kernel Metrics Memory. + * + * The search_element->shared_repo_virtual_address is a Pointer of the Current Node that Points to a Metrics Kernel Memory Allocation which is + * Allocated Specifically for the Userspace Thread with PID Equal to the Current Node's PID (search_element->pid). + */ + if(search_element->pid == inter_process_shared_info_memory->shared_status_flags.accel_direct_0_occupied_pid) + { + #ifdef DEBUG_MESSAGES + printk(KERN_ALERT "[%s-DBG -> MSI IRQ (PID %d)] Found Search Element\n", driver_name, current->pid); + #endif + + /* + * Copy the "Read Transactions" Metric from the FPGA BRAM to the Current Node's Kernel Memory Allocation in the Appropriate agd0 Structure Field. + */ + search_element->shared_repo_virtual_address->process_metrics.agd0.apm_read_transactions = inter_process_shared_info_memory->accel_direct_0_shared_metrics.apm_read_transactions; + + /* + * Copy the "Read Bytes" Metric from the FPGA BRAM to the Current Node's Kernel Memory Allocation in the Appropriate agd0 Structure Field. + */ + search_element->shared_repo_virtual_address->process_metrics.agd0.apm_read_bytes = inter_process_shared_info_memory->accel_direct_0_shared_metrics.apm_read_bytes; + + /* + * Copy the "Write Transactions" Metric from the FPGA BRAM to the Current Node's Kernel Memory Allocation in the Appropriate agd0 Structure Field. + */ + search_element->shared_repo_virtual_address->process_metrics.agd0.apm_write_transactions = inter_process_shared_info_memory->accel_direct_0_shared_metrics.apm_write_transactions; + + /* + * Copy the "Write Bytes" Metric from the FPGA BRAM to the Current Node's Kernel Memory Allocation in the Appropriate agd0 Structure Field. + */ + search_element->shared_repo_virtual_address->process_metrics.agd0.apm_write_bytes = inter_process_shared_info_memory->accel_direct_0_shared_metrics.apm_write_bytes; + + /* + * Copy the "Stream Packets" Metric from the FPGA BRAM to the Current Node's Kernel Memory Allocation in the Appropriate agd0 Structure Field. + */ + search_element->shared_repo_virtual_address->process_metrics.agd0.apm_packets = inter_process_shared_info_memory->accel_direct_0_shared_metrics.apm_packets; + + /* + * Copy the "Stream Bytes" Metric from the FPGA BRAM to the Current Node's Kernel Memory Allocation in the Appropriate agd0 Structure Field. + */ + search_element->shared_repo_virtual_address->process_metrics.agd0.apm_bytes = inter_process_shared_info_memory->accel_direct_0_shared_metrics.apm_bytes; + + /* + * Copy the "Global Clock Counter Lower Register" Time Value from the FPGA BRAM to the Current Node's Kernel Memory Allocation in the Appropriate agd0 Structure Field. + */ + search_element->shared_repo_virtual_address->process_metrics.agd0.apm_gcc_l = inter_process_shared_info_memory->accel_direct_0_shared_metrics.apm_gcc_l; + + /* + * Copy the "Global Clock Counter Upper Register" Time Value from the FPGA BRAM to the Current Node's Kernel Memory Allocation in the Appropriate agd0 Structure Field. + */ + search_element->shared_repo_virtual_address->process_metrics.agd0.apm_gcc_u = inter_process_shared_info_memory->accel_direct_0_shared_metrics.apm_gcc_u; + + /* + * Copy the "CDMA Fetch Starting Point Lower Register" Time Value from the FPGA BRAM to the Current Node's Kernel Memory Allocation in the Appropriate agd0 Structure Field. + */ + search_element->shared_repo_virtual_address->process_metrics.agd0.cdma_fetch_time_start_l = inter_process_shared_info_memory->accel_direct_0_shared_metrics.cdma_fetch_time_start_l; + + /* + * Copy the "CDMA Fetch Starting Point Upper Register" Time Value from the FPGA BRAM to the Current Node's Kernel Memory Allocation in the Appropriate agd0 Structure Field. + */ + search_element->shared_repo_virtual_address->process_metrics.agd0.cdma_fetch_time_start_u = inter_process_shared_info_memory->accel_direct_0_shared_metrics.cdma_fetch_time_start_u; + + /* + * Copy the "CDMA Fetch Ending Point Lower Register" Time Value from the FPGA BRAM to the Current Node's Kernel Memory Allocation in the Appropriate agd0 Structure Field. + */ + search_element->shared_repo_virtual_address->process_metrics.agd0.cdma_fetch_time_end_l = inter_process_shared_info_memory->accel_direct_0_shared_metrics.cdma_fetch_time_end_l; + + /* + * Copy the "CDMA Fetch Ending Point Upper Register" Time Value from the FPGA BRAM to the Current Node's Kernel Memory Allocation in the Appropriate agd0 Structure Field. + */ + search_element->shared_repo_virtual_address->process_metrics.agd0.cdma_fetch_time_end_u = inter_process_shared_info_memory->accel_direct_0_shared_metrics.cdma_fetch_time_end_u; + + /* + * Copy the "CDMA Send Starting Point Lower Register" Time Value from the FPGA BRAM to the Current Node's Kernel Memory Allocation in the Appropriate agd0 Structure Field. + */ + search_element->shared_repo_virtual_address->process_metrics.agd0.cdma_send_time_start_l = inter_process_shared_info_memory->accel_direct_0_shared_metrics.cdma_send_time_start_l; + + /* + * Copy the "CDMA Send Starting Point Upper Register" Time Value from the FPGA BRAM to the Current Node's Kernel Memory Allocation in the Appropriate agd0 Structure Field. + */ + search_element->shared_repo_virtual_address->process_metrics.agd0.cdma_send_time_start_u = inter_process_shared_info_memory->accel_direct_0_shared_metrics.cdma_send_time_start_u; + + /* + * Copy the "CDMA Send Ending Point Lower Register" Time Value from the FPGA BRAM to the Current Node's Kernel Memory Allocation in the Appropriate agd0 Structure Field. + */ + search_element->shared_repo_virtual_address->process_metrics.agd0.cdma_send_time_end_l = inter_process_shared_info_memory->accel_direct_0_shared_metrics.cdma_send_time_end_l; + + /* + * Copy the "CDMA Send Ending Point Upper Register" Time Value from the FPGA BRAM to the Current Node's Kernel Memory Allocation in the Appropriate agd0 Structure Field. + */ + search_element->shared_repo_virtual_address->process_metrics.agd0.cdma_send_time_end_u = inter_process_shared_info_memory->accel_direct_0_shared_metrics.cdma_send_time_end_u; + + /* + * Copy the "Acceleration Starting Point Lower Register" Time Value from the FPGA BRAM to the Current Node's Kernel Memory Allocation in the Appropriate agd0 Structure Field. + */ + search_element->shared_repo_virtual_address->process_metrics.agd0.dma_accel_time_start_l = inter_process_shared_info_memory->accel_direct_0_shared_metrics.dma_accel_time_start_l; + + /* + * Copy the "Acceleration Starting Point Upper Register" Time Value from the FPGA BRAM to the Current Node's Kernel Memory Allocation in the Appropriate agd0 Structure Field. + */ + search_element->shared_repo_virtual_address->process_metrics.agd0.dma_accel_time_start_u = inter_process_shared_info_memory->accel_direct_0_shared_metrics.dma_accel_time_start_u; + + /* + * Copy the "Acceleration Ending Point Lower Register" Time Value from the FPGA BRAM to the Current Node's Kernel Memory Allocation in the Appropriate agd0 Structure Field. + */ + search_element->shared_repo_virtual_address->process_metrics.agd0.dma_accel_time_end_l = inter_process_shared_info_memory->accel_direct_0_shared_metrics.dma_accel_time_end_l; + + /* + * Copy the "Acceleration Ending Point Upper Register" Time Value from the FPGA BRAM to the Current Node's Kernel Memory Allocation in the Appropriate agd0 Structure Field. + */ + search_element->shared_repo_virtual_address->process_metrics.agd0.dma_accel_time_end_u = inter_process_shared_info_memory->accel_direct_0_shared_metrics.dma_accel_time_end_u; + + /* + * setup_and_send_signal() is Used to Send a Signal to the Userspace Thread that Occupied the AGD0 + * to Indicate the Completion of the Acceleration Procedure by the AGD0. + * + * setup_and_send_signal() is no longer Used Since it is Replaced by Another Method for Informing the Userspace Thread for the Completion of the Acceleration Procedure. + * It is Reserved, though, for Possible Future Usage. + */ + //setup_and_send_signal(DEFAULT_SIGNAL_0, inter_process_shared_info_memory->shared_status_flags.accel_direct_0_occupied_pid); + + /* + * Set the Current Node's accel_completed Field with the ACCELERATOR_DIRECT_0_OCCUPIED Value which, also, Indicates the Completion of AGD0. + * The accel_completed Field is Stored inside the Metrics Kernel Memory Allocation that is, also, Mapped to the Corresponding Userspace Thread of the Current List Node. + * As a Result, the Userspace Thread Reads the accel_completed Field in Polling Mode to Know when the AGD0 has Completed. + */ + search_element->shared_repo_virtual_address->accel_completed |= ACCELERATOR_DIRECT_0_OCCUPIED; + + /* + * Clear the agd0_busy Field of the BRAM to Indicate that the AGD0 is Available. + */ + inter_process_shared_info_memory->shared_status_flags.agd0_busy = 0; + + /* + * Clear the accel_direct_0_occupied_pid Field of the BRAM which Indicates which PID has Occupied the AGD0. + */ + inter_process_shared_info_memory->shared_status_flags.accel_direct_0_occupied_pid = 0; + + /* + * Write an Acknowledgment Value to the Data Register of the GPIO_ACK Peripheral of the FPGA. + * The GPIO_ACK Peripheral will then Trigger an Interrupt to the Interrupt Manager (FPGA) to Indicate that the Driver Successfully Handled the MSI Interrupt for the AGD0. + */ + write_remote_register(bar0_address_virtual, BAR0_OFFSET_GPIO_ACK, (u32)ACK); + + } + + /* + * Set the search_element Pointer to Point at the Next List Node. + */ + search_element = search_element->next_pid; + } + + /* + * Unlock the msi_1_sem Semaphore so that other Userspace Threads can Access that Part of the Code. + */ + up_write(&msi_1_sem); + + /* + * The Fact that an Interrupt Occured it Means that the AGD0 Has Completed which in other Words Means that the AGD0 is Available. + * Wake up the Sleeping Userspace Threads of the ioctl_queue Queue so that they can Claim the AGD0. + */ + wake_up_interruptible(&ioctl_queue); + + return IRQ_HANDLED; +} + +/** OK + * irq_handler_1() + * + * Started as a Threaded Function by the irq_fast_handler_1() when a MSI 1 Interrupt Occurs. + * + * MSI 1 Interrupt Signifies the Completion of the Acceleration Procedure for the Acceleration Group Direct 1 (AGD0). + * In such Condition the irq_handler_1() Should Gather the Metrics Information that AGD1 Stored to the FPGA BRAM and + * Copy it to the Metrics Kernel Memory Allocation that Corresponds to the Userspace Thread that Occupied the AGD1. + * + */ +irqreturn_t irq_handler_1(int irq, void *dev_id, struct pt_regs *regs) +{ + /* + * Pointer of Type struct pid_reserved_memories. + * Used to Access the Singly Linked List where each Node Hold Metrics Information and Pointers for each Userspace Application. + */ + struct pid_reserved_memories *search_element = NULL; + + + #ifdef DEBUG_MESSAGES + printk(KERN_ALERT "[%s-DBG -> MSI IRQ (PID %d)] Kernel Interrupted from Handler 1 [IRQ: %d]\n", driver_name, current->pid, irq); + #endif + + #ifdef DEBUG_MESSAGES + printk(KERN_ALERT "[%s-DBG -> MSI IRQ (PID %d)] Acceleration Group Direct 1 Completed\n", driver_name, current->pid); + #endif + + /* + * Lock the msi_2_sem Semaphore so that only the Current Userspace Thread can Access that part of the Code. + */ + down_write(&msi_2_sem); + + /* + * Set the search_element Pointer to Point at the Head (pid_list_head) of the Singly Linked List so that we Can Search the List of Nodes from the Beginning. + */ + search_element = pid_list_head; + + /* + * Keep Moving Forward in the Singly Linked List for as long as the search_element Pointer has not Reached a NULL Value. + */ + while(search_element != NULL) + { + + /* + * Check if the Current Node's PID Value is Equal to the PID that Occupied the Acceleration Group Direct 1 (AGD1). + * If this is the Case then we can Copy the AGD1 Metrics Information from the FPGA BRAM to the Kernel Metrics Memory. + * + * The search_element->shared_repo_virtual_address is a Pointer of the Current Node that Points to a Metrics Kernel Memory Allocation which is + * Allocated Specifically for the Userspace Thread with PID Equal to the Current Node's PID (search_element->pid). + */ + if(search_element->pid == inter_process_shared_info_memory->shared_status_flags.accel_direct_1_occupied_pid) + { + #ifdef DEBUG_MESSAGES + printk(KERN_ALERT "[%s-DBG -> MSI IRQ (PID %d)] Found Search Element\n", driver_name, current->pid); + #endif + + /* + * Copy the "Read Transactions" Metric from the FPGA BRAM to the Current Node's Kernel Memory Allocation in the Appropriate agd1 Structure Field. + */ + search_element->shared_repo_virtual_address->process_metrics.agd1.apm_read_transactions = inter_process_shared_info_memory->accel_direct_1_shared_metrics.apm_read_transactions; + + /* + * Copy the "Read Bytes" Metric from the FPGA BRAM to the Current Node's Kernel Memory Allocation in the Appropriate agd1 Structure Field. + */ + search_element->shared_repo_virtual_address->process_metrics.agd1.apm_read_bytes = inter_process_shared_info_memory->accel_direct_1_shared_metrics.apm_read_bytes; + + /* + * Copy the "Write Transactions" Metric from the FPGA BRAM to the Current Node's Kernel Memory Allocation in the Appropriate agd1 Structure Field. + */ + search_element->shared_repo_virtual_address->process_metrics.agd1.apm_write_transactions = inter_process_shared_info_memory->accel_direct_1_shared_metrics.apm_write_transactions; + + /* + * Copy the "Write Bytes" Metric from the FPGA BRAM to the Current Node's Kernel Memory Allocation in the Appropriate agd1 Structure Field. + */ + search_element->shared_repo_virtual_address->process_metrics.agd1.apm_write_bytes = inter_process_shared_info_memory->accel_direct_1_shared_metrics.apm_write_bytes; + + /* + * Copy the "Stream Packets" Metric from the FPGA BRAM to the Current Node's Kernel Memory Allocation in the Appropriate agd1 Structure Field. + */ + search_element->shared_repo_virtual_address->process_metrics.agd1.apm_packets = inter_process_shared_info_memory->accel_direct_1_shared_metrics.apm_packets; + + /* + * Copy the "Stream Bytes" Metric from the FPGA BRAM to the Current Node's Kernel Memory Allocation in the Appropriate agd1 Structure Field. + */ + search_element->shared_repo_virtual_address->process_metrics.agd1.apm_bytes = inter_process_shared_info_memory->accel_direct_1_shared_metrics.apm_bytes; + + /* + * Copy the "Global Clock Counter Lower Register" Time Value from the FPGA BRAM to the Current Node's Kernel Memory Allocation in the Appropriate agd1 Structure Field. + */ + search_element->shared_repo_virtual_address->process_metrics.agd1.apm_gcc_l = inter_process_shared_info_memory->accel_direct_1_shared_metrics.apm_gcc_l; + + /* + * Copy the "Global Clock Counter Upper Register" Time Value from the FPGA BRAM to the Current Node's Kernel Memory Allocation in the Appropriate agd1 Structure Field. + */ + search_element->shared_repo_virtual_address->process_metrics.agd1.apm_gcc_u = inter_process_shared_info_memory->accel_direct_1_shared_metrics.apm_gcc_u; + + /* + * Copy the "CDMA Fetch Starting Point Lower Register" Time Value from the FPGA BRAM to the Current Node's Kernel Memory Allocation in the Appropriate agd1 Structure Field. + */ + search_element->shared_repo_virtual_address->process_metrics.agd1.cdma_fetch_time_start_l = inter_process_shared_info_memory->accel_direct_1_shared_metrics.cdma_fetch_time_start_l; + + /* + * Copy the "CDMA Fetch Starting Point Upper Register" Time Value from the FPGA BRAM to the Current Node's Kernel Memory Allocation in the Appropriate agd1 Structure Field. + */ + search_element->shared_repo_virtual_address->process_metrics.agd1.cdma_fetch_time_start_u = inter_process_shared_info_memory->accel_direct_1_shared_metrics.cdma_fetch_time_start_u; + + /* + * Copy the "CDMA Fetch Ending Point Lower Register" Time Value from the FPGA BRAM to the Current Node's Kernel Memory Allocation in the Appropriate agd1 Structure Field. + */ + search_element->shared_repo_virtual_address->process_metrics.agd1.cdma_fetch_time_end_l = inter_process_shared_info_memory->accel_direct_1_shared_metrics.cdma_fetch_time_end_l; + + /* + * Copy the "CDMA Fetch Ending Point Upper Register" Time Value from the FPGA BRAM to the Current Node's Kernel Memory Allocation in the Appropriate agd1 Structure Field. + */ + search_element->shared_repo_virtual_address->process_metrics.agd1.cdma_fetch_time_end_u = inter_process_shared_info_memory->accel_direct_1_shared_metrics.cdma_fetch_time_end_u; + + /* + * Copy the "CDMA Send Starting Point Lower Register" Time Value from the FPGA BRAM to the Current Node's Kernel Memory Allocation in the Appropriate agd1 Structure Field. + */ + search_element->shared_repo_virtual_address->process_metrics.agd1.cdma_send_time_start_l = inter_process_shared_info_memory->accel_direct_1_shared_metrics.cdma_send_time_start_l; + + /* + * Copy the "CDMA Send Starting Point Upper Register" Time Value from the FPGA BRAM to the Current Node's Kernel Memory Allocation in the Appropriate agd1 Structure Field. + */ + search_element->shared_repo_virtual_address->process_metrics.agd1.cdma_send_time_start_u = inter_process_shared_info_memory->accel_direct_1_shared_metrics.cdma_send_time_start_u; + + /* + * Copy the "CDMA Send Ending Point Lower Register" Time Value from the FPGA BRAM to the Current Node's Kernel Memory Allocation in the Appropriate agd1 Structure Field. + */ + search_element->shared_repo_virtual_address->process_metrics.agd1.cdma_send_time_end_l = inter_process_shared_info_memory->accel_direct_1_shared_metrics.cdma_send_time_end_l; + + /* + * Copy the "CDMA Send Ending Point Upper Register" Time Value from the FPGA BRAM to the Current Node's Kernel Memory Allocation in the Appropriate agd1 Structure Field. + */ + search_element->shared_repo_virtual_address->process_metrics.agd1.cdma_send_time_end_u = inter_process_shared_info_memory->accel_direct_1_shared_metrics.cdma_send_time_end_u; + + /* + * Copy the "Acceleration Starting Point Lower Register" Time Value from the FPGA BRAM to the Current Node's Kernel Memory Allocation in the Appropriate agd1 Structure Field. + */ + search_element->shared_repo_virtual_address->process_metrics.agd1.dma_accel_time_start_l = inter_process_shared_info_memory->accel_direct_1_shared_metrics.dma_accel_time_start_l; + + /* + * Copy the "Acceleration Starting Point Upper Register" Time Value from the FPGA BRAM to the Current Node's Kernel Memory Allocation in the Appropriate agd1 Structure Field. + */ + search_element->shared_repo_virtual_address->process_metrics.agd1.dma_accel_time_start_u = inter_process_shared_info_memory->accel_direct_1_shared_metrics.dma_accel_time_start_u; + + /* + * Copy the "Acceleration Ending Point Lower Register" Time Value from the FPGA BRAM to the Current Node's Kernel Memory Allocation in the Appropriate agd1 Structure Field. + */ + search_element->shared_repo_virtual_address->process_metrics.agd1.dma_accel_time_end_l = inter_process_shared_info_memory->accel_direct_1_shared_metrics.dma_accel_time_end_l; + + /* + * Copy the "Acceleration Ending Point Upper Register" Time Value from the FPGA BRAM to the Current Node's Kernel Memory Allocation in the Appropriate agd1 Structure Field. + */ + search_element->shared_repo_virtual_address->process_metrics.agd1.dma_accel_time_end_u = inter_process_shared_info_memory->accel_direct_1_shared_metrics.dma_accel_time_end_u; + + /* + * setup_and_send_signal() is Used to Send a Signal to the Userspace Thread that Occupied the AGD1 + * to Indicate the Completion of the Acceleration Procedure by the AGD1. + * + * setup_and_send_signal() is no longer Used Since it is Replaced by Another Method for Informing the Userspace Thread for the Completion of the Acceleration Procedure. + * It is Reserved, though, for Possible Future Usage. + */ + //setup_and_send_signal(DEFAULT_SIGNAL_1, inter_process_shared_info_memory->shared_status_flags.accel_direct_1_occupied_pid); + + /* + * Set the Current Node's accel_completed Field with the ACCELERATOR_DIRECT_1_OCCUPIED Value which, also, Indicates the Completion of AGD1. + * The accel_completed Field is Stored inside the Metrics Kernel Memory Allocation that is, also, Mapped to the Corresponding Userspace Thread of the Current List Node. + * As a Result, the Userspace Thread Reads the accel_completed Field in Polling Mode to Know when the AGD1 has Completed. + */ + search_element->shared_repo_virtual_address->accel_completed |= ACCELERATOR_DIRECT_1_OCCUPIED; + + /* + * Clear the agd1_busy Field of the BRAM to Indicate that the AGD1 is Available. + */ + inter_process_shared_info_memory->shared_status_flags.agd1_busy = 0; + + /* + * Clear the accel_direct_1_occupied_pid Field of the BRAM which Indicates which PID has Occupied the AGD1. + */ + inter_process_shared_info_memory->shared_status_flags.accel_direct_1_occupied_pid = 0; + + /* + * Write an Acknowledgment Value to the Data Register of the GPIO_ACK Peripheral of the FPGA. + * The GPIO_ACK Peripheral will then Trigger an Interrupt to the Interrupt Manager (FPGA) to Indicate that the Driver Successfully Handled the MSI Interrupt for the AGD1. + */ + write_remote_register(bar0_address_virtual, BAR0_OFFSET_GPIO_ACK, (u32)ACK); + + } + + /* + * Set the search_element Pointer to Point at the Next List Node. + */ + search_element = search_element->next_pid; + } + + /* + * Unlock the msi_2_sem Semaphore so that other Userspace Threads can Access that Part of the Code. + */ + up_write(&msi_2_sem); + + /* + * The Fact that an Interrupt Occured it Means that the AGD1 Has Completed which in other Words Means that the AGD1 is Available. + * Wake up the Sleeping Userspace Threads of the ioctl_queue Queue so that they can Claim the AGD1. + */ + wake_up_interruptible(&ioctl_queue); + + return IRQ_HANDLED; +} + +/** OK + * irq_handler_2() + * + * Started as a Threaded Function by the irq_fast_handler_2() when a MSI 2 Interrupt Occurs. + * + * MSI 2 Interrupt Signifies the Completion of the Acceleration Procedure for the Acceleration Group Indirect 0 (AGI0). + * In such Condition the irq_handler_2() Should Gather the Metrics Information that AGI0 Stored to the FPGA BRAM and + * Copy it to the Metrics Kernel Memory Allocation that Corresponds to the Userspace Thread that Occupied the AGI0. + * + */ +irqreturn_t irq_handler_2(int irq, void *dev_id, struct pt_regs *regs) +{ + + /* + * Pointer of Type struct pid_reserved_memories. + * Used to Access the Singly Linked List where each Node Hold Metrics Information and Pointers for each Userspace Application. + */ + struct pid_reserved_memories *search_element = NULL; + + + #ifdef DEBUG_MESSAGES + printk(KERN_ALERT "[%s-DBG -> MSI IRQ (PID %d)] Kernel Interrupted from Handler 2 [IRQ: %d]\n", driver_name, current->pid, irq); + #endif + + #ifdef DEBUG_MESSAGES + printk(KERN_ALERT "[%s-DBG -> MSI IRQ (PID %d)] Acceleration Group Indirect 0 Completed\n", driver_name, current->pid); + #endif + + /* + * Lock the msi_3_sem Semaphore so that only the Current Userspace Thread can Access that part of the Code. + */ + down_write(&msi_3_sem); + + /* + * Set the search_element Pointer to Point at the Head (pid_list_head) of the Singly Linked List so that we Can Search the List of Nodes from the Beginning. + */ + search_element = pid_list_head; + + /* + * Keep Moving Forward in the Singly Linked List for as long as the search_element Pointer has not Reached a NULL Value. + */ + while(search_element != NULL) + { + + /* + * Check if the Current Node's PID Value is Equal to the PID that Occupied the Acceleration Group Indirect 0 (AGI0). + * If this is the Case then we can Copy the AGIO Metrics Information from the FPGA BRAM to the Kernel Metrics Memory. + * + * The search_element->shared_repo_virtual_address is a Pointer of the Current Node that Points to a Metrics Kernel Memory Allocation which is + * Allocated Specifically for the Userspace Thread with PID Equal to the Current Node's PID (search_element->pid). + */ + if(search_element->pid == inter_process_shared_info_memory->shared_status_flags.accel_indirect_0_occupied_pid) + { + #ifdef DEBUG_MESSAGES + printk(KERN_ALERT "[%s-DBG -> MSI IRQ (PID %d)] Found Search Element\n", driver_name, current->pid); + #endif + + /* + * Copy the "Read Transactions" Metric from the FPGA BRAM to the Current Node's Kernel Memory Allocation in the Appropriate agi0 Structure Field. + */ + search_element->shared_repo_virtual_address->process_metrics.agi0.apm_read_transactions = inter_process_shared_info_memory->accel_indirect_0_shared_metrics.apm_read_transactions; + + /* + * Copy the "Read Bytes" Metric from the FPGA BRAM to the Current Node's Kernel Memory Allocation in the Appropriate agi0 Structure Field. + */ + search_element->shared_repo_virtual_address->process_metrics.agi0.apm_read_bytes = inter_process_shared_info_memory->accel_indirect_0_shared_metrics.apm_read_bytes; + + /* + * Copy the "Write Transactions" Metric from the FPGA BRAM to the Current Node's Kernel Memory Allocation in the Appropriate agi0 Structure Field. + */ + search_element->shared_repo_virtual_address->process_metrics.agi0.apm_write_transactions = inter_process_shared_info_memory->accel_indirect_0_shared_metrics.apm_write_transactions; + + /* + * Copy the "Write Bytes" Metric from the FPGA BRAM to the Current Node's Kernel Memory Allocation in the Appropriate agi0 Structure Field. + */ + search_element->shared_repo_virtual_address->process_metrics.agi0.apm_write_bytes = inter_process_shared_info_memory->accel_indirect_0_shared_metrics.apm_write_bytes; + + /* + * Copy the "Stream Packets" Metric from the FPGA BRAM to the Current Node's Kernel Memory Allocation in the Appropriate agi0 Structure Field. + */ + search_element->shared_repo_virtual_address->process_metrics.agi0.apm_packets = inter_process_shared_info_memory->accel_indirect_0_shared_metrics.apm_packets; + + /* + * Copy the "Stream Bytes" Metric from the FPGA BRAM to the Current Node's Kernel Memory Allocation in the Appropriate agi0 Structure Field. + */ + search_element->shared_repo_virtual_address->process_metrics.agi0.apm_bytes = inter_process_shared_info_memory->accel_indirect_0_shared_metrics.apm_bytes; + + /* + * Copy the "Global Clock Counter Lower Register" Time Value from the FPGA BRAM to the Current Node's Kernel Memory Allocation in the Appropriate agi0 Structure Field. + */ + search_element->shared_repo_virtual_address->process_metrics.agi0.apm_gcc_l = inter_process_shared_info_memory->accel_indirect_0_shared_metrics.apm_gcc_l; + + /* + * Copy the "Global Clock Counter Upper Register" Time Value from the FPGA BRAM to the Current Node's Kernel Memory Allocation in the Appropriate agi0 Structure Field. + */ + search_element->shared_repo_virtual_address->process_metrics.agi0.apm_gcc_u = inter_process_shared_info_memory->accel_indirect_0_shared_metrics.apm_gcc_u; + + /* + * Copy the "CDMA Fetch Starting Point Lower Register" Time Value from the FPGA BRAM to the Current Node's Kernel Memory Allocation in the Appropriate agi0 Structure Field. + */ + search_element->shared_repo_virtual_address->process_metrics.agi0.cdma_fetch_time_start_l = inter_process_shared_info_memory->accel_indirect_0_shared_metrics.cdma_fetch_time_start_l; + + /* + * Copy the "CDMA Fetch Starting Point Upper Register" Time Value from the FPGA BRAM to the Current Node's Kernel Memory Allocation in the Appropriate agi0 Structure Field. + */ + search_element->shared_repo_virtual_address->process_metrics.agi0.cdma_fetch_time_start_u = inter_process_shared_info_memory->accel_indirect_0_shared_metrics.cdma_fetch_time_start_u; + + /* + * Copy the "CDMA Fetch Ending Point Lower Register" Time Value from the FPGA BRAM to the Current Node's Kernel Memory Allocation in the Appropriate agi0 Structure Field. + */ + search_element->shared_repo_virtual_address->process_metrics.agi0.cdma_fetch_time_end_l = inter_process_shared_info_memory->accel_indirect_0_shared_metrics.cdma_fetch_time_end_l; + + /* + * Copy the "CDMA Fetch Ending Point Upper Register" Time Value from the FPGA BRAM to the Current Node's Kernel Memory Allocation in the Appropriate agi0 Structure Field. + */ + search_element->shared_repo_virtual_address->process_metrics.agi0.cdma_fetch_time_end_u = inter_process_shared_info_memory->accel_indirect_0_shared_metrics.cdma_fetch_time_end_u; + + /* + * Copy the "CDMA Send Starting Point Lower Register" Time Value from the FPGA BRAM to the Current Node's Kernel Memory Allocation in the Appropriate agi0 Structure Field. + */ + search_element->shared_repo_virtual_address->process_metrics.agi0.cdma_send_time_start_l = inter_process_shared_info_memory->accel_indirect_0_shared_metrics.cdma_send_time_start_l; + + /* + * Copy the "CDMA Send Starting Point Upper Register" Time Value from the FPGA BRAM to the Current Node's Kernel Memory Allocation in the Appropriate agi0 Structure Field. + */ + search_element->shared_repo_virtual_address->process_metrics.agi0.cdma_send_time_start_u = inter_process_shared_info_memory->accel_indirect_0_shared_metrics.cdma_send_time_start_u; + + /* + * Copy the "CDMA Send Ending Point Lower Register" Time Value from the FPGA BRAM to the Current Node's Kernel Memory Allocation in the Appropriate agi0 Structure Field. + */ + search_element->shared_repo_virtual_address->process_metrics.agi0.cdma_send_time_end_l = inter_process_shared_info_memory->accel_indirect_0_shared_metrics.cdma_send_time_end_l; + + /* + * Copy the "CDMA Send Ending Point Upper Register" Time Value from the FPGA BRAM to the Current Node's Kernel Memory Allocation in the Appropriate agi0 Structure Field. + */ + search_element->shared_repo_virtual_address->process_metrics.agi0.cdma_send_time_end_u = inter_process_shared_info_memory->accel_indirect_0_shared_metrics.cdma_send_time_end_u; + + /* + * Copy the "Acceleration Starting Point Lower Register" Time Value from the FPGA BRAM to the Current Node's Kernel Memory Allocation in the Appropriate agi0 Structure Field. + */ + search_element->shared_repo_virtual_address->process_metrics.agi0.dma_accel_time_start_l = inter_process_shared_info_memory->accel_indirect_0_shared_metrics.dma_accel_time_start_l; + + /* + * Copy the "Acceleration Starting Point Upper Register" Time Value from the FPGA BRAM to the Current Node's Kernel Memory Allocation in the Appropriate agi0 Structure Field. + */ + search_element->shared_repo_virtual_address->process_metrics.agi0.dma_accel_time_start_u = inter_process_shared_info_memory->accel_indirect_0_shared_metrics.dma_accel_time_start_u; + + /* + * Copy the "Acceleration Ending Point Lower Register" Time Value from the FPGA BRAM to the Current Node's Kernel Memory Allocation in the Appropriate agi0 Structure Field. + */ + search_element->shared_repo_virtual_address->process_metrics.agi0.dma_accel_time_end_l = inter_process_shared_info_memory->accel_indirect_0_shared_metrics.dma_accel_time_end_l; + + /* + * Copy the "Acceleration Ending Point Upper Register" Time Value from the FPGA BRAM to the Current Node's Kernel Memory Allocation in the Appropriate agi0 Structure Field. + */ + search_element->shared_repo_virtual_address->process_metrics.agi0.dma_accel_time_end_u = inter_process_shared_info_memory->accel_indirect_0_shared_metrics.dma_accel_time_end_u; + + /* + * setup_and_send_signal() is Used to Send a Signal to the Userspace Thread that Occupied the AGI0 + * to Indicate the Completion of the Acceleration Procedure by the AGI0. + * + * setup_and_send_signal() is no longer Used Since it is Replaced by Another Method for Informing the Userspace Thread for the Completion of the Acceleration Procedure. + * It is Reserved, though, for Possible Future Usage. + */ + //setup_and_send_signal(DEFAULT_SIGNAL_2, inter_process_shared_info_memory->shared_status_flags.accel_indirect_0_occupied_pid); + + /* + * Set the Current Node's accel_completed Field with the ACCELERATOR_INDIRECT_0_OCCUPIED Value which, also, Indicates the Completion of AGI0. + * The accel_completed Field is Stored inside the Metrics Kernel Memory Allocation that is, also, Mapped to the Corresponding Userspace Thread of the Current List Node. + * As a Result, the Userspace Thread Reads the accel_completed Field in Polling Mode to Know when the AGI0 has Completed. + */ + search_element->shared_repo_virtual_address->accel_completed |= ACCELERATOR_INDIRECT_0_OCCUPIED; + + /* + * Clear the agi0_busy Field of the BRAM to Indicate that the AGI0 is Available. + */ + inter_process_shared_info_memory->shared_status_flags.agi0_busy = 0; + + /* + * Clear the accel_indirect_0_occupied_pid Field of the BRAM which Indicates which PID has Occupied the AGI0. + */ + inter_process_shared_info_memory->shared_status_flags.accel_indirect_0_occupied_pid = 0; + + /* + * Write an Acknowledgment Value to the Data Register of the GPIO_ACK Peripheral of the FPGA. + * The GPIO_ACK Peripheral will then Trigger an Interrupt to the Interrupt Manager (FPGA) to Indicate that the Driver Successfully Handled the MSI Interrupt for the AGI0. + */ + write_remote_register(bar0_address_virtual, BAR0_OFFSET_GPIO_ACK, (u32)ACK); + + } + + /* + * Set the search_element Pointer to Point at the Next List Node. + */ + search_element = search_element->next_pid; + } + + /* + * Unlock the msi_3_sem Semaphore so that other Userspace Threads can Access that Part of the Code. + */ + up_write(&msi_3_sem); + + /* + * The Fact that an Interrupt Occured it Means that the AGI0 Has Completed which in other Words Means that the AGI0 is Available. + * Wake up the Sleeping Userspace Threads of the ioctl_queue Queue so that they can Claim the AGI0. + */ + wake_up_interruptible(&ioctl_queue); + + return IRQ_HANDLED; +} + +/** OK + * irq_handler_3() + * + * Started as a Threaded Function by the irq_fast_handler_3() when a MSI 3 Interrupt Occurs. + * + * MSI 3 Interrupt Signifies the Completion of the Acceleration Procedure for the Acceleration Group Indirect 1 (AGI1). + * In such Condition the irq_handler_3() Should Gather the Metrics Information that AGI1 Stored to the FPGA BRAM and + * Copy it to the Metrics Kernel Memory Allocation that Corresponds to the Userspace Thread that Occupied the AGI1. + * + */ +irqreturn_t irq_handler_3(int irq, void *dev_id, struct pt_regs *regs) +{ + /* + * Pointer of Type struct pid_reserved_memories. + * Used to Access the Singly Linked List where each Node Hold Metrics Information and Pointers for each Userspace Application. + */ + struct pid_reserved_memories *search_element = NULL; + + + #ifdef DEBUG_MESSAGES + printk(KERN_ALERT "[%s-DBG -> MSI IRQ (PID %d)] Kernel Interrupted from Handler 3 [IRQ: %d]\n", driver_name, current->pid, irq); + #endif + + #ifdef DEBUG_MESSAGES + printk(KERN_ALERT "[%s-DBG -> MSI IRQ (PID %d)] Acceleration Group Indirect 1 Completed\n", driver_name, current->pid); + #endif + + /* + * Lock the msi_4_sem Semaphore so that only the Current Userspace Thread can Access that part of the Code. + */ + down_write(&msi_4_sem); + + /* + * Set the search_element Pointer to Point at the Head (pid_list_head) of the Singly Linked List so that we Can Search the List of Nodes from the Beginning. + */ + search_element = pid_list_head; + + /* + * Keep Moving Forward in the Singly Linked List for as long as the search_element Pointer has not Reached a NULL Value. + */ + while(search_element != NULL) + { + + /* + * Check if the Current Node's PID Value is Equal to the PID that Occupied the Acceleration Group Indirect 1 (AGI1). + * If this is the Case then we can Copy the AGI1 Metrics Information from the FPGA BRAM to the Kernel Metrics Memory. + * + * The search_element->shared_repo_virtual_address is a Pointer of the Current Node that Points to a Metrics Kernel Memory Allocation which is + * Allocated Specifically for the Userspace Thread with PID Equal to the Current Node's PID (search_element->pid). + */ + if(search_element->pid == inter_process_shared_info_memory->shared_status_flags.accel_indirect_1_occupied_pid) + { + #ifdef DEBUG_MESSAGES + printk(KERN_ALERT "[%s-DBG -> MSI IRQ (PID %d)] Found Search Element\n", driver_name, current->pid); + #endif + + /* + * Copy the "Read Transactions" Metric from the FPGA BRAM to the Current Node's Kernel Memory Allocation in the Appropriate agi1 Structure Field. + */ + search_element->shared_repo_virtual_address->process_metrics.agi1.apm_read_transactions = inter_process_shared_info_memory->accel_indirect_1_shared_metrics.apm_read_transactions; + + /* + * Copy the "Read Bytes" Metric from the FPGA BRAM to the Current Node's Kernel Memory Allocation in the Appropriate agi1 Structure Field. + */ + search_element->shared_repo_virtual_address->process_metrics.agi1.apm_read_bytes = inter_process_shared_info_memory->accel_indirect_1_shared_metrics.apm_read_bytes; + + /* + * Copy the "Write Transactions" Metric from the FPGA BRAM to the Current Node's Kernel Memory Allocation in the Appropriate agi1 Structure Field. + */ + search_element->shared_repo_virtual_address->process_metrics.agi1.apm_write_transactions = inter_process_shared_info_memory->accel_indirect_1_shared_metrics.apm_write_transactions; + + /* + * Copy the "Write Bytes" Metric from the FPGA BRAM to the Current Node's Kernel Memory Allocation in the Appropriate agi1 Structure Field. + */ + search_element->shared_repo_virtual_address->process_metrics.agi1.apm_write_bytes = inter_process_shared_info_memory->accel_indirect_1_shared_metrics.apm_write_bytes; + + /* + * Copy the "Stream Packets" Metric from the FPGA BRAM to the Current Node's Kernel Memory Allocation in the Appropriate agi1 Structure Field. + */ + search_element->shared_repo_virtual_address->process_metrics.agi1.apm_packets = inter_process_shared_info_memory->accel_indirect_1_shared_metrics.apm_packets; + + /* + * Copy the "Stream Bytes" Metric from the FPGA BRAM to the Current Node's Kernel Memory Allocation in the Appropriate agi1 Structure Field. + */ + search_element->shared_repo_virtual_address->process_metrics.agi1.apm_bytes = inter_process_shared_info_memory->accel_indirect_1_shared_metrics.apm_bytes; + + /* + * Copy the "Global Clock Counter Lower Register" Time Value from the FPGA BRAM to the Current Node's Kernel Memory Allocation in the Appropriate agi1 Structure Field. + */ + search_element->shared_repo_virtual_address->process_metrics.agi1.apm_gcc_l = inter_process_shared_info_memory->accel_indirect_1_shared_metrics.apm_gcc_l; + + /* + * Copy the "Global Clock Counter Upper Register" Time Value from the FPGA BRAM to the Current Node's Kernel Memory Allocation in the Appropriate agi1 Structure Field. + */ + search_element->shared_repo_virtual_address->process_metrics.agi1.apm_gcc_u = inter_process_shared_info_memory->accel_indirect_1_shared_metrics.apm_gcc_u; + + /* + * Copy the "CDMA Fetch Starting Point Lower Register" Time Value from the FPGA BRAM to the Current Node's Kernel Memory Allocation in the Appropriate agi1 Structure Field. + */ + search_element->shared_repo_virtual_address->process_metrics.agi1.cdma_fetch_time_start_l = inter_process_shared_info_memory->accel_indirect_1_shared_metrics.cdma_fetch_time_start_l; + + /* + * Copy the "CDMA Fetch Starting Point Upper Register" Time Value from the FPGA BRAM to the Current Node's Kernel Memory Allocation in the Appropriate agi1 Structure Field. + */ + search_element->shared_repo_virtual_address->process_metrics.agi1.cdma_fetch_time_start_u = inter_process_shared_info_memory->accel_indirect_1_shared_metrics.cdma_fetch_time_start_u; + + /* + * Copy the "CDMA Fetch Ending Point Lower Register" Time Value from the FPGA BRAM to the Current Node's Kernel Memory Allocation in the Appropriate agi1 Structure Field. + */ + search_element->shared_repo_virtual_address->process_metrics.agi1.cdma_fetch_time_end_l = inter_process_shared_info_memory->accel_indirect_1_shared_metrics.cdma_fetch_time_end_l; + + /* + * Copy the "CDMA Fetch Ending Point Upper Register" Time Value from the FPGA BRAM to the Current Node's Kernel Memory Allocation in the Appropriate agi1 Structure Field. + */ + search_element->shared_repo_virtual_address->process_metrics.agi1.cdma_fetch_time_end_u = inter_process_shared_info_memory->accel_indirect_1_shared_metrics.cdma_fetch_time_end_u; + + /* + * Copy the "CDMA Send Starting Point Lower Register" Time Value from the FPGA BRAM to the Current Node's Kernel Memory Allocation in the Appropriate agi1 Structure Field. + */ + search_element->shared_repo_virtual_address->process_metrics.agi1.cdma_send_time_start_l = inter_process_shared_info_memory->accel_indirect_1_shared_metrics.cdma_send_time_start_l; + + /* + * Copy the "CDMA Send Starting Point Upper Register" Time Value from the FPGA BRAM to the Current Node's Kernel Memory Allocation in the Appropriate agi1 Structure Field. + */ + search_element->shared_repo_virtual_address->process_metrics.agi1.cdma_send_time_start_u = inter_process_shared_info_memory->accel_indirect_1_shared_metrics.cdma_send_time_start_u; + + /* + * Copy the "CDMA Send Ending Point Lower Register" Time Value from the FPGA BRAM to the Current Node's Kernel Memory Allocation in the Appropriate agi1 Structure Field. + */ + search_element->shared_repo_virtual_address->process_metrics.agi1.cdma_send_time_end_l = inter_process_shared_info_memory->accel_indirect_1_shared_metrics.cdma_send_time_end_l; + + /* + * Copy the "CDMA Send Ending Point Upper Register" Time Value from the FPGA BRAM to the Current Node's Kernel Memory Allocation in the Appropriate agi1 Structure Field. + */ + search_element->shared_repo_virtual_address->process_metrics.agi1.cdma_send_time_end_u = inter_process_shared_info_memory->accel_indirect_1_shared_metrics.cdma_send_time_end_u; + + /* + * Copy the "Acceleration Starting Point Lower Register" Time Value from the FPGA BRAM to the Current Node's Kernel Memory Allocation in the Appropriate agi1 Structure Field. + */ + search_element->shared_repo_virtual_address->process_metrics.agi1.dma_accel_time_start_l = inter_process_shared_info_memory->accel_indirect_1_shared_metrics.dma_accel_time_start_l; + + /* + * Copy the "Acceleration Starting Point Upper Register" Time Value from the FPGA BRAM to the Current Node's Kernel Memory Allocation in the Appropriate agi1 Structure Field. + */ + search_element->shared_repo_virtual_address->process_metrics.agi1.dma_accel_time_start_u = inter_process_shared_info_memory->accel_indirect_1_shared_metrics.dma_accel_time_start_u; + + /* + * Copy the "Acceleration Ending Point Lower Register" Time Value from the FPGA BRAM to the Current Node's Kernel Memory Allocation in the Appropriate agi1 Structure Field. + */ + search_element->shared_repo_virtual_address->process_metrics.agi1.dma_accel_time_end_l = inter_process_shared_info_memory->accel_indirect_1_shared_metrics.dma_accel_time_end_l; + + /* + * Copy the "Acceleration Ending Point Upper Register" Time Value from the FPGA BRAM to the Current Node's Kernel Memory Allocation in the Appropriate agi1 Structure Field. + */ + search_element->shared_repo_virtual_address->process_metrics.agi1.dma_accel_time_end_u = inter_process_shared_info_memory->accel_indirect_1_shared_metrics.dma_accel_time_end_u; + + /* + * setup_and_send_signal() is Used to Send a Signal to the Userspace Thread that Occupied the AGI1 + * to Indicate the Completion of the Acceleration Procedure by the AGI1. + * + * setup_and_send_signal() is no longer Used Since it is Replaced by Another Method for Informing the Userspace Thread for the Completion of the Acceleration Procedure. + * It is Reserved, though, for Possible Future Usage. + */ + //setup_and_send_signal(DEFAULT_SIGNAL_3, inter_process_shared_info_memory->shared_status_flags.accel_indirect_1_occupied_pid); + + /* + * Set the Current Node's accel_completed Field with the ACCELERATOR_INDIRECT_1_OCCUPIED Value which, also, Indicates the Completion of AGI1. + * The accel_completed Field is Stored inside the Metrics Kernel Memory Allocation that is, also, Mapped to the Corresponding Userspace Thread of the Current List Node. + * As a Result, the Userspace Thread Reads the accel_completed Field in Polling Mode to Know when the AGI1 has Completed. + */ + search_element->shared_repo_virtual_address->accel_completed |= ACCELERATOR_INDIRECT_1_OCCUPIED; + + /* + * Clear the agi1_busy Field of the BRAM to Indicate that the AGI1 is Available. + */ + inter_process_shared_info_memory->shared_status_flags.agi1_busy = 0; + + /* + * Clear the accel_indirect_1_occupied_pid Field of the BRAM which Indicates which PID has Occupied the AGI1. + */ + inter_process_shared_info_memory->shared_status_flags.accel_indirect_1_occupied_pid = 0; + + /* + * Write an Acknowledgment Value to the Data Register of the GPIO_ACK Peripheral of the FPGA. + * The GPIO_ACK Peripheral will then Trigger an Interrupt to the Interrupt Manager (FPGA) to Indicate that the Driver Successfully Handled the MSI Interrupt for the AGI1. + */ + write_remote_register(bar0_address_virtual, BAR0_OFFSET_GPIO_ACK, (u32)ACK); + + } + + /* + * Set the search_element Pointer to Point at the Next List Node. + */ + search_element = search_element->next_pid; + } + + /* + * Unlock the msi_4_sem Semaphore so that other Userspace Threads can Access that Part of the Code. + */ + up_write(&msi_4_sem); + + /* + * The Fact that an Interrupt Occured it Means that the AGI1 Has Completed which in other Words Means that the AGI1 is Available. + * Wake up the Sleeping Userspace Threads of the ioctl_queue Queue so that they can Claim the AGI1. + */ + wake_up_interruptible(&ioctl_queue); + + return IRQ_HANDLED; +} + +/** OK + * irq_handler_4() + * + * Started as a Threaded Function by the irq_fast_handler_4() when a MSI 4 Interrupt Occurs. + * + * MSI 4 Interrupt Signifies the Completion of the Acceleration Procedure for the Acceleration Group Indirect 2 (AGI2). + * In such Condition the irq_handler_4() Should Gather the Metrics Information that AGI2 Stored to the FPGA BRAM and + * Copy it to the Metrics Kernel Memory Allocation that Corresponds to the Userspace Thread that Occupied the AGI2. + * + */ +irqreturn_t irq_handler_4(int irq, void *dev_id, struct pt_regs *regs) +{ + /* + * Pointer of Type struct pid_reserved_memories. + * Used to Access the Singly Linked List where each Node Hold Metrics Information and Pointers for each Userspace Application. + */ + struct pid_reserved_memories *search_element = NULL; + + + #ifdef DEBUG_MESSAGES + printk(KERN_ALERT "[%s-DBG -> MSI IRQ (PID %d)] Kernel Interrupted from Handler 4 [IRQ: %d]\n", driver_name, current->pid, irq); + #endif + + #ifdef DEBUG_MESSAGES + printk(KERN_ALERT "[%s-DBG -> MSI IRQ (PID %d)] Acceleration Group Indirect 2 Completed\n", driver_name, current->pid); + #endif + + /* + * Lock the msi_5_sem Semaphore so that only the Current Userspace Thread can Access that part of the Code. + */ + down_write(&msi_5_sem); + + /* + * Set the search_element Pointer to Point at the Head (pid_list_head) of the Singly Linked List so that we Can Search the List of Nodes from the Beginning. + */ + search_element = pid_list_head; + + + /* + * Keep Moving Forward in the Singly Linked List for as long as the search_element Pointer has not Reached a NULL Value. + */ + while(search_element != NULL) + { + + /* + * Check if the Current Node's PID Value is Equal to the PID that Occupied the Acceleration Group Indirect 2 (AGI2). + * If this is the Case then we can Copy the AGI2 Metrics Information from the FPGA BRAM to the Kernel Metrics Memory. + * + * The search_element->shared_repo_virtual_address is a Pointer of the Current Node that Points to a Metrics Kernel Memory Allocation which is + * Allocated Specifically for the Userspace Thread with PID Equal to the Current Node's PID (search_element->pid). + */ + if(search_element->pid == inter_process_shared_info_memory->shared_status_flags.accel_indirect_2_occupied_pid) + { + #ifdef DEBUG_MESSAGES + printk(KERN_ALERT "[%s-DBG -> MSI IRQ (PID %d)] Found Search Element\n", driver_name, current->pid); + #endif + + /* + * Copy the "Read Transactions" Metric from the FPGA BRAM to the Current Node's Kernel Memory Allocation in the Appropriate agi2 Structure Field. + */ + search_element->shared_repo_virtual_address->process_metrics.agi2.apm_read_transactions = inter_process_shared_info_memory->accel_indirect_2_shared_metrics.apm_read_transactions; + + /* + * Copy the "Read Bytes" Metric from the FPGA BRAM to the Current Node's Kernel Memory Allocation in the Appropriate agi2 Structure Field. + */ + search_element->shared_repo_virtual_address->process_metrics.agi2.apm_read_bytes = inter_process_shared_info_memory->accel_indirect_2_shared_metrics.apm_read_bytes; + + /* + * Copy the "Write Transactions" Metric from the FPGA BRAM to the Current Node's Kernel Memory Allocation in the Appropriate agi2 Structure Field. + */ + search_element->shared_repo_virtual_address->process_metrics.agi2.apm_write_transactions = inter_process_shared_info_memory->accel_indirect_2_shared_metrics.apm_write_transactions; + + /* + * Copy the "Write Bytes" Metric from the FPGA BRAM to the Current Node's Kernel Memory Allocation in the Appropriate agi2 Structure Field. + */ + search_element->shared_repo_virtual_address->process_metrics.agi2.apm_write_bytes = inter_process_shared_info_memory->accel_indirect_2_shared_metrics.apm_write_bytes; + + /* + * Copy the "Stream Packets" Metric from the FPGA BRAM to the Current Node's Kernel Memory Allocation in the Appropriate agi2 Structure Field. + */ + search_element->shared_repo_virtual_address->process_metrics.agi2.apm_packets = inter_process_shared_info_memory->accel_indirect_2_shared_metrics.apm_packets; + + /* + * Copy the "Stream Bytes" Metric from the FPGA BRAM to the Current Node's Kernel Memory Allocation in the Appropriate agi2 Structure Field. + */ + search_element->shared_repo_virtual_address->process_metrics.agi2.apm_bytes = inter_process_shared_info_memory->accel_indirect_2_shared_metrics.apm_bytes; + + /* + * Copy the "Global Clock Counter Lower Register" Time Value from the FPGA BRAM to the Current Node's Kernel Memory Allocation in the Appropriate agi2 Structure Field. + */ + search_element->shared_repo_virtual_address->process_metrics.agi2.apm_gcc_l = inter_process_shared_info_memory->accel_indirect_2_shared_metrics.apm_gcc_l; + + /* + * Copy the "Global Clock Counter Upper Register" Time Value from the FPGA BRAM to the Current Node's Kernel Memory Allocation in the Appropriate agi2 Structure Field. + */ + search_element->shared_repo_virtual_address->process_metrics.agi2.apm_gcc_u = inter_process_shared_info_memory->accel_indirect_2_shared_metrics.apm_gcc_u; + + /* + * Copy the "CDMA Fetch Starting Point Lower Register" Time Value from the FPGA BRAM to the Current Node's Kernel Memory Allocation in the Appropriate agi2 Structure Field. + */ + search_element->shared_repo_virtual_address->process_metrics.agi2.cdma_fetch_time_start_l = inter_process_shared_info_memory->accel_indirect_2_shared_metrics.cdma_fetch_time_start_l; + + /* + * Copy the "CDMA Fetch Starting Point Upper Register" Time Value from the FPGA BRAM to the Current Node's Kernel Memory Allocation in the Appropriate agi2 Structure Field. + */ + search_element->shared_repo_virtual_address->process_metrics.agi2.cdma_fetch_time_start_u = inter_process_shared_info_memory->accel_indirect_2_shared_metrics.cdma_fetch_time_start_u; + + /* + * Copy the "CDMA Fetch Ending Point Lower Register" Time Value from the FPGA BRAM to the Current Node's Kernel Memory Allocation in the Appropriate agi2 Structure Field. + */ + search_element->shared_repo_virtual_address->process_metrics.agi2.cdma_fetch_time_end_l = inter_process_shared_info_memory->accel_indirect_2_shared_metrics.cdma_fetch_time_end_l; + + /* + * Copy the "CDMA Fetch Ending Point Upper Register" Time Value from the FPGA BRAM to the Current Node's Kernel Memory Allocation in the Appropriate agi2 Structure Field. + */ + search_element->shared_repo_virtual_address->process_metrics.agi2.cdma_fetch_time_end_u = inter_process_shared_info_memory->accel_indirect_2_shared_metrics.cdma_fetch_time_end_u; + + /* + * Copy the "CDMA Send Starting Point Lower Register" Time Value from the FPGA BRAM to the Current Node's Kernel Memory Allocation in the Appropriate agi2 Structure Field. + */ + search_element->shared_repo_virtual_address->process_metrics.agi2.cdma_send_time_start_l = inter_process_shared_info_memory->accel_indirect_2_shared_metrics.cdma_send_time_start_l; + + /* + * Copy the "CDMA Send Starting Point Upper Register" Time Value from the FPGA BRAM to the Current Node's Kernel Memory Allocation in the Appropriate agi2 Structure Field. + */ + search_element->shared_repo_virtual_address->process_metrics.agi2.cdma_send_time_start_u = inter_process_shared_info_memory->accel_indirect_2_shared_metrics.cdma_send_time_start_u; + + /* + * Copy the "CDMA Send Ending Point Lower Register" Time Value from the FPGA BRAM to the Current Node's Kernel Memory Allocation in the Appropriate agi2 Structure Field. + */ + search_element->shared_repo_virtual_address->process_metrics.agi2.cdma_send_time_end_l = inter_process_shared_info_memory->accel_indirect_2_shared_metrics.cdma_send_time_end_l; + + /* + * Copy the "CDMA Send Ending Point Upper Register" Time Value from the FPGA BRAM to the Current Node's Kernel Memory Allocation in the Appropriate agi2 Structure Field. + */ + search_element->shared_repo_virtual_address->process_metrics.agi2.cdma_send_time_end_u = inter_process_shared_info_memory->accel_indirect_2_shared_metrics.cdma_send_time_end_u; + + /* + * Copy the "Acceleration Starting Point Lower Register" Time Value from the FPGA BRAM to the Current Node's Kernel Memory Allocation in the Appropriate agi2 Structure Field. + */ + search_element->shared_repo_virtual_address->process_metrics.agi2.dma_accel_time_start_l = inter_process_shared_info_memory->accel_indirect_2_shared_metrics.dma_accel_time_start_l; + + /* + * Copy the "Acceleration Starting Point Upper Register" Time Value from the FPGA BRAM to the Current Node's Kernel Memory Allocation in the Appropriate agi2 Structure Field. + */ + search_element->shared_repo_virtual_address->process_metrics.agi2.dma_accel_time_start_u = inter_process_shared_info_memory->accel_indirect_2_shared_metrics.dma_accel_time_start_u; + + /* + * Copy the "Acceleration Ending Point Lower Register" Time Value from the FPGA BRAM to the Current Node's Kernel Memory Allocation in the Appropriate agi2 Structure Field. + */ + search_element->shared_repo_virtual_address->process_metrics.agi2.dma_accel_time_end_l = inter_process_shared_info_memory->accel_indirect_2_shared_metrics.dma_accel_time_end_l; + + /* + * Copy the "Acceleration Ending Point Upper Register" Time Value from the FPGA BRAM to the Current Node's Kernel Memory Allocation in the Appropriate agi2 Structure Field. + */ + search_element->shared_repo_virtual_address->process_metrics.agi2.dma_accel_time_end_u = inter_process_shared_info_memory->accel_indirect_2_shared_metrics.dma_accel_time_end_u; + + /* + * setup_and_send_signal() is Used to Send a Signal to the Userspace Thread that Occupied the AGI2 + * to Indicate the Completion of the Acceleration Procedure by the AGI2. + * + * setup_and_send_signal() is no longer Used Since it is Replaced by Another Method for Informing the Userspace Thread for the Completion of the Acceleration Procedure. + * It is Reserved, though, for Possible Future Usage. + */ + //setup_and_send_signal(DEFAULT_SIGNAL_4, inter_process_shared_info_memory->shared_status_flags.accel_indirect_2_occupied_pid); + + /* + * Set the Current Node's accel_completed Field with the ACCELERATOR_INDIRECT_2_OCCUPIED Value which, also, Indicates the Completion of AGI2. + * The accel_completed Field is Stored inside the Metrics Kernel Memory Allocation that is, also, Mapped to the Corresponding Userspace Thread of the Current List Node. + * As a Result, the Userspace Thread Reads the accel_completed Field in Polling Mode to Know when the AGI2 has Completed. + */ + search_element->shared_repo_virtual_address->accel_completed |= ACCELERATOR_INDIRECT_2_OCCUPIED; + + /* + * Clear the agi2_busy Field of the BRAM to Indicate that the AGI2 is Available. + */ + inter_process_shared_info_memory->shared_status_flags.agi2_busy = 0; + + /* + * Clear the accel_indirect_2_occupied_pid Field of the BRAM which Indicates which PID has Occupied the AGI2. + */ + inter_process_shared_info_memory->shared_status_flags.accel_indirect_2_occupied_pid = 0; + + /* + * Write an Acknowledgment Value to the Data Register of the GPIO_ACK Peripheral of the FPGA. + * The GPIO_ACK Peripheral will then Trigger an Interrupt to the Interrupt Manager (FPGA) to Indicate that the Driver Successfully Handled the MSI Interrupt for the AGI2. + */ + write_remote_register(bar0_address_virtual, BAR0_OFFSET_GPIO_ACK, (u32)ACK); + + } + + /* + * Set the search_element Pointer to Point at the Next List Node. + */ + search_element = search_element->next_pid; + } + + /* + * Unlock the msi_5_sem Semaphore so that other Userspace Threads can Access that Part of the Code. + */ + up_write(&msi_5_sem); + + /* + * The Fact that an Interrupt Occured it Means that the AGI2 Has Completed which in other Words Means that the AGI2 is Available. + * Wake up the Sleeping Userspace Threads of the ioctl_queue Queue so that they can Claim the AGI2. + */ + wake_up_interruptible(&ioctl_queue); + + return IRQ_HANDLED; +} + +/** OK + * irq_handler_5() + * + * Started as a Threaded Function by the irq_fast_handler_5() when a MSI 5 Interrupt Occurs. + * + * MSI 5 Interrupt Signifies the Completion of the Acceleration Procedure for the Acceleration Group Indirect 3 (AGI3). + * In such Condition the irq_handler_5() Should Gather the Metrics Information that AGI3 Stored to the FPGA BRAM and + * Copy it to the Metrics Kernel Memory Allocation that Corresponds to the Userspace Thread that Occupied the AGI3. + * + */ +irqreturn_t irq_handler_5(int irq, void *dev_id, struct pt_regs *regs) +{ + /* + * Pointer of Type struct pid_reserved_memories. + * Used to Access the Singly Linked List where each Node Hold Metrics Information and Pointers for each Userspace Application. + */ + struct pid_reserved_memories *search_element = NULL; + + + #ifdef DEBUG_MESSAGES + printk(KERN_ALERT "[%s-DBG -> MSI IRQ (PID %d)] Kernel Interrupted from Handler 5 [IRQ: %d]\n", driver_name, current->pid, irq); + #endif + + #ifdef DEBUG_MESSAGES + printk(KERN_ALERT "[%s-DBG -> MSI IRQ (PID %d)] Acceleration Group Indirect 3 Completed\n", driver_name, current->pid); + #endif + + /* + * Lock the msi_6_sem Semaphore so that only the Current Userspace Thread can Access that part of the Code. + */ + down_write(&msi_6_sem); + + /* + * Set the search_element Pointer to Point at the Head (pid_list_head) of the Singly Linked List so that we Can Search the List of Nodes from the Beginning. + */ + search_element = pid_list_head; + + + /* + * Keep Moving Forward in the Singly Linked List for as long as the search_element Pointer has not Reached a NULL Value. + */ + while(search_element != NULL) + { + /* + * Check if the Current Node's PID Value is Equal to the PID that Occupied the Acceleration Group Indirect 3 (AGI3). + * If this is the Case then we can Copy the AGI3 Metrics Information from the FPGA BRAM to the Kernel Metrics Memory. + * + * The search_element->shared_repo_virtual_address is a Pointer of the Current Node that Points to a Metrics Kernel Memory Allocation which is + * Allocated Specifically for the Userspace Thread with PID Equal to the Current Node's PID (search_element->pid). + */ + if(search_element->pid == inter_process_shared_info_memory->shared_status_flags.accel_indirect_3_occupied_pid) + { + #ifdef DEBUG_MESSAGES + printk(KERN_ALERT "[%s-DBG -> MSI IRQ (PID %d)] Found Search Element\n", driver_name, current->pid); + #endif + + /* + * Copy the "Read Transactions" Metric from the FPGA BRAM to the Current Node's Kernel Memory Allocation in the Appropriate agi3 Structure Field. + */ + search_element->shared_repo_virtual_address->process_metrics.agi3.apm_read_transactions = inter_process_shared_info_memory->accel_indirect_3_shared_metrics.apm_read_transactions; + + /* + * Copy the "Read Bytes" Metric from the FPGA BRAM to the Current Node's Kernel Memory Allocation in the Appropriate agi3 Structure Field. + */ + search_element->shared_repo_virtual_address->process_metrics.agi3.apm_read_bytes = inter_process_shared_info_memory->accel_indirect_3_shared_metrics.apm_read_bytes; + + /* + * Copy the "Write Transactions" Metric from the FPGA BRAM to the Current Node's Kernel Memory Allocation in the Appropriate agi3 Structure Field. + */ + search_element->shared_repo_virtual_address->process_metrics.agi3.apm_write_transactions = inter_process_shared_info_memory->accel_indirect_3_shared_metrics.apm_write_transactions; + + /* + * Copy the "Write Bytes" Metric from the FPGA BRAM to the Current Node's Kernel Memory Allocation in the Appropriate agi3 Structure Field. + */ + search_element->shared_repo_virtual_address->process_metrics.agi3.apm_write_bytes = inter_process_shared_info_memory->accel_indirect_3_shared_metrics.apm_write_bytes; + + /* + * Copy the "Stream Packets" Metric from the FPGA BRAM to the Current Node's Kernel Memory Allocation in the Appropriate agi3 Structure Field. + */ + search_element->shared_repo_virtual_address->process_metrics.agi3.apm_packets = inter_process_shared_info_memory->accel_indirect_3_shared_metrics.apm_packets; + + /* + * Copy the "Stream Bytes" Metric from the FPGA BRAM to the Current Node's Kernel Memory Allocation in the Appropriate agi3 Structure Field. + */ + search_element->shared_repo_virtual_address->process_metrics.agi3.apm_bytes = inter_process_shared_info_memory->accel_indirect_3_shared_metrics.apm_bytes; + + /* + * Copy the "Global Clock Counter Lower Register" Time Value from the FPGA BRAM to the Current Node's Kernel Memory Allocation in the Appropriate agi3 Structure Field. + */ + search_element->shared_repo_virtual_address->process_metrics.agi3.apm_gcc_l = inter_process_shared_info_memory->accel_indirect_3_shared_metrics.apm_gcc_l; + + /* + * Copy the "Global Clock Counter Upper Register" Time Value from the FPGA BRAM to the Current Node's Kernel Memory Allocation in the Appropriate agi3 Structure Field. + */ + search_element->shared_repo_virtual_address->process_metrics.agi3.apm_gcc_u = inter_process_shared_info_memory->accel_indirect_3_shared_metrics.apm_gcc_u; + + /* + * Copy the "CDMA Fetch Starting Point Lower Register" Time Value from the FPGA BRAM to the Current Node's Kernel Memory Allocation in the Appropriate agi3 Structure Field. + */ + search_element->shared_repo_virtual_address->process_metrics.agi3.cdma_fetch_time_start_l = inter_process_shared_info_memory->accel_indirect_3_shared_metrics.cdma_fetch_time_start_l; + + /* + * Copy the "CDMA Fetch Starting Point Upper Register" Time Value from the FPGA BRAM to the Current Node's Kernel Memory Allocation in the Appropriate agi3 Structure Field. + */ + search_element->shared_repo_virtual_address->process_metrics.agi3.cdma_fetch_time_start_u = inter_process_shared_info_memory->accel_indirect_3_shared_metrics.cdma_fetch_time_start_u; + + /* + * Copy the "CDMA Fetch Ending Point Lower Register" Time Value from the FPGA BRAM to the Current Node's Kernel Memory Allocation in the Appropriate agi3 Structure Field. + */ + search_element->shared_repo_virtual_address->process_metrics.agi3.cdma_fetch_time_end_l = inter_process_shared_info_memory->accel_indirect_3_shared_metrics.cdma_fetch_time_end_l; + + /* + * Copy the "CDMA Fetch Ending Point Upper Register" Time Value from the FPGA BRAM to the Current Node's Kernel Memory Allocation in the Appropriate agi3 Structure Field. + */ + search_element->shared_repo_virtual_address->process_metrics.agi3.cdma_fetch_time_end_u = inter_process_shared_info_memory->accel_indirect_3_shared_metrics.cdma_fetch_time_end_u; + + /* + * Copy the "CDMA Send Starting Point Lower Register" Time Value from the FPGA BRAM to the Current Node's Kernel Memory Allocation in the Appropriate agi3 Structure Field. + */ + search_element->shared_repo_virtual_address->process_metrics.agi3.cdma_send_time_start_l = inter_process_shared_info_memory->accel_indirect_3_shared_metrics.cdma_send_time_start_l; + + /* + * Copy the "CDMA Send Starting Point Upper Register" Time Value from the FPGA BRAM to the Current Node's Kernel Memory Allocation in the Appropriate agi3 Structure Field. + */ + search_element->shared_repo_virtual_address->process_metrics.agi3.cdma_send_time_start_u = inter_process_shared_info_memory->accel_indirect_3_shared_metrics.cdma_send_time_start_u; + + /* + * Copy the "CDMA Send Ending Point Lower Register" Time Value from the FPGA BRAM to the Current Node's Kernel Memory Allocation in the Appropriate agi3 Structure Field. + */ + search_element->shared_repo_virtual_address->process_metrics.agi3.cdma_send_time_end_l = inter_process_shared_info_memory->accel_indirect_3_shared_metrics.cdma_send_time_end_l; + + /* + * Copy the "CDMA Send Ending Point Upper Register" Time Value from the FPGA BRAM to the Current Node's Kernel Memory Allocation in the Appropriate agi3 Structure Field. + */ + search_element->shared_repo_virtual_address->process_metrics.agi3.cdma_send_time_end_u = inter_process_shared_info_memory->accel_indirect_3_shared_metrics.cdma_send_time_end_u; + + /* + * Copy the "Acceleration Starting Point Lower Register" Time Value from the FPGA BRAM to the Current Node's Kernel Memory Allocation in the Appropriate agi3 Structure Field. + */ + search_element->shared_repo_virtual_address->process_metrics.agi3.dma_accel_time_start_l = inter_process_shared_info_memory->accel_indirect_3_shared_metrics.dma_accel_time_start_l; + + /* + * Copy the "Acceleration Starting Point Upper Register" Time Value from the FPGA BRAM to the Current Node's Kernel Memory Allocation in the Appropriate agi3 Structure Field. + */ + search_element->shared_repo_virtual_address->process_metrics.agi3.dma_accel_time_start_u = inter_process_shared_info_memory->accel_indirect_3_shared_metrics.dma_accel_time_start_u; + + /* + * Copy the "Acceleration Ending Point Lower Register" Time Value from the FPGA BRAM to the Current Node's Kernel Memory Allocation in the Appropriate agi3 Structure Field. + */ + search_element->shared_repo_virtual_address->process_metrics.agi3.dma_accel_time_end_l = inter_process_shared_info_memory->accel_indirect_3_shared_metrics.dma_accel_time_end_l; + + /* + * Copy the "Acceleration Ending Point Upper Register" Time Value from the FPGA BRAM to the Current Node's Kernel Memory Allocation in the Appropriate agi3 Structure Field. + */ + search_element->shared_repo_virtual_address->process_metrics.agi3.dma_accel_time_end_u = inter_process_shared_info_memory->accel_indirect_3_shared_metrics.dma_accel_time_end_u; + + /* + * setup_and_send_signal() is Used to Send a Signal to the Userspace Thread that Occupied the AGI3 + * to Indicate the Completion of the Acceleration Procedure by the AGI3. + * + * setup_and_send_signal() is no longer Used Since it is Replaced by Another Method for Informing the Userspace Thread for the Completion of the Acceleration Procedure. + * It is Reserved, though, for Possible Future Usage. + */ + //setup_and_send_signal(DEFAULT_SIGNAL_5, inter_process_shared_info_memory->shared_status_flags.accel_indirect_3_occupied_pid); + + /* + * Set the Current Node's accel_completed Field with the ACCELERATOR_INDIRECT_3_OCCUPIED Value which, also, Indicates the Completion of AGI3. + * The accel_completed Field is Stored inside the Metrics Kernel Memory Allocation that is, also, Mapped to the Corresponding Userspace Thread of the Current List Node. + * As a Result, the Userspace Thread Reads the accel_completed Field in Polling Mode to Know when the AGI3 has Completed. + */ + search_element->shared_repo_virtual_address->accel_completed |= ACCELERATOR_INDIRECT_3_OCCUPIED; + + /* + * Clear the agi3_busy Field of the BRAM to Indicate that the AGI3 is Available. + */ + inter_process_shared_info_memory->shared_status_flags.agi3_busy = 0; + + /* + * Clear the accel_indirect_3_occupied_pid Field of the BRAM which Indicates which PID has Occupied the AGI3. + */ + inter_process_shared_info_memory->shared_status_flags.accel_indirect_3_occupied_pid = 0; + + /* + * Write an Acknowledgment Value to the Data Register of the GPIO_ACK Peripheral of the FPGA. + * The GPIO_ACK Peripheral will then Trigger an Interrupt to the Interrupt Manager (FPGA) to Indicate that the Driver Successfully Handled the MSI Interrupt for the AGI3. + */ + write_remote_register(bar0_address_virtual, BAR0_OFFSET_GPIO_ACK, (u32)ACK); + + } + + /* + * Set the search_element Pointer to Point at the Next List Node. + */ + search_element = search_element->next_pid; + } + + /* + * Unlock the msi_6_sem Semaphore so that other Userspace Threads can Acces that Part of the Code. + */ + up_write(&msi_6_sem); + + /* + * The Fact that an Interrupt Occured it Means that the AGI3 Has Completed which in other Words Means that the AGI3 is Available. + * Wake up the Sleeping Userspace Threads of the ioctl_queue Queue so that they can Claim the AGI3. + */ + wake_up_interruptible(&ioctl_queue); + + return IRQ_HANDLED; +} + +/** OK + * irq_handler_6() + * + * Started as a Threaded Function by the irq_fast_handler_6() when a MSI 6 Interrupt Occurs. + * + * MSI 6 Interrupt Signifies the Completion of the Acceleration Procedure for the Acceleration Group Scatter/Gather (AGSG). + * In such Condition the irq_handler_6() Should Gather the Metrics Information that AGSG Stored to the FPGA BRAM and + * Copy it to the Metrics Kernel Memory Allocation that Corresponds to the Userspace Thread that Occupied the AGSG. + * + */ +irqreturn_t irq_handler_6(int irq, void *dev_id, struct pt_regs *regs) +{ + /* + * Pointer of Type struct pid_reserved_memories. + * Used to Access the Singly Linked List where each Node Hold Metrics Information and Pointers for each Userspace Application. + */ + struct pid_reserved_memories *search_element = NULL; + + + #ifdef DEBUG_MESSAGES + printk(KERN_ALERT "[%s-DBG -> MSI IRQ (PID %d)] Kernel Interrupted from Handler 6 [IRQ: %d]\n", driver_name, current->pid, irq); + #endif + + #ifdef DEBUG_MESSAGES + printk(KERN_ALERT "[%s-DBG -> MSI IRQ (PID %d)] Acceleration Group SG Completed\n", driver_name, current->pid); + #endif + + /* + * Lock the msi_7_sem Semaphore so that only the Current Userspace Thread can Access that part of the Code. + */ + down_write(&msi_7_sem); + + + /* + * Set the search_element Pointer to Point at the Head (pid_list_head) of the Singly Linked List so that we Can Search the List of Nodes from the Beginning. + */ + search_element = pid_list_head; + + /* + * Keep Moving Forward in the Singly Linked List for as long as the search_element Pointer has not Reached a NULL Value. + */ + while(search_element != NULL) + { + + /* + * Check if the Current Node's PID Value is Equal to the PID that Occupied the Acceleration Group Scatter/Gather (AGSG). + * If this is the Case then we can Copy the AGSG Metrics Information from the FPGA BRAM to the Kernel Metrics Memory. + * + * The search_element->shared_repo_virtual_address is a Pointer of the Current Node that Points to a Metrics Kernel Memory Allocation which is + * Allocated Specifically for the Userspace Thread with PID Equal to the Current Node's PID (search_element->pid). + */ + if(search_element->pid == inter_process_shared_info_memory->shared_status_flags.accel_sg_0_occupied_pid) + { + #ifdef DEBUG_MESSAGES + printk(KERN_ALERT "[%s-DBG -> MSI IRQ (PID %d)] Found Search Element\n", driver_name, current->pid); + #endif + + /* + * Copy the "Read Transactions" Metric from the FPGA BRAM to the Current Node's Kernel Memory Allocation in the Appropriate agsg Structure Field. + */ + search_element->shared_repo_virtual_address->process_metrics.agsg.apm_read_transactions = inter_process_shared_info_memory->accel_sg_0_shared_metrics.apm_read_transactions; + + /* + * Copy the "Read Bytes" Metric from the FPGA BRAM to the Current Node's Kernel Memory Allocation in the Appropriate agsg Structure Field. + */ + search_element->shared_repo_virtual_address->process_metrics.agsg.apm_read_bytes = inter_process_shared_info_memory->accel_sg_0_shared_metrics.apm_read_bytes; + + /* + * Copy the "Write Transactions" Metric from the FPGA BRAM to the Current Node's Kernel Memory Allocation in the Appropriate agsg Structure Field. + */ + search_element->shared_repo_virtual_address->process_metrics.agsg.apm_write_transactions = inter_process_shared_info_memory->accel_sg_0_shared_metrics.apm_write_transactions; + + /* + * Copy the "Write Bytes" Metric from the FPGA BRAM to the Current Node's Kernel Memory Allocation in the Appropriate agsg Structure Field. + */ + search_element->shared_repo_virtual_address->process_metrics.agsg.apm_write_bytes = inter_process_shared_info_memory->accel_sg_0_shared_metrics.apm_write_bytes; + + /* + * Copy the "Stream Packets" Metric from the FPGA BRAM to the Current Node's Kernel Memory Allocation in the Appropriate agsg Structure Field. + */ + search_element->shared_repo_virtual_address->process_metrics.agsg.apm_packets = inter_process_shared_info_memory->accel_sg_0_shared_metrics.apm_packets; + + /* + * Copy the "Stream Bytes" Metric from the FPGA BRAM to the Current Node's Kernel Memory Allocation in the Appropriate agsg Structure Field. + */ + search_element->shared_repo_virtual_address->process_metrics.agsg.apm_bytes = inter_process_shared_info_memory->accel_sg_0_shared_metrics.apm_bytes; + + /* + * Copy the "Global Clock Counter Lower Register" Time Value from the FPGA BRAM to the Current Node's Kernel Memory Allocation in the Appropriate agsg Structure Field. + */ + search_element->shared_repo_virtual_address->process_metrics.agsg.apm_gcc_l = inter_process_shared_info_memory->accel_sg_0_shared_metrics.apm_gcc_l; + + /* + * Copy the "Global Clock Counter Upper Register" Time Value from the FPGA BRAM to the Current Node's Kernel Memory Allocation in the Appropriate agsg Structure Field. + */ + search_element->shared_repo_virtual_address->process_metrics.agsg.apm_gcc_u = inter_process_shared_info_memory->accel_sg_0_shared_metrics.apm_gcc_u; + + /* + * Copy the "CDMA Fetch Starting Point Lower Register" Time Value from the FPGA BRAM to the Current Node's Kernel Memory Allocation in the Appropriate agsg Structure Field. + */ + search_element->shared_repo_virtual_address->process_metrics.agsg.cdma_fetch_time_start_l = inter_process_shared_info_memory->accel_sg_0_shared_metrics.cdma_fetch_time_start_l; + + /* + * Copy the "CDMA Fetch Starting Point Upper Register" Time Value from the FPGA BRAM to the Current Node's Kernel Memory Allocation in the Appropriate agsg Structure Field. + */ + search_element->shared_repo_virtual_address->process_metrics.agsg.cdma_fetch_time_start_u = inter_process_shared_info_memory->accel_sg_0_shared_metrics.cdma_fetch_time_start_u; + + /* + * Copy the "CDMA Fetch Ending Point Lower Register" Time Value from the FPGA BRAM to the Current Node's Kernel Memory Allocation in the Appropriate agsg Structure Field. + */ + search_element->shared_repo_virtual_address->process_metrics.agsg.cdma_fetch_time_end_l = inter_process_shared_info_memory->accel_sg_0_shared_metrics.cdma_fetch_time_end_l; + + /* + * Copy the "CDMA Fetch Ending Point Upper Register" Time Value from the FPGA BRAM to the Current Node's Kernel Memory Allocation in the Appropriate agsg Structure Field. + */ + search_element->shared_repo_virtual_address->process_metrics.agsg.cdma_fetch_time_end_u = inter_process_shared_info_memory->accel_sg_0_shared_metrics.cdma_fetch_time_end_u; + + /* + * Copy the "CDMA Send Starting Point Lower Register" Time Value from the FPGA BRAM to the Current Node's Kernel Memory Allocation in the Appropriate agsg Structure Field. + */ + search_element->shared_repo_virtual_address->process_metrics.agsg.cdma_send_time_start_l = inter_process_shared_info_memory->accel_sg_0_shared_metrics.cdma_send_time_start_l; + + /* + * Copy the "CDMA Send Starting Point Upper Register" Time Value from the FPGA BRAM to the Current Node's Kernel Memory Allocation in the Appropriate agsg Structure Field. + */ + search_element->shared_repo_virtual_address->process_metrics.agsg.cdma_send_time_start_u = inter_process_shared_info_memory->accel_sg_0_shared_metrics.cdma_send_time_start_u; + + /* + * Copy the "CDMA Send Ending Point Lower Register" Time Value from the FPGA BRAM to the Current Node's Kernel Memory Allocation in the Appropriate agsg Structure Field. + */ + search_element->shared_repo_virtual_address->process_metrics.agsg.cdma_send_time_end_l = inter_process_shared_info_memory->accel_sg_0_shared_metrics.cdma_send_time_end_l; + + /* + * Copy the "CDMA Send Ending Point Upper Register" Time Value from the FPGA BRAM to the Current Node's Kernel Memory Allocation in the Appropriate agsg Structure Field. + */ + search_element->shared_repo_virtual_address->process_metrics.agsg.cdma_send_time_end_u = inter_process_shared_info_memory->accel_sg_0_shared_metrics.cdma_send_time_end_u; + + /* + * Copy the "Acceleration Starting Point Lower Register" Time Value from the FPGA BRAM to the Current Node's Kernel Memory Allocation in the Appropriate agsg Structure Field. + */ + search_element->shared_repo_virtual_address->process_metrics.agsg.dma_accel_time_start_l = inter_process_shared_info_memory->accel_sg_0_shared_metrics.dma_accel_time_start_l; + + /* + * Copy the "Acceleration Starting Point Upper Register" Time Value from the FPGA BRAM to the Current Node's Kernel Memory Allocation in the Appropriate agsg Structure Field. + */ + search_element->shared_repo_virtual_address->process_metrics.agsg.dma_accel_time_start_u = inter_process_shared_info_memory->accel_sg_0_shared_metrics.dma_accel_time_start_u; + + /* + * Copy the "Acceleration Ending Point Lower Register" Time Value from the FPGA BRAM to the Current Node's Kernel Memory Allocation in the Appropriate agsg Structure Field. + */ + search_element->shared_repo_virtual_address->process_metrics.agsg.dma_accel_time_end_l = inter_process_shared_info_memory->accel_sg_0_shared_metrics.dma_accel_time_end_l; + + /* + * Copy the "Acceleration Ending Point Upper Register" Time Value from the FPGA BRAM to the Current Node's Kernel Memory Allocation in the Appropriate agsg Structure Field. + */ + search_element->shared_repo_virtual_address->process_metrics.agsg.dma_accel_time_end_u = inter_process_shared_info_memory->accel_sg_0_shared_metrics.dma_accel_time_end_u; + + /* + * setup_and_send_signal() is Used to Send a Signal to the Userspace Thread that Occupied the AGSG + * to Indicate the Completion of the Acceleration Procedure by the AGSG. + * + * setup_and_send_signal() is no longer Used Since it is Replaced by Another Method for Informing the Userspace Thread for the Completion of the Acceleration Procedure. + * It is Reserved, though, for Possible Future Usage. + */ + //setup_and_send_signal(DEFAULT_SIGNAL_6, inter_process_shared_info_memory->shared_status_flags.accel_sg_0_occupied_pid); + + /* + * Set the Current Node's accel_completed Field with the ACCELERATOR_SG_OCCUPIED Value which, also, Indicates the Completion of AGSG. + * The accel_completed Field is Stored inside the Metrics Kernel Memory Allocation that is, also, Mapped to the Corresponding Userspace Thread of the Current List Node. + * As a Result, the Userspace Thread Reads the accel_completed Field in Polling Mode to Know when the AGSG has Completed. + */ + search_element->shared_repo_virtual_address->accel_completed |= ACCELERATOR_SG_OCCUPIED; + + /* + * Clear the agsg_busy Field of the BRAM to Indicate that the AGSG is Available. + */ + inter_process_shared_info_memory->shared_status_flags.agsg_busy = 0; + + /* + * Clear the accel_sg_0_occupied_pid Field of the BRAM which Indicates which PID has Occupied the AGSG. + */ + inter_process_shared_info_memory->shared_status_flags.accel_sg_0_occupied_pid = 0; + + /* + * Write an Acknowledgment Value to the Data Register of the GPIO_ACK Peripheral of the FPGA. + * The GPIO_ACK Peripheral will then Trigger an Interrupt to the Interrupt Manager (FPGA) to Indicate that the Driver Successfully Handled the MSI Interrupt for the AGSG. + */ + write_remote_register(bar0_address_virtual, BAR0_OFFSET_GPIO_ACK, (u32)ACK); + + } + + /* + * Set the search_element Pointer to Point at the Next List Node. + */ + search_element = search_element->next_pid; + } + + /* + * Unlock the msi_7_sem Semaphore so that other Userspace Threads can Access that Part of the Code. + */ + up_write(&msi_7_sem); + + /* + * The Fact that an Interrupt Occured it Means that the AGSG Has Completed which in other Words Means that the AGSG is Available. + * Wake up the Sleeping Userspace Threads of the ioctl_queue Queue so that they can Claim the AGSG. + */ + wake_up_interruptible(&ioctl_queue); + + return IRQ_HANDLED; +} + + + + +/** OK + * initcode() + * + * Called by the xilinx_pci_driver_init() when Inserting the Driver. + * It is Used to Execute any Required Code Routine when Initializing the Driver. + * + * @note It is Currently Empty. + * + */ +void initcode(void) +{ + +} + +/** OK + * write_remote_register() + * + * Write to a 32 Bit Register of the AXI Address Space of the FPGA over the PCIe Bus. + * + * @param address the Base Address to Write to. + * + * @param offset the Offset of the Register. + * + * @param data a 32 Bit Data Value to Write. + * + */ +void write_remote_register(u64 *address, u64 offset, u32 data) +{ + #ifdef DEBUG_MESSAGES + printk(KERN_ALERT "[%s-DBG -> WRITE REMOTE REGISTER (PID %d)] Writing to Remote Register with Offset [0x%016llX]\n", driver_name, current->pid, offset); + #endif + + /* + * Write to the Register of a Given Address and Offset in Byte Alignment(u8 *). + */ + iowrite32(data,(u8 *)address+offset); +} + +/** OK + * read_remote_register() + * + * Read a 32 Bit Register from the AXI Address Space of the FPGA over the PCIe Bus. + * + * @param address the Base Address to Read from. + * + * @param offset the Offset of the Register. + * + * @return the Read Data from the Register. + * + */ +u32 read_remote_register(u64 *address, u64 offset) +{ + #ifdef DEBUG_MESSAGES + printk(KERN_ALERT "[%s-DBG -> READ REMOTE REGISTER (PID %d)] Reading from Remote Register with Offset [0x%016llX]\n", driver_name, current->pid, offset); + #endif + + /* + * Read the Register from the Given Address and Offset in Byte Alignment(u8 *) and Return the Read Data. + */ + return ioread32((u8 *)address+offset); +} + +/** OK + * setup_and_send_signal() + * + * Used to Send a Signal to a Userspace Process According. + * + * @param signal is the Signal Number that will be Sent. + * + * @param pid is the Process ID of the Process that Should Receive the Signal. + * + */ +int setup_and_send_signal(u8 signal, pid_t pid) +{ + struct task_struct *task_from_pid; + struct siginfo info; + + signal_to_pid = signal; + + /* + * Set to Zero the Fields of the struct siginfo + */ + memset(&info, 0, sizeof(struct siginfo)); + + /* + * Configure the struct siginfo with the Signal to Send + */ + info.si_signo = signal_to_pid; + + /* + * Configure the struct siginfo with the SI_USER Flag + */ + info.si_code = SI_USER; // Configure SI_QUEUE for STD or SI_KERNEL for RTC + + /* + * Get the Task According to the Process ID Given for the "send_sig_info" Function + */ + if ((task_from_pid = pid_task(find_vpid(pid), PIDTYPE_PID)) == NULL) + { + #ifdef DEBUG_MESSAGES + printk(KERN_ALERT "[%s-DBG -> SETUP AND SEND SIGNAL (PID %d)] Cannot Find the Task Associated with the Process ID %d\n", driver_name, current->pid, pid); + #endif + } + + /* + * Send the Signal to the Process ID which in fact is the Userspace Application + */ + if (send_sig_info(signal_to_pid, &info, task_from_pid) < 0 ) + { + #ifdef DEBUG_MESSAGES + printk(KERN_ALERT "[%s-DBG -> SETUP AND SEND SIGNAL (PID %d)] Signal %d Could Not Be Sent\n", driver_name, current->pid, signal_to_pid); + #endif + } + else + { + #ifdef DEBUG_MESSAGES + printk(KERN_ALERT "[%s-DBG -> SETUP AND SEND SIGNAL (PID %d)] Signal %d was Sent to Process ID %d\n", driver_name, current->pid, signal_to_pid, pid); + #endif + } + + return(SUCCESS); +} + +/** OK + * xilinx_pci_driver_read_cfg_register() + * + * Used to Read the Registers of the Configuration Space of the AXI Memory Mapped PCIe Endpoint Device. + * + * @param byte_offset is the Offset of the Register that we Desire to Read. + * + * @return The Data that was Read from the Configuration Register + * + * @note This Function is not Used in this Implementation but it is Reserved for Possible Future Usage. + * + */ +u32 xilinx_pci_driver_read_cfg_register (u32 byte_offset) +{ + u32 register_data; + + /* + * Read the Requested Configuration Register from the PCIe Endpoint Device + */ + if (pci_read_config_dword(dev, byte_offset, ®ister_data) < 0) + { + #ifdef DEBUG_MESSAGES + printk(KERN_ALERT "[%s-DBG -> READ CONFIGURATION REGISTER (PID %d)] Reading Configuration Register [FAILURE]\n", driver_name, current->pid); + #endif + return (-1); + } + else + { + #ifdef DEBUG_MESSAGES + printk(KERN_ALERT "[%s-DBG -> READ CONFIGURATION REGISTER (PID %d)] Reading Configuration Register [SUCCESS]\n", driver_name, current->pid); + #endif + } + + + /* + * Return the Data that was Read by the Configuration Register of the PCIe Endpoint Device. + */ + return (register_data); + +} + + + + +MODULE_LICENSE("GPL"); +MODULE_AUTHOR("Ayaan Tunio"); +MODULE_DESCRIPTION("Xilinx AXI Memory Mapped to PCI Express Core Driver"); + diff --git a/Software/Linux_App_Driver/xilinx_pci_driver.h b/Software/Linux_App_Driver/xilinx_pci_driver.h new file mode 100644 index 0000000..63e3876 --- /dev/null +++ b/Software/Linux_App_Driver/xilinx_pci_driver.h @@ -0,0 +1,551 @@ +/** + * + * This Header File Contains the Necessary Macros for the Kernel Driver Module and the Userspace Application + * + */ + +//---Valid Macros To Keep---------------------------------------------// + +#define KC705_PCI_VENDOR_ID 0x10EE +#define KC705_PCI_DEVICE_ID 0x7021 + +#define VC707_PCI_VENDOR_ID 0x10EE +#define VC707_PCI_DEVICE_ID 0x7022 + +#define VENDOR_ID VC707_PCI_VENDOR_ID +#define DEVICE_ID VC707_PCI_DEVICE_ID + +#define HAVE_REGION 0x01 // I/O Memory region +#define HAVE_IRQ 0x02 // Interupt +#define HAVE_KREG 0x04 // Kernel Registration +#define HAVE_DEBUGFS 0x08 // Debugfs File Creation + +#define DEFAULT_SIGNAL_0 34 +#define DEFAULT_SIGNAL_1 35 +#define DEFAULT_SIGNAL_2 36 +#define DEFAULT_SIGNAL_3 37 +#define DEFAULT_SIGNAL_4 38 +#define DEFAULT_SIGNAL_5 39 +#define DEFAULT_SIGNAL_6 40 +#define DEFAULT_SIGNAL_SG 41 + +#define OCCUPIED 1 +#define NOT_OCCUPIED 0 + +/** + * @note + * + * The Following Macro Line Works as a Switch. + * Remove/Add One of the '*' at the Beggining to Change the State of the Switch. + * One '*' Enables --> BEST_AVAILABLE. + * Two '*' Enable --> GREEDY. + * This is Used to Safely Disable/Enable Specific Code Parts of the Driver. + */ + +/*/ #define BEST_AVAILABLE /*/ #define GREEDY /**/ + +/** @note + * + * The Macros Below are Used to Enable/Disable Debug Messages. + * + * The DEBUG_MESSAGES is Used to Print the Driver's Debug Messages to the /var/log/kern.log File. + * The DEBUG_MESSAGES_UI is Used to Print the Userspace Application's Debug messages to the Terminal. + * + * Uncomment to Enable the Messages Debugging. + */ +//#define DEBUG_MESSAGES +//#define DEBUG_MESSAGES_UI + +#define SUCCESS 0 +#define FAILURE 1 + +#define BYTE 1 +#define KBYTE 1024 +#define MBYTE 1048576 + +#define START 0x1 +#define ACK 0x1 + + +#define MMAP_ALLOCATION_SIZE 4 * MBYTE +#define POSIX_ALLOCATED_SIZE 32 * MBYTE +#define KERNEL_ALLOCATION_SIZE 4 * MBYTE + + +#define OPERATION_START_TIMER 0x18000000 + + +#define BAR0_32BIT 0 //For 32 Bit Addressing +#define BAR1_32BIT 1 //For 32 Bit Addressing +#define BAR2_32BIT 2 //For 32 Bit Addressing +#define BAR3_32BIT 3 //For 32 Bit Addressing +#define BAR4_32BIT 4 //For 32 Bit Addressing +#define BAR5_32BIT 5 //For 32 Bit Addressing + +#define BAR0_64BIT 0 //For 64 Bit Addressing +#define BAR1_64BIT 2 //For 64 Bit Addressing +#define BAR2_64BIT 4 //For 64 Bit Addressing + + +#define ACCELERATOR_DIRECT_0_OCCUPIED 0x01 +#define ACCELERATOR_DIRECT_1_OCCUPIED 0x02 +#define ACCELERATOR_INDIRECT_0_OCCUPIED 0x04 +#define ACCELERATOR_INDIRECT_1_OCCUPIED 0x08 +#define ACCELERATOR_INDIRECT_2_OCCUPIED 0x10 +#define ACCELERATOR_INDIRECT_3_OCCUPIED 0x20 +#define ACCELERATOR_SG_OCCUPIED 0x40 +#define ACCELERATOR_ALL_OCCUPIED 0x3F +#define ACCELERATOR_NO_OCCUPIED 0x00 + + +#define ENABLE_GCC_MC 0x00010001 //Enable Global Clock Counter and Metrics Counter Mask +#define RESET_GCC_MC 0x00020002 //Reset Global Clock Counter and Metrics Counter Mask + +#define APM_CR_OFFSET 0x300 //AXI Performance Monitor Control Register Offset(0x60 for Long Int Offset 0x300 for Byte Offset) +#define APM_GCC_LOWER_OFFSET 0X0004 //Global Clock Counter Lower 32Bits Register +#define APM_GCC_UPPER_OFFSET 0X0000 //Global Clock Counter Upper 32Bits Register + +#define METRIC_SELECTOR_REGISTER_0_OFFSET 0X0044 +#define METRIC_SELECTOR_REGISTER_1_OFFSET 0X0048 +#define METRIC_SELECTOR_REGISTER_2_OFFSET 0X004C + +////////////////////////////////////////////////////////////////////////////////////// +// PCIe BAR0 Address Space -Mapping the FPGA AXI Address Space (HW Peripherals) +////////////////////////////////////////////////////////////////////////////////////// + +#define BAR0_OFFSET_INTERRUPT_CONTROLLER 0x00020000 +#define BAR0_OFFSET_UARTLITE 0x00010000 +#define BAR0_OFFSET_PCIE_CTL 0x00020000 +#define BAR0_OFFSET_GPIO_PCIE_INTERRUPT 0x00030000 +#define BAR0_OFFSET_GPIO_MSI 0x00040000 +#define BAR0_OFFSET_TIMER 0x00050000 +#define BAR0_OFFSET_FETCH_SCHEDULER 0x00060000 +#define BAR0_OFFSET_SEND_SCHEDULER 0x00070000 + +#define BAR0_OFFSET_SCHEDULER_BUFFER_FETCH 0x00080000 +#define BAR0_OFFSET_SCHEDULER_BUFFER_SEND 0x00090000 + +#define BAR0_OFFSET_CDMA_FETCH 0x000A0000 +#define BAR0_OFFSET_CDMA_SEND 0x000B0000 + +#define BAR0_OFFSET_ACCEL_GROUP_DIRECT_0_ACCELERATION_SCHEDULER_DIRECT 0x000C0000 +#define BAR0_OFFSET_ACCEL_GROUP_DIRECT_0_APM 0x000D0000 +#define BAR0_OFFSET_ACCEL_GROUP_DIRECT_0_DMA 0x000E0000 +#define BAR0_OFFSET_ACCEL_GROUP_DIRECT_0_SOBEL_FILTER 0x000F0000 + +#define BAR0_OFFSET_ACCEL_GROUP_DIRECT_1_ACCELERATION_SCHEDULER_DIRECT 0x00100000 +#define BAR0_OFFSET_ACCEL_GROUP_DIRECT_1_APM 0x00110000 +#define BAR0_OFFSET_ACCEL_GROUP_DIRECT_1_DMA 0x00120000 +#define BAR0_OFFSET_ACCEL_GROUP_DIRECT_1_SOBEL_FILTER 0x00130000 + +#define BAR0_OFFSET_ACCEL_GROUP_INDIRECT_0_ACCELERATION_SCHEDULER_INDIRECT 0x00140000 +#define BAR0_OFFSET_ACCEL_GROUP_INDIRECT_0_APM 0x00150000 +#define BAR0_OFFSET_ACCEL_GROUP_INDIRECT_0_DMA 0x00160000 +#define BAR0_OFFSET_ACCEL_GROUP_INDIRECT_0_SOBEL_FILTER 0x00170000 + +#define BAR0_OFFSET_ACCEL_GROUP_INDIRECT_1_ACCELERATION_SCHEDULER_INDIRECT 0x00180000 +#define BAR0_OFFSET_ACCEL_GROUP_INDIRECT_1_APM 0x00190000 +#define BAR0_OFFSET_ACCEL_GROUP_INDIRECT_1_DMA 0x001A0000 +#define BAR0_OFFSET_ACCEL_GROUP_INDIRECT_1_SOBEL_FILTER 0x001B0000 + +#define BAR0_OFFSET_ACCEL_GROUP_INDIRECT_2_ACCELERATION_SCHEDULER_INDIRECT 0x001C0000 +#define BAR0_OFFSET_ACCEL_GROUP_INDIRECT_2_APM 0x001D0000 +#define BAR0_OFFSET_ACCEL_GROUP_INDIRECT_2_DMA 0x001E0000 +#define BAR0_OFFSET_ACCEL_GROUP_INDIRECT_2_SOBEL_FILTER 0x001F0000 + +#define BAR0_OFFSET_ACCEL_GROUP_INDIRECT_3_ACCELERATION_SCHEDULER_INDIRECT 0x00200000 +#define BAR0_OFFSET_ACCEL_GROUP_INDIRECT_3_APM 0x00210000 +#define BAR0_OFFSET_ACCEL_GROUP_INDIRECT_3_DMA 0x00220000 +#define BAR0_OFFSET_ACCEL_GROUP_INDIRECT_3_SOBEL_FILTER 0x00230000 + +#define BAR0_OFFSET_ACCEL_GROUP_SG_ACCELERATION_SCHEDULER_SG 0x00240000 +#define BAR0_OFFSET_ACCEL_GROUP_SG_APM 0x00250000 +#define BAR0_OFFSET_ACCEL_GROUP_SG_DMA_SG_PCIE_SCHEDULER 0x00260000 +#define BAR0_OFFSET_ACCEL_GROUP_SG_SOBEL_FILTER_4K 0x00280000 +#define BAR0_OFFSET_ACCEL_GROUP_SG_DMA 0x00290000 + +#define BAR0_OFFSET_GPIO_MSI_READ 0x00300000 +#define BAR0_OFFSET_INTERRUPT_MANAGER 0x00310000 +#define BAR0_OFFSET_GPIO_ACK 0x00320000 + +////////////////////////////////////////////////////////////////////////////////////// +// Acceleration Scheduler Direct Register Offsets +////////////////////////////////////////////////////////////////////////////////////// + +#define ACCELERATION_SCHEDULER_DIRECT_CONTROL_REGISTER_OFFSET 0X00 +#define ACCELERATION_SCHEDULER_DIRECT_GIE_REGISTER_OFFSET 0X04 +#define ACCELERATION_SCHEDULER_DIRECT_IER_REGISTER_OFFSET 0X08 +#define ACCELERATION_SCHEDULER_DIRECT_ISR_REGISTER_OFFSET 0X0C +#define ACCELERATION_SCHEDULER_DIRECT_DMA_DEVICE_BASE_ADDRESS_REGISTER_OFFSET 0X18 +#define ACCELERATION_SCHEDULER_DIRECT_SOBEL_DEVICE_BASE_ADDRESS_REGISTER_OFFSET 0X20 +#define ACCELERATION_SCHEDULER_DIRECT_GPIO_DEVICE_BASE_ADDRESS_REGISTER_OFFSET 0X28 +#define ACCELERATION_SCHEDULER_DIRECT_APM_DEVICE_BASE_ADDRESS_REGISTER_OFFSET 0X30 +#define ACCELERATION_SCHEDULER_DIRECT_SHARED_APM_DEVICE_BASE_ADDRESS_REGISTER_OFFSET 0X38 +#define ACCELERATION_SCHEDULER_DIRECT_SHARED_METRICS_DEVICE_BASE_ADDRESS_REGISTER_OFFSET 0X40 +#define ACCELERATION_SCHEDULER_DIRECT_IMAGE_COLUMNS_REGISTER_OFFSET 0X48 +#define ACCELERATION_SCHEDULER_DIRECT_IMAGE_ROWS_REGISTER_OFFSET 0X50 +#define ACCELERATION_SCHEDULER_DIRECT_HOST_SOURCE_ADDRESS_REGISTER_OFFSET 0X58 +#define ACCELERATION_SCHEDULER_DIRECT_HOST_DESTINATION_ADDRESS_REGISTER_OFFSET 0X60 +#define ACCELERATION_SCHEDULER_DIRECT_INITIATOR_GROUP_REGISTER_OFFSET 0X68 + + +////////////////////////////////////////////////////////////////////////////////////// +// Acceleration Scheduler Indirect Register Offsets +////////////////////////////////////////////////////////////////////////////////////// + +#define ACCELERATION_SCHEDULER_INDIRECT_CONTROL_REGISTER_OFFSET 0x00 +#define ACCELERATION_SCHEDULER_INDIRECT_GIE_REGISTER_OFFSET 0x04 +#define ACCELERATION_SCHEDULER_INDIRECT_IER_REGISTER_OFFSET 0x08 +#define ACCELERATION_SCHEDULER_INDIRECT_ISR_REGISTER_OFFSET 0x0C +#define ACCELERATION_SCHEDULER_INDIRECT_SCHEDULER_BUFFER_BASE_ADDRESS_FETCH_REGISTER_OFFSET 0x18 +#define ACCELERATION_SCHEDULER_INDIRECT_SOURCE_ADDRESS_REG_FETCH_REGISTER_OFFSET 0x20 +#define ACCELERATION_SCHEDULER_INDIRECT_DESTINATION_ADDRESS_REG_FETCH_REGISTER_OFFSET 0x28 +#define ACCELERATION_SCHEDULER_INDIRECT_DATA_SIZE_REG_FETCH_REGISTER_OFFSET 0x30 +#define ACCELERATION_SCHEDULER_INDIRECT_OFFSET_REG__FETCH__REGISTER_OFFSET 0x38 +#define ACCELERATION_SCHEDULER_INDIRECT_SOURCE_ADDRESS_FETCH_REGISTER_OFFSET 0x40 +#define ACCELERATION_SCHEDULER_INDIRECT_DESTINATION_ADDRESS_FETCH_REGISTER_OFFSET 0x48 +#define ACCELERATION_SCHEDULER_INDIRECT_OFFSET_FETCH_REGISTER_OFFSET 0x50 +#define ACCELERATION_SCHEDULER_INDIRECT_SCHEDULER_BUFFER_BASE_ADDRESS_SEND_REGISTER_OFFSET 0x58 +#define ACCELERATION_SCHEDULER_INDIRECT_SOURCE_ADDRESS_REG_SEND_REGISTER_OFFSET 0x60 +#define ACCELERATION_SCHEDULER_INDIRECT_DESTINATION_ADDRESS_REG_SEND_REGISTER_OFFSET 0x68 +#define ACCELERATION_SCHEDULER_INDIRECT_DATA_SIZE_REG_SEND_REGISTER_OFFSET 0x70 +#define ACCELERATION_SCHEDULER_INDIRECT_OFFSET_REG__SEND_REGISTER_OFFSET 0x78 +#define ACCELERATION_SCHEDULER_INDIRECT_SOURCE_ADDRESS_SEND_REGISTER_OFFSET 0x80 +#define ACCELERATION_SCHEDULER_INDIRECT_DESTINATION_ADDRESS_SEND_REGISTER_OFFSET 0x88 +#define ACCELERATION_SCHEDULER_INDIRECT_OFFSET_SEND_REGISTER_OFFSET 0x90 +#define ACCELERATION_SCHEDULER_INDIRECT_DMA_BASE_ADDRESS_REGISTER_OFFSET 0x98 +#define ACCELERATION_SCHEDULER_INDIRECT_SOBEL_BASE_ADDRESS_REGISTER_OFFSET 0xA0 +#define ACCELERATION_SCHEDULER_INDIRECT_IMAGE_COLUMNS_REGISTER_OFFSET 0xA8 +#define ACCELERATION_SCHEDULER_INDIRECT_IMAGE_ROWS_REGISTER_OFFSET 0xB0 +#define ACCELERATION_SCHEDULER_INDIRECT_ACCEL_GROUP_REGISTER_OFFSET 0xB8 +#define ACCELERATION_SCHEDULER_INDIRECT_SHARED_APM_BASE_ADDRESS_REGISTER_OFFSET 0xC0 +#define ACCELERATION_SCHEDULER_INDIRECT_SHARED_METRICS_BASE_ADDRESS_REGISTER_OFFSET 0xC8 +#define ACCELERATION_SCHEDULER_INDIRECT_APM_BASE_ADDRESS_REGISTER_OFFSET 0xD0 + + +////////////////////////////////////////////////////////////////////////////////////// +// Acceleration Scheduler SG Register Offsets +////////////////////////////////////////////////////////////////////////////////////// + +#define XACCELERATION_SCHEDULER_SG_XDMA_CFG_ADDR_AP_CTRL 0x00 +#define XACCELERATION_SCHEDULER_SG_XDMA_CFG_ADDR_GIE 0x04 +#define XACCELERATION_SCHEDULER_SG_XDMA_CFG_ADDR_IER 0x08 +#define XACCELERATION_SCHEDULER_SG_XDMA_CFG_ADDR_ISR 0x0c +#define XACCELERATION_SCHEDULER_SG_XDMA_CFG_ADDR_AP_RETURN 0x10 +#define XACCELERATION_SCHEDULER_SG_XDMA_CFG_ADDR_DMA_SG_PCIE_SCHEDULER_BASE_ADDRESS_DATA 0x18 +#define XACCELERATION_SCHEDULER_SG_XDMA_CFG_ADDR_SOBEL_DEVICE_ADDRESS_DATA 0x20 +#define XACCELERATION_SCHEDULER_SG_XDMA_CFG_ADDR_GPIO_DEVICE_ADDRESS_DATA 0x28 +#define XACCELERATION_SCHEDULER_SG_XDMA_CFG_ADDR_APM_DEVICE_ADDRESS_DATA 0x30 +#define XACCELERATION_SCHEDULER_SG_XDMA_CFG_ADDR_SHARED_APM_DEVICE_ADDRESS_DATA 0x38 +#define XACCELERATION_SCHEDULER_SG_XDMA_CFG_ADDR_SHARED_METRICS_ADDRESS_DATA 0x40 +#define XACCELERATION_SCHEDULER_SG_XDMA_CFG_ADDR_IMAGE_COLS_DATA 0x48 +#define XACCELERATION_SCHEDULER_SG_XDMA_CFG_ADDR_IMAGE_ROWS_DATA 0x50 +#define XACCELERATION_SCHEDULER_SG_XDMA_CFG_ADDR_ACCEL_GROUP_DATA 0x58 + + + + +////////////////////////////////////////////////////////////////////////////////////// +// AXI BARs Offsets +////////////////////////////////////////////////////////////////////////////////////// + +#define AXI_BAR_0_OFFSET 0x20000000 +#define AXI_BAR_1_OFFSET 0x30000000 +#define AXI_BAR_2_OFFSET 0x40000000 +#define AXI_BAR_3_OFFSET 0x50000000 +#define AXI_BAR_4_OFFSET 0x60000000 +#define AXI_BAR_5_OFFSET 0x70000000 + + +////////////////////////////////////////////////////////////////////////////////////// +// AXI BARs Dynamic Address Translation Registers Offsets +////////////////////////////////////////////////////////////////////////////////////// + +#define AXI_BAR0_LOWER_ADDRESS_OFFSET 0x20C +#define AXI_BAR0_UPPER_ADDRESS_OFFSET 0x208 + +#define AXI_BAR1_LOWER_ADDRESS_OFFSET 0x214 +#define AXI_BAR1_UPPER_ADDRESS_OFFSET 0x210 + +#define AXI_BAR2_LOWER_ADDRESS_OFFSET 0x21C +#define AXI_BAR2_UPPER_ADDRESS_OFFSET 0x218 + +#define AXI_BAR3_LOWER_ADDRESS_OFFSET 0x224 +#define AXI_BAR3_UPPER_ADDRESS_OFFSET 0x220 + +#define AXI_BAR4_LOWER_ADDRESS_OFFSET 0x22C +#define AXI_BAR4_UPPER_ADDRESS_OFFSET 0x228 + +#define AXI_BAR5_LOWER_ADDRESS_OFFSET 0x234 +#define AXI_BAR5_UPPER_ADDRESS_OFFSET 0x230 + + + +////////////////////////////////////////////////////////////////////////////////////// +// IOCtl Commands +////////////////////////////////////////////////////////////////////////////////////// + +#define COMMAND_REQUEST_ACCELERATOR_ACCESS 0x0100 +#define COMMAND_REQUEST_ACCELERATOR_SG_ACCESS 0x0200 +#define COMMAND_SET_PAGES 0x0300 +#define COMMAND_UNMAP_PAGES 0x0400 +#define COMMAND_RESET_VARIABLES 0x0500 + +////////////////////////////////////////////////////////////////////////////////////// +// Scenarios +////////////////////////////////////////////////////////////////////////////////////// + +#define SCENARIO_SCATTER_GATHER 1 +#define SCENARIO_WORST_CASE 2 +#define SCENARIO_WORST_CASE_CDMA 3 + +struct image_info +{ + uint32_t rows; + uint32_t columns; + uint64_t size; +}; + +struct metrics +{ + /* + * AXI Performance Monitor Metrics + */ + uint32_t apm_read_transactions; //Offset 0 Bytes + uint32_t apm_read_bytes; //Offset 4 Bytes + + uint32_t apm_write_transactions; //Offset 8 Bytes + uint32_t apm_write_bytes; //Offset 12 Bytes + + uint32_t apm_packets; //Offset 16 Bytes + uint32_t apm_bytes; //Offset 20 Bytes + + uint32_t apm_gcc_l; //Offset 24 Bytes + uint32_t apm_gcc_u; //Offset 28 Bytes + + uint32_t cdma_fetch_time_start_l; //Offset 32 Bytes + uint32_t cdma_fetch_time_start_u; //Offset 36 Bytes + uint32_t cdma_fetch_time_end_l; //Offset 40 Bytes + uint32_t cdma_fetch_time_end_u; //Offset 44 Bytes + + uint32_t cdma_send_time_start_l; //Offset 48 Bytes + uint32_t cdma_send_time_start_u; //Offset 52 Bytes + uint32_t cdma_send_time_end_l; //Offset 56 Bytes + uint32_t cdma_send_time_end_u; //Offset 60 Bytes + + uint32_t dma_accel_time_start_l; //Offset 64 Bytes + uint32_t dma_accel_time_start_u; //Offset 68 Bytes + uint32_t dma_accel_time_end_l; //Offset 72 Bytes + uint32_t dma_accel_time_end_u; //Offset 76 Bytes + + struct image_info shared_image_info; // Offset 80 Bytes + + /* + * Kernel and Userspace Metrics + */ + + uint64_t total_time_start; + uint64_t total_time_end; + + uint64_t sleep_time_start; + uint64_t sleep_time_end; + + uint64_t preparation_time_start; + uint64_t preparation_time_end; + + uint64_t load_time_start; + uint64_t load_time_end; + + uint64_t save_time_start; + uint64_t save_time_end; + +}; + +struct metrics_per_process +{ + struct metrics agd0; + struct metrics agd1; + + struct metrics agi0; + struct metrics agi1; + struct metrics agi2; + struct metrics agi3; + + struct metrics agsg; + + /* + * Kernel and Userspace Metrics + */ + + uint64_t total_time_start; + uint64_t total_time_end; + + uint64_t sleep_time_start; + uint64_t sleep_time_end; + + uint64_t preparation_time_start; + uint64_t preparation_time_end; + + uint64_t load_time_start; + uint64_t load_time_end; + + uint64_t save_time_start; + uint64_t save_time_end; + + uint64_t set_pages_overhead_time_start; + uint64_t set_pages_overhead_time_end; + + uint64_t unmap_pages_overhead_time_start; + uint64_t unmap_pages_overhead_time_end; + + +}; + +struct status_flags +{ + uint32_t accel_direct_0_occupied_pid; + + uint32_t accel_direct_1_occupied_pid; + + uint32_t accel_indirect_0_occupied_pid; + + uint32_t accel_indirect_1_occupied_pid; + + uint32_t accel_indirect_2_occupied_pid; + + uint32_t accel_indirect_3_occupied_pid; + + uint32_t accel_sg_0_occupied_pid; + + + uint32_t accelerator_busy; + uint32_t open_modules; + + uint32_t agd0_busy; + uint32_t agd1_busy; + uint32_t agi0_busy; + uint32_t agi1_busy; + uint32_t agi2_busy; + uint32_t agi3_busy; + uint32_t agsg_busy; + +}; + +struct shared_repository +{ + struct metrics unused_shared_metrics; + struct metrics accel_direct_0_shared_metrics; + struct metrics accel_direct_1_shared_metrics; + + struct metrics accel_indirect_0_shared_metrics; + struct metrics accel_indirect_1_shared_metrics; + struct metrics accel_indirect_2_shared_metrics; + struct metrics accel_indirect_3_shared_metrics; + + struct metrics accel_sg_0_shared_metrics; + + struct status_flags shared_status_flags; + +}; + +struct shared_repository_process +{ + struct metrics_per_process process_metrics; + struct image_info shared_image_info; + int accel_completed; + int accel_occupied; + int image_segments; + +}; + +typedef struct { + uint8_t magic[2]; +} bmpfile_magic_t; + +typedef struct { + uint32_t filesz; + uint16_t creator1; + uint16_t creator2; + uint32_t bmp_offset; +} bmpfile_header_t; + +typedef struct { + uint32_t header_sz; + int32_t width; + int32_t height; + uint16_t nplanes; + uint16_t bitspp; + uint32_t compress_type; + uint32_t bmp_bytesz; + int32_t hres; + int32_t vres; + uint32_t ncolors; + uint32_t nimpcolors; +} bitmap_info_header_t; + + +typedef struct { + uint8_t b; + uint8_t g; + uint8_t r; + uint8_t nothing; +} rgb_t; + + +typedef unsigned char pixel_t; + + +struct pid_reserved_memories { + + pid_t pid; + + struct shared_repository_process *shared_repo_virtual_address; + uint32_t shared_repo_physical_address; + + uint64_t *pre_process_mmap_virtual_address; + uint32_t pre_process_mmap_physical_address; + + uint64_t *post_process_mmap_virtual_address; + uint32_t post_process_mmap_physical_address; + + struct sg_table *dma_sg_table_source; + struct scatterlist *scatterlist_pointer_source; + + int buffer_dma_buffers_source; + + int buffer_mapped_pages_source; + + + struct sg_table *dma_sg_table_destination; + struct scatterlist *scatterlist_pointer_destination; + + int buffer_dma_buffers_destination; + + int buffer_mapped_pages_destination; + + uint64_t *u64_sg_list_source; + uint64_t *u64_sg_list_destination; + + struct pid_reserved_memories *next_pid; + +}; + +struct sg_list_addresses +{ + pid_t current_pid; + + uint64_t *sg_list_source_address; + uint64_t *sg_list_destination_address; + +}; + +struct per_thread_info +{ + struct shared_repository_process *shared_repo_kernel_address; + uint8_t *u8_pre_process_kernel_address; + uint8_t *u8_post_process_kernel_address; + + int pre_process_mmap_file; + int post_process_mmap_file; + int shared_repo_mmap_file; +}; diff --git a/Software/Microblaze_XSDK/.keep b/Software/Microblaze_XSDK/.keep new file mode 100644 index 0000000..e69de29 diff --git a/Software/Microblaze_XSDK/src/lscript.ld b/Software/Microblaze_XSDK/src/lscript.ld new file mode 100644 index 0000000..508930f --- /dev/null +++ b/Software/Microblaze_XSDK/src/lscript.ld @@ -0,0 +1,221 @@ +/*******************************************************************/ +/* */ +/* This file is automatically generated by linker script generator.*/ +/* */ +/* Version: */ +/* */ +/* Copyright (c) 2010 Xilinx, Inc. All rights reserved. */ +/* */ +/* Description : MicroBlaze Linker Script */ +/* */ +/*******************************************************************/ + +_STACK_SIZE = DEFINED(_STACK_SIZE) ? _STACK_SIZE : 0x400; +_HEAP_SIZE = DEFINED(_HEAP_SIZE) ? _HEAP_SIZE : 0x400; + +/* Define Memories in the system */ + +MEMORY +{ + microblaze_bram_ilmb_bram_if_cntlr_microblaze_bram_dlmb_bram_if_cntlr : ORIGIN = 0x50, LENGTH = 0x3FFB0 + pcie : ORIGIN = 0x10020000, LENGTH = 0x10000 + pcie_AXIBAR_0 : ORIGIN = 0x20000000, LENGTH = 0x400000 + pcie_AXIBAR_1 : ORIGIN = 0x30000000, LENGTH = 0x400000 + pcie_AXIBAR_2 : ORIGIN = 0x40000000, LENGTH = 0x400000 + pcie_AXIBAR_3 : ORIGIN = 0x50000000, LENGTH = 0x400000 + pcie_AXIBAR_4 : ORIGIN = 0x60000000, LENGTH = 0x1000 + pcie_AXIBAR_5 : ORIGIN = 0x70000000, LENGTH = 0x1000 + mig : ORIGIN = 0x80000000, LENGTH = 0x20000000 + shared_metrics_bram_controller_S_AXI_BASEADDR : ORIGIN = 0xC0000000, LENGTH = 0x40000 +} + +/* Specify the default entry point to the program */ + +ENTRY(_start) + +/* Define the sections, and where they are mapped in memory */ + +SECTIONS +{ +.vectors.reset 0x0 : { + KEEP (*(.vectors.reset)) +} + +.vectors.sw_exception 0x8 : { + KEEP (*(.vectors.sw_exception)) +} + +.vectors.interrupt 0x10 : { + KEEP (*(.vectors.interrupt)) +} + +.vectors.hw_exception 0x20 : { + KEEP (*(.vectors.hw_exception)) +} + +.text : { + *(.text) + *(.text.*) + *(.gnu.linkonce.t.*) +} > microblaze_bram_ilmb_bram_if_cntlr_microblaze_bram_dlmb_bram_if_cntlr + +.init : { + KEEP (*(.init)) +} > microblaze_bram_ilmb_bram_if_cntlr_microblaze_bram_dlmb_bram_if_cntlr + +.fini : { + KEEP (*(.fini)) +} > microblaze_bram_ilmb_bram_if_cntlr_microblaze_bram_dlmb_bram_if_cntlr + +.ctors : { + __CTOR_LIST__ = .; + ___CTORS_LIST___ = .; + KEEP (*crtbegin.o(.ctors)) + KEEP (*(EXCLUDE_FILE(*crtend.o) .ctors)) + KEEP (*(SORT(.ctors.*))) + KEEP (*(.ctors)) + __CTOR_END__ = .; + ___CTORS_END___ = .; +} > microblaze_bram_ilmb_bram_if_cntlr_microblaze_bram_dlmb_bram_if_cntlr + +.dtors : { + __DTOR_LIST__ = .; + ___DTORS_LIST___ = .; + KEEP (*crtbegin.o(.dtors)) + KEEP (*(EXCLUDE_FILE(*crtend.o) .dtors)) + KEEP (*(SORT(.dtors.*))) + KEEP (*(.dtors)) + PROVIDE(__DTOR_END__ = .); + PROVIDE(___DTORS_END___ = .); +} > microblaze_bram_ilmb_bram_if_cntlr_microblaze_bram_dlmb_bram_if_cntlr + +.rodata : { + __rodata_start = .; + *(.rodata) + *(.rodata.*) + *(.gnu.linkonce.r.*) + __rodata_end = .; +} > microblaze_bram_ilmb_bram_if_cntlr_microblaze_bram_dlmb_bram_if_cntlr + +.sdata2 : { + . = ALIGN(8); + __sdata2_start = .; + *(.sdata2) + *(.sdata2.*) + *(.gnu.linkonce.s2.*) + . = ALIGN(8); + __sdata2_end = .; +} > microblaze_bram_ilmb_bram_if_cntlr_microblaze_bram_dlmb_bram_if_cntlr + +.sbss2 : { + __sbss2_start = .; + *(.sbss2) + *(.sbss2.*) + *(.gnu.linkonce.sb2.*) + __sbss2_end = .; +} > microblaze_bram_ilmb_bram_if_cntlr_microblaze_bram_dlmb_bram_if_cntlr + +.data : { + . = ALIGN(4); + __data_start = .; + *(.data) + *(.data.*) + *(.gnu.linkonce.d.*) + __data_end = .; +} > microblaze_bram_ilmb_bram_if_cntlr_microblaze_bram_dlmb_bram_if_cntlr + +.got : { + *(.got) +} > microblaze_bram_ilmb_bram_if_cntlr_microblaze_bram_dlmb_bram_if_cntlr + +.got1 : { + *(.got1) +} > microblaze_bram_ilmb_bram_if_cntlr_microblaze_bram_dlmb_bram_if_cntlr + +.got2 : { + *(.got2) +} > microblaze_bram_ilmb_bram_if_cntlr_microblaze_bram_dlmb_bram_if_cntlr + +.eh_frame : { + *(.eh_frame) +} > microblaze_bram_ilmb_bram_if_cntlr_microblaze_bram_dlmb_bram_if_cntlr + +.jcr : { + *(.jcr) +} > microblaze_bram_ilmb_bram_if_cntlr_microblaze_bram_dlmb_bram_if_cntlr + +.gcc_except_table : { + *(.gcc_except_table) +} > microblaze_bram_ilmb_bram_if_cntlr_microblaze_bram_dlmb_bram_if_cntlr + +.sdata : { + . = ALIGN(8); + __sdata_start = .; + *(.sdata) + *(.sdata.*) + *(.gnu.linkonce.s.*) + __sdata_end = .; +} > microblaze_bram_ilmb_bram_if_cntlr_microblaze_bram_dlmb_bram_if_cntlr + +.sbss (NOLOAD) : { + . = ALIGN(4); + __sbss_start = .; + *(.sbss) + *(.sbss.*) + *(.gnu.linkonce.sb.*) + . = ALIGN(8); + __sbss_end = .; +} > microblaze_bram_ilmb_bram_if_cntlr_microblaze_bram_dlmb_bram_if_cntlr + +.tdata : { + __tdata_start = .; + *(.tdata) + *(.tdata.*) + *(.gnu.linkonce.td.*) + __tdata_end = .; +} > microblaze_bram_ilmb_bram_if_cntlr_microblaze_bram_dlmb_bram_if_cntlr + +.tbss : { + __tbss_start = .; + *(.tbss) + *(.tbss.*) + *(.gnu.linkonce.tb.*) + __tbss_end = .; +} > microblaze_bram_ilmb_bram_if_cntlr_microblaze_bram_dlmb_bram_if_cntlr + +.bss (NOLOAD) : { + . = ALIGN(4); + __bss_start = .; + *(.bss) + *(.bss.*) + *(.gnu.linkonce.b.*) + *(COMMON) + . = ALIGN(4); + __bss_end = .; +} > microblaze_bram_ilmb_bram_if_cntlr_microblaze_bram_dlmb_bram_if_cntlr + +_SDA_BASE_ = __sdata_start + ((__sbss_end - __sdata_start) / 2 ); + +_SDA2_BASE_ = __sdata2_start + ((__sbss2_end - __sdata2_start) / 2 ); + +/* Generate Stack and Heap definitions */ + +.heap (NOLOAD) : { + . = ALIGN(8); + _heap = .; + _heap_start = .; + . += _HEAP_SIZE; + _heap_end = .; +} > microblaze_bram_ilmb_bram_if_cntlr_microblaze_bram_dlmb_bram_if_cntlr + +.stack (NOLOAD) : { + _stack_end = .; + . += _STACK_SIZE; + . = ALIGN(8); + _stack = .; + __stack = _stack; +} > microblaze_bram_ilmb_bram_if_cntlr_microblaze_bram_dlmb_bram_if_cntlr + +_end = .; +} + diff --git a/Software/Microblaze_XSDK/src/main.c b/Software/Microblaze_XSDK/src/main.c new file mode 100644 index 0000000..7f9910a --- /dev/null +++ b/Software/Microblaze_XSDK/src/main.c @@ -0,0 +1,84 @@ +#include "stdio.h" +#include "string.h" +#include "stdlib.h" +#include "platform.h" +#include "xil_exception.h" +#include "xparameters.h" +#include "xstatus.h" + +#define KBYTE 1024 + +/* + * Functions Declaration + */ +int setup_acceleration_scheduler_sg(); +int setup_dma_sg_schedulers(); +int setup_acceleration_schedulers_direct(); +int setup_acceleration_schedulers_indirect(); +int setup_fetch_scheduler(); +int setup_send_scheduler(); +int setup_scheduler_buffers(); +int setup_cdmas(); +int setup_dmas(); +int setup_apms(); +int setup_shared_apm(); +int setup_gpio(); +int setup_pcie(); +int setup_sobel_filters(); +int setup_interrupt_manager(); +int setup_interrupts(); + +//The Base Address of the FPGA's BRAM (256K). +int *bram_base_address = (int *)XPAR_SHARED_METRICS_BRAM_CONTROLLER_S_AXI_BASEADDR; + +int main() +{ + int repeat; + + //Clear the Terminal Screen. + xil_printf("%c[2J",27); + + //Initialize the Platform. + init_platform(); + + //Clear the FPGA's BRAM. + for(repeat = 0; repeat < (256 * KBYTE) / 4; repeat++) + { + bram_base_address[repeat] = 0; + } + + /* + * Setup ALL the Peripherals of the FPGA. + */ + setup_acceleration_schedulers_direct(); + setup_acceleration_schedulers_indirect(); + setup_fetch_scheduler(); + setup_send_scheduler(); + setup_scheduler_buffers(); + setup_cdmas(); + setup_dmas(); + setup_apms(); + setup_shared_apm(); + setup_gpio(); + setup_pcie(); + setup_sobel_filters(); + setup_acceleration_scheduler_sg(); + setup_dma_sg_schedulers(); + setup_interrupt_manager(); + + //Setup the Interrupt Controller and the Interrupts. + setup_interrupts(); + + print("\r\n-->System is Ready\r\n"); + + + //Start an Infinite Loop to Keep the System Alive. + while(1) + { + + } + + return XST_SUCCESS; +} + + diff --git a/Software/Microblaze_XSDK/src/platform.c b/Software/Microblaze_XSDK/src/platform.c new file mode 100644 index 0000000..1f49bf6 --- /dev/null +++ b/Software/Microblaze_XSDK/src/platform.c @@ -0,0 +1,103 @@ +/****************************************************************************** +* +* Copyright (C) 2010 - 2014 Xilinx, Inc. All rights reserved. +* +* Permission is hereby granted, free of charge, to any person obtaining a copy +* of this software and associated documentation files (the "Software"), to deal +* in the Software without restriction, including without limitation the rights +* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +* copies of the Software, and to permit persons to whom the Software is +* furnished to do so, subject to the following conditions: +* +* The above copyright notice and this permission notice shall be included in +* all copies or substantial portions of the Software. +* +* Use of the Software is limited solely to applications: +* (a) running on a Xilinx device, or +* (b) that interact with a Xilinx device through a bus or interconnect. +* +* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +* XILINX CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +* WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF +* OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +* SOFTWARE. +* +* Except as contained in this notice, the name of the Xilinx shall not be used +* in advertising or otherwise to promote the sale, use or other dealings in +* this Software without prior written authorization from Xilinx. +* +******************************************************************************/ + +#include "xparameters.h" +#include "xil_cache.h" + +#include "platform_config.h" + +/* + * Uncomment the following line if ps7 init source files are added in the + * source directory for compiling example outside of SDK. + */ +/*#include "ps7_init.h"*/ + +#ifdef STDOUT_IS_16550 + #include "xuartns550_l.h" + + #define UART_BAUD 9600 +#endif + +void +enable_caches() +{ +#ifdef __PPC__ + Xil_ICacheEnableRegion(CACHEABLE_REGION_MASK); + Xil_DCacheEnableRegion(CACHEABLE_REGION_MASK); +#elif __MICROBLAZE__ +#ifdef XPAR_MICROBLAZE_USE_ICACHE + Xil_ICacheEnable(); +#endif +#ifdef XPAR_MICROBLAZE_USE_DCACHE + Xil_DCacheEnable(); +#endif +#endif +} + +void +disable_caches() +{ + Xil_DCacheDisable(); + Xil_ICacheDisable(); +} + +void +init_uart() +{ +#ifdef STDOUT_IS_16550 + XUartNs550_SetBaud(STDOUT_BASEADDR, XPAR_XUARTNS550_CLOCK_HZ, UART_BAUD); + XUartNs550_SetLineControlReg(STDOUT_BASEADDR, XUN_LCR_8_DATA_BITS); +#endif +#ifdef STDOUT_IS_PS7_UART + /* Bootrom/BSP configures PS7 UART to 115200 bps */ +#endif +} + +void +init_platform() +{ + /* + * If you want to run this example outside of SDK, + * uncomment the following line and also #include "ps7_init.h" at the top. + * Make sure that the ps7_init.c and ps7_init.h files are included + * along with this example source files for compilation. + */ + /* ps7_init();*/ + enable_caches(); + init_uart(); +} + +void +cleanup_platform() +{ + disable_caches(); +} diff --git a/Software/Microblaze_XSDK/src/platform.h b/Software/Microblaze_XSDK/src/platform.h new file mode 100644 index 0000000..24152a2 --- /dev/null +++ b/Software/Microblaze_XSDK/src/platform.h @@ -0,0 +1,41 @@ +/****************************************************************************** +* +* Copyright (C) 2008 - 2014 Xilinx, Inc. All rights reserved. +* +* Permission is hereby granted, free of charge, to any person obtaining a copy +* of this software and associated documentation files (the "Software"), to deal +* in the Software without restriction, including without limitation the rights +* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +* copies of the Software, and to permit persons to whom the Software is +* furnished to do so, subject to the following conditions: +* +* The above copyright notice and this permission notice shall be included in +* all copies or substantial portions of the Software. +* +* Use of the Software is limited solely to applications: +* (a) running on a Xilinx device, or +* (b) that interact with a Xilinx device through a bus or interconnect. +* +* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +* XILINX CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +* WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF +* OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +* SOFTWARE. +* +* Except as contained in this notice, the name of the Xilinx shall not be used +* in advertising or otherwise to promote the sale, use or other dealings in +* this Software without prior written authorization from Xilinx. +* +******************************************************************************/ + +#ifndef __PLATFORM_H_ +#define __PLATFORM_H_ + +#include "platform_config.h" + +void init_platform(); +void cleanup_platform(); + +#endif diff --git a/Software/Microblaze_XSDK/src/platform_config.h b/Software/Microblaze_XSDK/src/platform_config.h new file mode 100644 index 0000000..70b9b1a --- /dev/null +++ b/Software/Microblaze_XSDK/src/platform_config.h @@ -0,0 +1,4 @@ +#ifndef __PLATFORM_CONFIG_H_ +#define __PLATFORM_CONFIG_H_ + +#endif diff --git a/Software/Microblaze_XSDK/src/setup_system.c b/Software/Microblaze_XSDK/src/setup_system.c new file mode 100644 index 0000000..1f715c7 --- /dev/null +++ b/Software/Microblaze_XSDK/src/setup_system.c @@ -0,0 +1,2986 @@ +#include "xparameters.h" +#include "stdio.h" +#include "string.h" +#include "stdlib.h" +#include "platform.h" +#include "mb_interface.h" +#include "xintc.h" +#include "xstatus.h" +#include "structures.h" +#include "xaxipcie.h" +#include "xgpio.h" +#include "xaxipmon.h" +#include "xaxidma.h" +#include "xaxicdma.h" +#include "xsobel_filter.h" +#include "xscheduler_buffer.h" +#include "xfetch_scheduler.h" +#include "xsend_scheduler.h" +#include "xacceleration_scheduler_indirect.h" +#include "xacceleration_scheduler_direct.h" +#include "xacceleration_scheduler_sg_xdma.h" +#include "xdma_sg_pcie_scheduler.h" +#include "xinterrupt_manager.h" + + +/* + * The Offsets of the MSI-Request-Registers of the Interrupt Manager. + */ +#define MSI_DATA_0_OFFSET 0x00 +#define MSI_DATA_1_OFFSET 0x04 +#define MSI_DATA_2_OFFSET 0x08 +#define MSI_DATA_3_OFFSET 0x0C +#define MSI_DATA_4_OFFSET 0x10 +#define MSI_DATA_5_OFFSET 0x14 +#define MSI_DATA_6_OFFSET 0x18 + + +/* + * The Slots of the AXI Performance Monitor Unit. + */ +#define SLOT0 0 +#define SLOT1 1 +#define SLOT2 2 + + +/* + * Command Value to Start the Shared Timer (Shared APM). + */ +#define OPERATION_START_TIMER 0x18000000 + + +/* + * The Offsets of the Address Translation Upper and Lower Registers of the 6 AXI BARs of the PCIe Bridge. + */ +#define BAR0_OFFSET_L XAXIPCIE_AXIBAR2PCIBAR_0L_OFFSET +#define BAR0_OFFSET_U XAXIPCIE_AXIBAR2PCIBAR_0U_OFFSET + +#define BAR1_OFFSET_L XAXIPCIE_AXIBAR2PCIBAR_1L_OFFSET +#define BAR1_OFFSET_U XAXIPCIE_AXIBAR2PCIBAR_1U_OFFSET + +#define BAR2_OFFSET_L XAXIPCIE_AXIBAR2PCIBAR_2L_OFFSET +#define BAR2_OFFSET_U XAXIPCIE_AXIBAR2PCIBAR_2U_OFFSET + +#define BAR3_OFFSET_L XAXIPCIE_AXIBAR2PCIBAR_3L_OFFSET +#define BAR3_OFFSET_U XAXIPCIE_AXIBAR2PCIBAR_3U_OFFSET + +#define BAR4_OFFSET_L XAXIPCIE_AXIBAR2PCIBAR_4L_OFFSET +#define BAR4_OFFSET_U XAXIPCIE_AXIBAR2PCIBAR_4U_OFFSET + +#define BAR5_OFFSET_L XAXIPCIE_AXIBAR2PCIBAR_5L_OFFSET +#define BAR5_OFFSET_U XAXIPCIE_AXIBAR2PCIBAR_5U_OFFSET + + +/* + * Define KBYTE and MBYTE Macros for Simpler Data Size Calculations. + */ +#define KBYTE 1024 +#define MBYTE 1048576 + + +/* + * The Size of a Memory Page in Linux. + */ +#define PAGE_SIZE 4096 + + +/* + * Mask to Isolate the Clear Data from a GPIO Data Register. + */ +#define CLEAR_DATA 0x00FFFFFF + + +/* + * Mask to Isolate the Operation Number from a GPIO Data Register. + */ +#define CLEAR_OPERATION 0xFF000000 + + +/* + * Enable or Disable the xil_printf() Functions that Print Debug Messages. + */ +#define DEBUG_MESSAGES 1 + + + +/* + * ---------------------------------------------------------- + * Instances and Configuration Structures of the Sobel Filters + * ---------------------------------------------------------- + */ + +static XSobel_filter sobel_filter_accel_group_direct_0; //Sobel Filter Instance +XSobel_filter_Config *sobel_filter_accel_group_direct_0_config_ptr; //Sobel Filter Configuration Structure + +static XSobel_filter sobel_filter_accel_group_direct_1; //Sobel Filter Instance +XSobel_filter_Config *sobel_filter_accel_group_direct_1_config_ptr; //Sobel Filter Configuration Structure + +static XSobel_filter sobel_filter_accel_group_indirect_0; //Sobel Filter Instance +XSobel_filter_Config *sobel_filter_accel_group_indirect_0_config_ptr; //Sobel Filter Configuration Structure + +static XSobel_filter sobel_filter_accel_group_indirect_1; //Sobel Filter Instance +XSobel_filter_Config *sobel_filter_accel_group_indirect_1_config_ptr; //Sobel Filter Configuration Structure + +static XSobel_filter sobel_filter_accel_group_indirect_2; //Sobel Filter Instance +XSobel_filter_Config *sobel_filter_accel_group_indirect_2_config_ptr; //Sobel Filter Configuration Structure + +static XSobel_filter sobel_filter_accel_group_indirect_3; //Sobel Filter Instance +XSobel_filter_Config *sobel_filter_accel_group_indirect_3_config_ptr; //Sobel Filter Configuration Structure + +static XSobel_filter sobel_filter_accel_group_sg; //Sobel Filter Instance +XSobel_filter_Config *sobel_filter_accel_group_sg_config_ptr; //Sobel Filter Configuration Structure + + +/* + * -------------------------------------------------- + * Instances and Configuration Structures of the DMAs + * -------------------------------------------------- + */ + +static XAxiDma dma_accel_group_direct_0; //DMA Instance +XAxiDma_Config *dma_accel_group_direct_0_config_ptr; //DMA Configuration Structure + +static XAxiDma dma_accel_group_direct_1; //DMA Instance +XAxiDma_Config *dma_accel_group_direct_1_config_ptr; //DMA Configuration Structure + +static XAxiDma dma_accel_group_indirect_0; //DMA Instance +XAxiDma_Config *dma_accel_group_indirect_0_config_ptr; //DMA Configuration Structure + +static XAxiDma dma_accel_group_indirect_1; //DMA Instance +XAxiDma_Config *dma_accel_group_indirect_1_config_ptr; //DMA Configuration Structure + +static XAxiDma dma_accel_group_indirect_2; //DMA Instance +XAxiDma_Config *dma_accel_group_indirect_2_config_ptr; //DMA Configuration Structure + +static XAxiDma dma_accel_group_indirect_3; //DMA Instance +XAxiDma_Config *dma_accel_group_indirect_3_config_ptr; //DMA Configuration Structure + +static XAxiDma dma_accel_group_sg; //DMA Instance +XAxiDma_Config *dma_accel_group_sg_config_ptr; //DMA Configuration Structure + + +/* + * -------------------------------------------------- + * Instances and Configuration Structures of the APMs + * -------------------------------------------------- + */ + +static XAxiPmon apm_accel_group_direct_0; //AXI Performance Monitor Instance +XAxiPmon_Config *apm_accel_group_direct_0_config_ptr; //AXI Performance Monitor Configuration Structure + +static XAxiPmon apm_accel_group_direct_1; //AXI Performance Monitor Instance +XAxiPmon_Config *apm_accel_group_direct_1_config_ptr; //AXI Performance Monitor Configuration Structure + +static XAxiPmon apm_accel_group_indirect_0; //AXI Performance Monitor Instance +XAxiPmon_Config *apm_accel_group_indirect_0_config_ptr; //AXI Performance Monitor Configuration Structure + +static XAxiPmon apm_accel_group_indirect_1; //AXI Performance Monitor Instance +XAxiPmon_Config *apm_accel_group_indirect_1_config_ptr; //AXI Performance Monitor Configuration Structure + +static XAxiPmon apm_accel_group_indirect_2; //AXI Performance Monitor Instance +XAxiPmon_Config *apm_accel_group_indirect_2_config_ptr; //AXI Performance Monitor Configuration Structure + +static XAxiPmon apm_accel_group_indirect_3; //AXI Performance Monitor Instance +XAxiPmon_Config *apm_accel_group_indirect_3_config_ptr; //AXI Performance Monitor Configuration Structure + +static XAxiPmon apm_accel_group_sg; //AXI Performance Monitor Instance +XAxiPmon_Config *apm_accel_group_sg_config_ptr; //AXI Performance Monitor Configuration Structure + + +/* + * -------------------------------------------------------- + * Instances and Configuration Structures of the Schedulers + * -------------------------------------------------------- + */ + +static XScheduler_buffer scheduler_buffer_fetch; //Scheduler Buffer Instance +XScheduler_buffer_Config *scheduler_buffer_fetch_config_ptr; //Scheduler Buffer Configuration Structure + +static XScheduler_buffer scheduler_buffer_send; //Scheduler Buffer Instance +XScheduler_buffer_Config *scheduler_buffer_send_config_ptr; //Scheduler Buffer Configuration Structure + + +static XFetch_scheduler fetch_scheduler; //Fetch Scheduler Instance +XFetch_scheduler_Config *fetch_scheduler_config_ptr; //Fetch Scheduler Configuration Structure + +static XSend_scheduler send_scheduler; //Send Scheduler Instance +XSend_scheduler_Config *send_scheduler_config_ptr; //Send Scheduler Configuration Structure + + +static XAcceleration_scheduler_indirect acceleration_scheduler_accel_group_indirect_0; //Acceleration Scheduler Indirect Instance +XAcceleration_scheduler_indirect_Config *acceleration_scheduler_accel_group_indirect_0_config_ptr; //Acceleration Scheduler Indirect Configuration Structure + +static XAcceleration_scheduler_indirect acceleration_scheduler_accel_group_indirect_1; //Acceleration Scheduler Indirect Instance +XAcceleration_scheduler_indirect_Config *acceleration_scheduler_accel_group_indirect_1_config_ptr; //Acceleration Scheduler Indirect Configuration Structure + +static XAcceleration_scheduler_indirect acceleration_scheduler_accel_group_indirect_2; //Acceleration Scheduler Indirect Instance +XAcceleration_scheduler_indirect_Config *acceleration_scheduler_accel_group_indirect_2_config_ptr; //Acceleration Scheduler Indirect Configuration Structure + +static XAcceleration_scheduler_indirect acceleration_scheduler_accel_group_indirect_3; //Acceleration Scheduler Indirect Instance +XAcceleration_scheduler_indirect_Config *acceleration_scheduler_accel_group_indirect_3_config_ptr; //Acceleration Scheduler Indirect Configuration Structure + + + +static XAcceleration_scheduler_direct acceleration_scheduler_accel_group_direct_0; //Acceleration Scheduler Direct Instance +XAcceleration_scheduler_direct_Config *acceleration_scheduler_accel_group_direct_0_config_ptr; //Acceleration Scheduler Direct Configuration Structure + +static XAcceleration_scheduler_direct acceleration_scheduler_accel_group_direct_1; //Acceleration Scheduler Direct Instance +XAcceleration_scheduler_direct_Config *acceleration_scheduler_accel_group_direct_1_config_ptr; //Acceleration Scheduler Direct Configuration Structure + +static XAcceleration_scheduler_sg_xdma acceleration_scheduler_sg; //Acceleration Scheduler Scatter/Gather Instance +XAcceleration_scheduler_sg_xdma_Config *acceleration_scheduler_sg_config_ptr; //Acceleration Scheduler Scatter/Gather Configuration Structure + +static XDma_sg_pcie_scheduler dma_sg_pcie_scheduler; //DMA SG PCIe Scheduler Instance +XDma_sg_pcie_scheduler_Config *dma_sg_pcie_scheduler_config_ptr; //DMA SG PCIe Scheduler Configuration Structure + + +/* + * --------------------------------------------------- + * Instances and Configuration Structures of the CDMAs + * --------------------------------------------------- + */ + +static XAxiCdma cdma_fetch; //CDMA Instance +XAxiCdma_Config *cdma_fetch_config_ptr; //CDMA Configuration Structure + +static XAxiCdma cdma_send; //CDMA Instance +XAxiCdma_Config *cdma_send_config_ptr; //CDMA Configuration Structure + + +/* + * ----------------------------------------------------------------------------------------------------------------------------- + * Instances and Configuration Structures of the Shared APM, the PCIe Bridge, the Interrupt Manager and the Interrupt Controller + * ----------------------------------------------------------------------------------------------------------------------------- + */ + +static XAxiPmon shared_apm; //AXI Performance Monitor Instance +XAxiPmon_Config *shared_apm_config_ptr; //AXI Performance Monitor Configuration Structure + +static XAxiPcie pcie_ep; //PCI Express Instance +XAxiPcie_Config *pcie_config_ptr; //PCI Express Configuration Structure + +static XInterrupt_manager interrupt_manager; //Interrupt Manager Instance +XInterrupt_manager_Config *interrupt_manager_config_ptr; //Interrupt Manager Configuration Structure + +static XIntc interrupt_controller; //Interrupt Controller Instance + + +/* + * --------------------------------- + * Instances of the GPIO Peripherals + * --------------------------------- + */ + +static XGpio gpio_msi; //GPIO Instance +static XGpio gpio_msi_read; //GPIO Instance +static XGpio gpio_pcie_interrupt; //GPIO Instance +static XGpio gpio_ack; //GPIO Instance + +u32 interrupt_mask; //Used to Enable the Several Interrupts of the FPGA's Peripherals. + +/* + * The Base Address of the FPGA's BRAM. + * The Pointer is of Type struct shared_repository in order to Access the BRAM as Fields of that Type of Structure. + */ +struct shared_repository *shared_metrics = (struct shared_repository *)XPAR_SHARED_METRICS_BRAM_CONTROLLER_S_AXI_BASEADDR; + + +/* + * Interrupt Handler for Interrupts Triggered by the Acceleration Scheduler Direct of the AGD0. + */ +void acceleration_scheduler_direct_group_0_interrupt_handler(void * baseaddr_p) +{ + //Clear the Interrupt. + XAcceleration_scheduler_direct_InterruptClear(&acceleration_scheduler_accel_group_direct_0, 0xFFFFFFFF); + + print("Acceleration Scheduler Direct 0 Interrupt\r\n"); + + //Re-Enable the Interrupts for the Acceleration Scheduler Direct of the AGD0. + XAcceleration_scheduler_direct_InterruptEnable(&acceleration_scheduler_accel_group_direct_0, 0xFFFFFFFF); + XAcceleration_scheduler_direct_InterruptGlobalEnable(&acceleration_scheduler_accel_group_direct_0); +} + +/* + * Interrupt Handler for Interrupts Triggered by the Acceleration Scheduler Direct of the AGD1. + */ +void acceleration_scheduler_direct_group_1_interrupt_handler(void * baseaddr_p) +{ + //Clear the Interrupt. + XAcceleration_scheduler_direct_InterruptClear(&acceleration_scheduler_accel_group_direct_1, 0xFFFFFFFF); + + print("Acceleration Scheduler Direct 1 Interrupt\r\n"); + + //Re-Enable the Interrupts for the Acceleration Scheduler Direct of the AGD1. + XAcceleration_scheduler_direct_InterruptEnable(&acceleration_scheduler_accel_group_direct_1, 0xFFFFFFFF); + XAcceleration_scheduler_direct_InterruptGlobalEnable(&acceleration_scheduler_accel_group_direct_1); +} + +/* + * Interrupt Handler for Interrupts Triggered by the Acceleration Scheduler Indirect of the AGI0. + */ +void acceleration_scheduler_indirect_group_0_interrupt_handler(void * baseaddr_p) +{ + //Clear the Interrupt. + XAcceleration_scheduler_indirect_InterruptClear(&acceleration_scheduler_accel_group_indirect_0, 0xFFFFFFFF); + + print("Acceleration Scheduler Indirect 0 Interrupt\r\n"); + + //Re-Enable the Interrupts for the Acceleration Scheduler Indirect of the AGI0. + XAcceleration_scheduler_indirect_InterruptEnable(&acceleration_scheduler_accel_group_indirect_0, 0xFFFFFFFF); + XAcceleration_scheduler_indirect_InterruptGlobalEnable(&acceleration_scheduler_accel_group_indirect_0); +} + +/* + * Interrupt Handler for Interrupts Triggered by the Acceleration Scheduler Indirect of the AGI1. + */ +void acceleration_scheduler_indirect_group_1_interrupt_handler(void * baseaddr_p) +{ + //Clear the Interrupt. + XAcceleration_scheduler_indirect_InterruptClear(&acceleration_scheduler_accel_group_indirect_1, 0xFFFFFFFF); + + print("Acceleration Scheduler Indirect 1 Interrupt\r\n"); + + //Re-Enable the Interrupts for the Acceleration Scheduler Indirect of the AGI1. + XAcceleration_scheduler_indirect_InterruptEnable(&acceleration_scheduler_accel_group_indirect_1, 0xFFFFFFFF); + XAcceleration_scheduler_indirect_InterruptGlobalEnable(&acceleration_scheduler_accel_group_indirect_1); +} + +/* + * Interrupt Handler for Interrupts Triggered by the Acceleration Scheduler Indirect of the AGI2. + */ +void acceleration_scheduler_indirect_group_2_interrupt_handler(void * baseaddr_p) +{ + //Clear the Interrupt. + XAcceleration_scheduler_indirect_InterruptClear(&acceleration_scheduler_accel_group_indirect_2, 0xFFFFFFFF); + + print("Acceleration Scheduler Indirect 2 Interrupt\r\n"); + + //Re-Enable the Interrupts for the Acceleration Scheduler Indirect of the AGI2. + XAcceleration_scheduler_indirect_InterruptEnable(&acceleration_scheduler_accel_group_indirect_2, 0xFFFFFFFF); + XAcceleration_scheduler_indirect_InterruptGlobalEnable(&acceleration_scheduler_accel_group_indirect_2); +} + +/* + * Interrupt Handler for Interrupts Triggered by the Acceleration Scheduler Indirect of the AGI3. + */ +void acceleration_scheduler_indirect_group_3_interrupt_handler(void * baseaddr_p) +{ + //Clear the Interrupt. + XAcceleration_scheduler_indirect_InterruptClear(&acceleration_scheduler_accel_group_indirect_3, 0xFFFFFFFF); + + print("Acceleration Scheduler Indirect 3 Interrupt\r\n"); + + //Re-Enable the Interrupts for the Acceleration Scheduler Indirect of the AGI3. + XAcceleration_scheduler_indirect_InterruptEnable(&acceleration_scheduler_accel_group_indirect_3, 0xFFFFFFFF); + XAcceleration_scheduler_indirect_InterruptGlobalEnable(&acceleration_scheduler_accel_group_indirect_3); +} + +/* + * Interrupt Handler for Interrupts Triggered by the Acceleration Scheduler Scatter/Gather of the AGSG. + */ +void acceleration_scheduler_sg_interrupt_handler(void * baseaddr_p) +{ + //Clear the Interrupt. + XAcceleration_scheduler_sg_xdma_InterruptClear(&acceleration_scheduler_sg, 0xFFFFFFFF); + + print("Acceleration Scheduler Scatter/Gather Interrupt\r\n"); + + //Re-Enable the Interrupts for the Acceleration Scheduler Scatter/Gather of the AGSG. + XAcceleration_scheduler_sg_xdma_InterruptEnable(&acceleration_scheduler_sg, 0xFFFFFFFF); + XAcceleration_scheduler_sg_xdma_InterruptGlobalEnable(&acceleration_scheduler_sg); +} + + + +/* + * Interrupt Handler for Interrupts Triggered by the DMA of the AGD0. + * There is no Need to Clear or Acknowledge the Interrupt Since it is Done by the Corresponding Scheduler. + */ +void dma_accel_group_direct_0_interrupt_handler(void * baseaddr_p) +{ + print("DMA Accel Group Direct 0 Interrupt\r\n"); +} + +/* + * Interrupt Handler for Interrupts Triggered by the DMA of the AGD1. + * There is no Need to Clear or Acknowledge the Interrupt Since it is Done by the Corresponding Scheduler. + */ +void dma_accel_group_direct_1_interrupt_handler(void * baseaddr_p) +{ + print("DMA Accel Group Direct 1 Interrupt\r\n"); +} + +/* + * Interrupt Handler for Interrupts Triggered by the DMA of the AGI0. + * There is no Need to Clear or Acknowledge the Interrupt Since it is Done by the Corresponding Scheduler. + */ +void dma_accel_group_indirect_0_interrupt_handler(void * baseaddr_p) +{ + print("DMA Accel Group Indirect 0 Interrupt\r\n"); +} + +/* + * Interrupt Handler for Interrupts Triggered by the DMA of the AGI1. + * There is no Need to Clear or Acknowledge the Interrupt Since it is Done by the Corresponding Scheduler. + */ +void dma_accel_group_indirect_1_interrupt_handler(void * baseaddr_p) +{ + print("DMA Accel Group Indirect 1 Interrupt\r\n"); +} + +/* + * Interrupt Handler for Interrupts Triggered by the DMA of the AGI2. + * There is no Need to Clear or Acknowledge the Interrupt Since it is Done by the Corresponding Scheduler. + */ +void dma_accel_group_indirect_2_interrupt_handler(void * baseaddr_p) +{ + print("DMA Accel Group Indirect 2 Interrupt\r\n"); +} + +/* + * Interrupt Handler for Interrupts Triggered by the DMA of the AGI3. + * There is no Need to Clear or Acknowledge the Interrupt Since it is Done by the Corresponding Scheduler. + */ +void dma_accel_group_indirect_3_interrupt_handler(void * baseaddr_p) +{ + print("DMA Accel Group Indirect 3 Interrupt\r\n"); +} + +/* + * Interrupt Handler for Interrupts Triggered by the DMA of the AGSG. + * There is no Need to Clear or Acknowledge the Interrupt Since it is Done by the Corresponding Scheduler. + */ +void dma_accel_group_sg_interrupt_handler(void * baseaddr_p) +{ + print("DMA Accel Group Scatter/Gather Interrupt\r\n"); +} + + + +/* + * Interrupt Handler for Interrupts Triggered by the DMA-SG-PCIe-Scheduler of the AGSG. + */ +void dma_sg_pcie_scheduler_interrupt_handler(void * baseaddr_p) +{ + //Clear the Interrupt. + XDma_sg_pcie_scheduler_InterruptClear(&dma_sg_pcie_scheduler, 0xFFFFFFFF); + + print("DMA SG PCIe Scheduler Interrupt\r\n"); + + //Re-Enable the Interrupts for the DMA-SG-PCIe-Scheduler. + XDma_sg_pcie_scheduler_InterruptEnable(&dma_sg_pcie_scheduler, 0xFFFFFFFF); + XDma_sg_pcie_scheduler_InterruptGlobalEnable(&dma_sg_pcie_scheduler); +} + +/* + * Interrupt Handler for Interrupts Triggered by the CDMA-Fetch. + * There is no Need to Clear or Acknowledge the Interrupt Since it is Done by the Corresponding Scheduler. + */ +void cdma_fetch_interrupt_handler(void * baseaddr_p) +{ + print("CDMA Fetch Interrupt\r\n"); +} + +/* + * Interrupt Handler for Interrupts Triggered by the CDMA-Send. + * There is no Need to Clear or Acknowledge the Interrupt Since it is Done by the Corresponding Scheduler. + */ +void cdma_send_interrupt_handler(void * baseaddr_p) +{ + print("CDMA Send Interrupt\r\n"); +} + +/* + * Interrupt Handler for Interrupts Triggered by the GPIO-PCIe-Interrupt Peripheral. + */ +void gpio_pcie_interrupt_handler(void * baseaddr_p) +{ + u32 operation; + + //Disable the Interrupts of the GPIO-PCIe-Interrupt Peripheral so that this Routine will not be Interrupted. + XGpio_InterruptDisable(&gpio_pcie_interrupt, XPAR_GPIO_PCIE_INTERRUPT_IP2INTC_IRPT_MASK); + + #if DEBUG_MESSAGES == 1 + print("Interrupt from PCIe\r\n"); + #endif + + //Read the Channel 2 Data Register of the GPIO-PCIe-Interrupt Peripheral which Carries Information about the Operation that the Host System Requests. + operation = XGpio_DiscreteRead(&gpio_pcie_interrupt, 2); + + #if DEBUG_MESSAGES == 1 + xil_printf("Operation is: 0x%08X\r\n", operation); + #endif + + //Check If the Host System Requested to Start the Shared Timer (Shared APM). + if((operation & CLEAR_OPERATION) == OPERATION_START_TIMER) + { + #if DEBUG_MESSAGES == 1 + xil_printf("Starting Shared Timer\r\n"); + #endif + + //Disable the Global Clock Counter of the Shared Timer (Shared APM). + XAxiPmon_DisableGlobalClkCounter(&shared_apm); + + //Reset the Global Clock Counter of the Shared Timer (Shared APM) to Start Over. + XAxiPmon_ResetGlobalClkCounter(&shared_apm); + + //Re-Enable the Global Clock Counter of the Shared Timer (Shared APM). + XAxiPmon_EnableGlobalClkCounter(&shared_apm); + + //Start the Fetch Scheduler. + XFetch_scheduler_Start(&fetch_scheduler); + + //Start the Send Scheduler. + XSend_scheduler_Start(&send_scheduler); + } + + //Clear the Data Register of the Channel 1 of the GPIO-PCIe-Interrupt Peripheral in Order to Make Sure that the Next Written Data is Valid Information from the Host System. + XGpio_DiscreteWrite(&gpio_pcie_interrupt, 1, 0x00); + + + //Clear the Interrupt of the GPIO-PCIe-Interrupt Peripheral. + (void)XGpio_InterruptClear(&gpio_pcie_interrupt, XGPIO_IR_MASK); + (void)XGpio_InterruptClear(&gpio_pcie_interrupt, XPAR_GPIO_PCIE_INTERRUPT_IP2INTC_IRPT_MASK); + + //Re-Enable the Interrupts of the GPIO-PCIe-Interrupt Peripheral. + XGpio_WriteReg(XPAR_GPIO_PCIE_INTERRUPT_BASEADDR, XGPIO_IER_OFFSET, XGPIO_IR_CH2_MASK) ; + XGpio_InterruptEnable(&gpio_pcie_interrupt, XPAR_GPIO_PCIE_INTERRUPT_IP2INTC_IRPT_MASK); + +} + + + +/* + * setup_dma_sg_schedulers() + * + * Setup Procedure of the DMA-SG-PCIe-Scheduler. + * + * The DMA-SG-PCIe-Scheduler Manages the MM2S and S2MM Channels of the DMA to Make Scatter/Gather Transfers in Pages. + * + * @note For Details Check the HLS Code of the DMA-SG-PCIe-Scheduler. + */ +int setup_dma_sg_schedulers() +{ + int status; + + print("Set-Up Process for DMA SG PCIe Scheduler\r\n"); + + //Set the Configuration Structure of the DMA-SG-PCIe_Scheduler. + dma_sg_pcie_scheduler_config_ptr = XDma_sg_pcie_scheduler_LookupConfig(XPAR_ACCEL_GROUP_SG_DMA_SG_PCIE_SCHEDULER_DEVICE_ID); + + if (dma_sg_pcie_scheduler_config_ptr == NULL) + { + print("Setting-up DMA SG PCIe Scheduler Configuration Structure: FAILURE\r\n"); + return XST_FAILURE; + } + else + { + print("Setting-up DMA SG PCIe Scheduler Configuration Structure: SUCCESS\r\n"); + } + + + //Initialize the DMA-SG-PCIe_Scheduler. + status = XDma_sg_pcie_scheduler_CfgInitialize(&dma_sg_pcie_scheduler, dma_sg_pcie_scheduler_config_ptr); + + if (status != XST_SUCCESS) + { + print("Initializing DMA SG PCIe Scheduler Instance: FAILURE\r\n"); + return XST_FAILURE; + } + else + { + print("Initializing DMA SG PCIe Scheduler Instance: SUCCESS\r\n"); + } + + //Set the Base Address of the DMA that is Used by the AGSG. + XDma_sg_pcie_scheduler_Set_dma_device_address(&dma_sg_pcie_scheduler, (u32)XPAR_ACCEL_GROUP_SG_DMA_BASEADDR); + + //Set the Page Size in Bytes (Usually 4K). + XDma_sg_pcie_scheduler_Set_page_size(&dma_sg_pcie_scheduler, PAGE_SIZE); + + //Set the Base Address where the Scatter/Gather List for the Source Data is Located. + XDma_sg_pcie_scheduler_Set_mm2s_sgl_address(&dma_sg_pcie_scheduler, XPAR_SHARED_METRICS_BRAM_CONTROLLER_S_AXI_BASEADDR + (64 * KBYTE)); + + //Set the Base Address where the Scatter/Gather List for the Destination Data is Located. + XDma_sg_pcie_scheduler_Set_s2mm_sgl_address(&dma_sg_pcie_scheduler, XPAR_SHARED_METRICS_BRAM_CONTROLLER_S_AXI_BASEADDR + (128 * KBYTE)); + + //Set the Base Address of the PCIe Bridge's AXI BAR that is Used to Read the Source Data. + XDma_sg_pcie_scheduler_Set_axi_bar_src_address(&dma_sg_pcie_scheduler, XPAR_PCIE_AXIBAR_4); + + //Set the Offset in the PCIe Bridge where the Address Translation Register of the AXI BAR that is Accessed by the MM2S Channel of the DMA is Located. + //This is Required in Order to Configure the Address Translation Register of the AXI BAR + //with the Physical Address of the Kernel Memory that the MM2S Channel of the DMA will Use as the Source Address to Read the Image Data. + XDma_sg_pcie_scheduler_Set_axi_bar_src_cfg_address(&dma_sg_pcie_scheduler, (XPAR_PCIE_BASEADDR + BAR4_OFFSET_L)); + + //Set the Base Address of the PCIe Bridge's AXI BAR that is Used to Write the Destination Data. + XDma_sg_pcie_scheduler_Set_axi_bar_dst_address(&dma_sg_pcie_scheduler, XPAR_PCIE_AXIBAR_5); + + //Set the Offset in the PCIe Bridge where the Address Translation Register of the AXI BAR that is Accessed by the S2MM Channel of the DMA is Located. + //This is Required in Order to Configure the Address Translation Register of the AXI BAR + //with the Physical Address of the Kernel Memory that the S2MM Channel of the DMA will Use as the Destination Address to Write the Processed Image Data. + XDma_sg_pcie_scheduler_Set_axi_bar_dst_cfg_address(&dma_sg_pcie_scheduler, (XPAR_PCIE_BASEADDR + BAR5_OFFSET_L)); + + + return XST_SUCCESS; +} + +/* + * setup_acceleration_scheduler_sg() + * + * Setup Procedure of the Acceleration Scheduler Scatter/Gather. + * + * The Acceleration Scheduler Scatter/Gather Manages the whole Acceleration Procedure of the AGSG. + * + * @note For Details Check the HLS Code of the Acceleration Scheduler Scatter/Gather. + */ +int setup_acceleration_scheduler_sg() +{ + int status = 0; + + print("Set-Up Process for Acceleration Scheduler SG Block\r\n"); + + //Setup the Configuration Structure of the Acceleration Scheduler Scatter/Gather. + acceleration_scheduler_sg_config_ptr = XAcceleration_scheduler_sg_xdma_LookupConfig(XPAR_ACCEL_GROUP_SG_ACCELERATION_SCHEDULER_SG_XDMA_DEVICE_ID); + + if (acceleration_scheduler_sg_config_ptr == NULL) + { + xil_printf("Setting-up Acceleration Scheduler SG Configuration Structure: FAILURE\r\n"); + return XST_FAILURE; + } + else + { + xil_printf("Setting-up Acceleration Scheduler SG Configuration Structure: SUCCESS\r\n"); + } + + //Initialize the Acceleration Scheduler Scatter/Gather. + status = XAcceleration_scheduler_sg_xdma_CfgInitialize(&acceleration_scheduler_sg, acceleration_scheduler_sg_config_ptr); + + if (status != XST_SUCCESS) + { + xil_printf("Initializing Acceleration Scheduler SG Instance: FAILURE\r\n"); + return XST_FAILURE; + } + else + { + xil_printf("Initializing Acceleration Scheduler SG Instance: SUCCESS\r\n"); + } + + + //Set the Base Address of the DMA-SG-PCIe-Scheduler that is Used by the AGSG. + XAcceleration_scheduler_sg_xdma_Set_dma_sg_pcie_scheduler_base_address(&acceleration_scheduler_sg, XPAR_ACCEL_GROUP_SG_DMA_SG_PCIE_SCHEDULER_S_AXI_CFG_BASEADDR); + + //Set the Base Address of the APM that is Used by the AGSG. + XAcceleration_scheduler_sg_xdma_Set_apm_device_address(&acceleration_scheduler_sg, XPAR_ACCEL_GROUP_SG_APM_BASEADDR); + + //Set the Address Offset in the Interrupt Manager where the MSI Request Registers are Located. + XAcceleration_scheduler_sg_xdma_Set_interrupt_manager_register_offset(&acceleration_scheduler_sg, XPAR_INTERRUPT_MANAGER_S_AXI_CFG_BASEADDR + XINTERRUPT_MANAGER_CFG_ADDR_MSI_REQUEST_BASE + MSI_DATA_6_OFFSET); + + //Set the Base Address of the Shared Timer (Shared APM). + XAcceleration_scheduler_sg_xdma_Set_shared_apm_device_address(&acceleration_scheduler_sg, XPAR_SHARED_APM_BASEADDR); + + //Set the Base Address of the FPGA's BRAM that is Used as the Shared Metrics Memory. + XAcceleration_scheduler_sg_xdma_Set_shared_metrics_address(&acceleration_scheduler_sg, XPAR_SHARED_METRICS_BRAM_CONTROLLER_S_AXI_BASEADDR); + + //Set the Base Address of the Sobel Filter that is Used by the AGSG. + XAcceleration_scheduler_sg_xdma_Set_sobel_device_address(&acceleration_scheduler_sg, XPAR_ACCEL_GROUP_SG_SOBEL_FILTER_S_AXI_S_AXI4_LITE_BASEADDR); + + //Set the Number of the Acceleration Group that the Acceleration Scheduler Scatter/Gather Belongs to. + XAcceleration_scheduler_sg_xdma_Set_accel_group(&acceleration_scheduler_sg, 7); + + + return XST_SUCCESS; +} + +/* + * setup_acceleration_schedulers_direct() + * + * Setup Procedure of ALL the Acceleration Schedulers Direct. + * + * The Acceleration Schedulers Direct Manage the whole Acceleration Procedure of the AGDs. + * + * @note For Details Check the HLS Code of the Acceleration Scheduler Direct. + */ +int setup_acceleration_schedulers_direct() +{ + int status; + + print("Set-Up Process for Fetch Scheduler\r\n"); + + //*************************************************************************************************// + // Initialization for Acceleration Scheduler Direct Acceleration Group 0 + //*************************************************************************************************// + + + //Setup the Configuration Structure of the Acceleration Scheduler Direct of the AGD0. + acceleration_scheduler_accel_group_direct_0_config_ptr = XAcceleration_scheduler_direct_LookupConfig(XPAR_ACCEL_GROUP_DIRECT_0_ACCELERATION_SCHEDULER_DIRECT_DEVICE_ID); + + if (acceleration_scheduler_accel_group_direct_0_config_ptr == NULL) + { + print("Setting-up Acceleration Scheduler Direct 0 Configuration Structure: FAILURE\r\n"); + return XST_FAILURE; + } + else + { + print("Setting-up Acceleration Scheduler Direct 0 Configuration Structure: SUCCESS\r\n"); + } + + //Initialize the Acceleration Scheduler Direct of the AGD0. + status = XAcceleration_scheduler_direct_CfgInitialize(&acceleration_scheduler_accel_group_direct_0, acceleration_scheduler_accel_group_direct_0_config_ptr); + + if (status != XST_SUCCESS) + { + print("Initializing Acceleration Scheduler Direct 0 Instance: FAILURE\r\n"); + return XST_FAILURE; + } + else + { + print("Initializing Acceleration Scheduler Direct 0 Instance: SUCCESS\r\n"); + } + + //Set the Base Address of the APM that is Used by the AGD0. + XAcceleration_scheduler_direct_Set_apm_device_address(&acceleration_scheduler_accel_group_direct_0, XPAR_ACCEL_GROUP_DIRECT_0_APM_BASEADDR); + + //Set the Base Address of the DMA that is Used by the AGD0. + XAcceleration_scheduler_direct_Set_dma_device_address(&acceleration_scheduler_accel_group_direct_0, XPAR_ACCEL_GROUP_DIRECT_0_DMA_BASEADDR); + + //Set the Address Offset in the Interrupt Manager where the MSI Request Registers are Located. + XAcceleration_scheduler_direct_Set_interrupt_manager_register_offset(&acceleration_scheduler_accel_group_direct_0, XPAR_INTERRUPT_MANAGER_S_AXI_CFG_BASEADDR + XINTERRUPT_MANAGER_CFG_ADDR_MSI_REQUEST_BASE + MSI_DATA_0_OFFSET); + + + /* + * Set the Source and Destination Addresses that the Acceleration Scheduler Direct of the AGD0 will Use to Start a DMA Transfer. + * + * @note The Functions Below are Commented because the Source and Destination Addresses are Now Set by the Kernel Driver. + */ + //XAcceleration_scheduler_direct_Set_host_mem_dst_data_address(&acceleration_scheduler_accel_group_direct_0, ); + //XAcceleration_scheduler_direct_Set_host_mem_src_data_address(&acceleration_scheduler_accel_group_direct_0, ); + + /* + * Set the Image Columns and Rows. + * + * @note This Functions are Commented because the Columns and Rows are Now Set by the Kernel Driver. + */ + //XAcceleration_scheduler_direct_Set_image_cols(&acceleration_scheduler_accel_group_direct_0, ); + //XAcceleration_scheduler_direct_Set_image_rows(&acceleration_scheduler_accel_group_direct_0, ); + + //Set the Number of the Acceleration Group that the Acceleration Scheduler Direct Belongs to. + XAcceleration_scheduler_direct_Set_initiator_group(&acceleration_scheduler_accel_group_direct_0, 1); + + //Set the Base Address of the Shared Timer (Shared APM). + XAcceleration_scheduler_direct_Set_shared_apm_device_address(&acceleration_scheduler_accel_group_direct_0, XPAR_SHARED_APM_BASEADDR); + + //Set the Base Address of the FPGA's BRAM that is Used as the Shared Metrics Memory. + XAcceleration_scheduler_direct_Set_shared_metrics_address(&acceleration_scheduler_accel_group_direct_0, XPAR_SHARED_METRICS_BRAM_CONTROLLER_S_AXI_BASEADDR); + + //Set the Base Address of the Sobel Filter that is Used by the AGD0. + XAcceleration_scheduler_direct_Set_sobel_device_address(&acceleration_scheduler_accel_group_direct_0, XPAR_ACCEL_GROUP_DIRECT_0_SOBEL_FILTER_S_AXI_S_AXI4_LITE_BASEADDR); + + //*************************************************************************************************// + // Initialization for Acceleration Scheduler Direct Acceleration Group 1 + //*************************************************************************************************// + + + //Setup the Configuration Structure of the Acceleration Scheduler Direct of the AGD1. + acceleration_scheduler_accel_group_direct_1_config_ptr = XAcceleration_scheduler_direct_LookupConfig(XPAR_ACCEL_GROUP_DIRECT_1_ACCELERATION_SCHEDULER_DIRECT_DEVICE_ID); + + if (acceleration_scheduler_accel_group_direct_1_config_ptr == NULL) + { + print("Setting-up Acceleration Scheduler Direct 1 Configuration Structure: FAILURE\r\n"); + return XST_FAILURE; + } + else + { + print("Setting-up Acceleration Scheduler Direct 1 Configuration Structure: SUCCESS\r\n"); + } + + + //Initialize the Acceleration Scheduler Direct of the AGD1. + status = XAcceleration_scheduler_direct_CfgInitialize(&acceleration_scheduler_accel_group_direct_1, acceleration_scheduler_accel_group_direct_1_config_ptr); + + if (status != XST_SUCCESS) + { + print("Initializing Acceleration Scheduler Direct 1 Instance: FAILURE\r\n"); + return XST_FAILURE; + } + else + { + print("Initializing Acceleration Scheduler Direct 1 Instance: SUCCESS\r\n"); + } + + + //Set the Base Address of the APM that is Used by the AGD1. + XAcceleration_scheduler_direct_Set_apm_device_address(&acceleration_scheduler_accel_group_direct_1, XPAR_ACCEL_GROUP_DIRECT_1_APM_BASEADDR); + + //Set the Base Address of the DMA that is Used by the AGD1. + XAcceleration_scheduler_direct_Set_dma_device_address(&acceleration_scheduler_accel_group_direct_1, XPAR_ACCEL_GROUP_DIRECT_1_DMA_BASEADDR); + + //Set the Address Offset in the Interrupt Manager where the MSI Request Registers are Located. + XAcceleration_scheduler_direct_Set_interrupt_manager_register_offset(&acceleration_scheduler_accel_group_direct_1, XPAR_INTERRUPT_MANAGER_S_AXI_CFG_BASEADDR + XINTERRUPT_MANAGER_CFG_ADDR_MSI_REQUEST_BASE + MSI_DATA_1_OFFSET); + + + /* + * Set the Source and Destination Addresses that the Acceleration Scheduler Direct of the AGD1 will Use to Start a DMA Transfer. + * + * @note The Functions Below are Commented because the Source and Destination Addresses are Now Set by the Kernel Driver. + */ + //XAcceleration_scheduler_direct_Set_host_mem_dst_data_address(&acceleration_scheduler_accel_group_direct_1, ); + //XAcceleration_scheduler_direct_Set_host_mem_src_data_address(&acceleration_scheduler_accel_group_direct_1, ); + + /* + * Set the Image Columns and Rows. + * + * @note This Functions are Commented because the Columns and Rows are Now Set by the Kernel Driver. + */ + //XAcceleration_scheduler_direct_Set_image_cols(&acceleration_scheduler_accel_group_direct_1, ); + //XAcceleration_scheduler_direct_Set_image_rows(&acceleration_scheduler_accel_group_direct_1, ); + + //Set the Number of the Acceleration Group that the Acceleration Scheduler Direct Belongs to. + XAcceleration_scheduler_direct_Set_initiator_group(&acceleration_scheduler_accel_group_direct_1, 2); + + //Set the Base Address of the Shared Timer (Shared APM). + XAcceleration_scheduler_direct_Set_shared_apm_device_address(&acceleration_scheduler_accel_group_direct_1, XPAR_SHARED_APM_BASEADDR); + + //Set the Base Address of the FPGA's BRAM that is Used as the Shared Metrics Memory. + XAcceleration_scheduler_direct_Set_shared_metrics_address(&acceleration_scheduler_accel_group_direct_1, XPAR_SHARED_METRICS_BRAM_CONTROLLER_S_AXI_BASEADDR); + + //Set the Base Address of the Sobel Filter that is Used by the AGD1. + XAcceleration_scheduler_direct_Set_sobel_device_address(&acceleration_scheduler_accel_group_direct_1, XPAR_ACCEL_GROUP_DIRECT_1_SOBEL_FILTER_S_AXI_S_AXI4_LITE_BASEADDR); + + + return(XST_SUCCESS); +} + +/* + * setup_acceleration_schedulers_indirect() + * + * Setup Procedure of ALL the Acceleration Schedulers Indirect. + * + * The Acceleration Schedulers Indirect Manage the whole Acceleration Procedure of the AGIs. + * + * @note For Details Check the HLS Code of the Acceleration Scheduler Indirect. + */ +int setup_acceleration_schedulers_indirect() +{ + int status; + + print("Set-Up Process for Acceleration Scheduler Indirect\r\n"); + + //*************************************************************************************************// + // Initialization for Acceleration Scheduler Indirect 0 + //*************************************************************************************************// + + + //Setup the Configuration Structure of the Acceleration Scheduler Indirect of the AGI0. + acceleration_scheduler_accel_group_indirect_0_config_ptr = XAcceleration_scheduler_indirect_LookupConfig(XPAR_XACCELERATION_SCHEDULER_INDIRECT_0_DEVICE_ID); + + if (acceleration_scheduler_accel_group_indirect_0_config_ptr == NULL) + { + print("Setting-up Acceleration Scheduler Indirect 0 Configuration Structure: FAILURE\r\n"); + return XST_FAILURE; + } + else + { + print("Setting-up Acceleration Scheduler Indirect 0 Configuration Structure: SUCCESS\r\n"); + } + + + //Initialize the Acceleration Scheduler Indirect of the AGI0. + status = XAcceleration_scheduler_indirect_CfgInitialize(&acceleration_scheduler_accel_group_indirect_0, acceleration_scheduler_accel_group_indirect_0_config_ptr); + + if (status != XST_SUCCESS) + { + print("Initializing Acceleration Scheduler Indirect 0 Instance: FAILURE\r\n"); + return XST_FAILURE; + } + else + { + print("Initializing Acceleration Scheduler Indirect 0 Instance: SUCCESS\r\n"); + } + + + + //Set the Base Address of the DMA that is Used by the AGI0. + XAcceleration_scheduler_indirect_Set_dma_base_address(&acceleration_scheduler_accel_group_indirect_0, XPAR_ACCEL_GROUP_INDIRECT_0_DMA_BASEADDR); + + //Set the Base Address of the Sobel Filter(Accelerator) that is Used by the AGI0. + XAcceleration_scheduler_indirect_Set_sobel_base_address(&acceleration_scheduler_accel_group_indirect_0, XPAR_ACCEL_GROUP_INDIRECT_0_SOBEL_FILTER_S_AXI_S_AXI4_LITE_BASEADDR); + + + //Set the Base Address of the Scheduler Buffer that Belongs to the Fetch Scheduler. + XAcceleration_scheduler_indirect_Set_scheduler_buffer_base_address_f(&acceleration_scheduler_accel_group_indirect_0, XPAR_SCHEDULER_BUFFER_FETCH_S_AXI_INT_CFG_BASEADDR); + + //Set the Offset in the Scheduler Buffer that Belongs to the Fetch Scheduler where the First Source Address Register is Located. + XAcceleration_scheduler_indirect_Set_src_address_reg_offset_f(&acceleration_scheduler_accel_group_indirect_0, XSCHEDULER_BUFFER_INT_CFG_ADDR_SRC_ADDRESS_0_DATA); + + //Set the Offset in the Scheduler Buffer that Belongs to the Fetch Scheduler where the First Destination Address Register is Located. + XAcceleration_scheduler_indirect_Set_dst_address_reg_offset_f(&acceleration_scheduler_accel_group_indirect_0, XSCHEDULER_BUFFER_INT_CFG_ADDR_DST_ADDRESS_0_DATA); + + //Set the Offset in the Scheduler Buffer that Belongs to the Fetch Scheduler where the First Data Size Register is Located. + XAcceleration_scheduler_indirect_Set_data_size_reg_offset_f(&acceleration_scheduler_accel_group_indirect_0, XSCHEDULER_BUFFER_INT_CFG_ADDR_DATA_SIZE_0_DATA); + + //Set the Offset in the Scheduler Buffer that Belongs to the Fetch Scheduler where the First Address Offset Register is Located. + XAcceleration_scheduler_indirect_Set_offset_reg_offset_f(&acceleration_scheduler_accel_group_indirect_0, XSCHEDULER_BUFFER_INT_CFG_ADDR_OFFSET_0_DATA); + + /* + * Set the Source Address that the CDMA-Fetch will Use to Read the Data from the Kernel Memory for the AGI0. + * @note This Function is Commented because the Source Address is Now Set by the Kernel Driver. + */ + //XAcceleration_scheduler_indirect_Set_src_address_f(&acceleration_scheduler_accel_group_indirect_0, XPAR_AXI_HOST_BRAM_CONTROLLER_0_S_AXI_BASEADDR); + + //Set the Destination Address that the CDMA-Fetch will Use to Write the Data to the FPGA's DDR3 for the AGI0. + XAcceleration_scheduler_indirect_Set_dst_address_f(&acceleration_scheduler_accel_group_indirect_0, XPAR_MIG_BASEADDR); + + + //Set the Base Address of the Scheduler Buffer that Belongs to the Send Scheduler. + XAcceleration_scheduler_indirect_Set_scheduler_buffer_base_address_s(&acceleration_scheduler_accel_group_indirect_0, XPAR_SCHEDULER_BUFFER_SEND_S_AXI_INT_CFG_BASEADDR); + + //Set the Offset in the Scheduler Buffer that Belongs to the Send Scheduler where the First Source Address Register is Located. + XAcceleration_scheduler_indirect_Set_src_address_reg_offset_s(&acceleration_scheduler_accel_group_indirect_0, XSCHEDULER_BUFFER_INT_CFG_ADDR_SRC_ADDRESS_0_DATA); + + //Set the Offset in the Scheduler Buffer that Belongs to the Send Scheduler where the First Destination Address Register is Located. + XAcceleration_scheduler_indirect_Set_dst_address_reg_offset_s(&acceleration_scheduler_accel_group_indirect_0, XSCHEDULER_BUFFER_INT_CFG_ADDR_DST_ADDRESS_0_DATA); + + //Set the Offset in the Scheduler Buffer that Belongs to the Send Scheduler where the First Data Size Register is Located. + XAcceleration_scheduler_indirect_Set_data_size_reg_offset_s(&acceleration_scheduler_accel_group_indirect_0, XSCHEDULER_BUFFER_INT_CFG_ADDR_DATA_SIZE_0_DATA); + + //Set the Offset in the Scheduler Buffer that Belongs to the Send Scheduler where the First Address Offset Register is Located. + XAcceleration_scheduler_indirect_Set_offset_reg_offset_s(&acceleration_scheduler_accel_group_indirect_0, XSCHEDULER_BUFFER_INT_CFG_ADDR_OFFSET_0_DATA); + + //Set the Source Address that the CDMA-Send will Use to Read the Data from the FPGA's DDR3 for the AGI0. + XAcceleration_scheduler_indirect_Set_src_address_s(&acceleration_scheduler_accel_group_indirect_0, (XPAR_MIG_BASEADDR + (4 * MBYTE))); + + /* + * Set the Destination Address that the CDMA-Send will Use to Write the Processed Data to the Kernel's Memory for the AGI0. + * @note This Function is Commented because the Destination Address is Now Set by the Kernel Driver. + */ + //XAcceleration_scheduler_indirect_Set_dst_address_s(&acceleration_scheduler_accel_group_indirect_0, (XPAR_AXI_FPGA_BRAM_CONTROLLER_0_S_AXI_BASEADDR + (4 * KBYTE))); + + /* + * Set the Image Columns and Rows. + * @note This Functions are Commented because the Columns and Rows are Now Set by the Kernel Driver. + */ + //XAcceleration_scheduler_indirect_Set_image_cols(&acceleration_scheduler_accel_group_indirect_0, 32); + //XAcceleration_scheduler_indirect_Set_image_rows(&acceleration_scheduler_accel_group_indirect_0, 32); + + + //Set the Number of the AGI that this Acceleration Scheduler Indirect Belongs to. + XAcceleration_scheduler_indirect_Set_accel_group(&acceleration_scheduler_accel_group_indirect_0, 1); + + //Set the Base Address of the Shared Timer (Shared APM). + XAcceleration_scheduler_indirect_Set_shared_apm_base_address(&acceleration_scheduler_accel_group_indirect_0, XPAR_SHARED_APM_BASEADDR); + + //Set the Base Address of the FPGA's BRAM that is Used as the Shared Metrics Memory. + XAcceleration_scheduler_indirect_Set_shared_metrics_base_address(&acceleration_scheduler_accel_group_indirect_0, XPAR_SHARED_METRICS_BRAM_CONTROLLER_S_AXI_BASEADDR); + + //Set the Base Address of the APM that is Used by the AGI0. + XAcceleration_scheduler_indirect_Set_apm_base_address(&acceleration_scheduler_accel_group_indirect_0, XPAR_ACCEL_GROUP_INDIRECT_0_APM_BASEADDR); + + + //*************************************************************************************************// + // Initialization for Acceleration Scheduler Indirect 1 + //*************************************************************************************************// + + + //Setup the Configuration Structure of the Acceleration Scheduler Indirect of the AGI1. + acceleration_scheduler_accel_group_indirect_1_config_ptr = XAcceleration_scheduler_indirect_LookupConfig(XPAR_XACCELERATION_SCHEDULER_INDIRECT_1_DEVICE_ID); + + if (acceleration_scheduler_accel_group_indirect_1_config_ptr == NULL) + { + print("Setting-up Acceleration Scheduler Indirect 1 Configuration Structure: FAILURE\r\n"); + return XST_FAILURE; + } + else + { + print("Setting-up Acceleration Scheduler Indirect 1 Configuration Structure: SUCCESS\r\n"); + } + + + //Initialize the Acceleration Scheduler Indirect of the AGI1. + status = XAcceleration_scheduler_indirect_CfgInitialize(&acceleration_scheduler_accel_group_indirect_1, acceleration_scheduler_accel_group_indirect_1_config_ptr); + + if (status != XST_SUCCESS) + { + print("Initializing Acceleration Scheduler Indirect 1 Instance: FAILURE\r\n"); + return XST_FAILURE; + } + else + { + print("Initializing Acceleration Scheduler Indirect 1 Instance: SUCCESS\r\n"); + } + + + //Set the Base Address of the DMA that is Used by the AGI1. + XAcceleration_scheduler_indirect_Set_dma_base_address(&acceleration_scheduler_accel_group_indirect_1, XPAR_ACCEL_GROUP_INDIRECT_1_DMA_BASEADDR); + + //Set the Base Address of the Sobel Filter(Accelerator) that is Used by the AGI1. + XAcceleration_scheduler_indirect_Set_sobel_base_address(&acceleration_scheduler_accel_group_indirect_1, XPAR_ACCEL_GROUP_INDIRECT_1_SOBEL_FILTER_S_AXI_S_AXI4_LITE_BASEADDR); + + //Set the Base Address of the Scheduler Buffer that Belongs to the Fetch Scheduler. + XAcceleration_scheduler_indirect_Set_scheduler_buffer_base_address_f(&acceleration_scheduler_accel_group_indirect_1, XPAR_SCHEDULER_BUFFER_FETCH_S_AXI_INT_CFG_BASEADDR); + + //Set the Offset in the Scheduler Buffer that Belongs to the Fetch Scheduler where the First Source Address Register is Located. + XAcceleration_scheduler_indirect_Set_src_address_reg_offset_f(&acceleration_scheduler_accel_group_indirect_1, XSCHEDULER_BUFFER_INT_CFG_ADDR_SRC_ADDRESS_1_DATA); + + //Set the Offset in the Scheduler Buffer that Belongs to the Fetch Scheduler where the First Destination Address Register is Located. + XAcceleration_scheduler_indirect_Set_dst_address_reg_offset_f(&acceleration_scheduler_accel_group_indirect_1, XSCHEDULER_BUFFER_INT_CFG_ADDR_DST_ADDRESS_1_DATA); + + //Set the Offset in the Scheduler Buffer that Belongs to the Fetch Scheduler where the First Data Size Register is Located. + XAcceleration_scheduler_indirect_Set_data_size_reg_offset_f(&acceleration_scheduler_accel_group_indirect_1, XSCHEDULER_BUFFER_INT_CFG_ADDR_DATA_SIZE_1_DATA); + + //Set the Offset in the Scheduler Buffer that Belongs to the Fetch Scheduler where the First Address Offset Register is Located. + XAcceleration_scheduler_indirect_Set_offset_reg_offset_f(&acceleration_scheduler_accel_group_indirect_1, XSCHEDULER_BUFFER_INT_CFG_ADDR_OFFSET_1_DATA); + + /* + * Set the Source Address that the CDMA-Fetch will Use to Read the Data from the Kernel Memory for the AGI1. + * @note This Function is Commented because the Source Address is Now Set by the Kernel Driver. + */ + //XAcceleration_scheduler_indirect_Set_src_address_f(&acceleration_scheduler_accel_group_indirect_1, XPAR_AXI_HOST_BRAM_CONTROLLER_1_S_AXI_BASEADDR); + + //Set the Destination Address that the CDMA-Fetch will Use to Write the Data to the FPGA's DDR3 for the AGI1. + XAcceleration_scheduler_indirect_Set_dst_address_f(&acceleration_scheduler_accel_group_indirect_1, XPAR_MIG_BASEADDR + (8 * MBYTE)); + + + //Set the Base Address of the Scheduler Buffer that Belongs to the Send Scheduler. + XAcceleration_scheduler_indirect_Set_scheduler_buffer_base_address_s(&acceleration_scheduler_accel_group_indirect_1, XPAR_SCHEDULER_BUFFER_SEND_S_AXI_INT_CFG_BASEADDR); + + //Set the Offset in the Scheduler Buffer that Belongs to the Send Scheduler where the First Source Address Register is Located. + XAcceleration_scheduler_indirect_Set_src_address_reg_offset_s(&acceleration_scheduler_accel_group_indirect_1, XSCHEDULER_BUFFER_INT_CFG_ADDR_SRC_ADDRESS_1_DATA); + + //Set the Offset in the Scheduler Buffer that Belongs to the Send Scheduler where the First Destination Address Register is Located. + XAcceleration_scheduler_indirect_Set_dst_address_reg_offset_s(&acceleration_scheduler_accel_group_indirect_1, XSCHEDULER_BUFFER_INT_CFG_ADDR_DST_ADDRESS_1_DATA); + + //Set the Offset in the Scheduler Buffer that Belongs to the Send Scheduler where the First Data Size Register is Located. + XAcceleration_scheduler_indirect_Set_data_size_reg_offset_s(&acceleration_scheduler_accel_group_indirect_1, XSCHEDULER_BUFFER_INT_CFG_ADDR_DATA_SIZE_1_DATA); + + //Set the Offset in the Scheduler Buffer that Belongs to the Send Scheduler where the First Address Offset Register is Located. + XAcceleration_scheduler_indirect_Set_offset_reg_offset_s(&acceleration_scheduler_accel_group_indirect_1, XSCHEDULER_BUFFER_INT_CFG_ADDR_OFFSET_1_DATA); + + + //Set the Source Address that the CDMA-Send will Use to Read the Data from the FPGA's DDR3 for the AGI1. + XAcceleration_scheduler_indirect_Set_src_address_s(&acceleration_scheduler_accel_group_indirect_1, XPAR_MIG_BASEADDR + (12 * MBYTE)); + + /* + * Set the Destination Address that the CDMA-Send will Use to Write the Processed Data to the Kernel's Memory for the AGI1. + * @note This Function is Commented because the Destination Address is Now Set by the Kernel Driver. + */ + //XAcceleration_scheduler_indirect_Set_dst_address_s(&acceleration_scheduler_accel_group_indirect_1, XPAR_AXI_HOST_BRAM_CONTROLLER_1_S_AXI_BASEADDR + (4 * KBYTE)); + + + /* + * Set the Image Columns and Rows. + * @note This Functions are Commented because the Columns and Rows are Now Set by the Kernel Driver. + */ + //XAcceleration_scheduler_indirect_Set_image_cols(&acceleration_scheduler_accel_group_indirect_1, 32); + //XAcceleration_scheduler_indirect_Set_image_rows(&acceleration_scheduler_accel_group_indirect_1, 32); + + + //Set the Number of the AGI that this Acceleration Scheduler Indirect Belongs to. + XAcceleration_scheduler_indirect_Set_accel_group(&acceleration_scheduler_accel_group_indirect_1, 2); + + //Set the Base Address of the Shared Timer (Shared APM). + XAcceleration_scheduler_indirect_Set_shared_apm_base_address(&acceleration_scheduler_accel_group_indirect_1, XPAR_SHARED_APM_BASEADDR); + + //Set the Base Address of the FPGA's BRAM that is Used as the Shared Metrics Memory. + XAcceleration_scheduler_indirect_Set_shared_metrics_base_address(&acceleration_scheduler_accel_group_indirect_1, XPAR_SHARED_METRICS_BRAM_CONTROLLER_S_AXI_BASEADDR); + + //Set the Base Address of the APM that is Used by the AGI1. + XAcceleration_scheduler_indirect_Set_apm_base_address(&acceleration_scheduler_accel_group_indirect_1, XPAR_ACCEL_GROUP_INDIRECT_1_APM_BASEADDR); + + + //*************************************************************************************************// + // Initialization for Acceleration Scheduler Indirect 2 + //*************************************************************************************************// + + + //Setup the Configuration Structure of the Acceleration Scheduler Indirect of the AGI2. + acceleration_scheduler_accel_group_indirect_2_config_ptr = XAcceleration_scheduler_indirect_LookupConfig(XPAR_XACCELERATION_SCHEDULER_INDIRECT_2_DEVICE_ID); + + if (acceleration_scheduler_accel_group_indirect_2_config_ptr == NULL) + { + print("Setting-up Acceleration Scheduler Indirect 2 Configuration Structure: FAILURE\r\n"); + return XST_FAILURE; + } + else + { + print("Setting-up Acceleration Scheduler Indirect 2 Configuration Structure: SUCCESS\r\n"); + } + + + //Initialize the Acceleration Scheduler Indirect of the AGI2. + status = XAcceleration_scheduler_indirect_CfgInitialize(&acceleration_scheduler_accel_group_indirect_2, acceleration_scheduler_accel_group_indirect_2_config_ptr); + + if (status != XST_SUCCESS) + { + print("Initializing Acceleration Scheduler Indirect 2 Instance: FAILURE\r\n"); + return XST_FAILURE; + } + else + { + print("Initializing Acceleration Scheduler Indirect 2 Instance: SUCCESS\r\n"); + } + + + //Set the Base Address of the DMA that is Used by the AGI2. + XAcceleration_scheduler_indirect_Set_dma_base_address(&acceleration_scheduler_accel_group_indirect_2, XPAR_ACCEL_GROUP_INDIRECT_2_DMA_BASEADDR); + + //Set the Base Address of the Sobel Filter(Accelerator) that is Used by the AGI2. + XAcceleration_scheduler_indirect_Set_sobel_base_address(&acceleration_scheduler_accel_group_indirect_2, XPAR_ACCEL_GROUP_INDIRECT_2_SOBEL_FILTER_S_AXI_S_AXI4_LITE_BASEADDR); + + //Set the Base Address of the Scheduler Buffer that Belongs to the Fetch Scheduler. + XAcceleration_scheduler_indirect_Set_scheduler_buffer_base_address_f(&acceleration_scheduler_accel_group_indirect_2, XPAR_SCHEDULER_BUFFER_FETCH_S_AXI_INT_CFG_BASEADDR); + + //Set the Offset in the Scheduler Buffer that Belongs to the Fetch Scheduler where the First Source Address Register is Located. + XAcceleration_scheduler_indirect_Set_src_address_reg_offset_f(&acceleration_scheduler_accel_group_indirect_2, XSCHEDULER_BUFFER_INT_CFG_ADDR_SRC_ADDRESS_2_DATA); + + //Set the Offset in the Scheduler Buffer that Belongs to the Fetch Scheduler where the First Destination Address Register is Located. + XAcceleration_scheduler_indirect_Set_dst_address_reg_offset_f(&acceleration_scheduler_accel_group_indirect_2, XSCHEDULER_BUFFER_INT_CFG_ADDR_DST_ADDRESS_2_DATA); + + //Set the Offset in the Scheduler Buffer that Belongs to the Fetch Scheduler where the First Data Size Register is Located. + XAcceleration_scheduler_indirect_Set_data_size_reg_offset_f(&acceleration_scheduler_accel_group_indirect_2, XSCHEDULER_BUFFER_INT_CFG_ADDR_DATA_SIZE_2_DATA); + + //Set the Offset in the Scheduler Buffer that Belongs to the Fetch Scheduler where the First Address Offset Register is Located. + XAcceleration_scheduler_indirect_Set_offset_reg_offset_f(&acceleration_scheduler_accel_group_indirect_2, XSCHEDULER_BUFFER_INT_CFG_ADDR_OFFSET_2_DATA); + + /* + * Set the Source Address that the CDMA-Fetch will Use to Read the Data from the Kernel Memory for the AGI2. + * @note This Function is Commented because the Source Address is Now Set by the Kernel Driver. + */ + //XAcceleration_scheduler_indirect_Set_src_address_f(&acceleration_scheduler_accel_group_indirect_2, XPAR_AXI_HOST_BRAM_CONTROLLER_1_S_AXI_BASEADDR); + + //Set the Destination Address that the CDMA-Fetch will Use to Write the Data to the FPGA's DDR3 for the AGI2. + XAcceleration_scheduler_indirect_Set_dst_address_f(&acceleration_scheduler_accel_group_indirect_2, XPAR_MIG_BASEADDR + (16 * MBYTE)); + + + //Set the Base Address of the Scheduler Buffer that Belongs to the Send Scheduler. + XAcceleration_scheduler_indirect_Set_scheduler_buffer_base_address_s(&acceleration_scheduler_accel_group_indirect_2, XPAR_SCHEDULER_BUFFER_SEND_S_AXI_INT_CFG_BASEADDR); + + //Set the Offset in the Scheduler Buffer that Belongs to the Send Scheduler where the First Source Address Register is Located. + XAcceleration_scheduler_indirect_Set_src_address_reg_offset_s(&acceleration_scheduler_accel_group_indirect_2, XSCHEDULER_BUFFER_INT_CFG_ADDR_SRC_ADDRESS_2_DATA); + + //Set the Offset in the Scheduler Buffer that Belongs to the Send Scheduler where the First Destination Address Register is Located. + XAcceleration_scheduler_indirect_Set_dst_address_reg_offset_s(&acceleration_scheduler_accel_group_indirect_2, XSCHEDULER_BUFFER_INT_CFG_ADDR_DST_ADDRESS_2_DATA); + + //Set the Offset in the Scheduler Buffer that Belongs to the Send Scheduler where the First Data Size Register is Located. + XAcceleration_scheduler_indirect_Set_data_size_reg_offset_s(&acceleration_scheduler_accel_group_indirect_2, XSCHEDULER_BUFFER_INT_CFG_ADDR_DATA_SIZE_2_DATA); + + //Set the Offset in the Scheduler Buffer that Belongs to the Send Scheduler where the First Address Offset Register is Located. + XAcceleration_scheduler_indirect_Set_offset_reg_offset_s(&acceleration_scheduler_accel_group_indirect_2, XSCHEDULER_BUFFER_INT_CFG_ADDR_OFFSET_2_DATA); + + + //Set the Source Address that the CDMA-Send will Use to Read the Data from the FPGA's DDR3 for the AGI2. + XAcceleration_scheduler_indirect_Set_src_address_s(&acceleration_scheduler_accel_group_indirect_2, XPAR_MIG_BASEADDR + (20 * MBYTE)); + + /* + * Set the Destination Address that the CDMA-Send will Use to Write the Processed Data to the Kernel's Memory for the AGI2. + * @note This Function is Commented because the Destination Address is Now Set by the Kernel Driver. + */ + //XAcceleration_scheduler_indirect_Set_dst_address_s(&acceleration_scheduler_accel_group_indirect_2, XPAR_AXI_HOST_BRAM_CONTROLLER_1_S_AXI_BASEADDR + (4 * KBYTE)); + + + /* + * Set the Image Columns and Rows. + * @note This Functions are Commented because the Columns and Rows are Now Set by the Kernel Driver. + */ + //XAcceleration_scheduler_indirect_Set_image_cols(&acceleration_scheduler_accel_group_indirect_2, 32); + //XAcceleration_scheduler_indirect_Set_image_rows(&acceleration_scheduler_accel_group_indirect_2, 32); + + + //Set the Number of the AGI that this Acceleration Scheduler Indirect Belongs to. + XAcceleration_scheduler_indirect_Set_accel_group(&acceleration_scheduler_accel_group_indirect_2, 3); + + //Set the Base Address of the Shared Timer (Shared APM). + XAcceleration_scheduler_indirect_Set_shared_apm_base_address(&acceleration_scheduler_accel_group_indirect_2, XPAR_SHARED_APM_BASEADDR); + + //Set the Base Address of the FPGA's BRAM that is Used as the Shared Metrics Memory. + XAcceleration_scheduler_indirect_Set_shared_metrics_base_address(&acceleration_scheduler_accel_group_indirect_2, XPAR_SHARED_METRICS_BRAM_CONTROLLER_S_AXI_BASEADDR); + + //Set the Base Address of the APM that is Used by the AGI2. + XAcceleration_scheduler_indirect_Set_apm_base_address(&acceleration_scheduler_accel_group_indirect_2, XPAR_ACCEL_GROUP_INDIRECT_2_APM_BASEADDR); + + + //*************************************************************************************************// + // Initialization for Acceleration Scheduler Indirect 3 + //*************************************************************************************************// + + + //Setup the Configuration Structure of the Acceleration Scheduler Indirect of the AGI3. + acceleration_scheduler_accel_group_indirect_3_config_ptr = XAcceleration_scheduler_indirect_LookupConfig(XPAR_XACCELERATION_SCHEDULER_INDIRECT_3_DEVICE_ID); + + if (acceleration_scheduler_accel_group_indirect_3_config_ptr == NULL) + { + print("Setting-up Acceleration Scheduler Indirect 3 Configuration Structure: FAILURE\r\n"); + return XST_FAILURE; + } + else + { + print("Setting-up Acceleration Scheduler Indirect 3 Configuration Structure: SUCCESS\r\n"); + } + + + //Initialize the Acceleration Scheduler Indirect of the AGI3. + status = XAcceleration_scheduler_indirect_CfgInitialize(&acceleration_scheduler_accel_group_indirect_3, acceleration_scheduler_accel_group_indirect_3_config_ptr); + + if (status != XST_SUCCESS) + { + print("Initializing Acceleration Scheduler Indirect 3 Instance: FAILURE\r\n"); + return XST_FAILURE; + } + else + { + print("Initializing Acceleration Scheduler Indirect 3 Instance: SUCCESS\r\n"); + } + + + //Set the Base Address of the DMA that is Used by the AGI3. + XAcceleration_scheduler_indirect_Set_dma_base_address(&acceleration_scheduler_accel_group_indirect_3, XPAR_ACCEL_GROUP_INDIRECT_3_DMA_BASEADDR); + + //Set the Base Address of the Sobel Filter(Accelerator) that is Used by the AGI3. + XAcceleration_scheduler_indirect_Set_sobel_base_address(&acceleration_scheduler_accel_group_indirect_3, XPAR_ACCEL_GROUP_INDIRECT_3_SOBEL_FILTER_S_AXI_S_AXI4_LITE_BASEADDR); + + //Set the Base Address of the Scheduler Buffer that Belongs to the Fetch Scheduler. + XAcceleration_scheduler_indirect_Set_scheduler_buffer_base_address_f(&acceleration_scheduler_accel_group_indirect_3, XPAR_SCHEDULER_BUFFER_FETCH_S_AXI_INT_CFG_BASEADDR); + + //Set the Offset in the Scheduler Buffer that Belongs to the Fetch Scheduler where the First Source Address Register is Located. + XAcceleration_scheduler_indirect_Set_src_address_reg_offset_f(&acceleration_scheduler_accel_group_indirect_3, XSCHEDULER_BUFFER_INT_CFG_ADDR_SRC_ADDRESS_3_DATA); + + //Set the Offset in the Scheduler Buffer that Belongs to the Fetch Scheduler where the First Destination Address Register is Located. + XAcceleration_scheduler_indirect_Set_dst_address_reg_offset_f(&acceleration_scheduler_accel_group_indirect_3, XSCHEDULER_BUFFER_INT_CFG_ADDR_DST_ADDRESS_3_DATA); + + //Set the Offset in the Scheduler Buffer that Belongs to the Fetch Scheduler where the First Data Size Register is Located. + XAcceleration_scheduler_indirect_Set_data_size_reg_offset_f(&acceleration_scheduler_accel_group_indirect_3, XSCHEDULER_BUFFER_INT_CFG_ADDR_DATA_SIZE_3_DATA); + + //Set the Offset in the Scheduler Buffer that Belongs to the Fetch Scheduler where the First Address Offset Register is Located. + XAcceleration_scheduler_indirect_Set_offset_reg_offset_f(&acceleration_scheduler_accel_group_indirect_3, XSCHEDULER_BUFFER_INT_CFG_ADDR_OFFSET_3_DATA); + + /* + * Set the Source Address that the CDMA-Fetch will Use to Read the Data from the Kernel Memory for the AGI3. + * @note This Function is Commented because the Source Address is Now Set by the Kernel Driver. + */ + //XAcceleration_scheduler_indirect_Set_src_address_f(&acceleration_scheduler_accel_group_indirect_3, XPAR_AXI_HOST_BRAM_CONTROLLER_1_S_AXI_BASEADDR); + + //Set the Destination Address that the CDMA-Fetch will Use to Write the Data to the FPGA's DDR3 for the AGI3. + XAcceleration_scheduler_indirect_Set_dst_address_f(&acceleration_scheduler_accel_group_indirect_3, XPAR_MIG_BASEADDR + (24 * MBYTE)); + + + //Set the Base Address of the Scheduler Buffer that Belongs to the Send Scheduler. + XAcceleration_scheduler_indirect_Set_scheduler_buffer_base_address_s(&acceleration_scheduler_accel_group_indirect_3, XPAR_SCHEDULER_BUFFER_SEND_S_AXI_INT_CFG_BASEADDR); + + //Set the Offset in the Scheduler Buffer that Belongs to the Send Scheduler where the First Source Address Register is Located. + XAcceleration_scheduler_indirect_Set_src_address_reg_offset_s(&acceleration_scheduler_accel_group_indirect_3, XSCHEDULER_BUFFER_INT_CFG_ADDR_SRC_ADDRESS_3_DATA); + + //Set the Offset in the Scheduler Buffer that Belongs to the Send Scheduler where the First Destination Address Register is Located. + XAcceleration_scheduler_indirect_Set_dst_address_reg_offset_s(&acceleration_scheduler_accel_group_indirect_3, XSCHEDULER_BUFFER_INT_CFG_ADDR_DST_ADDRESS_3_DATA); + + //Set the Offset in the Scheduler Buffer that Belongs to the Send Scheduler where the First Data Size Register is Located. + XAcceleration_scheduler_indirect_Set_data_size_reg_offset_s(&acceleration_scheduler_accel_group_indirect_3, XSCHEDULER_BUFFER_INT_CFG_ADDR_DATA_SIZE_3_DATA); + + //Set the Offset in the Scheduler Buffer that Belongs to the Send Scheduler where the First Address Offset Register is Located. + XAcceleration_scheduler_indirect_Set_offset_reg_offset_s(&acceleration_scheduler_accel_group_indirect_3, XSCHEDULER_BUFFER_INT_CFG_ADDR_OFFSET_3_DATA); + + + //Set the Source Address that the CDMA-Send will Use to Read the Data from the FPGA's DDR3 for the AGI3. + XAcceleration_scheduler_indirect_Set_src_address_s(&acceleration_scheduler_accel_group_indirect_3, XPAR_MIG_BASEADDR + (28 * MBYTE)); + + /* + * Set the Destination Address that the CDMA-Send will Use to Write the Processed Data to the Kernel's Memory for the AGI3. + * @note This Function is Commented because the Destination Address is Now Set by the Kernel Driver. + */ + //XAcceleration_scheduler_indirect_Set_dst_address_s(&acceleration_scheduler_accel_group_indirect_3, XPAR_AXI_HOST_BRAM_CONTROLLER_1_S_AXI_BASEADDR + (4 * KBYTE)); + + + /* + * Set the Image Columns and Rows. + * @note This Functions are Commented because the Columns and Rows are Now Set by the Kernel Driver. + */ + //XAcceleration_scheduler_indirect_Set_image_cols(&acceleration_scheduler_accel_group_indirect_3, 32); + //XAcceleration_scheduler_indirect_Set_image_rows(&acceleration_scheduler_accel_group_indirect_3, 32); + + + //Set the Number of the AGI that this Acceleration Scheduler Indirect Belongs to. + XAcceleration_scheduler_indirect_Set_accel_group(&acceleration_scheduler_accel_group_indirect_3, 4); + + //Set the Base Address of the Shared Timer (Shared APM). + XAcceleration_scheduler_indirect_Set_shared_apm_base_address(&acceleration_scheduler_accel_group_indirect_3, XPAR_SHARED_APM_BASEADDR); + + //Set the Base Address of the FPGA's BRAM that is Used as the Shared Metrics Memory. + XAcceleration_scheduler_indirect_Set_shared_metrics_base_address(&acceleration_scheduler_accel_group_indirect_3, XPAR_SHARED_METRICS_BRAM_CONTROLLER_S_AXI_BASEADDR); + + //Set the Base Address of the APM that is Used by the AGI3. + XAcceleration_scheduler_indirect_Set_apm_base_address(&acceleration_scheduler_accel_group_indirect_3, XPAR_ACCEL_GROUP_INDIRECT_3_APM_BASEADDR); + + + return(XST_SUCCESS); +} + +/* + * setup_fetch_scheduler() + * + * Setup Procedure of the Fetch Scheduler. + * + * The Fetch Scheduler is Used to Start CDMA Transfers from the Host's Kernel Memory to the FPGA's DDR3. + * + * It Checks its Scheduler Buffer for new Transfer Requests and Starts the CDMA-Fetch Engine + * to Make a new Transfer According to the Transfer Info in the Scheduler Buffer. + * + * @note For Details Check the HLS Code of the Fetch Scheduler. + */ +int setup_fetch_scheduler() +{ + int status; + + print("Set-Up Process for Fetch Scheduler\r\n"); + + //*************************************************************************************************// + // Initialization for Fetch Scheduler for Fetch Data Operations + //*************************************************************************************************// + + + //Setup the Configuration Structure of the Fetch Scheduler. + fetch_scheduler_config_ptr = XFetch_scheduler_LookupConfig(XPAR_FETCH_SCHEDULER_DEVICE_ID); + + if (fetch_scheduler_config_ptr == NULL) + { + print("Setting-up Fetch Scheduler Configuration Structure: FAILURE\r\n"); + return XST_FAILURE; + } + else + { + print("Setting-up Fetch Scheduler Configuration Structure: SUCCESS\r\n"); + } + + + //Initialize the Fetch Scheduler. + status = XFetch_scheduler_CfgInitialize(&fetch_scheduler, fetch_scheduler_config_ptr); + + if (status != XST_SUCCESS) + { + print("Initializing Fetch Scheduler Instance: FAILURE\r\n"); + return XST_FAILURE; + } + else + { + print("Initializing Fetch Scheduler Instance: SUCCESS\r\n"); + } + + //Set the Base Address of the CDMA-Fetch Engine. + XFetch_scheduler_Set_cdma_base_address(&fetch_scheduler, XPAR_CDMA_FETCH_BASEADDR); + + //Set the Base Address of the Scheduler Buffer that Belongs to the CDMA-Fetch Engine. + XFetch_scheduler_Set_scheduler_buffer_base_address(&fetch_scheduler, XPAR_SCHEDULER_BUFFER_FETCH_S_AXI_INT_CFG_BASEADDR); + + //Set the Offset in the Scheduler Buffer where the First Source Address Register is Located. + XFetch_scheduler_Set_src_address_first_reg_offset(&fetch_scheduler, XSCHEDULER_BUFFER_INT_CFG_ADDR_SRC_ADDRESS_0_DATA); + + //Set the Offset in the Scheduler Buffer where the First Destination Address Register is Located. + XFetch_scheduler_Set_dst_address_first_reg_offset(&fetch_scheduler, XSCHEDULER_BUFFER_INT_CFG_ADDR_DST_ADDRESS_0_DATA); + + //Set the Offset in the Scheduler Buffer where the First Data Size Register is Located. + XFetch_scheduler_Set_data_size_first_reg_offset(&fetch_scheduler, XSCHEDULER_BUFFER_INT_CFG_ADDR_DATA_SIZE_0_DATA); + + //Set the Offset in the Scheduler Buffer where the First Address Offset Register is Located. + XFetch_scheduler_Set_offset_first_reg_offset(&fetch_scheduler, XSCHEDULER_BUFFER_INT_CFG_ADDR_OFFSET_0_DATA); + + //Set the Step in Bytes that is Required to Locate the Next Set of Registers in the Scheduler Buffer. + //@note For Details Check the HLS Code of the Fetch Scheduler. + XFetch_scheduler_Set_step_offset(&fetch_scheduler, 0x20); + + //Set the Base Address of the Shared Timer (Shared APM). + XFetch_scheduler_Set_shared_apm_base_address(&fetch_scheduler, XPAR_SHARED_APM_BASEADDR); + + //Set the Base Address of the FPGA BRAM which is Used as the Shared Metrics Memory. + XFetch_scheduler_Set_shared_metrics_base_address(&fetch_scheduler, XPAR_SHARED_METRICS_BRAM_CONTROLLER_S_AXI_BASEADDR); + + //Set the Base Address of the AXI BAR that the Fetch Scheduler will Use to Configure the Source Address Register of the CDMA-Fetch Engine. + XFetch_scheduler_Set_axi_bar_base_address(&fetch_scheduler, XPAR_PCIE_AXIBAR_2); + + //Set the Offset in the PCIe Bridge where the Address Translation Register of the AXI BAR that is Accessed by the CDMA-Fetch is Located. + //This is Required in Order to Configure the Address Translation Register of the AXI BAR + //with the Physical Address of the Kernel Memory that the CDMA-Fetch will Use as the Source Address. + XFetch_scheduler_Set_pcie_ctl_datr_address(&fetch_scheduler, XPAR_PCIE_BASEADDR + BAR2_OFFSET_L); + + //Enable the PCIe Mode in the Fetch Scheduler. + //@note For Details Check the HLS Code of the Fetch Scheduler. + XFetch_scheduler_Set_pcie_mode(&fetch_scheduler, 1); + + //Set the a Value that will be Used to Jump at the Correct Offset of the Shared Metrics Memory (FPGA's BRAM) where the Metrics Structures of the AGIs are Located. + XFetch_scheduler_Set_accel_group_jump(&fetch_scheduler, 3); + + return(XST_SUCCESS); +} + +/* + * setup_send_scheduler() + * + * Setup Procedure of the Send Scheduler. + * + * The Send Scheduler is Used to Start CDMA Transfers from the FPGA's DDR3 to the Host's Kernel Memory. + * + * It Checks its Scheduler Buffer for new Transfer Requests and Starts the CDMA-Send Engine + * to Make a new Transfer According to the Transfer Info in the Scheduler Buffer. + * + * @note For Details Check the HLS Code of the Send Scheduler. + */ +int setup_send_scheduler() +{ + int status; + + print("Set-Up Process for Send Scheduler\r\n"); + + //*************************************************************************************************// + // Initialization for Fetch Scheduler for Fetch Data Operations + //*************************************************************************************************// + + + //Setup the Configuration Structure of the Send Scheduler. + send_scheduler_config_ptr = XSend_scheduler_LookupConfig(XPAR_SEND_SCHEDULER_DEVICE_ID); + + if (send_scheduler_config_ptr == NULL) + { + print("Setting-up Send Scheduler Configuration Structure: FAILURE\r\n"); + return XST_FAILURE; + } + else + { + print("Setting-up Send Scheduler Configuration Structure: SUCCESS\r\n"); + } + + + //Initialize the Send Scheduler. + status = XSend_scheduler_CfgInitialize(&send_scheduler, send_scheduler_config_ptr); + + if (status != XST_SUCCESS) + { + print("Initializing Send Scheduler Instance: FAILURE\r\n"); + return XST_FAILURE; + } + else + { + print("Initializing Send Scheduler Instance: SUCCESS\r\n"); + } + + //Set the Base Address of the CDMA-Send Engine. + XSend_scheduler_Set_cdma_base_address(&send_scheduler, XPAR_CDMA_SEND_BASEADDR); + + //Set the Base Address of the Scheduler Buffer that Belongs to the CDMA-Send Engine. + XSend_scheduler_Set_scheduler_buffer_base_address(&send_scheduler, XPAR_SCHEDULER_BUFFER_SEND_S_AXI_INT_CFG_BASEADDR); + + //Set the Offset in the Scheduler Buffer where the First Source Address Register is Located. + XSend_scheduler_Set_src_address_first_reg_offset(&send_scheduler, XSCHEDULER_BUFFER_INT_CFG_ADDR_SRC_ADDRESS_0_DATA); + + //Set the Offset in the Scheduler Buffer where the First Destination Address Register is Located. + XSend_scheduler_Set_dst_address_first_reg_offset(&send_scheduler, XSCHEDULER_BUFFER_INT_CFG_ADDR_DST_ADDRESS_0_DATA); + + //Set the Offset in the Scheduler Buffer where the Data Size Address Register is Located. + XSend_scheduler_Set_data_size_first_reg_offset(&send_scheduler, XSCHEDULER_BUFFER_INT_CFG_ADDR_DATA_SIZE_0_DATA); + + //Set the Offset in the Scheduler Buffer where the First Address Offset Register is Located. + XSend_scheduler_Set_offset_first_reg_offset(&send_scheduler, XSCHEDULER_BUFFER_INT_CFG_ADDR_OFFSET_0_DATA); + + //Set the Step in Bytes that is Required to Locate the Next Set of Registers in the Scheduler Buffer. + //@note For Details Check the HLS Code of the Send Scheduler. + XSend_scheduler_Set_step_offset(&send_scheduler, 0x20); + + //Set the Base Address of the Shared Timer (Shared APM). + XSend_scheduler_Set_shared_apm_base_address(&send_scheduler, XPAR_SHARED_APM_BASEADDR); + + //Set the Base Address of the FPGA BRAM which is Used as the Shared Metrics Memory. + XSend_scheduler_Set_shared_metrics_base_address(&send_scheduler, XPAR_SHARED_METRICS_BRAM_CONTROLLER_S_AXI_BASEADDR); + + //Set the Base Address of the AXI BAR that the Send Scheduler will Use to Configure the Destination Address Register of the CDMA-Send Engine. + XSend_scheduler_Set_axi_bar_base_address(&send_scheduler, XPAR_PCIE_AXIBAR_3); + + //Set the Offset in the PCIe Bridge where the Address Translation Register of the AXI BAR that is Accessed by the CDMA-Send is Located. + //This is Required in Order to Configure the Address Translation Register of the AXI BAR + //with the Physical Address of the Kernel Memory that the CDMA-Send will Use as the Destination Address. + XSend_scheduler_Set_pcie_ctl_datr_address(&send_scheduler, XPAR_PCIE_BASEADDR + BAR3_OFFSET_L); + + //Enable the PCIe Mode in the Send Scheduler. + //@note For Details Check the HLS Code of the Send Scheduler. + XSend_scheduler_Set_pcie_mode(&send_scheduler, 1); + + //Set the Address Offset in the Interrupt Manager that the MSI Request Registers are Located. + XSend_scheduler_Set_interrupt_manager_register_offset(&send_scheduler, XPAR_INTERRUPT_MANAGER_S_AXI_CFG_BASEADDR + XINTERRUPT_MANAGER_CFG_ADDR_MSI_REQUEST_BASE + MSI_DATA_2_OFFSET); + + //Set the a Value that will be Used to Jump at the Correct Offset of the Shared Metrics Memory (FPGA's BRAM) where the Metrics Structures of the AGIs are Located. + XSend_scheduler_Set_accel_group_jump(&send_scheduler, 3); + + return(XST_SUCCESS); +} + +/* + * setup_scheduler_buffers() + * + * Setup Procedure of the Scheduler Buffers that Belong to the Fetch and Send Schedulers. + * + * The Scheduler Buffers are Used by the the Acceleration Schedulers Indirect to Store Transfer Information for new CDMA Transfer Requests. + * The Fetch and Send Schedulers Read the Transfer Info from the Scheduler Buffers and Start CDMA Transfers Accordingly. + * + * @note For Details Check the HLS Code of the Scheduler Buffer. + */ +int setup_scheduler_buffers() +{ + int status; + + print("Set-Up Process for Scheduler Buffers\r\n"); + + + //*************************************************************************************************// + // Initialization for Scheduler Buffer for Fetch Data Operations + //*************************************************************************************************// + + //Setup the Configuration Structure of the Scheduler Buffer that Belongs to the Fetch Scheduler. + scheduler_buffer_fetch_config_ptr = XScheduler_buffer_LookupConfig(XPAR_SCHEDULER_BUFFER_FETCH_DEVICE_ID); + + if (scheduler_buffer_fetch_config_ptr == NULL) + { + print("Setting-up Scheduler Buffer Fetch Configuration Structure: FAILURE\r\n"); + return XST_FAILURE; + } + else + { + print("Setting-up Scheduler Buffer Fetch Configuration Structure: SUCCESS\r\n"); + } + + + //Initialize the Scheduler Buffer that Belongs to the Fetch Scheduler. + status = XScheduler_buffer_CfgInitialize(&scheduler_buffer_fetch, scheduler_buffer_fetch_config_ptr); + + if (status != XST_SUCCESS) + { + print("Initializing Scheduler Buffer Fetch Instance: FAILURE\r\n"); + return XST_FAILURE; + } + else + { + print("Initializing Scheduler Buffer Fetch Instance: SUCCESS\r\n"); + } + + + //*************************************************************************************************// + // Initialization for Scheduler Buffer for Send Data Operations + //*************************************************************************************************// + + + //Setup the Configuration Structure of the Scheduler Buffer that Belongs to the Send Scheduler. + scheduler_buffer_send_config_ptr = XScheduler_buffer_LookupConfig(XPAR_SCHEDULER_BUFFER_SEND_DEVICE_ID); + + if (scheduler_buffer_send_config_ptr == NULL) + { + print("Setting-up Scheduler Buffer Send Configuration Structure: FAILURE\r\n"); + return XST_FAILURE; + } + else + { + print("Setting-up Scheduler Buffer Send Configuration Structure: SUCCESS\r\n"); + } + + + //Initialize the Scheduler Buffer that Belongs to the Send Scheduler. + status = XScheduler_buffer_CfgInitialize(&scheduler_buffer_send, scheduler_buffer_send_config_ptr); + + if (status != XST_SUCCESS) + { + print("Initializing Scheduler Buffer Send Instance: FAILURE\r\n"); + return XST_FAILURE; + } + else + { + print("Initializing Scheduler Buffer Send Instance: SUCCESS\r\n"); + } + + + return(XST_SUCCESS); +} + +/* + * setup_cdmas() + * + * Setup Procedure of the CDMA Fetch and CDMA Send Engines. + * + * Both CDMAs are Used to Fetch or Send Image Data for the AGIs of the FPGA. + * + * The CDMA Fetch is Used to Transfer Image Data through the PCIe Bridge's AXI BARs from the Host's Kernel Memory to the FPGA's DDR3. + * The CDMA Send is Used to Transfer Processed Image Data through the PCIe Bridge's AXI BARs from the FPGA's DDR3 to the Host's Kernel Memory. + */ +int setup_cdmas() +{ + int cdma_status; + + print("Set-Up Process for CDMAs\r\n"); + + + //Setup the Configuration Structure of the CDMA-Fetch Engine. + cdma_fetch_config_ptr = XAxiCdma_LookupConfig(XPAR_CDMA_FETCH_DEVICE_ID); + + if (cdma_fetch_config_ptr == NULL) + { + print("Setting-up CDMA Fetch Configuration Structure: FAILURE\r\n"); + return XST_FAILURE; + } + else + { + print("Setting-up CDMA Fetch Configuration Structure: SUCCESS\r\n"); + } + + //Initialize the CDMA-Fetch Engine. + cdma_status = XAxiCdma_CfgInitialize(&cdma_fetch, cdma_fetch_config_ptr,cdma_fetch_config_ptr->BaseAddress); + + if (cdma_status != XST_SUCCESS) + { + print("Initializing CDMA Fetch Instance: FAILURE\r\n"); + return XST_FAILURE; + } + else + { + print("Initializing CDMA Fetch Instance: SUCCESS\r\n"); + } + + + //Setup the Configuration Structure of the CDMA-Send Engine. + cdma_send_config_ptr = XAxiCdma_LookupConfig(XPAR_CDMA_SEND_DEVICE_ID); + + if (cdma_send_config_ptr == NULL) + { + print("Setting-up CDMA Send Configuration Structure: FAILURE\r\n"); + return XST_FAILURE; + } + else + { + print("Setting-up CDMA Send Configuration Structure: SUCCESS\r\n"); + } + + //Initialize the CDMA-Send Engine. + cdma_status = XAxiCdma_CfgInitialize(&cdma_send, cdma_send_config_ptr,cdma_send_config_ptr->BaseAddress); + + if (cdma_status != XST_SUCCESS) + { + print("Initializing CDMA Send Instance: FAILURE\r\n"); + return XST_FAILURE; + } + else + { + print("Initializing CDMA Send Instance: SUCCESS\r\n"); + } + + return(XST_SUCCESS); + +} + +/* + * setup_dmas() + * + * Setup Procedure of ALL the DMAs. + * + * The DMAs are Used to Make Data Transfers from a Memory to another without Occupying the Processor of the System. + * + * This Specific Type of DMA Executes the Following Sequence of Steps: + * + * 1 --> Reads Data from a Memory through an AXI Memory Mapped Master Interface (MM2S Channel). + * 2 --> Forwards the Data through an AXI Stream Master Interface to an Accelerator. + * 3 --> Receives the Processed Data through an AXI Stream Slave Interface. + * 4 --> Write the Processed Data to a Memory through a Second AXI Memory Mapped Master Interface (S2MM Channel). + * + * Each Acceleration Group is Equipped with a DMA. + * + * --> The Acceleration Groups Direct Use the DMA to Read/Write Data through the PCIe Bridge's AXI BARS Directly from/to the Linux Kernel's Memory. + * --> The Acceleration Groups Indirect Use the DMA to Read/Write Data from/to the FPGA's DDR3 Memory. + * --> The Acceleration Groups Scatter/Gather Uses the DMA to Read/Write Data through the PCIe Bridge's AXI BARS Directly from/to the Linux Userspace's Memory. + */ +int setup_dmas() +{ + int dma_status; + + print("Set-Up Process for DMA Devices\r\n"); + + + //*************************************************************************************************// + // Initialization for DMA Core of Acceleration Group 0 Direct + //*************************************************************************************************// + + //Setup the Configuration Structure of the DMA of AGD0. + dma_accel_group_direct_0_config_ptr = XAxiDma_LookupConfig(XPAR_ACCEL_GROUP_DIRECT_0_DMA_DEVICE_ID); + + if (dma_accel_group_direct_0_config_ptr == NULL) + { + print("Setting-up DMA Acceleration Group Direct 0 Configuration Structure: FAILURE\r\n"); + return XST_FAILURE; + } + else + { + print("Setting-up DMA Acceleration Group Direct 0 Configuration Structure: SUCCESS\r\n"); + } + + + //Initialize the DMA of the AGD0. + dma_status = XAxiDma_CfgInitialize(&dma_accel_group_direct_0, dma_accel_group_direct_0_config_ptr); + + if (dma_status != XST_SUCCESS) + { + print("Initializing DMA Acceleration Group Direct 0 Instance: FAILURE\r\n"); + return XST_FAILURE; + } + else + { + print("Initializing DMA Acceleration Group Direct 0 Instance: SUCCESS\r\n"); + } + + //*************************************************************************************************// + // Initialization for DMA Core of Acceleration Group 0 Direct + //*************************************************************************************************// + + //Setup the Configuration Structure of the DMA of AGD1. + dma_accel_group_direct_1_config_ptr = XAxiDma_LookupConfig(XPAR_ACCEL_GROUP_DIRECT_1_DMA_DEVICE_ID); + + if (dma_accel_group_direct_1_config_ptr == NULL) + { + print("Setting-up DMA Acceleration Group Direct 1 Configuration Structure: FAILURE\r\n"); + return XST_FAILURE; + } + else + { + print("Setting-up DMA Acceleration Group Direct 1 Configuration Structure: SUCCESS\r\n"); + } + + + //Initialize the DMA of the AGD1. + dma_status = XAxiDma_CfgInitialize(&dma_accel_group_direct_1, dma_accel_group_direct_1_config_ptr); + + if (dma_status != XST_SUCCESS) + { + print("Initializing DMA Acceleration Group Direct 1 Instance: FAILURE\r\n"); + return XST_FAILURE; + } + else + { + print("Initializing DMA Acceleration Group Direct 1 Instance: SUCCESS\r\n"); + } + + //*************************************************************************************************// + // Initialization for DMA Core of Acceleration Group 0 Indirect + //*************************************************************************************************// + + //Setup the Configuration Structure of the DMA of AGI0. + dma_accel_group_indirect_0_config_ptr = XAxiDma_LookupConfig(XPAR_ACCEL_GROUP_INDIRECT_0_DMA_DEVICE_ID); + + if (dma_accel_group_indirect_0_config_ptr == NULL) + { + print("Setting-up DMA Acceleration Group Indirect 0 Configuration Structure: FAILURE\r\n"); + return XST_FAILURE; + } + else + { + print("Setting-up DMA Acceleration Group Indirect 0 Configuration Structure: SUCCESS\r\n"); + } + + + //Initialize the DMA of the AGI0. + dma_status = XAxiDma_CfgInitialize(&dma_accel_group_indirect_0, dma_accel_group_indirect_0_config_ptr); + + if (dma_status != XST_SUCCESS) + { + print("Initializing DMA Acceleration Group Indirect 0 Instance: FAILURE\r\n"); + return XST_FAILURE; + } + else + { + print("Initializing DMA Acceleration Group Indirect 0 Instance: SUCCESS\r\n"); + } + + //*************************************************************************************************// + // Initialization for DMA Core of Acceleration Group 1 Indirect + //*************************************************************************************************// + + //Setup the Configuration Structure of the DMA of AGI1. + dma_accel_group_indirect_1_config_ptr = XAxiDma_LookupConfig(XPAR_ACCEL_GROUP_INDIRECT_1_DMA_DEVICE_ID); + + if (dma_accel_group_indirect_1_config_ptr == NULL) + { + print("Setting-up DMA Acceleration Group Indirect 1 Configuration Structure: FAILURE\r\n"); + return XST_FAILURE; + } + else + { + print("Setting-up DMA Acceleration Group Indirect 1 Configuration Structure: SUCCESS\r\n"); + } + + + //Initialize the DMA of the AGI1. + dma_status = XAxiDma_CfgInitialize(&dma_accel_group_indirect_1, dma_accel_group_indirect_1_config_ptr); + + if (dma_status != XST_SUCCESS) + { + print("Initializing DMA Acceleration Group Indirect 1 Instance: FAILURE\r\n"); + return XST_FAILURE; + } + else + { + print("Initializing DMA Acceleration Group Indirect 1 Instance: SUCCESS\r\n"); + } + + //*************************************************************************************************// + // Initialization for DMA Core of Acceleration Group 2 Indirect + //*************************************************************************************************// + + //Setup the Configuration Structure of the DMA of AGI2. + dma_accel_group_indirect_2_config_ptr = XAxiDma_LookupConfig(XPAR_ACCEL_GROUP_INDIRECT_2_DMA_DEVICE_ID); + + if (dma_accel_group_indirect_2_config_ptr == NULL) + { + print("Setting-up DMA Acceleration Group Indirect 2 Configuration Structure: FAILURE\r\n"); + return XST_FAILURE; + } + else + { + print("Setting-up DMA Acceleration Group Indirect 2 Configuration Structure: SUCCESS\r\n"); + } + + + //Initialize the DMA of the AGI2. + dma_status = XAxiDma_CfgInitialize(&dma_accel_group_indirect_2, dma_accel_group_indirect_2_config_ptr); + + if (dma_status != XST_SUCCESS) + { + print("Initializing DMA Acceleration Group Indirect 2 Instance: FAILURE\r\n"); + return XST_FAILURE; + } + else + { + print("Initializing DMA Acceleration Group Indirect 2 Instance: SUCCESS\r\n"); + } + + //*************************************************************************************************// + // Initialization for DMA Core of Acceleration Group 3 Indirect + //*************************************************************************************************// + + //Setup the Configuration Structure of the DMA of AGI3. + dma_accel_group_indirect_3_config_ptr = XAxiDma_LookupConfig(XPAR_ACCEL_GROUP_INDIRECT_3_DMA_DEVICE_ID); + + if (dma_accel_group_indirect_3_config_ptr == NULL) + { + print("Setting-up DMA Acceleration Group Indirect 3 Configuration Structure: FAILURE\r\n"); + return XST_FAILURE; + } + else + { + print("Setting-up DMA Acceleration Group Indirect 3 Configuration Structure: SUCCESS\r\n"); + } + + + //Initialize the DMA of the AGI3. + dma_status = XAxiDma_CfgInitialize(&dma_accel_group_indirect_3, dma_accel_group_indirect_3_config_ptr); + + if (dma_status != XST_SUCCESS) + { + print("Initializing DMA Acceleration Group Indirect 3 Instance: FAILURE\r\n"); + return XST_FAILURE; + } + else + { + print("Initializing DMA Acceleration Group Indirect 3 Instance: SUCCESS\r\n"); + } + + + //*************************************************************************************************// + // Initialization for DMA Core of Acceleration Group Scatter/Gather + //*************************************************************************************************// + + //Setup the Configuration Structure of the DMA of AGSG. + dma_accel_group_sg_config_ptr = XAxiDma_LookupConfig(XPAR_ACCEL_GROUP_SG_DMA_DEVICE_ID); + + if (dma_accel_group_sg_config_ptr == NULL) + { + print("Setting-up DMA Acceleration Group Scatter/Gather Configuration Structure: FAILURE\r\n"); + return XST_FAILURE; + } + else + { + print("Setting-up DMA Acceleration Group Scatter/Gather Configuration Structure: SUCCESS\r\n"); + } + + + //Initialize the DMA of the AGSG. + dma_status = XAxiDma_CfgInitialize(&dma_accel_group_sg, dma_accel_group_sg_config_ptr); + + if (dma_status != XST_SUCCESS) + { + print("Initializing DMA Acceleration Group Scatter/Gather Instance: FAILURE\r\n"); + return XST_FAILURE; + } + else + { + print("Initializing DMA Acceleration Group Scatter/Gather Instance: SUCCESS\r\n"); + } + + + return(XST_SUCCESS); +} + +/* + * setup_apms() + * + * Setup Procedure of ALL the AXI Performance Monitor Units (APMs). + * + * Each Acceleration Group is Equipped with one APM in order to Capture Events when the DMA of the Acceleration Group Makes Transfers. + * + * The APM Uses 3 Slots to "Sniff" Transactions on AXI Interfaces. + * + * Slot 0 Captures the AXI Memory Mapped Read Transactions and Read Bytes of the MM2S Channel of the DMA. + * Slot 1 Captures the AXI Memory Mapped Write Transactions and Write Bytes of the S2MM Channel of the DMA. + * Slot 2 Captures the AXI Stream Packets and Stream Bytes of the AXI Stream Output of the Sobel Filter. + */ +int setup_apms() +{ + int apm_status; + + print("Set-Up Process for AXI Performance Monitor Peripherals\r\n"); + + //*************************************************************************************************// + // Initialization for AXI Performance Monitor Core of Acceleration Group 0 Direct + //*************************************************************************************************// + + + //Setup the Configuration Structure of the APM of the AGD0. + apm_accel_group_direct_0_config_ptr = XAxiPmon_LookupConfig(XPAR_ACCEL_GROUP_DIRECT_0_APM_DEVICE_ID); + + if (apm_accel_group_direct_0_config_ptr == NULL) + { + print("Setting-up AXI Performance Monitor Acceleration Group Direct 0 Configuration Structure: FAILURE\r\n"); + return XST_FAILURE; + } + else + { + print("Setting-up AXI Performance Monitor Acceleration Group Direct 0 Configuration Structure: SUCCESS\r\n"); + } + + //Initialize the APM of AGD0. + apm_status = XAxiPmon_CfgInitialize(&apm_accel_group_direct_0, apm_accel_group_direct_0_config_ptr,apm_accel_group_direct_0_config_ptr->BaseAddress); + + + if (apm_status != XST_SUCCESS) + { + print("Initializing AXI Performance Monitor Acceleration Group Direct 0 Peripheral: FAILURE\r\n"); + return XST_FAILURE; + } + else + { + print("Initializing AXI Performance Monitor Acceleration Group Direct 0 Peripheral: SUCCESS\r\n"); + } + + /* + * Set the Metrics Counters 0 to 5 of the APM of the AGD0 with the Type of Event to Capture. + */ + XAxiPmon_SetMetrics(&apm_accel_group_direct_0, SLOT0, XAPM_METRIC_SET_1, XAPM_METRIC_COUNTER_0); //Read Transactions + XAxiPmon_SetMetrics(&apm_accel_group_direct_0, SLOT0, XAPM_METRIC_SET_3, XAPM_METRIC_COUNTER_1); //Read Bytes + + XAxiPmon_SetMetrics(&apm_accel_group_direct_0, SLOT1, XAPM_METRIC_SET_0, XAPM_METRIC_COUNTER_2); //Write Transactions + XAxiPmon_SetMetrics(&apm_accel_group_direct_0, SLOT1, XAPM_METRIC_SET_2, XAPM_METRIC_COUNTER_3); //Write Bytes + + XAxiPmon_SetMetrics(&apm_accel_group_direct_0, SLOT2, XAPM_METRIC_SET_17, XAPM_METRIC_COUNTER_4); //Stream Transactions + XAxiPmon_SetMetrics(&apm_accel_group_direct_0, SLOT2, XAPM_METRIC_SET_18, XAPM_METRIC_COUNTER_5); //Stream Bytes + + + //*************************************************************************************************// + // Initialization for AXI Performance Monitor Core of Acceleration Group 1 Direct + //*************************************************************************************************// + + + //Setup the Configuration Structure of the APM of the AGD1. + apm_accel_group_direct_1_config_ptr = XAxiPmon_LookupConfig(XPAR_ACCEL_GROUP_DIRECT_1_APM_DEVICE_ID); + + if (apm_accel_group_direct_1_config_ptr == NULL) + { + print("Setting-up AXI Performance Monitor Acceleration Group Direct 1 Configuration Structure: FAILURE\r\n"); + return XST_FAILURE; + } + else + { + print("Setting-up AXI Performance Monitor Acceleration Group Direct 1 Configuration Structure: SUCCESS\r\n"); + } + + //Initialize the APM of AGD1. + apm_status = XAxiPmon_CfgInitialize(&apm_accel_group_direct_1, apm_accel_group_direct_1_config_ptr,apm_accel_group_direct_1_config_ptr->BaseAddress); + + + if (apm_status != XST_SUCCESS) + { + print("Initializing AXI Performance Monitor Acceleration Group Direct 1 Peripheral: FAILURE\r\n"); + return XST_FAILURE; + } + else + { + print("Initializing AXI Performance Monitor Acceleration Group Direct 1 Peripheral: SUCCESS\r\n"); + } + + /* + * Set the Metrics Counters 0 to 5 of the APM of the AGD1 with the Type of Event to Capture. + */ + XAxiPmon_SetMetrics(&apm_accel_group_direct_1, SLOT0, XAPM_METRIC_SET_1, XAPM_METRIC_COUNTER_0); //Read Transactions + XAxiPmon_SetMetrics(&apm_accel_group_direct_1, SLOT0, XAPM_METRIC_SET_3, XAPM_METRIC_COUNTER_1); //Read Bytes + + XAxiPmon_SetMetrics(&apm_accel_group_direct_1, SLOT1, XAPM_METRIC_SET_0, XAPM_METRIC_COUNTER_2); //Write Transactions + XAxiPmon_SetMetrics(&apm_accel_group_direct_1, SLOT1, XAPM_METRIC_SET_2, XAPM_METRIC_COUNTER_3); //Write Bytes + + XAxiPmon_SetMetrics(&apm_accel_group_direct_1, SLOT2, XAPM_METRIC_SET_17, XAPM_METRIC_COUNTER_4); //Stream Transactions + XAxiPmon_SetMetrics(&apm_accel_group_direct_1, SLOT2, XAPM_METRIC_SET_18, XAPM_METRIC_COUNTER_5); //Stream Bytes + + //*************************************************************************************************// + // Initialization for AXI Performance Monitor Core of Acceleration Group 0 Indirect + //*************************************************************************************************// + + + //Setup the Configuration Structure of the APM of the AGI0. + apm_accel_group_indirect_0_config_ptr = XAxiPmon_LookupConfig(XPAR_ACCEL_GROUP_INDIRECT_0_APM_DEVICE_ID); + + if (apm_accel_group_indirect_0_config_ptr == NULL) + { + print("Setting-up AXI Performance Monitor Acceleration Group Indirect 0 Configuration Structure: FAILURE\r\n"); + return XST_FAILURE; + } + else + { + print("Setting-up AXI Performance Monitor Acceleration Group Indirect 0 Configuration Structure: SUCCESS\r\n"); + } + + //Initialize the APM of AGI0. + apm_status = XAxiPmon_CfgInitialize(&apm_accel_group_indirect_0, apm_accel_group_indirect_0_config_ptr,apm_accel_group_indirect_0_config_ptr->BaseAddress); + + + if (apm_status != XST_SUCCESS) + { + print("Initializing AXI Performance Monitor Acceleration Group Indirect 0 Peripheral: FAILURE\r\n"); + return XST_FAILURE; + } + else + { + print("Initializing AXI Performance Monitor Acceleration Group Indirect 0 Peripheral: SUCCESS\r\n"); + } + + /* + * Set the Metrics Counters 0 to 5 of the APM of the AGI0 with the Type of Event to Capture. + */ + XAxiPmon_SetMetrics(&apm_accel_group_indirect_0, SLOT0, XAPM_METRIC_SET_1, XAPM_METRIC_COUNTER_0); //Read Transactions + XAxiPmon_SetMetrics(&apm_accel_group_indirect_0, SLOT0, XAPM_METRIC_SET_3, XAPM_METRIC_COUNTER_1); //Read Bytes + + XAxiPmon_SetMetrics(&apm_accel_group_indirect_0, SLOT1, XAPM_METRIC_SET_0, XAPM_METRIC_COUNTER_2); //Write Transactions + XAxiPmon_SetMetrics(&apm_accel_group_indirect_0, SLOT1, XAPM_METRIC_SET_2, XAPM_METRIC_COUNTER_3); //Write Bytes + + XAxiPmon_SetMetrics(&apm_accel_group_indirect_0, SLOT2, XAPM_METRIC_SET_17, XAPM_METRIC_COUNTER_4); //Stream Transactions + XAxiPmon_SetMetrics(&apm_accel_group_indirect_0, SLOT2, XAPM_METRIC_SET_18, XAPM_METRIC_COUNTER_5); //Stream Bytes + + //*************************************************************************************************// + // Initialization for AXI Performance Monitor Core of Acceleration Group 1 Indirect + //*************************************************************************************************// + + + //Setup the Configuration Structure of the APM of the AGI1. + apm_accel_group_indirect_1_config_ptr = XAxiPmon_LookupConfig(XPAR_ACCEL_GROUP_INDIRECT_1_APM_DEVICE_ID); + + if (apm_accel_group_indirect_1_config_ptr == NULL) + { + print("Setting-up AXI Performance Monitor Acceleration Group Indirect 1 Configuration Structure: FAILURE\r\n"); + return XST_FAILURE; + } + else + { + print("Setting-up AXI Performance Monitor Acceleration Group Indirect 1 Configuration Structure: SUCCESS\r\n"); + } + + //Initialize the APM of AGI1. + apm_status = XAxiPmon_CfgInitialize(&apm_accel_group_indirect_1, apm_accel_group_indirect_1_config_ptr,apm_accel_group_indirect_1_config_ptr->BaseAddress); + + + if (apm_status != XST_SUCCESS) + { + print("Initializing AXI Performance Monitor Acceleration Group Indirect 1 Peripheral: FAILURE\r\n"); + return XST_FAILURE; + } + else + { + print("Initializing AXI Performance Monitor Acceleration Group Indirect 1 Peripheral: SUCCESS\r\n"); + } + + /* + * Set the Metrics Counters 0 to 5 of the APM of the AGI1 with the Type of Event to Capture. + */ + XAxiPmon_SetMetrics(&apm_accel_group_indirect_1, SLOT0, XAPM_METRIC_SET_1, XAPM_METRIC_COUNTER_0); //Read Transactions + XAxiPmon_SetMetrics(&apm_accel_group_indirect_1, SLOT0, XAPM_METRIC_SET_3, XAPM_METRIC_COUNTER_1); //Read Bytes + + XAxiPmon_SetMetrics(&apm_accel_group_indirect_1, SLOT1, XAPM_METRIC_SET_0, XAPM_METRIC_COUNTER_2); //Write Transactions + XAxiPmon_SetMetrics(&apm_accel_group_indirect_1, SLOT1, XAPM_METRIC_SET_2, XAPM_METRIC_COUNTER_3); //Write Bytes + + XAxiPmon_SetMetrics(&apm_accel_group_indirect_1, SLOT2, XAPM_METRIC_SET_17, XAPM_METRIC_COUNTER_4); //Stream Transactions + XAxiPmon_SetMetrics(&apm_accel_group_indirect_1, SLOT2, XAPM_METRIC_SET_18, XAPM_METRIC_COUNTER_5); //Stream Bytes + + + //*************************************************************************************************// + // Initialization for AXI Performance Monitor Core of Acceleration Group 2 Indirect + //*************************************************************************************************// + + + //Setup the Configuration Structure of the APM of the AGI2. + apm_accel_group_indirect_2_config_ptr = XAxiPmon_LookupConfig(XPAR_ACCEL_GROUP_INDIRECT_2_APM_DEVICE_ID); + + if (apm_accel_group_indirect_2_config_ptr == NULL) + { + print("Setting-up AXI Performance Monitor Acceleration Group Indirect 2 Configuration Structure: FAILURE\r\n"); + return XST_FAILURE; + } + else + { + print("Setting-up AXI Performance Monitor Acceleration Group Indirect 2 Configuration Structure: SUCCESS\r\n"); + } + + //Initialize the APM of AGI2. + apm_status = XAxiPmon_CfgInitialize(&apm_accel_group_indirect_2, apm_accel_group_indirect_2_config_ptr,apm_accel_group_indirect_2_config_ptr->BaseAddress); + + + if (apm_status != XST_SUCCESS) + { + print("Initializing AXI Performance Monitor Acceleration Group Indirect 2 Peripheral: FAILURE\r\n"); + return XST_FAILURE; + } + else + { + print("Initializing AXI Performance Monitor Acceleration Group Indirect 2 Peripheral: SUCCESS\r\n"); + } + + /* + * Set the Metrics Counters 0 to 5 of the APM of the AGI2 with the Type of Event to Capture. + */ + XAxiPmon_SetMetrics(&apm_accel_group_indirect_2, SLOT0, XAPM_METRIC_SET_1, XAPM_METRIC_COUNTER_0); //Read Transactions + XAxiPmon_SetMetrics(&apm_accel_group_indirect_2, SLOT0, XAPM_METRIC_SET_3, XAPM_METRIC_COUNTER_1); //Read Bytes + + XAxiPmon_SetMetrics(&apm_accel_group_indirect_2, SLOT1, XAPM_METRIC_SET_0, XAPM_METRIC_COUNTER_2); //Write Transactions + XAxiPmon_SetMetrics(&apm_accel_group_indirect_2, SLOT1, XAPM_METRIC_SET_2, XAPM_METRIC_COUNTER_3); //Write Bytes + + XAxiPmon_SetMetrics(&apm_accel_group_indirect_2, SLOT2, XAPM_METRIC_SET_17, XAPM_METRIC_COUNTER_4); //Stream Transactions + XAxiPmon_SetMetrics(&apm_accel_group_indirect_2, SLOT2, XAPM_METRIC_SET_18, XAPM_METRIC_COUNTER_5); //Stream Bytes + + + //*************************************************************************************************// + // Initialization for AXI Performance Monitor Core of Acceleration Group 3 Indirect + //*************************************************************************************************// + + + //Setup the Configuration Structure of the APM of the AGI3. + apm_accel_group_indirect_3_config_ptr = XAxiPmon_LookupConfig(XPAR_ACCEL_GROUP_INDIRECT_3_APM_DEVICE_ID); + + if (apm_accel_group_indirect_3_config_ptr == NULL) + { + print("Setting-up AXI Performance Monitor Acceleration Group Indirect 3 Configuration Structure: FAILURE\r\n"); + return XST_FAILURE; + } + else + { + print("Setting-up AXI Performance Monitor Acceleration Group Indirect 3 Configuration Structure: SUCCESS\r\n"); + } + + //Initialize the APM of AGI3. + apm_status = XAxiPmon_CfgInitialize(&apm_accel_group_indirect_3, apm_accel_group_indirect_3_config_ptr,apm_accel_group_indirect_3_config_ptr->BaseAddress); + + + if (apm_status != XST_SUCCESS) + { + print("Initializing AXI Performance Monitor Acceleration Group Indirect 3 Peripheral: FAILURE\r\n"); + return XST_FAILURE; + } + else + { + print("Initializing AXI Performance Monitor Acceleration Group Indirect 3 Peripheral: SUCCESS\r\n"); + } + + /* + * Set the Metrics Counters 0 to 5 of the APM of the AGI3 with the Type of Event to Capture. + */ + XAxiPmon_SetMetrics(&apm_accel_group_indirect_3, SLOT0, XAPM_METRIC_SET_1, XAPM_METRIC_COUNTER_0); //Read Transactions + XAxiPmon_SetMetrics(&apm_accel_group_indirect_3, SLOT0, XAPM_METRIC_SET_3, XAPM_METRIC_COUNTER_1); //Read Bytes + + XAxiPmon_SetMetrics(&apm_accel_group_indirect_3, SLOT1, XAPM_METRIC_SET_0, XAPM_METRIC_COUNTER_2); //Write Transactions + XAxiPmon_SetMetrics(&apm_accel_group_indirect_3, SLOT1, XAPM_METRIC_SET_2, XAPM_METRIC_COUNTER_3); //Write Bytes + + XAxiPmon_SetMetrics(&apm_accel_group_indirect_3, SLOT2, XAPM_METRIC_SET_17, XAPM_METRIC_COUNTER_4); //Stream Transactions + XAxiPmon_SetMetrics(&apm_accel_group_indirect_3, SLOT2, XAPM_METRIC_SET_18, XAPM_METRIC_COUNTER_5); //Stream Bytes + + //*************************************************************************************************// + // Initialization for AXI Performance Monitor Core of Acceleration Group for Scatter/Gather Transfers + //*************************************************************************************************// + + + //Setup the Configuration Structure of the APM of the AGSG. + apm_accel_group_sg_config_ptr = XAxiPmon_LookupConfig(XPAR_ACCEL_GROUP_SG_APM_DEVICE_ID); + + if (apm_accel_group_sg_config_ptr == NULL) + { + print("Setting-up AXI Performance Monitor Acceleration Group Scatter/Gather Configuration Structure: FAILURE\r\n"); + return XST_FAILURE; + } + else + { + print("Setting-up AXI Performance Monitor Acceleration Group Scatter/Gather Configuration Structure: SUCCESS\r\n"); + } + + //Initialize the APM of AGSG. + apm_status = XAxiPmon_CfgInitialize(&apm_accel_group_sg, apm_accel_group_sg_config_ptr,apm_accel_group_sg_config_ptr->BaseAddress); + + + if (apm_status != XST_SUCCESS) + { + print("Initializing AXI Performance Monitor Acceleration Group Scatter/Gather Peripheral: FAILURE\r\n"); + return XST_FAILURE; + } + else + { + print("Initializing AXI Performance Monitor Acceleration Group Scatter/Gather Peripheral: SUCCESS\r\n"); + } + + /* + * Set the Metrics Counters 0 to 5 of the APM of the AGSG with the Type of Event to Capture. + */ + XAxiPmon_SetMetrics(&apm_accel_group_sg, SLOT0, XAPM_METRIC_SET_1, XAPM_METRIC_COUNTER_0); //Read Transactions + XAxiPmon_SetMetrics(&apm_accel_group_sg, SLOT0, XAPM_METRIC_SET_3, XAPM_METRIC_COUNTER_1); //Read Bytes + + XAxiPmon_SetMetrics(&apm_accel_group_sg, SLOT1, XAPM_METRIC_SET_0, XAPM_METRIC_COUNTER_2); //Write Transactions + XAxiPmon_SetMetrics(&apm_accel_group_sg, SLOT1, XAPM_METRIC_SET_2, XAPM_METRIC_COUNTER_3); //Write Bytes + + XAxiPmon_SetMetrics(&apm_accel_group_sg, SLOT2, XAPM_METRIC_SET_17, XAPM_METRIC_COUNTER_4); //Stream Transactions + XAxiPmon_SetMetrics(&apm_accel_group_sg, SLOT2, XAPM_METRIC_SET_18, XAPM_METRIC_COUNTER_5); //Stream Bytes + + + return(XST_SUCCESS); +} + +/* + * setup_shared_apm() + * + * Setup Procedure of the Shared APM Peripheral. + * + * The Shared APM is Actually a AXI Performance Monitor Unit. + * It is ONLY Used to Read its Global Clock Counter in Order to Get Time Metrics. + * + * It is Called Shared Since it is Commonly Used by the HW Schedulers of the FPGA as well as the Kernel Driver and the Userspace Application. + * It is Considered as the Reference Clock for the whole System for Time Metrics. + */ +int setup_shared_apm() +{ + int apm_status; + + print("Set-Up Process for AXI Performance Monitor Peripheral\r\n"); + + //Setup the Configuration Structure of the AXI Performance Monitor Unit (Shared APM). + shared_apm_config_ptr = XAxiPmon_LookupConfig(XPAR_SHARED_APM_DEVICE_ID); + + if (shared_apm_config_ptr == NULL) + { + print("Setting-up Shared AXI Performance Monitor Configuration Structure: FAILURE\r\n"); + return XST_FAILURE; + } + else + { + print("Setting-up Shared AXI Performance Monitor Configuration Structure: SUCCESS\r\n"); + } + + + //Initialize the AXI Performance Monitor Unit (Shared APM). + apm_status = XAxiPmon_CfgInitialize(&shared_apm, shared_apm_config_ptr,shared_apm_config_ptr->BaseAddress); + + + if (apm_status != XST_SUCCESS) + { + print("Initializing Shared AXI Performance Monitor Peripheral: FAILURE\r\n"); + return XST_FAILURE; + } + else + { + print("Initializing Shared AXI Performance Monitor Peripheral: SUCCESS\r\n"); + } + + return(XST_SUCCESS); +} + +/* + * setup_gpio() + * + * Setup Procedure of the GPIO Peripherals. + * + * The Current FPGA Design Uses the 4 GPIO Peripherals Below: + * + * 1 --> GPIO-MSI + * 2 --> GPIO-PCIe-Interrupt + * 3 --> GPIO-MSI-Read + * 4 --> GPIO-ACK + * + * 1) The GPIO-MSI is Connected with two Inputs of the PCIe Bridge and is Used to Trigger MSI Interrupts. + * When a AXI Master Peripheral Writes Values to the Data Registers of the GPIO-MSI it Forces the + * PCIe Bridge to Send MSI Interrupts that Target the Linux Kernel Driver on Behalf of the FPGA. + * + * 2) The GPIO-PCIe-Interrupt is Used as a Technique to Receive Interrupts on Behalf of the Host System. + * The Kernel Driver Writes Values to the Data Register of the GPIO-PCIe-Interrupt Peripheral. + * When the GPIO-PCIe-Interrupt Has a new Data Entry in its Data Registers it Triggers Interrupts that are Handled by the Microblaze. + * + * 3) In Some Cases the Linux Kernel Driver Does not Support Receiving Multiple MSI Interrupts. + * In such Cases the Value of the GPIO-MSI Output is, also, the GPIO-MSI-Read Input Value. + * When the Driver Receives a MSI Interrupt it Reads the Value of the GPIO-MSI-Read Peripheral. + * Depending on that Value the Kernel Driver will Call the Appropriate Handler Function. + * + * 4) The GPIO-ACK is Used by the Kernel Driver to Acknowledge that the Last Interrupt Has been Handled. + * In other Words, when the Interrupt Manager Sends a MSI Interrupt it waits Until the Driver Sends an Acknowledgment Signal through + * Writing a Value to the Data Register of the GPIO-ACK. + * + */ +int setup_gpio() +{ + int gpio_status; + + print("Set-Up Process for GPIO Modules\r\n"); + + //Initialize the GPIO-MSI Peripheral. + gpio_status = XGpio_Initialize(&gpio_msi, XPAR_GPIO_MSI_DEVICE_ID); + + if (gpio_status != XST_SUCCESS) + { + print("Initializing GPIO MSI Module: FAILURE\r\n"); + return XST_FAILURE; + } + else + { + print("Initializing GPIO MSI Module: SUCCESS\r\n"); + } + + //Initialize the GPIO-PCIe-Interrupt Peripheral. + gpio_status = XGpio_Initialize(&gpio_pcie_interrupt, XPAR_GPIO_PCIE_INTERRUPT_DEVICE_ID); + + if (gpio_status != XST_SUCCESS) + { + print("Initializing GPIO PCIe Interrupt Module: FAILURE\r\n"); + return XST_FAILURE; + } + else + { + print("Initializing GPIO PCIe Interrupt Module: SUCCESS\r\n"); + } + + //Set to Zero the Data Registers of the Channel 1 and Channel 2 of the GPIO-MSI Peripheral. + XGpio_DiscreteWrite(&gpio_msi, 1, 0x00); + XGpio_DiscreteWrite(&gpio_msi, 2, 0x00); + + //Set to Zero the Data Register of the Channel 1 of the GPIO-PCIe-Interrupt Peripheral. + XGpio_DiscreteWrite(&gpio_pcie_interrupt, 1, 0x0); + + //Initialize the GPIO-MSI-Read Peripheral. + gpio_status = XGpio_Initialize(&gpio_msi_read, XPAR_GPIO_MSI_READ_DEVICE_ID); + + if (gpio_status != XST_SUCCESS) + { + print("Initializing GPIO MSI Read Module: FAILURE\r\n"); + return XST_FAILURE; + } + else + { + print("Initializing GPIO MSI Read Module: SUCCESS\r\n"); + } + + //Initialize the GPIO-ACK Peripheral. + gpio_status = XGpio_Initialize(&gpio_ack, XPAR_GPIO_ACK_DEVICE_ID); + + if (gpio_status != XST_SUCCESS) + { + print("Initializing GPIO Module: FAILURE\r\n"); + return XST_FAILURE; + } + else + { + print("Initializing GPIO Module: SUCCESS\r\n"); + } + + //Set to Zero the Data Register of the Channel 1 of the GPIO-ACK Peripheral. + XGpio_DiscreteWrite(&gpio_ack, 1, 0x00); + + return(XST_SUCCESS); +} + +/* + * setup_pcie() + * + * Setup Procedure of the PCIe Bridge. + * + * The PCIe Bridge is a Translation Controller between the FPGA's AXI Interface and the Host's PCIe Bus. + */ +int setup_pcie() +{ + int pcie_status=0; + + print("Set-Up Process for PCIe Endpoint\r\n"); + + + //Setup the Configuration Structure of the PCIe Bridge. + pcie_config_ptr = XAxiPcie_LookupConfig(XPAR_AXIPCIE_0_DEVICE_ID); + if (pcie_config_ptr == NULL) + { + xil_printf("Setting-up PCIe Endpoint Configuration Structure: FAILURE\r\n"); + return XST_FAILURE; + } + else + { + xil_printf("Setting-up PCIe Endpoint Configuration Structure: SUCCESS\r\n"); + } + + //Initialize the PCIe Bridge. + pcie_status = XAxiPcie_CfgInitialize(&pcie_ep, pcie_config_ptr,pcie_config_ptr->BaseAddress); + + if (pcie_status != XST_SUCCESS) + { + xil_printf("Initializing PCIe Endpoint Instance: FAILURE\r\n"); + return XST_FAILURE; + } + else + { + xil_printf("Initializing PCIe Endpoint Instance: SUCCESS\r\n"); + } + + //Check the Status of the PCIe Link. + pcie_status = XAxiPcie_IsLinkUp(&pcie_ep); + + if (pcie_status != TRUE ) + { + xil_printf("Checking PCIe Link Status: DOWN\r\n"); + return XST_FAILURE; + } + else + { + xil_printf("Checking PCIe Link Status: UP\r\n"); + } + + return(XST_SUCCESS); +} + +/* + * setup_sobel_filters() + * + * Setup Procedure of ALL the Sobel Filter Peripherals. + */ +int setup_sobel_filters() +{ + int sobel_status; + + print("Set-Up Process for Sobel Filters\r\n"); + + + //*************************************************************************************************// + // Initialization for the Sobel Filter Core of Acceleration Group 0 Direct + //*************************************************************************************************// + + + //Setup the Configuration Structure of the Sobel Filter of the AGD0. + sobel_filter_accel_group_direct_0_config_ptr = XSobel_filter_LookupConfig(XPAR_ACCEL_GROUP_DIRECT_0_SOBEL_FILTER_DEVICE_ID); + + if (sobel_filter_accel_group_direct_0_config_ptr == NULL) + { + print("Setting-up Sobel Filter Acceleration Group Direct 0 Configuration Structure: FAILURE\r\n"); + return XST_FAILURE; + } + else + { + print("Setting-up Sobel Filter Acceleration Group Direct 0 Configuration Structure: SUCCESS\r\n"); + } + + + //Initialize the Sobel Filter of the AGD0. + sobel_status = XSobel_filter_CfgInitialize(&sobel_filter_accel_group_direct_0, sobel_filter_accel_group_direct_0_config_ptr); + + if (sobel_status != XST_SUCCESS) + { + print("Initializing Sobel Filter Acceleration Group Direct 0 Instance: FAILURE\r\n"); + return XST_FAILURE; + } + else + { + print("Initializing Sobel Filter Acceleration Group Direct 0 Instance: SUCCESS\r\n"); + } + + + //*************************************************************************************************// + // Initialization for the Sobel Filter Core of Acceleration Group 1 Direct + //*************************************************************************************************// + + + //Setup the Configuration Structure of the Sobel Filter of the AGD1. + sobel_filter_accel_group_direct_1_config_ptr = XSobel_filter_LookupConfig(XPAR_ACCEL_GROUP_DIRECT_1_SOBEL_FILTER_DEVICE_ID); + + if (sobel_filter_accel_group_direct_1_config_ptr == NULL) + { + print("Setting-up Sobel Filter Acceleration Group Direct 1 Configuration Structure: FAILURE\r\n"); + return XST_FAILURE; + } + else + { + print("Setting-up Sobel Filter Acceleration Group Direct 1 Configuration Structure: SUCCESS\r\n"); + } + + + //Initialize the Sobel Filter of the AGD0. + sobel_status = XSobel_filter_CfgInitialize(&sobel_filter_accel_group_direct_1, sobel_filter_accel_group_direct_1_config_ptr); + + if (sobel_status != XST_SUCCESS) + { + print("Initializing Sobel Filter Acceleration Group Direct 1 Instance: FAILURE\r\n"); + return XST_FAILURE; + } + else + { + print("Initializing Sobel Filter Acceleration Group Direct 1 Instance: SUCCESS\r\n"); + } + + + //*************************************************************************************************// + // Initialization for the Sobel Filter Core of Acceleration Group 0 Indirect + //*************************************************************************************************// + + + //Setup the Configuration Structure of the Sobel Filter of the AGI0. + sobel_filter_accel_group_indirect_0_config_ptr = XSobel_filter_LookupConfig(XPAR_ACCEL_GROUP_INDIRECT_0_SOBEL_FILTER_DEVICE_ID); + + if (sobel_filter_accel_group_indirect_0_config_ptr == NULL) + { + print("Setting-up Sobel Filter Acceleration Group Indirect 0 Configuration Structure: FAILURE\r\n"); + return XST_FAILURE; + } + else + { + print("Setting-up Sobel Filter Acceleration Group Indirect 0 Configuration Structure: SUCCESS\r\n"); + } + + + //Initialize the Sobel Filter of the AGI0. + sobel_status = XSobel_filter_CfgInitialize(&sobel_filter_accel_group_indirect_0, sobel_filter_accel_group_indirect_0_config_ptr); + + if (sobel_status != XST_SUCCESS) + { + print("Initializing Sobel Filter Acceleration Group Indirect 0 Instance: FAILURE\r\n"); + return XST_FAILURE; + } + else + { + print("Initializing Sobel Filter Acceleration Group Indirect 0 Instance: SUCCESS\r\n"); + } + + + //*************************************************************************************************// + // Initialization for the Sobel Filter Core of Acceleration Group 1 Indirect + //*************************************************************************************************// + + + //Setup the Configuration Structure of the Sobel Filter of the AGI1. + sobel_filter_accel_group_indirect_1_config_ptr = XSobel_filter_LookupConfig(XPAR_ACCEL_GROUP_INDIRECT_1_SOBEL_FILTER_DEVICE_ID); + + if (sobel_filter_accel_group_indirect_1_config_ptr == NULL) + { + print("Setting-up Sobel Filter Acceleration Group Indirect 1 Configuration Structure: FAILURE\r\n"); + return XST_FAILURE; + } + else + { + print("Setting-up Sobel Filter Acceleration Group Indirect 1 Configuration Structure: SUCCESS\r\n"); + } + + + //Initialize the Sobel Filter of the AGI1. + sobel_status = XSobel_filter_CfgInitialize(&sobel_filter_accel_group_indirect_1, sobel_filter_accel_group_indirect_1_config_ptr); + + if (sobel_status != XST_SUCCESS) + { + print("Initializing Sobel Filter Acceleration Group Indirect 1 Instance: FAILURE\r\n"); + return XST_FAILURE; + } + else + { + print("Initializing Sobel Filter Acceleration Group Indirect 1 Instance: SUCCESS\r\n"); + } + + + //*************************************************************************************************// + // Initialization for the Sobel Filter Core of Acceleration Group 2 Indirect + //*************************************************************************************************// + + + //Setup the Configuration Structure of the Sobel Filter of the AGI2. + sobel_filter_accel_group_indirect_2_config_ptr = XSobel_filter_LookupConfig(XPAR_ACCEL_GROUP_INDIRECT_2_SOBEL_FILTER_DEVICE_ID); + + if (sobel_filter_accel_group_indirect_2_config_ptr == NULL) + { + print("Setting-up Sobel Filter Acceleration Group Indirect 2 Configuration Structure: FAILURE\r\n"); + return XST_FAILURE; + } + else + { + print("Setting-up Sobel Filter Acceleration Group Indirect 2 Configuration Structure: SUCCESS\r\n"); + } + + + //Initialize the Sobel Filter of the AGI2. + sobel_status = XSobel_filter_CfgInitialize(&sobel_filter_accel_group_indirect_2, sobel_filter_accel_group_indirect_2_config_ptr); + + if (sobel_status != XST_SUCCESS) + { + print("Initializing Sobel Filter Acceleration Group Indirect 2 Instance: FAILURE\r\n"); + return XST_FAILURE; + } + else + { + print("Initializing Sobel Filter Acceleration Group Indirect 2 Instance: SUCCESS\r\n"); + } + + + //*************************************************************************************************// + // Initialization for the Sobel Filter Core of Acceleration Group 3 Indirect + //*************************************************************************************************// + + + //Setup the Configuration Structure of the Sobel Filter of the AGI3. + sobel_filter_accel_group_indirect_3_config_ptr = XSobel_filter_LookupConfig(XPAR_ACCEL_GROUP_INDIRECT_3_SOBEL_FILTER_DEVICE_ID); + + if (sobel_filter_accel_group_indirect_3_config_ptr == NULL) + { + print("Setting-up Sobel Filter Acceleration Group Indirect 3 Configuration Structure: FAILURE\r\n"); + return XST_FAILURE; + } + else + { + print("Setting-up Sobel Filter Acceleration Group Indirect 3 Configuration Structure: SUCCESS\r\n"); + } + + + //Initialize the Sobel Filter of the AGI3. + sobel_status = XSobel_filter_CfgInitialize(&sobel_filter_accel_group_indirect_3, sobel_filter_accel_group_indirect_3_config_ptr); + + if (sobel_status != XST_SUCCESS) + { + print("Initializing Sobel Filter Acceleration Group Indirect 3 Instance: FAILURE\r\n"); + return XST_FAILURE; + } + else + { + print("Initializing Sobel Filter Acceleration Group Indirect 3 Instance: SUCCESS\r\n"); + } + + + //**************************************************************************************************// + // Initialization for the Sobel Filter Core of Acceleration Group for Scatter/Gather Transfers + //**************************************************************************************************// + + + //Setup the Configuration Structure of the Sobel Filter of the AGSG. + sobel_filter_accel_group_sg_config_ptr = XSobel_filter_LookupConfig(XPAR_ACCEL_GROUP_SG_SOBEL_FILTER_DEVICE_ID); + + if (sobel_filter_accel_group_sg_config_ptr == NULL) + { + print("Setting-up Sobel Filter Acceleration Group Scatter/Gather Configuration Structure: FAILURE\r\n"); + return XST_FAILURE; + } + else + { + print("Setting-up Sobel Filter Acceleration Group Scatter/Gather Configuration Structure: SUCCESS\r\n"); + } + + + //Initialize the Sobel Filter of the AGSG. + sobel_status = XSobel_filter_CfgInitialize(&sobel_filter_accel_group_sg, sobel_filter_accel_group_sg_config_ptr); + + if (sobel_status != XST_SUCCESS) + { + print("Initializing Sobel Filter Acceleration Group Scatter/Gather Instance: FAILURE\r\n"); + return XST_FAILURE; + } + else + { + print("Initializing Sobel Filter Acceleration Group Scatter/Gathers Instance: SUCCESS\r\n"); + } + + XSobel_filter_Set_packet_mode_en(&sobel_filter_accel_group_sg, 1); + XSobel_filter_Set_packet_size(&sobel_filter_accel_group_sg, PAGE_SIZE); + + + + return(XST_SUCCESS); +} + +/* + * setup_interrupt_manager() + * + * Setup Procedure of the Interrupt Manager Peripheral. + * + * The Interrupt Manager Receives by the Acceleration Schedulers Requests to Trigger MSI Interrupts over PCIe. + * For every new Request it Writes the Vector Number of the MSI to the GPIO MSI Peripheral which Leads to Triggering an Interrupt over the PCIe Bridge. + * The Interrupt Manager Waits then for an Acknowledgment Signal before Triggering the Next MSI Interrupt. + * + * @note For Details Check the HLS Code of the Interrupt Manager. + */ +int setup_interrupt_manager() +{ + int status = 0; + + print("Set-Up Process for Interrupt Manager Block\r\n"); + + //Setup the Configuration Structure. + interrupt_manager_config_ptr = XInterrupt_manager_LookupConfig(XPAR_INTERRUPT_MANAGER_DEVICE_ID); + + if (interrupt_manager_config_ptr == NULL) + { + xil_printf("Setting-up Interrupt Manager Configuration Structure: FAILURE\r\n"); + return XST_FAILURE; + } + else + { + xil_printf("Setting-up Interrupt Manager Configuration Structure: SUCCESS\r\n"); + } + + //Initialize the Interrupt Manager Peripheral. + status = XInterrupt_manager_CfgInitialize(&interrupt_manager, interrupt_manager_config_ptr); + + if (status != XST_SUCCESS) + { + xil_printf("Initializing Interrupt Manager Instance: FAILURE\r\n"); + return XST_FAILURE; + } + else + { + xil_printf("Initializing Interrupt Manager Instance: SUCCESS\r\n"); + } + + //Set the Interrupt Manager with the Base Address of the GPIO-MSI Peripheral. + XInterrupt_manager_Set_gpio_msi_device_address(&interrupt_manager, XPAR_GPIO_MSI_BASEADDR); + + //Set the Interrupt Manager with the Base Address of the GPIO-ACK Peripheral. + XInterrupt_manager_Set_gpio_ack_device_address(&interrupt_manager, XPAR_GPIO_ACK_BASEADDR); + + //Set the Interrupt Manager with the Address Offset where its own Registers for MSI Requests are Located. + //@note Check the HLS Code of the Interrupt Manager for Details. + XInterrupt_manager_Set_self_msi_request_offset(&interrupt_manager, XPAR_INTERRUPT_MANAGER_S_AXI_CFG_BASEADDR + XINTERRUPT_MANAGER_CFG_ADDR_MSI_REQUEST_BASE); + + //Set the Interrupt Manager to Auto Restart after Completing its Execution. + XInterrupt_manager_EnableAutoRestart(&interrupt_manager); + + //Start the Interrupt Manager Peripheral. + XInterrupt_manager_Start(&interrupt_manager); + + return XST_SUCCESS; +} + +/* + * setup_interrupts() + * + * Setup Procedure of the Interrupt Controller and the Interrupts. + */ +int setup_interrupts() +{ + + print("Set-Up Process for Interrupts\r\n"); + + //Initialize the Interrupt Controller. + XIntc_Initialize(&interrupt_controller, XPAR_AXI_INTERRUPT_CONTROLLER_DEVICE_ID); + + //Enable the Interrupt Controller. + XIntc_Enable(&interrupt_controller, XPAR_AXI_INTERRUPT_CONTROLLER_DEVICE_ID); + + /* + * ------------------------------- + * Register the Interrupt Handlers + * ------------------------------- + */ + + //Register the Interrupt Handler for the GPIO PCIe Interrupt Peripheral. + XIntc_RegisterHandler(XPAR_AXI_INTERRUPT_CONTROLLER_BASEADDR, XPAR_AXI_INTERRUPT_CONTROLLER_GPIO_PCIE_INTERRUPT_IP2INTC_IRPT_INTR, gpio_pcie_interrupt_handler,(void *)XPAR_GPIO_PCIE_INTERRUPT_BASEADDR); + + //Register the Interrupt Handler for the CDMA Fetch Engine. + XIntc_RegisterHandler(XPAR_AXI_INTERRUPT_CONTROLLER_BASEADDR, XPAR_AXI_INTERRUPT_CONTROLLER_CDMA_FETCH_CDMA_INTROUT_INTR, cdma_fetch_interrupt_handler,(void *)XPAR_CDMA_FETCH_BASEADDR); + + //Register the Interrupt Handler for the CDMA Send Engine. + XIntc_RegisterHandler(XPAR_AXI_INTERRUPT_CONTROLLER_BASEADDR, XPAR_AXI_INTERRUPT_CONTROLLER_CDMA_SEND_CDMA_INTROUT_INTR, cdma_send_interrupt_handler,(void *)XPAR_CDMA_SEND_BASEADDR); + + //Register the Interrupt Handler for the S2MM Channel of the DMA Engine of the Acceleration Group Direct 0 (AGD0). + XIntc_RegisterHandler(XPAR_AXI_INTERRUPT_CONTROLLER_BASEADDR, XPAR_AXI_INTERRUPT_CONTROLLER_ACCEL_GROUP_DIRECT_0_DMA_S2MM_INTROUT_INTR, dma_accel_group_direct_0_interrupt_handler,(void *)XPAR_ACCEL_GROUP_DIRECT_0_DMA_BASEADDR); + + //Register the Interrupt Handler for the S2MM Channel of the DMA Engine of the Acceleration Group Direct 1 (AGD1). + XIntc_RegisterHandler(XPAR_AXI_INTERRUPT_CONTROLLER_BASEADDR, XPAR_AXI_INTERRUPT_CONTROLLER_ACCEL_GROUP_DIRECT_1_DMA_S2MM_INTROUT_INTR, dma_accel_group_direct_1_interrupt_handler,(void *)XPAR_ACCEL_GROUP_DIRECT_1_DMA_BASEADDR); + + //Register the Interrupt Handler for the S2MM Channel of the DMA Engine of the Acceleration Group Indirect 0 (AGI0). + XIntc_RegisterHandler(XPAR_AXI_INTERRUPT_CONTROLLER_BASEADDR, XPAR_AXI_INTERRUPT_CONTROLLER_ACCEL_GROUP_INDIRECT_0_DMA_S2MM_INTROUT_INTR, dma_accel_group_indirect_0_interrupt_handler,(void *)XPAR_ACCEL_GROUP_INDIRECT_0_DMA_BASEADDR); + + //Register the Interrupt Handler for the S2MM Channel of the DMA Engine of the Acceleration Group Indirect 1 (AGI1). + XIntc_RegisterHandler(XPAR_AXI_INTERRUPT_CONTROLLER_BASEADDR, XPAR_AXI_INTERRUPT_CONTROLLER_ACCEL_GROUP_INDIRECT_1_DMA_S2MM_INTROUT_INTR, dma_accel_group_indirect_1_interrupt_handler,(void *)XPAR_ACCEL_GROUP_INDIRECT_1_DMA_BASEADDR); + + //Register the Interrupt Handler for the S2MM Channel of the DMA Engine of the Acceleration Group Indirect 2 (AGI2). + XIntc_RegisterHandler(XPAR_AXI_INTERRUPT_CONTROLLER_BASEADDR, XPAR_AXI_INTERRUPT_CONTROLLER_ACCEL_GROUP_INDIRECT_2_DMA_S2MM_INTROUT_INTR, dma_accel_group_indirect_2_interrupt_handler,(void *)XPAR_ACCEL_GROUP_INDIRECT_2_DMA_BASEADDR); + + //Register the Interrupt Handler for the S2MM Channel of the DMA Engine of the Acceleration Group Indirect 3 (AGI3). + XIntc_RegisterHandler(XPAR_AXI_INTERRUPT_CONTROLLER_BASEADDR, XPAR_AXI_INTERRUPT_CONTROLLER_ACCEL_GROUP_INDIRECT_3_DMA_S2MM_INTROUT_INTR, dma_accel_group_indirect_3_interrupt_handler,(void *)XPAR_ACCEL_GROUP_INDIRECT_3_DMA_BASEADDR); + + //Register the Interrupt Handler for the S2MM Channel of the DMA Engine of the Acceleration Group Scatter/Gather (AGSG). + XIntc_RegisterHandler(XPAR_AXI_INTERRUPT_CONTROLLER_BASEADDR, XPAR_AXI_INTERRUPT_CONTROLLER_ACCEL_GROUP_SG_DMA_S2MM_INTROUT_INTR, dma_accel_group_sg_interrupt_handler,(void *)XPAR_ACCEL_GROUP_SG_DMA_BASEADDR); + + //Register the Interrupt Handler for the DMA SG PCIe Scheduler. + XIntc_RegisterHandler(XPAR_AXI_INTERRUPT_CONTROLLER_BASEADDR, XPAR_AXI_INTERRUPT_CONTROLLER_ACCEL_GROUP_SG_DMA_SG_PCIE_SCHEDULER_INTERRUPT_INTR, dma_sg_pcie_scheduler_interrupt_handler,(void *)XPAR_ACCEL_GROUP_SG_DMA_SG_PCIE_SCHEDULER_S_AXI_CFG_BASEADDR); + + //Register the Interrupt Handler for the Acceleration Scheduler Direct of the Acceleration Group Direct 0 (AGD0). + XIntc_RegisterHandler(XPAR_AXI_INTERRUPT_CONTROLLER_BASEADDR, XPAR_AXI_INTERRUPT_CONTROLLER_ACCEL_GROUP_DIRECT_0_ACCELERATION_SCHEDULER_DIRECT_INTERRUPT_INTR, acceleration_scheduler_direct_group_0_interrupt_handler,(void *)XPAR_ACCEL_GROUP_DIRECT_0_ACCELERATION_SCHEDULER_DIRECT_S_AXI_MM2S_CFG_BASEADDR); + + //Register the Interrupt Handler for the Acceleration Scheduler Direct of the Acceleration Group Direct 1 (AGD1). + XIntc_RegisterHandler(XPAR_AXI_INTERRUPT_CONTROLLER_BASEADDR, XPAR_AXI_INTERRUPT_CONTROLLER_ACCEL_GROUP_DIRECT_1_ACCELERATION_SCHEDULER_DIRECT_INTERRUPT_INTR, acceleration_scheduler_direct_group_1_interrupt_handler,(void *)XPAR_ACCEL_GROUP_DIRECT_1_ACCELERATION_SCHEDULER_DIRECT_S_AXI_MM2S_CFG_BASEADDR); + + //Register the Interrupt Handler for the Acceleration Scheduler Indirect of the Acceleration Group Indirect 0 (AGI0). + XIntc_RegisterHandler(XPAR_AXI_INTERRUPT_CONTROLLER_BASEADDR, XPAR_AXI_INTERRUPT_CONTROLLER_ACCEL_GROUP_INDIRECT_0_ACCELERATION_SCHEDULER_INDIRECT_INTERRUPT_INTR, acceleration_scheduler_indirect_group_0_interrupt_handler,(void *)XPAR_ACCEL_GROUP_INDIRECT_0_ACCELERATION_SCHEDULER_INDIRECT_S_AXI_INT_CFG_BASEADDR); + + //Register the Interrupt Handler for the Acceleration Scheduler Indirect of the Acceleration Group Indirect 1 (AGI1). + XIntc_RegisterHandler(XPAR_AXI_INTERRUPT_CONTROLLER_BASEADDR, XPAR_AXI_INTERRUPT_CONTROLLER_ACCEL_GROUP_INDIRECT_1_ACCELERATION_SCHEDULER_INDIRECT_INTERRUPT_INTR, acceleration_scheduler_indirect_group_1_interrupt_handler,(void *)XPAR_ACCEL_GROUP_INDIRECT_1_ACCELERATION_SCHEDULER_INDIRECT_S_AXI_INT_CFG_BASEADDR); + + //Register the Interrupt Handler for the Acceleration Scheduler Indirect of the Acceleration Group Indirect 2 (AGI2). + XIntc_RegisterHandler(XPAR_AXI_INTERRUPT_CONTROLLER_BASEADDR, XPAR_AXI_INTERRUPT_CONTROLLER_ACCEL_GROUP_INDIRECT_2_ACCELERATION_SCHEDULER_INDIRECT_INTERRUPT_INTR, acceleration_scheduler_indirect_group_2_interrupt_handler,(void *)XPAR_ACCEL_GROUP_INDIRECT_2_ACCELERATION_SCHEDULER_INDIRECT_S_AXI_INT_CFG_BASEADDR); + + //Register the Interrupt Handler for the Acceleration Scheduler Indirect of the Acceleration Group Indirect 3 (AGI3). + XIntc_RegisterHandler(XPAR_AXI_INTERRUPT_CONTROLLER_BASEADDR, XPAR_AXI_INTERRUPT_CONTROLLER_ACCEL_GROUP_INDIRECT_3_ACCELERATION_SCHEDULER_INDIRECT_INTERRUPT_INTR, acceleration_scheduler_indirect_group_3_interrupt_handler,(void *)XPAR_ACCEL_GROUP_INDIRECT_3_ACCELERATION_SCHEDULER_INDIRECT_S_AXI_INT_CFG_BASEADDR); + + //Register the Interrupt Handler for the Acceleration Scheduler Scatter/Gather of the Acceleration Group Scatter/Gather (AGSG). + XIntc_RegisterHandler(XPAR_AXI_INTERRUPT_CONTROLLER_BASEADDR, XPAR_AXI_INTERRUPT_CONTROLLER_ACCEL_GROUP_SG_ACCELERATION_SCHEDULER_SG_XDMA_INTERRUPT_INTR, acceleration_scheduler_sg_interrupt_handler,(void *)XPAR_ACCEL_GROUP_SG_ACCELERATION_SCHEDULER_SG_XDMA_S_AXI_MM2S_CFG_BASEADDR); + + + /* + * ----------------------------------------------------------------------------- + * No Need to Enable the CDMA Fetch and CDMA Send Interrupts. + * They Get Automatically Enabled by the Fetch and Send Schedulers Respectively. + * ----------------------------------------------------------------------------- + */ + +// XAxiCdma_IntrEnable(&cdma_fetch, XAXICDMA_XR_IRQ_ERROR_MASK | XAXICDMA_XR_IRQ_IOC_MASK | XAXICDMA_XR_IRQ_DELAY_MASK); +// XAxiCdma_IntrEnable(&cdma_send, XAXICDMA_XR_IRQ_ERROR_MASK | XAXICDMA_XR_IRQ_IOC_MASK | XAXICDMA_XR_IRQ_DELAY_MASK); + + + /* + * ------------------------------------------------------ + * Enable the DMA Interrupts. + * @note This Means that the DMAs Can Trigger Interrupts. + * ------------------------------------------------------ + */ + + //Enable the Interrupts of the DMA of the Acceleration Groud Direct 0 (AGD0). + XAxiDma_IntrEnable(&dma_accel_group_direct_0, XAXIDMA_IRQ_ALL_MASK, XAXIDMA_DEVICE_TO_DMA); + + //Enable the Interrupts of the DMA of the Acceleration Groud Direct 1 (AGD1). + XAxiDma_IntrEnable(&dma_accel_group_direct_1, XAXIDMA_IRQ_ALL_MASK, XAXIDMA_DEVICE_TO_DMA); + + //Enable the Interrupts of the DMA of the Acceleration Groud Indirect 0 (AGI0). + XAxiDma_IntrEnable(&dma_accel_group_indirect_0, XAXIDMA_IRQ_ALL_MASK, XAXIDMA_DEVICE_TO_DMA); + + //Enable the Interrupts of the DMA of the Acceleration Groud Indirect 1 (AGI1). + XAxiDma_IntrEnable(&dma_accel_group_indirect_1, XAXIDMA_IRQ_ALL_MASK, XAXIDMA_DEVICE_TO_DMA); + + //Enable the Interrupts of the DMA of the Acceleration Groud Indirect 2 (AGI2). + XAxiDma_IntrEnable(&dma_accel_group_indirect_2, XAXIDMA_IRQ_ALL_MASK, XAXIDMA_DEVICE_TO_DMA); + + //Enable the Interrupts of the DMA of the Acceleration Groud Indirect 3 (AGI3). + XAxiDma_IntrEnable(&dma_accel_group_indirect_3, XAXIDMA_IRQ_ALL_MASK, XAXIDMA_DEVICE_TO_DMA); + + //Enable the Interrupts of the DMA of the Acceleration Groud Scatter/Gather (AGSG). + XAxiDma_IntrEnable(&dma_accel_group_sg, XAXIDMA_IRQ_ALL_MASK, XAXIDMA_DEVICE_TO_DMA); + + + /* + * ------------------------------------------------------------ + * Enable the Scheduler Interrupts. + * @note This Means that the Schedulers Can Trigger Interrupts. + * ------------------------------------------------------------ + */ + + //Enable the Interrupts of the DMA SG PCIe Scheduler. + XDma_sg_pcie_scheduler_InterruptEnable(&dma_sg_pcie_scheduler, 0xFFFFFFFF); + XDma_sg_pcie_scheduler_InterruptGlobalEnable(&dma_sg_pcie_scheduler); + + //Enable the Interrupts of the Acceleration Scheduler Direct of the Acceleration Group Direct 0 (AGD0). + XAcceleration_scheduler_direct_InterruptEnable(&acceleration_scheduler_accel_group_direct_0, 0xFFFFFFFF); + XAcceleration_scheduler_direct_InterruptGlobalEnable(&acceleration_scheduler_accel_group_direct_0); + + //Enable the Interrupts of the Acceleration Scheduler Direct of the Acceleration Group Direct 1 (AGD1). + XAcceleration_scheduler_direct_InterruptEnable(&acceleration_scheduler_accel_group_direct_1, 0xFFFFFFFF); + XAcceleration_scheduler_direct_InterruptGlobalEnable(&acceleration_scheduler_accel_group_direct_1); + + //Enable the Interrupts of the Acceleration Scheduler Indirect of the Acceleration Group Indirect 0 (AGI0). + XAcceleration_scheduler_indirect_InterruptEnable(&acceleration_scheduler_accel_group_indirect_0, 0xFFFFFFFF); + XAcceleration_scheduler_indirect_InterruptGlobalEnable(&acceleration_scheduler_accel_group_indirect_0); + + //Enable the Interrupts of the Acceleration Scheduler Indirect of the Acceleration Group Indirect 1 (AGI1). + XAcceleration_scheduler_indirect_InterruptEnable(&acceleration_scheduler_accel_group_indirect_1, 0xFFFFFFFF); + XAcceleration_scheduler_indirect_InterruptGlobalEnable(&acceleration_scheduler_accel_group_indirect_1); + + //Enable the Interrupts of the Acceleration Scheduler Indirect of the Acceleration Group Indirect 2 (AGI2). + XAcceleration_scheduler_indirect_InterruptEnable(&acceleration_scheduler_accel_group_indirect_2, 0xFFFFFFFF); + XAcceleration_scheduler_indirect_InterruptGlobalEnable(&acceleration_scheduler_accel_group_indirect_2); + + //Enable the Interrupts of the Acceleration Scheduler Indirect of the Acceleration Group Indirect 3 (AGI3). + XAcceleration_scheduler_indirect_InterruptEnable(&acceleration_scheduler_accel_group_indirect_3, 0xFFFFFFFF); + XAcceleration_scheduler_indirect_InterruptGlobalEnable(&acceleration_scheduler_accel_group_indirect_3); + + //Enable the Interrupts of the Acceleration Scheduler Indirect of the Acceleration Group Scatter/Gather (AGSG). + XAcceleration_scheduler_sg_xdma_InterruptEnable(&acceleration_scheduler_sg, 0xFFFFFFFF); + XAcceleration_scheduler_sg_xdma_InterruptGlobalEnable(&acceleration_scheduler_sg); + + + + /* + * ------------------------------------------------------ + * Enable the GPIO Interrupts. + * @note This Means that the GPIO Can Trigger Interrupts. + * ------------------------------------------------------ + */ + + XGpio_WriteReg(XPAR_GPIO_PCIE_INTERRUPT_BASEADDR, XGPIO_IER_OFFSET, XGPIO_IR_CH2_MASK) ; + XGpio_WriteReg(XPAR_GPIO_PCIE_INTERRUPT_BASEADDR, XGPIO_GIE_OFFSET, XGPIO_GIE_GINTR_ENABLE_MASK); + XGpio_InterruptEnable(&gpio_pcie_interrupt, XPAR_GPIO_PCIE_INTERRUPT_IP2INTC_IRPT_MASK); + XGpio_InterruptGlobalEnable(&gpio_pcie_interrupt); + + /* + * ------------------------------------------------------------- + * Set the Interrupt Mask. + * Uncomment the Masks of the Interrupts that we Need to Enable. + * ------------------------------------------------------------- + */ + + interrupt_mask= +// XPAR_CDMA_FETCH_CDMA_INTROUT_MASK + +// XPAR_CDMA_SEND_CDMA_INTROUT_MASK + +// XPAR_ACCEL_GROUP_DIRECT_0_ACCELERATION_SCHEDULER_DIRECT_INTERRUPT_MASK + +// XPAR_ACCEL_GROUP_DIRECT_0_DMA_S2MM_INTROUT_MASK + +// XPAR_ACCEL_GROUP_DIRECT_1_ACCELERATION_SCHEDULER_DIRECT_INTERRUPT_MASK + +// XPAR_ACCEL_GROUP_DIRECT_1_DMA_S2MM_INTROUT_MASK + +// XPAR_ACCEL_GROUP_INDIRECT_0_ACCELERATION_SCHEDULER_INDIRECT_INTERRUPT_MASK + +// XPAR_ACCEL_GROUP_INDIRECT_0_DMA_S2MM_INTROUT_MASK + +// XPAR_ACCEL_GROUP_INDIRECT_1_ACCELERATION_SCHEDULER_INDIRECT_INTERRUPT_MASK + +// XPAR_ACCEL_GROUP_INDIRECT_1_DMA_S2MM_INTROUT_MASK + +// XPAR_ACCEL_GROUP_INDIRECT_2_ACCELERATION_SCHEDULER_INDIRECT_INTERRUPT_MASK + +// XPAR_ACCEL_GROUP_INDIRECT_2_DMA_S2MM_INTROUT_MASK + +// XPAR_ACCEL_GROUP_INDIRECT_3_ACCELERATION_SCHEDULER_INDIRECT_INTERRUPT_MASK + +// XPAR_ACCEL_GROUP_INDIRECT_3_DMA_S2MM_INTROUT_MASK + +// XPAR_ACCEL_GROUP_SG_DMA_S2MM_INTROUT_MASK + +// XPAR_ACCEL_GROUP_SG_ACCELERATION_SCHEDULER_SG_XDMA_INTERRUPT_MASK + +// XPAR_ACCEL_GROUP_SG_DMA_SG_S2MM_PCIE_SCHEDULER_INTERRUPT_MASK + +// XPAR_ACCEL_GROUP_SG_DMA_SG_MM2S_PCIE_SCHEDULER_INTERRUPT_MASK + + XPAR_GPIO_PCIE_INTERRUPT_IP2INTC_IRPT_MASK; + + + /* + * Enable the Interrupts Inside the Interrupt Controller. + * @note this Means that the Interrupt Controller Can Receive the Interrupts According to the Enabled Interrupt Masks. + */ + XIntc_EnableIntr(XPAR_AXI_INTERRUPT_CONTROLLER_BASEADDR, interrupt_mask); + + //Enable the Interrupt COntroller. + XIntc_MasterEnable(XPAR_AXI_INTERRUPT_CONTROLLER_BASEADDR); + + /* + * Enable Interrupts. + * @note this Means that the Microblaze Can Receive Interrupts. + */ + microblaze_enable_interrupts(); + + //Start the Interrupt Controller. + XIntc_Start(&interrupt_controller, XIN_REAL_MODE); + + return (XST_SUCCESS); +} diff --git a/Software/Microblaze_XSDK/src/structures.h b/Software/Microblaze_XSDK/src/structures.h new file mode 100644 index 0000000..d973dab --- /dev/null +++ b/Software/Microblaze_XSDK/src/structures.h @@ -0,0 +1,159 @@ +struct image_info +{ + u32 rows; + u32 columns; + u64 size; +}; + +struct metrics +{ + /* + * AXI Performance Monitor Metrics + */ + u32 apm_read_transactions; //Offset 0 Bytes + u32 apm_read_bytes; //Offset 4 Bytes + + u32 apm_write_transactions; //Offset 8 Bytes + u32 apm_write_bytes; //Offset 12 Bytes + + u32 apm_packets; //Offset 16 Bytes + u32 apm_bytes; //Offset 20 Bytes + + u32 apm_gcc_l; //Offset 24 Bytes + u32 apm_gcc_u; //Offset 28 Bytes + + u32 cdma_fetch_time_start_l; //Offset 32 Bytes + u32 cdma_fetch_time_start_u; //Offset 36 Bytes + u32 cdma_fetch_time_end_l; //Offset 40 Bytes + u32 cdma_fetch_time_end_u; //Offset 44 Bytes + + u32 cdma_send_time_start_l; //Offset 48 Bytes + u32 cdma_send_time_start_u; //Offset 52 Bytes + u32 cdma_send_time_end_l; //Offset 56 Bytes + u32 cdma_send_time_end_u; //Offset 60 Bytes + + u32 dma_accel_time_start_l; //Offset 64 Bytes + u32 dma_accel_time_start_u; //Offset 68 Bytes + u32 dma_accel_time_end_l; //Offset 72 Bytes + u32 dma_accel_time_end_u; //Offset 76 Bytes + + struct image_info shared_image_info; // Offset 80 Bytes + + /* + * Kernel and Userspace Metrics + */ + + u64 total_time_start; + u64 total_time_end; + + u64 sleep_time_start; + u64 sleep_time_end; + + u64 preparation_time_start; + u64 preparation_time_end; + + u64 load_time_start; + u64 load_time_end; + + u64 save_time_start; + u64 save_time_end; + + +}; + +struct metrics_per_process +{ + /* + * AXI Performance Monitor Metrics + */ + u32 apm_read_transactions; //Offset 0 Bytes + u32 apm_read_bytes; //Offset 4 Bytes + + u32 apm_write_transactions; //Offset 8 Bytes + u32 apm_write_bytes; //Offset 12 Bytes + + u32 apm_packets; //Offset 16 Bytes + u32 apm_bytes; //Offset 20 Bytes + + u32 apm_gcc_l; //Offset 24 Bytes + u32 apm_gcc_u; //Offset 28 Bytes + + u32 cdma_fetch_time_start_l; //Offset 32 Bytes + u32 cdma_fetch_time_start_u; //Offset 36 Bytes + u32 cdma_fetch_time_end_l; //Offset 40 Bytes + u32 cdma_fetch_time_end_u; //Offset 44 Bytes + + u32 cdma_send_time_start_l; //Offset 48 Bytes + u32 cdma_send_time_start_u; //Offset 52 Bytes + u32 cdma_send_time_end_l; //Offset 56 Bytes + u32 cdma_send_time_end_u; //Offset 60 Bytes + + u32 dma_accel_time_start_l; //Offset 64 Bytes + u32 dma_accel_time_start_u; //Offset 68 Bytes + u32 dma_accel_time_end_l; //Offset 72 Bytes + u32 dma_accel_time_end_u; //Offset 76 Bytes + + struct image_info shared_image_info; // Offset 80 Bytes + + /* + * Kernel and Userspace Metrics + */ + + u64 total_time_start; + u64 total_time_end; + + u64 sleep_time_start; + u64 sleep_time_end; + + u64 preparation_time_start; + u64 preparation_time_end; + + u64 load_time_start; + u64 load_time_end; + + u64 save_time_start; + u64 save_time_end; + + u64 set_pages_overhead_time_start; + u64 set_pages_overhead_time_end; + + u64 unmap_pages_overhead_time_start; + u64 unmap_pages_overhead_time_end; + + +}; + +struct status_flags +{ + u32 accel_direct_0_occupied_pid; + u32 accel_direct_1_occupied_pid; + + u32 accel_indirect_0_occupied_pid; + u32 accel_indirect_1_occupied_pid; + u32 accel_indirect_2_occupied_pid; + u32 accel_indirect_3_occupied_pid; + + u32 accel_sg_0_occupied_pid; + + + u32 accelerator_busy; + u32 open_modules; +}; + +struct shared_repository +{ + struct metrics unused_shared_metrics; + + struct metrics accel_direct_0_shared_metrics; + struct metrics accel_direct_1_shared_metrics; + + struct metrics accel_indirect_0_shared_metrics; + struct metrics accel_indirect_1_shared_metrics; + struct metrics accel_indirect_2_shared_metrics; + struct metrics accel_indirect_3_shared_metrics; + + struct metrics accel_sg_0_shared_metrics; + + struct status_flags shared_status_flags; + +};

    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�KGkt`~; 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%0D>)i8e1cKKXD)*73}Y)7iV|$3&Fv+<7!B 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ℑXW<(>p@P%bQ-3^f$i`CWj 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%0D+WsY$n2C&2XYRa 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

  • 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