diff --git a/Cortex-M0/soclabs_demo/systems/cortex_m0_mcu/fpga_imp/build_fpga_clean.scr b/Cortex-M0/soclabs_demo/systems/cortex_m0_mcu/fpga_imp/build_fpga_clean.scr new file mode 100755 index 0000000000000000000000000000000000000000..f5878e2c98cf8922ab9a1af27f2131cc32d9f803 --- /dev/null +++ b/Cortex-M0/soclabs_demo/systems/cortex_m0_mcu/fpga_imp/build_fpga_clean.scr @@ -0,0 +1,23 @@ +#----------------------------------------------------------------------------- +# SoC Labs Simulation script for system level verification +# A joint work commissioned on behalf of SoC Labs, under Arm Academic Access license. +# +# Contributors +# +# David Fltnn (d.w.flynne@soton.ac.uk) +# +# Copyright 2023, SoC Labs (www.soclabs.org) +#----------------------------------------------------------------------------- + +#!/usr/bin/env bash + +rm -Rf .gen/ +rm -Rf .srcs/ +rm -Rf .Xil/ +rm -Rf vivado/ +rm -f *.backup.* +rm -f vivado.* +rm -Rf vivado/ +rm -Rf pynq_export/*/pynq/overlays/soclabs/* + + diff --git a/Cortex-M0/soclabs_demo/systems/cortex_m0_mcu/fpga_imp/pynq_export/pz104/jupyter_notebooks/soclabs/driver/uartlite.py b/Cortex-M0/soclabs_demo/systems/cortex_m0_mcu/fpga_imp/pynq_export/pynq_z2/jupyter_notebooks/soclabs/driver/uartlite.py similarity index 100% rename from Cortex-M0/soclabs_demo/systems/cortex_m0_mcu/fpga_imp/pynq_export/pz104/jupyter_notebooks/soclabs/driver/uartlite.py rename to Cortex-M0/soclabs_demo/systems/cortex_m0_mcu/fpga_imp/pynq_export/pynq_z2/jupyter_notebooks/soclabs/driver/uartlite.py diff --git a/Cortex-M0/soclabs_demo/systems/cortex_m0_mcu/fpga_imp/pynq_export/pz2/jupyter_notebooks/soclabs/soclabs_cm0sdk_mcu.ipynb b/Cortex-M0/soclabs_demo/systems/cortex_m0_mcu/fpga_imp/pynq_export/pynq_z2/jupyter_notebooks/soclabs/soclabs_cm0sdk_mcu.ipynb similarity index 100% rename from Cortex-M0/soclabs_demo/systems/cortex_m0_mcu/fpga_imp/pynq_export/pz2/jupyter_notebooks/soclabs/soclabs_cm0sdk_mcu.ipynb rename to Cortex-M0/soclabs_demo/systems/cortex_m0_mcu/fpga_imp/pynq_export/pynq_z2/jupyter_notebooks/soclabs/soclabs_cm0sdk_mcu.ipynb diff --git a/Cortex-M0/soclabs_demo/systems/cortex_m0_mcu/fpga_imp/pynq_export/pz2/jupyter_notebooks/soclabs/driver/uartlite.py b/Cortex-M0/soclabs_demo/systems/cortex_m0_mcu/fpga_imp/pynq_export/pynq_zcu104/jupyter_notebooks/soclabs/driver/uartlite.py similarity index 100% rename from Cortex-M0/soclabs_demo/systems/cortex_m0_mcu/fpga_imp/pynq_export/pz2/jupyter_notebooks/soclabs/driver/uartlite.py rename to Cortex-M0/soclabs_demo/systems/cortex_m0_mcu/fpga_imp/pynq_export/pynq_zcu104/jupyter_notebooks/soclabs/driver/uartlite.py diff --git a/Cortex-M0/soclabs_demo/systems/cortex_m0_mcu/fpga_imp/pynq_export/pz104/jupyter_notebooks/soclabs/soclabs_cm0sdk_mcu.ipynb b/Cortex-M0/soclabs_demo/systems/cortex_m0_mcu/fpga_imp/pynq_export/pynq_zcu104/jupyter_notebooks/soclabs/soclabs_cm0sdk_mcu.ipynb similarity index 100% rename from Cortex-M0/soclabs_demo/systems/cortex_m0_mcu/fpga_imp/pynq_export/pz104/jupyter_notebooks/soclabs/soclabs_cm0sdk_mcu.ipynb rename to Cortex-M0/soclabs_demo/systems/cortex_m0_mcu/fpga_imp/pynq_export/pynq_zcu104/jupyter_notebooks/soclabs/soclabs_cm0sdk_mcu.ipynb diff --git a/Cortex-M0/soclabs_demo/systems/cortex_m0_mcu/fpga_imp/scripts/build_mcu_fpga_ip.tcl b/Cortex-M0/soclabs_demo/systems/cortex_m0_mcu/fpga_imp/scripts/build_mcu_fpga_ip.tcl index b6125928170826302b2dbb3d19d489f65cd06c96..07511ba729becbe0fabfd0afdbe4988952e97850 100644 --- a/Cortex-M0/soclabs_demo/systems/cortex_m0_mcu/fpga_imp/scripts/build_mcu_fpga_ip.tcl +++ b/Cortex-M0/soclabs_demo/systems/cortex_m0_mcu/fpga_imp/scripts/build_mcu_fpga_ip.tcl @@ -27,7 +27,7 @@ file mkdir $outputDir # local search path for configurations set search_path ../verilog -set cortexm0_vlog ../../../../../../arm-AAA-ip/Cortex-M0/AT510-BU-00000-r0p0-03rel3/logical +set cortexm0_vlog ../../../../../../arm-AAA-ip/latest/Cortex-M0/logical source scripts/rtl_source_cm0.tcl set search_path [ concat $search_path $cortexm0_vlog/cortexm0_integration/verilog ] @@ -35,7 +35,7 @@ read_verilog [ glob $cortexm0_vlog/cortexm0_integration/verilog/*.v ] read_verilog [ glob $cortexm0_vlog/models/cells/*.v ] # Arm unmodified CMSDK RTL -set cmsdk_vlog ../../../../../../arm-AAA-ip/Corstone-101_Foundation_IP/BP210-BU-00000-r1p1-00rel0 +set cmsdk_vlog ../../../../../../arm-AAA-ip/latest/Corstone-101 source scripts/rtl_source_cmsdk.tcl set search_path [ concat $search_path $cmsdk_vlog/logical/models/memories ] @@ -47,7 +47,7 @@ read_verilog $cmsdk_vlog/logical/models/memories/cmsdk_fpga_sram.v # configured Arm DMA-PL230 RTL (include ../verilog/pl230_defs.v for local configuration, not the distribution, already on search path) ##set search_path [ concat $search_path ../verilog ] -set dma230_vlog ../../../../../../arm-AAA-ip/DMA-230_MicroDMA_Controller/PL230-BU-00000-r0p0-02rel2/shared/logical/pl230_udma/verilog +set dma230_vlog ../../../../../../arm-AAA-ip/latest/DMA-230/logical source scripts/rtl_source_dma230.tcl # ADP, FT1248 and streamio IP diff --git a/Cortex-M0/soclabs_demo/systems/cortex_m0_mcu/fpga_imp/scripts/build_mcu_fpga_pynq_z2.tcl b/Cortex-M0/soclabs_demo/systems/cortex_m0_mcu/fpga_imp/scripts/build_mcu_fpga_pynq_z2.tcl index 450ae3cc4c720ded8cf8bc7ce2b5eb96fc03db37..138c3e3a9cf97733a8a28de2deaafab2ca15a03e 100644 --- a/Cortex-M0/soclabs_demo/systems/cortex_m0_mcu/fpga_imp/scripts/build_mcu_fpga_pynq_z2.tcl +++ b/Cortex-M0/soclabs_demo/systems/cortex_m0_mcu/fpga_imp/scripts/build_mcu_fpga_pynq_z2.tcl @@ -21,8 +21,8 @@ set project project_pynq_z2 set importDir target_fpga_pynq_z2 set ipDir ./ip_repo set mcuDir ./vivado/built_mcu_fpga/MCULIB -set pynqDir pynq_export/pz2/pynq/overlays/soclabs -set exportDir /research/soclabs/pynq_export/pz2/pynq/overlays/soclabs +set pynqDir pynq_export/pynq_z2/pynq/overlays/soclabs +set exportDir /research/soclabs/pynq_export/pynq_z2/pynq/overlays/soclabs #set_property BOARD_PART tul.com:pynq-z2:part0:1.1 [current_project] # @@ -66,15 +66,15 @@ create_root_design "" add_files -norecurse -scan_for_includes ../verilog/cmsdk_mcu_defs.v set_property is_global_include true [get_files ../verilog/cmsdk_mcu_defs.v] -add_files -norecurse -scan_for_includes {../../../../../../arm-AAA-ip/Corstone-101_Foundation_IP/BP210-BU-00000-r1p1-00rel0/logical/models/memories/cmsdk_ahb_memory_models_defs.v ../../../../../../arm-AAA-ip/Corstone-101_Foundation_IP/BP210-BU-00000-r1p1-00rel0/logical/cmsdk_apb_dualtimers/verilog/cmsdk_apb_dualtimers_defs.v ../../../../../../arm-AAA-ip/Corstone-101_Foundation_IP/BP210-BU-00000-r1p1-00rel0/logical/cmsdk_apb_watchdog/verilog/cmsdk_apb_watchdog_defs.v} -set_property is_global_include true [get_files ../../../../../../arm-AAA-ip/Corstone-101_Foundation_IP/BP210-BU-00000-r1p1-00rel0/logical/models/memories/cmsdk_ahb_memory_models_defs.v] -set_property is_global_include true [get_files ../../../../../../arm-AAA-ip/Corstone-101_Foundation_IP/BP210-BU-00000-r1p1-00rel0/logical/cmsdk_apb_dualtimers/verilog/cmsdk_apb_dualtimers_defs.v] -set_property is_global_include true [get_files ../../../../../../arm-AAA-ip/Corstone-101_Foundation_IP/BP210-BU-00000-r1p1-00rel0/logical/cmsdk_apb_watchdog/verilog/cmsdk_apb_watchdog_defs.v] +add_files -norecurse -scan_for_includes {../../../../../../arm-AAA-ip/latest/Corstone-101/logical/models/memories/cmsdk_ahb_memory_models_defs.v ../../../../../../arm-AAA-ip/latest/Corstone-101/logical/cmsdk_apb_dualtimers/verilog/cmsdk_apb_dualtimers_defs.v ../../../../../../arm-AAA-ip/latest/Corstone-101/logical/cmsdk_apb_watchdog/verilog/cmsdk_apb_watchdog_defs.v} +set_property is_global_include true [get_files ../../../../../../arm-AAA-ip/latest/Corstone-101/logical/models/memories/cmsdk_ahb_memory_models_defs.v] +set_property is_global_include true [get_files ../../../../../../arm-AAA-ip/latest/Corstone-101/logical/cmsdk_apb_dualtimers/verilog/cmsdk_apb_dualtimers_defs.v] +set_property is_global_include true [get_files ../../../../../../arm-AAA-ip/latest/Corstone-101/logical/cmsdk_apb_watchdog/verilog/cmsdk_apb_watchdog_defs.v] -set_property file_type {Verilog Header} [get_files ../../../../../../arm-AAA-ip/Corstone-101_Foundation_IP/BP210-BU-00000-r1p1-00rel0/logical/models/memories/cmsdk_ahb_memory_models_defs.v] -set_property file_type {Verilog Header} [get_files ../../../../../../soclabs-cortexm0-mcu/Cortex-M0/soclabs_demo/systems/cortex_m0_mcu/verilog/cmsdk_mcu_defs.v] -set_property file_type {Verilog Header} [get_files ../../../../../../arm-AAA-ip/Corstone-101_Foundation_IP/BP210-BU-00000-r1p1-00rel0/logical/cmsdk_apb_dualtimers/verilog/cmsdk_apb_dualtimers_defs.v] -set_property file_type {Verilog Header} [get_files ../../../../../../arm-AAA-ip/Corstone-101_Foundation_IP/BP210-BU-00000-r1p1-00rel0/logical/cmsdk_apb_watchdog/verilog/cmsdk_apb_watchdog_defs.v] +set_property file_type {Verilog Header} [get_files ../../../../../../arm-AAA-ip/latest/Corstone-101/logical/models/memories/cmsdk_ahb_memory_models_defs.v] +set_property file_type {Verilog Header} [get_files ../verilog/cmsdk_mcu_defs.v] +set_property file_type {Verilog Header} [get_files ../../../../../../arm-AAA-ip/latest/Corstone-101/logical/cmsdk_apb_dualtimers/verilog/cmsdk_apb_dualtimers_defs.v] +set_property file_type {Verilog Header} [get_files ../../../../../../arm-AAA-ip/latest/Corstone-101/logical/cmsdk_apb_watchdog/verilog/cmsdk_apb_watchdog_defs.v] add_files $importDir/fpga_pinmap.xdc diff --git a/Cortex-M0/soclabs_demo/systems/cortex_m0_mcu/fpga_imp/scripts/build_mcu_fpga_pynq_zcu104.tcl b/Cortex-M0/soclabs_demo/systems/cortex_m0_mcu/fpga_imp/scripts/build_mcu_fpga_pynq_zcu104.tcl index 24311bd5faaca03fc8de7b08cb3d62d513aea8d0..679a6ae8c7a659ed5670a2b6fc9cdf3af26e14df 100644 --- a/Cortex-M0/soclabs_demo/systems/cortex_m0_mcu/fpga_imp/scripts/build_mcu_fpga_pynq_zcu104.tcl +++ b/Cortex-M0/soclabs_demo/systems/cortex_m0_mcu/fpga_imp/scripts/build_mcu_fpga_pynq_zcu104.tcl @@ -21,7 +21,7 @@ set project project_pynq_zcu104 set importDir target_fpga_zcu104 set ipDir ./ip_repo set mcuDir ./vivado/built_mcu_fpga/MCULIB -set pynqDir pynq_export/pz104/pynq/overlays/soclabs +set pynqDir pynq_export/pynq_zcu104/pynq/overlays/soclabs #set_property BOARD_PART xilinx.com:zcu104:part0:1.1 [current_project] # @@ -65,15 +65,15 @@ create_root_design "" add_files -norecurse -scan_for_includes ../verilog/cmsdk_mcu_defs.v set_property is_global_include true [get_files ../verilog/cmsdk_mcu_defs.v] -add_files -norecurse -scan_for_includes {../../../../../../arm-AAA-ip/Corstone-101_Foundation_IP/BP210-BU-00000-r1p1-00rel0/logical/models/memories/cmsdk_ahb_memory_models_defs.v ../../../../../../arm-AAA-ip/Corstone-101_Foundation_IP/BP210-BU-00000-r1p1-00rel0/logical/cmsdk_apb_dualtimers/verilog/cmsdk_apb_dualtimers_defs.v ../../../../../../arm-AAA-ip/Corstone-101_Foundation_IP/BP210-BU-00000-r1p1-00rel0/logical/cmsdk_apb_watchdog/verilog/cmsdk_apb_watchdog_defs.v} -set_property is_global_include true [get_files ../../../../../../arm-AAA-ip/Corstone-101_Foundation_IP/BP210-BU-00000-r1p1-00rel0/logical/models/memories/cmsdk_ahb_memory_models_defs.v] -set_property is_global_include true [get_files ../../../../../../arm-AAA-ip/Corstone-101_Foundation_IP/BP210-BU-00000-r1p1-00rel0/logical/cmsdk_apb_dualtimers/verilog/cmsdk_apb_dualtimers_defs.v] -set_property is_global_include true [get_files ../../../../../../arm-AAA-ip/Corstone-101_Foundation_IP/BP210-BU-00000-r1p1-00rel0/logical/cmsdk_apb_watchdog/verilog/cmsdk_apb_watchdog_defs.v] +add_files -norecurse -scan_for_includes {../../../../../../arm-AAA-ip/latest/Corstone-101/logical/models/memories/cmsdk_ahb_memory_models_defs.v ../../../../../../arm-AAA-ip/latest/Corstone-101/logical/cmsdk_apb_dualtimers/verilog/cmsdk_apb_dualtimers_defs.v ../../../../../../arm-AAA-ip/latest/Corstone-101/logical/cmsdk_apb_watchdog/verilog/cmsdk_apb_watchdog_defs.v} +set_property is_global_include true [get_files ../../../../../../arm-AAA-ip/latest/Corstone-101/logical/models/memories/cmsdk_ahb_memory_models_defs.v] +set_property is_global_include true [get_files ../../../../../../arm-AAA-ip/latest/Corstone-101/logical/cmsdk_apb_dualtimers/verilog/cmsdk_apb_dualtimers_defs.v] +set_property is_global_include true [get_files ../../../../../../arm-AAA-ip/latest/Corstone-101/logical/cmsdk_apb_watchdog/verilog/cmsdk_apb_watchdog_defs.v] -set_property file_type {Verilog Header} [get_files ../../../../../../arm-AAA-ip/Corstone-101_Foundation_IP/BP210-BU-00000-r1p1-00rel0/logical/models/memories/cmsdk_ahb_memory_models_defs.v] -set_property file_type {Verilog Header} [get_files ../../../../../../soclabs-cortexm0-mcu/Cortex-M0/soclabs_demo/systems/cortex_m0_mcu/verilog/cmsdk_mcu_defs.v] -set_property file_type {Verilog Header} [get_files ../../../../../../arm-AAA-ip/Corstone-101_Foundation_IP/BP210-BU-00000-r1p1-00rel0/logical/cmsdk_apb_dualtimers/verilog/cmsdk_apb_dualtimers_defs.v] -set_property file_type {Verilog Header} [get_files ../../../../../../arm-AAA-ip/Corstone-101_Foundation_IP/BP210-BU-00000-r1p1-00rel0/logical/cmsdk_apb_watchdog/verilog/cmsdk_apb_watchdog_defs.v] +set_property file_type {Verilog Header} [get_files ../../../../../../arm-AAA-ip/latest/Corstone-101/logical/models/memories/cmsdk_ahb_memory_models_defs.v] +set_property file_type {Verilog Header} [get_files ../verilog/cmsdk_mcu_defs.v] +set_property file_type {Verilog Header} [get_files ../../../../../../arm-AAA-ip/latest/Corstone-101/logical/cmsdk_apb_dualtimers/verilog/cmsdk_apb_dualtimers_defs.v] +set_property file_type {Verilog Header} [get_files ../../../../../../arm-AAA-ip/latest/Corstone-101/logical/cmsdk_apb_watchdog/verilog/cmsdk_apb_watchdog_defs.v] add_files $importDir/fpga_pinmap.xdc diff --git a/fpgabuild.sh b/fpgabuild.sh new file mode 100755 index 0000000000000000000000000000000000000000..d69eb21538347f70c9cdee5c35f9e202496c675e --- /dev/null +++ b/fpgabuild.sh @@ -0,0 +1,34 @@ +#----------------------------------------------------------------------------- +# SoC Labs Simulation script for system level verification +# A joint work commissioned on behalf of SoC Labs, under Arm Academic Access license. +# +# Contributors +# +# David Fltnn (d.w.flynne@soton.ac.uk) +# +# Copyright 2023, SoC Labs (www.soclabs.org) +#----------------------------------------------------------------------------- + +#!/usr/bin/env bash + +# Get simulation name from name of script +FPGA_NAME="build_fpga_"$1 + +# Directory to put simulation files +FPGA_DIR=$SOCLABS_PROJECT_DIR/fpga/$FPGA_NAME + +# Create Directory to export fpga files +mkdir -p $FPGA_DIR +cd $ARM_CMSDK_MCU_DIR/fpga_imp + +# build fpga +echo "valid targets are:" +echo " pynq_z2" +echo " pynq_zcu104" +echo " clean" + +echo ">>"${1}"<<" +cd $ARM_CMSDK_MCU_DIR/fpga_imp ; source $FPGA_NAME.scr +if [ ${1} != 'clean' ]; then + cp -Rp $ARM_CMSDK_MCU_DIR/fpga_imp/pynq_export/$1/* $FPGA_DIR/ +fi