From f64b582c4c1da83166892a4bd7d2bc9c66d860f7 Mon Sep 17 00:00:00 2001
From: dam1n19 <dam1n19@soton.ac.uk>
Date: Sat, 3 Jun 2023 22:10:12 +0100
Subject: [PATCH] Further Restructured Repository to change directoyr hierarchy

---
 .../CI_verification/.gitkeep                  |   0
 .../CI_verification/load_bitfile.py           |   0
 .../CI_verification/load_file_output          |   0
 .../CI_verification/run_ADP_verification.py   |   0
 .../CI_verification/test_bitfile_ZCU104.sh    |   0
 .../build_fpga_arm_MPS3.scr                   |   0
 .../build_fpga_pynq_z2.scr                    |   0
 .../build_fpga_pynq_zcu104.scr                |   0
 {system/fpga_imp => fpga_imp}/clean_fpga.scr  |   0
 .../ip_repo/ADPcontrol_1.0/bd/bd.tcl          |   0
 .../ip_repo/ADPcontrol_1.0/component.xml      |   0
 .../ADPcontrol_1.0/hdl/ADPcontrol_v1_0.v      |   0
 .../hdl/ADPcontrol_v1_0_com_rx.v              |   0
 .../hdl/ADPcontrol_v1_0_com_tx.v              |   0
 .../hdl/ADPcontrol_v1_0_stdio_rx.v            |   0
 .../hdl/ADPcontrol_v1_0_stdio_tx.v            |   0
 .../soclabs.org_user_ADPcontrol_1.0.zip       | Bin
 .../ADPcontrol_1.0/src/ADPcontrol_v1_0.v      |   0
 .../ip_repo/ADPcontrol_1.0/src/ADPmanager.v   |   0
 .../ADPcontrol_1.0/xgui/ADPcontrol_v1_0.tcl   |   0
 .../ip_repo/axi_stream_io_1.0/bd/bd.tcl       |   0
 .../ip_repo/axi_stream_io_1.0/component.xml   |   0
 .../axi_stream_io_v1_0/data/axi_stream_io.mdd |   0
 .../axi_stream_io_v1_0/data/axi_stream_io.tcl |   0
 .../drivers/axi_stream_io_v1_0/src/Makefile   |   0
 .../axi_stream_io_v1_0/src/axi_stream_io.c    |   0
 .../axi_stream_io_v1_0/src/axi_stream_io.h    |   0
 .../src/axi_stream_io_selftest.c              |   0
 .../soclabs.org_user_axi_stream_io_1.0.zip    | Bin
 .../src/axi_stream_io_v1_0_axi_s.v            |   0
 .../xgui/axi_stream_io_v1_0.tcl               |   0
 .../ft1248x1_to_axi_streamio_1.0/bd/bd.tcl    |   0
 .../component.xml                             |   0
 .../ft1248x1_to_axi_streamio_0_2.xcix         | Bin
 .../hdl/SYNCHRONIZER_EDGES.v                  |   0
 .../hdl/ft1248x1_to_axi_streamio_v1_0.v       |   0
 .../hdl/ft1248x1_to_axi_streamio_v1_0_rxd8.v  |   0
 .../hdl/ft1248x1_to_axi_streamio_v1_0_txd8.v  |   0
 ....org_user_ft1248x1_to_axi_streamio_1.0.zip | Bin
 .../xgui/ft1248x1_to_axi_streamio_v1_0.tcl    |   0
 .../ip_repo/ft1248x1_to_stream8_1.0/bd/bd.tcl |   0
 .../ft1248x1_to_stream8_1.0/component.xml     |   0
 .../ft1248x1_to_stream8_0.xcix                | Bin
 .../hdl/ft1248x1_to_stream8_v1_0.v            |   0
 .../hdl/ft1248x1_to_stream8_v1_0_RXD8.v       |   0
 .../hdl/ft1248x1_to_stream8_v1_0_TXD8.v       |   0
 .../ip_project_archive.zip                    | Bin
 ...clabs.org_user_ft1248x1_to_stream8_1.0.zip | Bin
 .../src/ft1248x1_to_stream8.v                 |   0
 .../ft1248x1_to_stream8_1.0/src/synclib.v     |   0
 .../xgui/ft1248x1_to_stream8_v1_0.tcl         |   0
 .../soclabs/arm_tests/aes128_tests.bin        | Bin
 .../soclabs/driver/uartlite.py                |   0
 .../soclabs/nanosoc-ADP-validation.ipynb      |   0
 .../soclabs/nanosoc-ADPtest.ipynb             |   0
 .../soclabs/nanosoc-iotest.ipynb              |   0
 .../soclabs/driver/uartlite.py                |   0
 .../soclabs/nanosoc-ADP-validation.ipynb      |   0
 .../soclabs/nanosoc-ADPtest.ipynb             |   0
 .../soclabs/nanosoc-iotest.ipynb              |   0
 .../scripts/build_mcu_fpga_arm_mps3.tcl       |   0
 .../scripts/build_mcu_fpga_batch.tcl          |   0
 .../scripts/build_mcu_fpga_ip.tcl             |   0
 .../scripts/build_mcu_fpga_pynq_z2.tcl        |   0
 .../scripts/build_mcu_fpga_pynq_zcu104.tcl    |   0
 .../scripts/rtl_source_cm0.tcl                |   0
 .../scripts/rtl_source_cmsdk.tcl              |   0
 .../scripts/rtl_source_dma230.tcl             |   0
 .../scripts/rtl_source_fpga_ip.tcl            |   0
 .../scripts/rtl_source_soclabs_ip.tcl         |   0
 .../target_fpga_ac701/fpga_pinmap.xdc         |   0
 .../target_fpga_ac701/fpga_synth.tcl          |   0
 .../target_fpga_ac701/fpga_timing.xdc         |   0
 .../target_fpga_arm_mps3/design_1.tcl         |   0
 .../target_fpga_arm_mps3/design_1_wrapper.v   |   0
 .../target_fpga_arm_mps3/fpga_pinmap.xdc      |   0
 .../target_fpga_arm_mps3/fpga_synth.tcl       |   0
 .../target_fpga_arm_mps3/fpga_timing.xdc      |   0
 .../target_fpga_pynq_z2/design_1.tcl          |   0
 .../target_fpga_pynq_z2/design_1_wrapper.v    |   0
 .../target_fpga_pynq_z2/fpga_pinmap.xdc       |   0
 .../target_fpga_pynq_z2/fpga_synth.tcl        |   0
 .../target_fpga_pynq_z2/fpga_timing.xdc       |   0
 .../target_fpga_zcu104/design_1.tcl           |   0
 .../target_fpga_zcu104/design_1_wrapper.v     |   0
 .../target_fpga_zcu104/fpga_pinmap.xdc        |   0
 .../target_fpga_zcu104/fpga_synth.tcl         |   0
 .../target_fpga_zcu104/fpga_timing.xdc        |   0
 system/makefile => makefile                   |   0
 system/aes/aes128_tests/makefile              | 262 -------
 system/aes/src/nanosoc_acc_wrapper.v          |  75 --
 system/aes/src/nanosoc_exp_wrapper.v          |  76 --
 system/aes/src/soclabs_ahb_aes128_ctrl.v      | 583 ---------------
 system/aes/verif/aes128_log_to_file.v         | 308 --------
 system/defines/pl230_defs.v                   | 189 -----
 .../nanosoc_ahb32_4x7_busmatrix.xml           |   0
 .../nanosoc_ahb32_4x7_busmatrix_lite.xml      |   0
 .../nanosoc_busmatrix/nanosoc_busmatrix.xml   |   0
 .../nanosoc_busmatrix_lite.xml                |   0
 .../nanosoc_busmatrix/logs/nanosoc.log        |   0
 system/{src => }/nanosoc_busmatrix/makefile   |   0
 .../nanosoc_arbiter_bootrom.v                 |   0
 .../nanosoc_busmatrix/nanosoc_arbiter_dmem.v  |   0
 .../nanosoc_busmatrix/nanosoc_arbiter_exp.v   |   0
 .../nanosoc_arbiter_expram_h.v                |   0
 .../nanosoc_arbiter_expram_l.v                |   0
 .../nanosoc_busmatrix/nanosoc_arbiter_imem.v  |   0
 .../nanosoc_busmatrix/nanosoc_arbiter_sysio.v |   0
 .../nanosoc_arbiter_systable.v                |   0
 .../nanosoc_busmatrix/nanosoc_busmatrix.v     |   0
 .../nanosoc_busmatrix_default_slave.v         |   0
 .../nanosoc_busmatrix_lite.v                  |   0
 .../nanosoc_inititator_input.v                |   0
 .../nanosoc_matrix_decode_cpu.v               |   0
 .../nanosoc_matrix_decode_dma_0.v             |   0
 .../nanosoc_matrix_decode_dma_1.v             |   0
 .../nanosoc_matrix_decode_socdebug.v          |   0
 .../nanosoc_target_output_bootrom.v           |   0
 .../nanosoc_target_output_dmem.v              |   0
 .../nanosoc_target_output_exp.v               |   0
 .../nanosoc_target_output_expram_h.v          |   0
 .../nanosoc_target_output_expram_l.v          |   0
 .../nanosoc_target_output_imem.v              |   0
 .../nanosoc_target_output_sysio.v             |   0
 .../nanosoc_target_output_systable.v          |   0
 .../nanosoc_busmatrix/xml/nanosoc.xml         |   0
 .../nanosoc_chip/chip/verilog/nanosoc_chip.v  |   0
 .../chip/verilog/nanosoc_chip_new.v           |   0
 .../control/verilog/nanosoc_clkctrl.v         |   0
 .../control/verilog/nanosoc_pin_mux.v         |   0
 .../pads/glib/verilog/nanosoc_chip_pads.v     |   0
 .../cpu/verilog/nanosoc_manager_cpu.v         |   0
 .../cpu/verilog/nanosoc_stclkctrl.v           |   0
 .../verilog/nanosoc_manager_socdebug.v        |   0
 .../bootrom/verilog/nanosoc_ahb_bootrom.v     |   0
 .../bootrom/verilog/nanosoc_region_bootrom.v  |   0
 .../dmem/verilog/nanosoc_region_dmem.v        |   0
 .../exp/verilog/nanosoc_region_exp.v          |   0
 .../expram_h/verilog/nanosoc_region_expram__h |   0
 .../verilog/nanosoc_region_expram_l.v         |   0
 .../imem/verilog/nanosoc_region_imem.v        |   0
 .../sysio/verilog/nanosoc_apb_subsystem.v     |   0
 .../sysio/verilog/nanosoc_region_sysio.v      |   0
 .../sysio/verilog/nanosoc_sysctrl.v           |   0
 .../sysio/verilog/nanosoc_sysio_decode.v      |   0
 .../verilog/nanosoc_ahb_cs_rom_table.v        |   0
 .../verilog/nanosoc_region_systable.v         |   0
 .../nanosoc_sys/verilog/nanosoc_sys.v         |   0
 system/testcodes/aes128_tests/aes128.h        |  71 --
 system/testcodes/aes128_tests/aes128_tests.c  | 688 ------------------
 .../testcodes/aes128_tests/dma_pl230_driver.c | 163 -----
 .../testcodes/aes128_tests/dma_pl230_driver.h | 198 -----
 system/work/_info                             |  10 -
 .../testcodes => testcodes}/adp_demo/adp.cmd  |   0
 .../aes => testcodes}/aes128_tests/aes128.h   |   0
 .../aes128_tests/aes128_tests.c               |   0
 .../aes128_tests/dma_pl230_driver.c           |   0
 .../aes128_tests/dma_pl230_driver.h           |   0
 .../aes128_tests/makefile                     |   0
 .../apb_mux_tests/apb_mux_tests_cm0.uvopt     |   0
 .../apb_mux_tests/apb_mux_tests_cm0.uvproj    |   0
 .../apb_mux_tests/apb_mux_tests_cm0p.uvopt    |   0
 .../apb_mux_tests/apb_mux_tests_cm0p.uvproj   |   0
 .../apb_mux_tests/makefile                    |   0
 .../bootloader/bootloader_cm0.uvopt           |   0
 .../bootloader/bootloader_cm0.uvproj          |   0
 .../bootloader/bootloader_cm0p.uvopt          |   0
 .../bootloader/bootloader_cm0p.uvproj         |   0
 .../bootloader/bootloader_defs.makefile       |   0
 .../bootloader/bootrom_gen.py                 |   0
 .../bootloader/makefile                       |   0
 .../debug_tests/debug_tests_cm0.uvopt         |   0
 .../debug_tests/debug_tests_cm0.uvproj        |   0
 .../debug_tests/debug_tests_cm0p.uvopt        |   0
 .../debug_tests/debug_tests_cm0p.uvproj       |   0
 .../debug_tests/makefile                      |   0
 .../default_slaves_tests_cm0.uvopt            |   0
 .../default_slaves_tests_cm0.uvproj           |   0
 .../default_slaves_tests_cm0p.uvopt           |   0
 .../default_slaves_tests_cm0p.uvproj          |   0
 .../default_slaves_tests/makefile             |   0
 {system/testcodes => testcodes}/defs.makefile |   0
 .../dhry/dhry_cm0.uvopt                       |   0
 .../dhry/dhry_cm0.uvproj                      |   0
 .../dhry/dhry_cm0p.uvopt                      |   0
 .../dhry/dhry_cm0p.uvproj                     |   0
 {system/testcodes => testcodes}/dhry/makefile |   0
 .../testcodes => testcodes}/dhry/transcript   |   0
 .../dma_tests/dma_tests_cm0.uvopt             |   0
 .../dma_tests/dma_tests_cm0.uvproj            |   0
 .../dma_tests/dma_tests_cm0p.uvopt            |   0
 .../dma_tests/dma_tests_cm0p.uvproj           |   0
 .../dma_tests/makefile                        |   0
 .../dualtimer_demo/dualtimer_demo_cm0.uvopt   |   0
 .../dualtimer_demo/dualtimer_demo_cm0.uvproj  |   0
 .../dualtimer_demo/dualtimer_demo_cm0p.uvopt  |   0
 .../dualtimer_demo/dualtimer_demo_cm0p.uvproj |   0
 .../dualtimer_demo/makefile                   |   0
 .../generic/config_id.h                       |   0
 .../generic/mcu_debugtester_interface.c       |   0
 .../generic/mcu_debugtester_interface.h       |   0
 .../gpio_driver_tests_cm0.uvopt               |   0
 .../gpio_driver_tests_cm0.uvproj              |   0
 .../gpio_driver_tests_cm0p.uvopt              |   0
 .../gpio_driver_tests_cm0p.uvproj             |   0
 .../gpio_driver_tests/makefile                |   0
 .../gpio_tests/gpio_tests_cm0.uvopt           |   0
 .../gpio_tests/gpio_tests_cm0.uvproj          |   0
 .../gpio_tests/gpio_tests_cm0p.uvopt          |   0
 .../gpio_tests/gpio_tests_cm0p.uvproj         |   0
 .../gpio_tests/makefile                       |   0
 .../testcodes => testcodes}/hello/.project    |   0
 {system/testcodes => testcodes}/hello/hello.c |   0
 .../hello/hello_cm0.uvopt                     |   0
 .../hello/hello_cm0.uvproj                    |   0
 .../hello/hello_cm0p.uvopt                    |   0
 .../hello/hello_cm0p.uvproj                   |   0
 .../testcodes => testcodes}/hello/makefile    |   0
 .../interrupt_demo/interrupt_demo_cm0.uvopt   |   0
 .../interrupt_demo/interrupt_demo_cm0.uvproj  |   0
 .../interrupt_demo/interrupt_demo_cm0p.uvopt  |   0
 .../interrupt_demo/interrupt_demo_cm0p.uvproj |   0
 .../interrupt_demo/makefile                   |   0
 {system/testcodes => testcodes}/makefile      |   0
 .../memory_tests/makefile                     |   0
 .../memory_tests/memory_tests_cm0.uvopt       |   0
 .../memory_tests/memory_tests_cm0.uvproj      |   0
 .../memory_tests/memory_tests_cm0p.uvopt      |   0
 .../memory_tests/memory_tests_cm0p.uvproj     |   0
 .../romtable_tests/makefile                   |   0
 .../romtable_tests/romtable_tests_cm0.uvopt   |   0
 .../romtable_tests/romtable_tests_cm0.uvproj  |   0
 .../romtable_tests/romtable_tests_cm0p.uvopt  |   0
 .../romtable_tests/romtable_tests_cm0p.uvproj |   0
 .../rtx_demo/RTX_Config.c                     |   0
 .../testcodes => testcodes}/rtx_demo/makefile |   0
 .../rtx_demo/rtx_demo.c                       |   0
 .../rtx_demo/rtx_demo_cm0.hex                 |   0
 .../rtx_demo/rtx_demo_cm0.uvopt               |   0
 .../rtx_demo/rtx_demo_cm0.uvproj              |   0
 .../rtx_demo/rtx_demo_cm0p.hex                |   0
 .../rtx_demo/rtx_demo_cm0p.uvopt              |   0
 .../rtx_demo/rtx_demo_cm0p.uvproj             |   0
 .../self_reset_demo/makefile                  |   0
 .../self_reset_demo/self_reset_demo_cm0.uvopt |   0
 .../self_reset_demo_cm0.uvproj                |   0
 .../self_reset_demo_cm0p.uvopt                |   0
 .../self_reset_demo_cm0p.uvproj               |   0
 .../sleep_demo/makefile                       |   0
 .../sleep_demo/sleep_demo_cm0.uvopt           |   0
 .../sleep_demo/sleep_demo_cm0.uvproj          |   0
 .../sleep_demo/sleep_demo_cm0p.uvopt          |   0
 .../sleep_demo/sleep_demo_cm0p.uvproj         |   0
 .../testcodes => testcodes}/software_list.txt |   0
 .../timer_driver_tests/makefile               |   0
 .../timer_driver_tests_cm0.uvopt              |   0
 .../timer_driver_tests_cm0.uvproj             |   0
 .../timer_driver_tests_cm0p.uvopt             |   0
 .../timer_driver_tests_cm0p.uvproj            |   0
 .../timer_tests/makefile                      |   0
 .../timer_tests/timer_tests_cm0.uvopt         |   0
 .../timer_tests/timer_tests_cm0.uvproj        |   0
 .../timer_tests/timer_tests_cm0p.uvopt        |   0
 .../timer_tests/timer_tests_cm0p.uvproj       |   0
 .../uart_driver_tests/makefile                |   0
 .../uart_driver_tests_cm0.uvopt               |   0
 .../uart_driver_tests_cm0.uvproj              |   0
 .../uart_driver_tests_cm0p.uvopt              |   0
 .../uart_driver_tests_cm0p.uvproj             |   0
 .../uart_tests/makefile                       |   0
 .../uart_tests/uart_tests_cm0.uvopt           |   0
 .../uart_tests/uart_tests_cm0.uvproj          |   0
 .../uart_tests/uart_tests_cm0p.uvopt          |   0
 .../uart_tests/uart_tests_cm0p.uvproj         |   0
 .../watchdog_demo/makefile                    |   0
 .../watchdog_demo/watchdog_demo_cm0.uvopt     |   0
 .../watchdog_demo/watchdog_demo_cm0.uvproj    |   0
 .../watchdog_demo/watchdog_demo_cm0p.uvopt    |   0
 .../watchdog_demo/watchdog_demo_cm0p.uvproj   |   0
 .../verilog/nanosoc_acc_log_to_file.v         |   0
 .../verilog/nanosoc_axi_stream_io_8_buffer.v  |   0
 .../nanosoc_axi_stream_io_8_rxd_to_file.v     |   0
 .../nanosoc_axi_stream_io_8_txd_from_file.v   |   0
 .../verilog/nanosoc_clkreset.v                |   0
 .../verilog/nanosoc_dma_log_to_file.v         |   0
 .../nanosoc_ft1248x1_to_axi_streamio_v1_0.v   |   0
 .../verilog/nanosoc_ft1248x1_track.v          |   0
 {system/verif => verif}/verilog/nanosoc_tb.v  |   0
 .../verilog/nanosoc_track_tb_iostream.v       |   0
 .../verilog/nanosoc_uart_capture.v            |   0
 290 files changed, 2623 deletions(-)
 rename {system/fpga_imp => fpga_imp}/CI_verification/.gitkeep (100%)
 rename {system/fpga_imp => fpga_imp}/CI_verification/load_bitfile.py (100%)
 rename {system/fpga_imp => fpga_imp}/CI_verification/load_file_output (100%)
 rename {system/fpga_imp => fpga_imp}/CI_verification/run_ADP_verification.py (100%)
 rename {system/fpga_imp => fpga_imp}/CI_verification/test_bitfile_ZCU104.sh (100%)
 rename {system/fpga_imp => fpga_imp}/build_fpga_arm_MPS3.scr (100%)
 rename {system/fpga_imp => fpga_imp}/build_fpga_pynq_z2.scr (100%)
 rename {system/fpga_imp => fpga_imp}/build_fpga_pynq_zcu104.scr (100%)
 rename {system/fpga_imp => fpga_imp}/clean_fpga.scr (100%)
 rename {system/fpga_imp => fpga_imp}/ip_repo/ADPcontrol_1.0/bd/bd.tcl (100%)
 rename {system/fpga_imp => fpga_imp}/ip_repo/ADPcontrol_1.0/component.xml (100%)
 rename {system/fpga_imp => fpga_imp}/ip_repo/ADPcontrol_1.0/hdl/ADPcontrol_v1_0.v (100%)
 rename {system/fpga_imp => fpga_imp}/ip_repo/ADPcontrol_1.0/hdl/ADPcontrol_v1_0_com_rx.v (100%)
 rename {system/fpga_imp => fpga_imp}/ip_repo/ADPcontrol_1.0/hdl/ADPcontrol_v1_0_com_tx.v (100%)
 rename {system/fpga_imp => fpga_imp}/ip_repo/ADPcontrol_1.0/hdl/ADPcontrol_v1_0_stdio_rx.v (100%)
 rename {system/fpga_imp => fpga_imp}/ip_repo/ADPcontrol_1.0/hdl/ADPcontrol_v1_0_stdio_tx.v (100%)
 rename {system/fpga_imp => fpga_imp}/ip_repo/ADPcontrol_1.0/soclabs.org_user_ADPcontrol_1.0.zip (100%)
 rename {system/fpga_imp => fpga_imp}/ip_repo/ADPcontrol_1.0/src/ADPcontrol_v1_0.v (100%)
 rename {system/fpga_imp => fpga_imp}/ip_repo/ADPcontrol_1.0/src/ADPmanager.v (100%)
 rename {system/fpga_imp => fpga_imp}/ip_repo/ADPcontrol_1.0/xgui/ADPcontrol_v1_0.tcl (100%)
 rename {system/fpga_imp => fpga_imp}/ip_repo/axi_stream_io_1.0/bd/bd.tcl (100%)
 rename {system/fpga_imp => fpga_imp}/ip_repo/axi_stream_io_1.0/component.xml (100%)
 rename {system/fpga_imp => fpga_imp}/ip_repo/axi_stream_io_1.0/drivers/axi_stream_io_v1_0/data/axi_stream_io.mdd (100%)
 rename {system/fpga_imp => fpga_imp}/ip_repo/axi_stream_io_1.0/drivers/axi_stream_io_v1_0/data/axi_stream_io.tcl (100%)
 rename {system/fpga_imp => fpga_imp}/ip_repo/axi_stream_io_1.0/drivers/axi_stream_io_v1_0/src/Makefile (100%)
 rename {system/fpga_imp => fpga_imp}/ip_repo/axi_stream_io_1.0/drivers/axi_stream_io_v1_0/src/axi_stream_io.c (100%)
 rename {system/fpga_imp => fpga_imp}/ip_repo/axi_stream_io_1.0/drivers/axi_stream_io_v1_0/src/axi_stream_io.h (100%)
 rename {system/fpga_imp => fpga_imp}/ip_repo/axi_stream_io_1.0/drivers/axi_stream_io_v1_0/src/axi_stream_io_selftest.c (100%)
 rename {system/fpga_imp => fpga_imp}/ip_repo/axi_stream_io_1.0/soclabs.org_user_axi_stream_io_1.0.zip (100%)
 rename {system/fpga_imp => fpga_imp}/ip_repo/axi_stream_io_1.0/src/axi_stream_io_v1_0_axi_s.v (100%)
 rename {system/fpga_imp => fpga_imp}/ip_repo/axi_stream_io_1.0/xgui/axi_stream_io_v1_0.tcl (100%)
 rename {system/fpga_imp => fpga_imp}/ip_repo/ft1248x1_to_axi_streamio_1.0/bd/bd.tcl (100%)
 rename {system/fpga_imp => fpga_imp}/ip_repo/ft1248x1_to_axi_streamio_1.0/component.xml (100%)
 rename {system/fpga_imp => fpga_imp}/ip_repo/ft1248x1_to_axi_streamio_1.0/ft1248x1_to_axi_streamio_0_2.xcix (100%)
 rename {system/fpga_imp => fpga_imp}/ip_repo/ft1248x1_to_axi_streamio_1.0/hdl/SYNCHRONIZER_EDGES.v (100%)
 rename {system/fpga_imp => fpga_imp}/ip_repo/ft1248x1_to_axi_streamio_1.0/hdl/ft1248x1_to_axi_streamio_v1_0.v (100%)
 rename {system/fpga_imp => fpga_imp}/ip_repo/ft1248x1_to_axi_streamio_1.0/hdl/ft1248x1_to_axi_streamio_v1_0_rxd8.v (100%)
 rename {system/fpga_imp => fpga_imp}/ip_repo/ft1248x1_to_axi_streamio_1.0/hdl/ft1248x1_to_axi_streamio_v1_0_txd8.v (100%)
 rename {system/fpga_imp => fpga_imp}/ip_repo/ft1248x1_to_axi_streamio_1.0/soclabs.org_user_ft1248x1_to_axi_streamio_1.0.zip (100%)
 rename {system/fpga_imp => fpga_imp}/ip_repo/ft1248x1_to_axi_streamio_1.0/xgui/ft1248x1_to_axi_streamio_v1_0.tcl (100%)
 rename {system/fpga_imp => fpga_imp}/ip_repo/ft1248x1_to_stream8_1.0/bd/bd.tcl (100%)
 rename {system/fpga_imp => fpga_imp}/ip_repo/ft1248x1_to_stream8_1.0/component.xml (100%)
 rename {system/fpga_imp => fpga_imp}/ip_repo/ft1248x1_to_stream8_1.0/ft1248x1_to_stream8_0.xcix (100%)
 rename {system/fpga_imp => fpga_imp}/ip_repo/ft1248x1_to_stream8_1.0/hdl/ft1248x1_to_stream8_v1_0.v (100%)
 rename {system/fpga_imp => fpga_imp}/ip_repo/ft1248x1_to_stream8_1.0/hdl/ft1248x1_to_stream8_v1_0_RXD8.v (100%)
 rename {system/fpga_imp => fpga_imp}/ip_repo/ft1248x1_to_stream8_1.0/hdl/ft1248x1_to_stream8_v1_0_TXD8.v (100%)
 rename {system/fpga_imp => fpga_imp}/ip_repo/ft1248x1_to_stream8_1.0/ip_project_archive.zip (100%)
 rename {system/fpga_imp => fpga_imp}/ip_repo/ft1248x1_to_stream8_1.0/soclabs.org_user_ft1248x1_to_stream8_1.0.zip (100%)
 rename {system/fpga_imp => fpga_imp}/ip_repo/ft1248x1_to_stream8_1.0/src/ft1248x1_to_stream8.v (100%)
 rename {system/fpga_imp => fpga_imp}/ip_repo/ft1248x1_to_stream8_1.0/src/synclib.v (100%)
 rename {system/fpga_imp => fpga_imp}/ip_repo/ft1248x1_to_stream8_1.0/xgui/ft1248x1_to_stream8_v1_0.tcl (100%)
 rename {system/fpga_imp => fpga_imp}/pynq_export/pz104/jupyter_notebooks/soclabs/arm_tests/aes128_tests.bin (100%)
 rename {system/fpga_imp => fpga_imp}/pynq_export/pz104/jupyter_notebooks/soclabs/driver/uartlite.py (100%)
 rename {system/fpga_imp => fpga_imp}/pynq_export/pz104/jupyter_notebooks/soclabs/nanosoc-ADP-validation.ipynb (100%)
 rename {system/fpga_imp => fpga_imp}/pynq_export/pz104/jupyter_notebooks/soclabs/nanosoc-ADPtest.ipynb (100%)
 rename {system/fpga_imp => fpga_imp}/pynq_export/pz104/jupyter_notebooks/soclabs/nanosoc-iotest.ipynb (100%)
 rename {system/fpga_imp => fpga_imp}/pynq_export/pz2/jupyter_notebooks/soclabs/driver/uartlite.py (100%)
 rename {system/fpga_imp => fpga_imp}/pynq_export/pz2/jupyter_notebooks/soclabs/nanosoc-ADP-validation.ipynb (100%)
 rename {system/fpga_imp => fpga_imp}/pynq_export/pz2/jupyter_notebooks/soclabs/nanosoc-ADPtest.ipynb (100%)
 rename {system/fpga_imp => fpga_imp}/pynq_export/pz2/jupyter_notebooks/soclabs/nanosoc-iotest.ipynb (100%)
 rename {system/fpga_imp => fpga_imp}/scripts/build_mcu_fpga_arm_mps3.tcl (100%)
 rename {system/fpga_imp => fpga_imp}/scripts/build_mcu_fpga_batch.tcl (100%)
 rename {system/fpga_imp => fpga_imp}/scripts/build_mcu_fpga_ip.tcl (100%)
 rename {system/fpga_imp => fpga_imp}/scripts/build_mcu_fpga_pynq_z2.tcl (100%)
 rename {system/fpga_imp => fpga_imp}/scripts/build_mcu_fpga_pynq_zcu104.tcl (100%)
 rename {system/fpga_imp => fpga_imp}/scripts/rtl_source_cm0.tcl (100%)
 rename {system/fpga_imp => fpga_imp}/scripts/rtl_source_cmsdk.tcl (100%)
 rename {system/fpga_imp => fpga_imp}/scripts/rtl_source_dma230.tcl (100%)
 rename {system/fpga_imp => fpga_imp}/scripts/rtl_source_fpga_ip.tcl (100%)
 rename {system/fpga_imp => fpga_imp}/scripts/rtl_source_soclabs_ip.tcl (100%)
 rename {system/fpga_imp => fpga_imp}/target_fpga_ac701/fpga_pinmap.xdc (100%)
 rename {system/fpga_imp => fpga_imp}/target_fpga_ac701/fpga_synth.tcl (100%)
 rename {system/fpga_imp => fpga_imp}/target_fpga_ac701/fpga_timing.xdc (100%)
 rename {system/fpga_imp => fpga_imp}/target_fpga_arm_mps3/design_1.tcl (100%)
 rename {system/fpga_imp => fpga_imp}/target_fpga_arm_mps3/design_1_wrapper.v (100%)
 rename {system/fpga_imp => fpga_imp}/target_fpga_arm_mps3/fpga_pinmap.xdc (100%)
 rename {system/fpga_imp => fpga_imp}/target_fpga_arm_mps3/fpga_synth.tcl (100%)
 rename {system/fpga_imp => fpga_imp}/target_fpga_arm_mps3/fpga_timing.xdc (100%)
 rename {system/fpga_imp => fpga_imp}/target_fpga_pynq_z2/design_1.tcl (100%)
 rename {system/fpga_imp => fpga_imp}/target_fpga_pynq_z2/design_1_wrapper.v (100%)
 rename {system/fpga_imp => fpga_imp}/target_fpga_pynq_z2/fpga_pinmap.xdc (100%)
 rename {system/fpga_imp => fpga_imp}/target_fpga_pynq_z2/fpga_synth.tcl (100%)
 rename {system/fpga_imp => fpga_imp}/target_fpga_pynq_z2/fpga_timing.xdc (100%)
 rename {system/fpga_imp => fpga_imp}/target_fpga_zcu104/design_1.tcl (100%)
 rename {system/fpga_imp => fpga_imp}/target_fpga_zcu104/design_1_wrapper.v (100%)
 rename {system/fpga_imp => fpga_imp}/target_fpga_zcu104/fpga_pinmap.xdc (100%)
 rename {system/fpga_imp => fpga_imp}/target_fpga_zcu104/fpga_synth.tcl (100%)
 rename {system/fpga_imp => fpga_imp}/target_fpga_zcu104/fpga_timing.xdc (100%)
 rename system/makefile => makefile (100%)
 delete mode 100644 system/aes/aes128_tests/makefile
 delete mode 100644 system/aes/src/nanosoc_acc_wrapper.v
 delete mode 100644 system/aes/src/nanosoc_exp_wrapper.v
 delete mode 100644 system/aes/src/soclabs_ahb_aes128_ctrl.v
 delete mode 100644 system/aes/verif/aes128_log_to_file.v
 delete mode 100644 system/defines/pl230_defs.v
 rename system/{src => }/nanosoc_busmatrix/ipxact/nanosoc_ahb32_4x7_busmatrix/nanosoc_ahb32_4x7_busmatrix.xml (100%)
 rename system/{src => }/nanosoc_busmatrix/ipxact/nanosoc_ahb32_4x7_busmatrix/nanosoc_ahb32_4x7_busmatrix_lite.xml (100%)
 rename system/{src => }/nanosoc_busmatrix/ipxact/nanosoc_busmatrix/nanosoc_busmatrix.xml (100%)
 rename system/{src => }/nanosoc_busmatrix/ipxact/nanosoc_busmatrix/nanosoc_busmatrix_lite.xml (100%)
 rename system/{src => }/nanosoc_busmatrix/logs/nanosoc.log (100%)
 rename system/{src => }/nanosoc_busmatrix/makefile (100%)
 rename system/{src => }/nanosoc_busmatrix/verilog/nanosoc_busmatrix/nanosoc_arbiter_bootrom.v (100%)
 rename system/{src => }/nanosoc_busmatrix/verilog/nanosoc_busmatrix/nanosoc_arbiter_dmem.v (100%)
 rename system/{src => }/nanosoc_busmatrix/verilog/nanosoc_busmatrix/nanosoc_arbiter_exp.v (100%)
 rename system/{src => }/nanosoc_busmatrix/verilog/nanosoc_busmatrix/nanosoc_arbiter_expram_h.v (100%)
 rename system/{src => }/nanosoc_busmatrix/verilog/nanosoc_busmatrix/nanosoc_arbiter_expram_l.v (100%)
 rename system/{src => }/nanosoc_busmatrix/verilog/nanosoc_busmatrix/nanosoc_arbiter_imem.v (100%)
 rename system/{src => }/nanosoc_busmatrix/verilog/nanosoc_busmatrix/nanosoc_arbiter_sysio.v (100%)
 rename system/{src => }/nanosoc_busmatrix/verilog/nanosoc_busmatrix/nanosoc_arbiter_systable.v (100%)
 rename system/{src => }/nanosoc_busmatrix/verilog/nanosoc_busmatrix/nanosoc_busmatrix.v (100%)
 rename system/{src => }/nanosoc_busmatrix/verilog/nanosoc_busmatrix/nanosoc_busmatrix_default_slave.v (100%)
 rename system/{src => }/nanosoc_busmatrix/verilog/nanosoc_busmatrix/nanosoc_busmatrix_lite.v (100%)
 rename system/{src => }/nanosoc_busmatrix/verilog/nanosoc_busmatrix/nanosoc_inititator_input.v (100%)
 rename system/{src => }/nanosoc_busmatrix/verilog/nanosoc_busmatrix/nanosoc_matrix_decode_cpu.v (100%)
 rename system/{src => }/nanosoc_busmatrix/verilog/nanosoc_busmatrix/nanosoc_matrix_decode_dma_0.v (100%)
 rename system/{src => }/nanosoc_busmatrix/verilog/nanosoc_busmatrix/nanosoc_matrix_decode_dma_1.v (100%)
 rename system/{src => }/nanosoc_busmatrix/verilog/nanosoc_busmatrix/nanosoc_matrix_decode_socdebug.v (100%)
 rename system/{src => }/nanosoc_busmatrix/verilog/nanosoc_busmatrix/nanosoc_target_output_bootrom.v (100%)
 rename system/{src => }/nanosoc_busmatrix/verilog/nanosoc_busmatrix/nanosoc_target_output_dmem.v (100%)
 rename system/{src => }/nanosoc_busmatrix/verilog/nanosoc_busmatrix/nanosoc_target_output_exp.v (100%)
 rename system/{src => }/nanosoc_busmatrix/verilog/nanosoc_busmatrix/nanosoc_target_output_expram_h.v (100%)
 rename system/{src => }/nanosoc_busmatrix/verilog/nanosoc_busmatrix/nanosoc_target_output_expram_l.v (100%)
 rename system/{src => }/nanosoc_busmatrix/verilog/nanosoc_busmatrix/nanosoc_target_output_imem.v (100%)
 rename system/{src => }/nanosoc_busmatrix/verilog/nanosoc_busmatrix/nanosoc_target_output_sysio.v (100%)
 rename system/{src => }/nanosoc_busmatrix/verilog/nanosoc_busmatrix/nanosoc_target_output_systable.v (100%)
 rename system/{src => }/nanosoc_busmatrix/xml/nanosoc.xml (100%)
 rename system/{src => }/nanosoc_chip/chip/verilog/nanosoc_chip.v (100%)
 rename system/{src => }/nanosoc_chip/chip/verilog/nanosoc_chip_new.v (100%)
 rename system/{src => }/nanosoc_chip/control/verilog/nanosoc_clkctrl.v (100%)
 rename system/{src => }/nanosoc_chip/control/verilog/nanosoc_pin_mux.v (100%)
 rename system/{src => }/nanosoc_chip/pads/glib/verilog/nanosoc_chip_pads.v (100%)
 rename system/{src => }/nanosoc_managers/cpu/verilog/nanosoc_manager_cpu.v (100%)
 rename system/{src => }/nanosoc_managers/cpu/verilog/nanosoc_stclkctrl.v (100%)
 rename system/{src => }/nanosoc_managers/socdebug/verilog/nanosoc_manager_socdebug.v (100%)
 rename system/{src => }/nanosoc_regions/bootrom/verilog/nanosoc_ahb_bootrom.v (100%)
 rename system/{src => }/nanosoc_regions/bootrom/verilog/nanosoc_region_bootrom.v (100%)
 rename system/{src => }/nanosoc_regions/dmem/verilog/nanosoc_region_dmem.v (100%)
 rename system/{src => }/nanosoc_regions/exp/verilog/nanosoc_region_exp.v (100%)
 rename system/{src => }/nanosoc_regions/expram_h/verilog/nanosoc_region_expram__h (100%)
 rename system/{src => }/nanosoc_regions/expram_l/verilog/nanosoc_region_expram_l.v (100%)
 rename system/{src => }/nanosoc_regions/imem/verilog/nanosoc_region_imem.v (100%)
 rename system/{src => }/nanosoc_regions/sysio/verilog/nanosoc_apb_subsystem.v (100%)
 rename system/{src => }/nanosoc_regions/sysio/verilog/nanosoc_region_sysio.v (100%)
 rename system/{src => }/nanosoc_regions/sysio/verilog/nanosoc_sysctrl.v (100%)
 rename system/{src => }/nanosoc_regions/sysio/verilog/nanosoc_sysio_decode.v (100%)
 rename system/{src => }/nanosoc_regions/systable/verilog/nanosoc_ahb_cs_rom_table.v (100%)
 rename system/{src => }/nanosoc_regions/systable/verilog/nanosoc_region_systable.v (100%)
 rename system/{src => }/nanosoc_sys/verilog/nanosoc_sys.v (100%)
 delete mode 100644 system/testcodes/aes128_tests/aes128.h
 delete mode 100644 system/testcodes/aes128_tests/aes128_tests.c
 delete mode 100644 system/testcodes/aes128_tests/dma_pl230_driver.c
 delete mode 100644 system/testcodes/aes128_tests/dma_pl230_driver.h
 delete mode 100644 system/work/_info
 rename {system/testcodes => testcodes}/adp_demo/adp.cmd (100%)
 rename {system/aes => testcodes}/aes128_tests/aes128.h (100%)
 rename {system/aes => testcodes}/aes128_tests/aes128_tests.c (100%)
 rename {system/aes => testcodes}/aes128_tests/dma_pl230_driver.c (100%)
 rename {system/aes => testcodes}/aes128_tests/dma_pl230_driver.h (100%)
 rename {system/testcodes => testcodes}/aes128_tests/makefile (100%)
 rename {system/testcodes => testcodes}/apb_mux_tests/apb_mux_tests_cm0.uvopt (100%)
 rename {system/testcodes => testcodes}/apb_mux_tests/apb_mux_tests_cm0.uvproj (100%)
 rename {system/testcodes => testcodes}/apb_mux_tests/apb_mux_tests_cm0p.uvopt (100%)
 rename {system/testcodes => testcodes}/apb_mux_tests/apb_mux_tests_cm0p.uvproj (100%)
 rename {system/testcodes => testcodes}/apb_mux_tests/makefile (100%)
 rename {system/testcodes => testcodes}/bootloader/bootloader_cm0.uvopt (100%)
 rename {system/testcodes => testcodes}/bootloader/bootloader_cm0.uvproj (100%)
 rename {system/testcodes => testcodes}/bootloader/bootloader_cm0p.uvopt (100%)
 rename {system/testcodes => testcodes}/bootloader/bootloader_cm0p.uvproj (100%)
 rename {system/testcodes => testcodes}/bootloader/bootloader_defs.makefile (100%)
 rename {system/testcodes => testcodes}/bootloader/bootrom_gen.py (100%)
 rename {system/testcodes => testcodes}/bootloader/makefile (100%)
 rename {system/testcodes => testcodes}/debug_tests/debug_tests_cm0.uvopt (100%)
 rename {system/testcodes => testcodes}/debug_tests/debug_tests_cm0.uvproj (100%)
 rename {system/testcodes => testcodes}/debug_tests/debug_tests_cm0p.uvopt (100%)
 rename {system/testcodes => testcodes}/debug_tests/debug_tests_cm0p.uvproj (100%)
 rename {system/testcodes => testcodes}/debug_tests/makefile (100%)
 rename {system/testcodes => testcodes}/default_slaves_tests/default_slaves_tests_cm0.uvopt (100%)
 rename {system/testcodes => testcodes}/default_slaves_tests/default_slaves_tests_cm0.uvproj (100%)
 rename {system/testcodes => testcodes}/default_slaves_tests/default_slaves_tests_cm0p.uvopt (100%)
 rename {system/testcodes => testcodes}/default_slaves_tests/default_slaves_tests_cm0p.uvproj (100%)
 rename {system/testcodes => testcodes}/default_slaves_tests/makefile (100%)
 rename {system/testcodes => testcodes}/defs.makefile (100%)
 rename {system/testcodes => testcodes}/dhry/dhry_cm0.uvopt (100%)
 rename {system/testcodes => testcodes}/dhry/dhry_cm0.uvproj (100%)
 rename {system/testcodes => testcodes}/dhry/dhry_cm0p.uvopt (100%)
 rename {system/testcodes => testcodes}/dhry/dhry_cm0p.uvproj (100%)
 rename {system/testcodes => testcodes}/dhry/makefile (100%)
 rename {system/testcodes => testcodes}/dhry/transcript (100%)
 rename {system/testcodes => testcodes}/dma_tests/dma_tests_cm0.uvopt (100%)
 rename {system/testcodes => testcodes}/dma_tests/dma_tests_cm0.uvproj (100%)
 rename {system/testcodes => testcodes}/dma_tests/dma_tests_cm0p.uvopt (100%)
 rename {system/testcodes => testcodes}/dma_tests/dma_tests_cm0p.uvproj (100%)
 rename {system/testcodes => testcodes}/dma_tests/makefile (100%)
 rename {system/testcodes => testcodes}/dualtimer_demo/dualtimer_demo_cm0.uvopt (100%)
 rename {system/testcodes => testcodes}/dualtimer_demo/dualtimer_demo_cm0.uvproj (100%)
 rename {system/testcodes => testcodes}/dualtimer_demo/dualtimer_demo_cm0p.uvopt (100%)
 rename {system/testcodes => testcodes}/dualtimer_demo/dualtimer_demo_cm0p.uvproj (100%)
 rename {system/testcodes => testcodes}/dualtimer_demo/makefile (100%)
 rename {system/testcodes => testcodes}/generic/config_id.h (100%)
 rename {system/testcodes => testcodes}/generic/mcu_debugtester_interface.c (100%)
 rename {system/testcodes => testcodes}/generic/mcu_debugtester_interface.h (100%)
 rename {system/testcodes => testcodes}/gpio_driver_tests/gpio_driver_tests_cm0.uvopt (100%)
 rename {system/testcodes => testcodes}/gpio_driver_tests/gpio_driver_tests_cm0.uvproj (100%)
 rename {system/testcodes => testcodes}/gpio_driver_tests/gpio_driver_tests_cm0p.uvopt (100%)
 rename {system/testcodes => testcodes}/gpio_driver_tests/gpio_driver_tests_cm0p.uvproj (100%)
 rename {system/testcodes => testcodes}/gpio_driver_tests/makefile (100%)
 rename {system/testcodes => testcodes}/gpio_tests/gpio_tests_cm0.uvopt (100%)
 rename {system/testcodes => testcodes}/gpio_tests/gpio_tests_cm0.uvproj (100%)
 rename {system/testcodes => testcodes}/gpio_tests/gpio_tests_cm0p.uvopt (100%)
 rename {system/testcodes => testcodes}/gpio_tests/gpio_tests_cm0p.uvproj (100%)
 rename {system/testcodes => testcodes}/gpio_tests/makefile (100%)
 rename {system/testcodes => testcodes}/hello/.project (100%)
 rename {system/testcodes => testcodes}/hello/hello.c (100%)
 rename {system/testcodes => testcodes}/hello/hello_cm0.uvopt (100%)
 rename {system/testcodes => testcodes}/hello/hello_cm0.uvproj (100%)
 rename {system/testcodes => testcodes}/hello/hello_cm0p.uvopt (100%)
 rename {system/testcodes => testcodes}/hello/hello_cm0p.uvproj (100%)
 rename {system/testcodes => testcodes}/hello/makefile (100%)
 rename {system/testcodes => testcodes}/interrupt_demo/interrupt_demo_cm0.uvopt (100%)
 rename {system/testcodes => testcodes}/interrupt_demo/interrupt_demo_cm0.uvproj (100%)
 rename {system/testcodes => testcodes}/interrupt_demo/interrupt_demo_cm0p.uvopt (100%)
 rename {system/testcodes => testcodes}/interrupt_demo/interrupt_demo_cm0p.uvproj (100%)
 rename {system/testcodes => testcodes}/interrupt_demo/makefile (100%)
 rename {system/testcodes => testcodes}/makefile (100%)
 rename {system/testcodes => testcodes}/memory_tests/makefile (100%)
 rename {system/testcodes => testcodes}/memory_tests/memory_tests_cm0.uvopt (100%)
 rename {system/testcodes => testcodes}/memory_tests/memory_tests_cm0.uvproj (100%)
 rename {system/testcodes => testcodes}/memory_tests/memory_tests_cm0p.uvopt (100%)
 rename {system/testcodes => testcodes}/memory_tests/memory_tests_cm0p.uvproj (100%)
 rename {system/testcodes => testcodes}/romtable_tests/makefile (100%)
 rename {system/testcodes => testcodes}/romtable_tests/romtable_tests_cm0.uvopt (100%)
 rename {system/testcodes => testcodes}/romtable_tests/romtable_tests_cm0.uvproj (100%)
 rename {system/testcodes => testcodes}/romtable_tests/romtable_tests_cm0p.uvopt (100%)
 rename {system/testcodes => testcodes}/romtable_tests/romtable_tests_cm0p.uvproj (100%)
 rename {system/testcodes => testcodes}/rtx_demo/RTX_Config.c (100%)
 rename {system/testcodes => testcodes}/rtx_demo/makefile (100%)
 rename {system/testcodes => testcodes}/rtx_demo/rtx_demo.c (100%)
 rename {system/testcodes => testcodes}/rtx_demo/rtx_demo_cm0.hex (100%)
 rename {system/testcodes => testcodes}/rtx_demo/rtx_demo_cm0.uvopt (100%)
 rename {system/testcodes => testcodes}/rtx_demo/rtx_demo_cm0.uvproj (100%)
 rename {system/testcodes => testcodes}/rtx_demo/rtx_demo_cm0p.hex (100%)
 rename {system/testcodes => testcodes}/rtx_demo/rtx_demo_cm0p.uvopt (100%)
 rename {system/testcodes => testcodes}/rtx_demo/rtx_demo_cm0p.uvproj (100%)
 rename {system/testcodes => testcodes}/self_reset_demo/makefile (100%)
 rename {system/testcodes => testcodes}/self_reset_demo/self_reset_demo_cm0.uvopt (100%)
 rename {system/testcodes => testcodes}/self_reset_demo/self_reset_demo_cm0.uvproj (100%)
 rename {system/testcodes => testcodes}/self_reset_demo/self_reset_demo_cm0p.uvopt (100%)
 rename {system/testcodes => testcodes}/self_reset_demo/self_reset_demo_cm0p.uvproj (100%)
 rename {system/testcodes => testcodes}/sleep_demo/makefile (100%)
 rename {system/testcodes => testcodes}/sleep_demo/sleep_demo_cm0.uvopt (100%)
 rename {system/testcodes => testcodes}/sleep_demo/sleep_demo_cm0.uvproj (100%)
 rename {system/testcodes => testcodes}/sleep_demo/sleep_demo_cm0p.uvopt (100%)
 rename {system/testcodes => testcodes}/sleep_demo/sleep_demo_cm0p.uvproj (100%)
 rename {system/testcodes => testcodes}/software_list.txt (100%)
 rename {system/testcodes => testcodes}/timer_driver_tests/makefile (100%)
 rename {system/testcodes => testcodes}/timer_driver_tests/timer_driver_tests_cm0.uvopt (100%)
 rename {system/testcodes => testcodes}/timer_driver_tests/timer_driver_tests_cm0.uvproj (100%)
 rename {system/testcodes => testcodes}/timer_driver_tests/timer_driver_tests_cm0p.uvopt (100%)
 rename {system/testcodes => testcodes}/timer_driver_tests/timer_driver_tests_cm0p.uvproj (100%)
 rename {system/testcodes => testcodes}/timer_tests/makefile (100%)
 rename {system/testcodes => testcodes}/timer_tests/timer_tests_cm0.uvopt (100%)
 rename {system/testcodes => testcodes}/timer_tests/timer_tests_cm0.uvproj (100%)
 rename {system/testcodes => testcodes}/timer_tests/timer_tests_cm0p.uvopt (100%)
 rename {system/testcodes => testcodes}/timer_tests/timer_tests_cm0p.uvproj (100%)
 rename {system/testcodes => testcodes}/uart_driver_tests/makefile (100%)
 rename {system/testcodes => testcodes}/uart_driver_tests/uart_driver_tests_cm0.uvopt (100%)
 rename {system/testcodes => testcodes}/uart_driver_tests/uart_driver_tests_cm0.uvproj (100%)
 rename {system/testcodes => testcodes}/uart_driver_tests/uart_driver_tests_cm0p.uvopt (100%)
 rename {system/testcodes => testcodes}/uart_driver_tests/uart_driver_tests_cm0p.uvproj (100%)
 rename {system/testcodes => testcodes}/uart_tests/makefile (100%)
 rename {system/testcodes => testcodes}/uart_tests/uart_tests_cm0.uvopt (100%)
 rename {system/testcodes => testcodes}/uart_tests/uart_tests_cm0.uvproj (100%)
 rename {system/testcodes => testcodes}/uart_tests/uart_tests_cm0p.uvopt (100%)
 rename {system/testcodes => testcodes}/uart_tests/uart_tests_cm0p.uvproj (100%)
 rename {system/testcodes => testcodes}/watchdog_demo/makefile (100%)
 rename {system/testcodes => testcodes}/watchdog_demo/watchdog_demo_cm0.uvopt (100%)
 rename {system/testcodes => testcodes}/watchdog_demo/watchdog_demo_cm0.uvproj (100%)
 rename {system/testcodes => testcodes}/watchdog_demo/watchdog_demo_cm0p.uvopt (100%)
 rename {system/testcodes => testcodes}/watchdog_demo/watchdog_demo_cm0p.uvproj (100%)
 rename {system/verif => verif}/verilog/nanosoc_acc_log_to_file.v (100%)
 rename {system/verif => verif}/verilog/nanosoc_axi_stream_io_8_buffer.v (100%)
 rename {system/verif => verif}/verilog/nanosoc_axi_stream_io_8_rxd_to_file.v (100%)
 rename {system/verif => verif}/verilog/nanosoc_axi_stream_io_8_txd_from_file.v (100%)
 rename {system/verif => verif}/verilog/nanosoc_clkreset.v (100%)
 rename {system/verif => verif}/verilog/nanosoc_dma_log_to_file.v (100%)
 rename {system/verif => verif}/verilog/nanosoc_ft1248x1_to_axi_streamio_v1_0.v (100%)
 rename {system/verif => verif}/verilog/nanosoc_ft1248x1_track.v (100%)
 rename {system/verif => verif}/verilog/nanosoc_tb.v (100%)
 rename {system/verif => verif}/verilog/nanosoc_track_tb_iostream.v (100%)
 rename {system/verif => verif}/verilog/nanosoc_uart_capture.v (100%)

diff --git a/system/fpga_imp/CI_verification/.gitkeep b/fpga_imp/CI_verification/.gitkeep
similarity index 100%
rename from system/fpga_imp/CI_verification/.gitkeep
rename to fpga_imp/CI_verification/.gitkeep
diff --git a/system/fpga_imp/CI_verification/load_bitfile.py b/fpga_imp/CI_verification/load_bitfile.py
similarity index 100%
rename from system/fpga_imp/CI_verification/load_bitfile.py
rename to fpga_imp/CI_verification/load_bitfile.py
diff --git a/system/fpga_imp/CI_verification/load_file_output b/fpga_imp/CI_verification/load_file_output
similarity index 100%
rename from system/fpga_imp/CI_verification/load_file_output
rename to fpga_imp/CI_verification/load_file_output
diff --git a/system/fpga_imp/CI_verification/run_ADP_verification.py b/fpga_imp/CI_verification/run_ADP_verification.py
similarity index 100%
rename from system/fpga_imp/CI_verification/run_ADP_verification.py
rename to fpga_imp/CI_verification/run_ADP_verification.py
diff --git a/system/fpga_imp/CI_verification/test_bitfile_ZCU104.sh b/fpga_imp/CI_verification/test_bitfile_ZCU104.sh
similarity index 100%
rename from system/fpga_imp/CI_verification/test_bitfile_ZCU104.sh
rename to fpga_imp/CI_verification/test_bitfile_ZCU104.sh
diff --git a/system/fpga_imp/build_fpga_arm_MPS3.scr b/fpga_imp/build_fpga_arm_MPS3.scr
similarity index 100%
rename from system/fpga_imp/build_fpga_arm_MPS3.scr
rename to fpga_imp/build_fpga_arm_MPS3.scr
diff --git a/system/fpga_imp/build_fpga_pynq_z2.scr b/fpga_imp/build_fpga_pynq_z2.scr
similarity index 100%
rename from system/fpga_imp/build_fpga_pynq_z2.scr
rename to fpga_imp/build_fpga_pynq_z2.scr
diff --git a/system/fpga_imp/build_fpga_pynq_zcu104.scr b/fpga_imp/build_fpga_pynq_zcu104.scr
similarity index 100%
rename from system/fpga_imp/build_fpga_pynq_zcu104.scr
rename to fpga_imp/build_fpga_pynq_zcu104.scr
diff --git a/system/fpga_imp/clean_fpga.scr b/fpga_imp/clean_fpga.scr
similarity index 100%
rename from system/fpga_imp/clean_fpga.scr
rename to fpga_imp/clean_fpga.scr
diff --git a/system/fpga_imp/ip_repo/ADPcontrol_1.0/bd/bd.tcl b/fpga_imp/ip_repo/ADPcontrol_1.0/bd/bd.tcl
similarity index 100%
rename from system/fpga_imp/ip_repo/ADPcontrol_1.0/bd/bd.tcl
rename to fpga_imp/ip_repo/ADPcontrol_1.0/bd/bd.tcl
diff --git a/system/fpga_imp/ip_repo/ADPcontrol_1.0/component.xml b/fpga_imp/ip_repo/ADPcontrol_1.0/component.xml
similarity index 100%
rename from system/fpga_imp/ip_repo/ADPcontrol_1.0/component.xml
rename to fpga_imp/ip_repo/ADPcontrol_1.0/component.xml
diff --git a/system/fpga_imp/ip_repo/ADPcontrol_1.0/hdl/ADPcontrol_v1_0.v b/fpga_imp/ip_repo/ADPcontrol_1.0/hdl/ADPcontrol_v1_0.v
similarity index 100%
rename from system/fpga_imp/ip_repo/ADPcontrol_1.0/hdl/ADPcontrol_v1_0.v
rename to fpga_imp/ip_repo/ADPcontrol_1.0/hdl/ADPcontrol_v1_0.v
diff --git a/system/fpga_imp/ip_repo/ADPcontrol_1.0/hdl/ADPcontrol_v1_0_com_rx.v b/fpga_imp/ip_repo/ADPcontrol_1.0/hdl/ADPcontrol_v1_0_com_rx.v
similarity index 100%
rename from system/fpga_imp/ip_repo/ADPcontrol_1.0/hdl/ADPcontrol_v1_0_com_rx.v
rename to fpga_imp/ip_repo/ADPcontrol_1.0/hdl/ADPcontrol_v1_0_com_rx.v
diff --git a/system/fpga_imp/ip_repo/ADPcontrol_1.0/hdl/ADPcontrol_v1_0_com_tx.v b/fpga_imp/ip_repo/ADPcontrol_1.0/hdl/ADPcontrol_v1_0_com_tx.v
similarity index 100%
rename from system/fpga_imp/ip_repo/ADPcontrol_1.0/hdl/ADPcontrol_v1_0_com_tx.v
rename to fpga_imp/ip_repo/ADPcontrol_1.0/hdl/ADPcontrol_v1_0_com_tx.v
diff --git a/system/fpga_imp/ip_repo/ADPcontrol_1.0/hdl/ADPcontrol_v1_0_stdio_rx.v b/fpga_imp/ip_repo/ADPcontrol_1.0/hdl/ADPcontrol_v1_0_stdio_rx.v
similarity index 100%
rename from system/fpga_imp/ip_repo/ADPcontrol_1.0/hdl/ADPcontrol_v1_0_stdio_rx.v
rename to fpga_imp/ip_repo/ADPcontrol_1.0/hdl/ADPcontrol_v1_0_stdio_rx.v
diff --git a/system/fpga_imp/ip_repo/ADPcontrol_1.0/hdl/ADPcontrol_v1_0_stdio_tx.v b/fpga_imp/ip_repo/ADPcontrol_1.0/hdl/ADPcontrol_v1_0_stdio_tx.v
similarity index 100%
rename from system/fpga_imp/ip_repo/ADPcontrol_1.0/hdl/ADPcontrol_v1_0_stdio_tx.v
rename to fpga_imp/ip_repo/ADPcontrol_1.0/hdl/ADPcontrol_v1_0_stdio_tx.v
diff --git a/system/fpga_imp/ip_repo/ADPcontrol_1.0/soclabs.org_user_ADPcontrol_1.0.zip b/fpga_imp/ip_repo/ADPcontrol_1.0/soclabs.org_user_ADPcontrol_1.0.zip
similarity index 100%
rename from system/fpga_imp/ip_repo/ADPcontrol_1.0/soclabs.org_user_ADPcontrol_1.0.zip
rename to fpga_imp/ip_repo/ADPcontrol_1.0/soclabs.org_user_ADPcontrol_1.0.zip
diff --git a/system/fpga_imp/ip_repo/ADPcontrol_1.0/src/ADPcontrol_v1_0.v b/fpga_imp/ip_repo/ADPcontrol_1.0/src/ADPcontrol_v1_0.v
similarity index 100%
rename from system/fpga_imp/ip_repo/ADPcontrol_1.0/src/ADPcontrol_v1_0.v
rename to fpga_imp/ip_repo/ADPcontrol_1.0/src/ADPcontrol_v1_0.v
diff --git a/system/fpga_imp/ip_repo/ADPcontrol_1.0/src/ADPmanager.v b/fpga_imp/ip_repo/ADPcontrol_1.0/src/ADPmanager.v
similarity index 100%
rename from system/fpga_imp/ip_repo/ADPcontrol_1.0/src/ADPmanager.v
rename to fpga_imp/ip_repo/ADPcontrol_1.0/src/ADPmanager.v
diff --git a/system/fpga_imp/ip_repo/ADPcontrol_1.0/xgui/ADPcontrol_v1_0.tcl b/fpga_imp/ip_repo/ADPcontrol_1.0/xgui/ADPcontrol_v1_0.tcl
similarity index 100%
rename from system/fpga_imp/ip_repo/ADPcontrol_1.0/xgui/ADPcontrol_v1_0.tcl
rename to fpga_imp/ip_repo/ADPcontrol_1.0/xgui/ADPcontrol_v1_0.tcl
diff --git a/system/fpga_imp/ip_repo/axi_stream_io_1.0/bd/bd.tcl b/fpga_imp/ip_repo/axi_stream_io_1.0/bd/bd.tcl
similarity index 100%
rename from system/fpga_imp/ip_repo/axi_stream_io_1.0/bd/bd.tcl
rename to fpga_imp/ip_repo/axi_stream_io_1.0/bd/bd.tcl
diff --git a/system/fpga_imp/ip_repo/axi_stream_io_1.0/component.xml b/fpga_imp/ip_repo/axi_stream_io_1.0/component.xml
similarity index 100%
rename from system/fpga_imp/ip_repo/axi_stream_io_1.0/component.xml
rename to fpga_imp/ip_repo/axi_stream_io_1.0/component.xml
diff --git a/system/fpga_imp/ip_repo/axi_stream_io_1.0/drivers/axi_stream_io_v1_0/data/axi_stream_io.mdd b/fpga_imp/ip_repo/axi_stream_io_1.0/drivers/axi_stream_io_v1_0/data/axi_stream_io.mdd
similarity index 100%
rename from system/fpga_imp/ip_repo/axi_stream_io_1.0/drivers/axi_stream_io_v1_0/data/axi_stream_io.mdd
rename to fpga_imp/ip_repo/axi_stream_io_1.0/drivers/axi_stream_io_v1_0/data/axi_stream_io.mdd
diff --git a/system/fpga_imp/ip_repo/axi_stream_io_1.0/drivers/axi_stream_io_v1_0/data/axi_stream_io.tcl b/fpga_imp/ip_repo/axi_stream_io_1.0/drivers/axi_stream_io_v1_0/data/axi_stream_io.tcl
similarity index 100%
rename from system/fpga_imp/ip_repo/axi_stream_io_1.0/drivers/axi_stream_io_v1_0/data/axi_stream_io.tcl
rename to fpga_imp/ip_repo/axi_stream_io_1.0/drivers/axi_stream_io_v1_0/data/axi_stream_io.tcl
diff --git a/system/fpga_imp/ip_repo/axi_stream_io_1.0/drivers/axi_stream_io_v1_0/src/Makefile b/fpga_imp/ip_repo/axi_stream_io_1.0/drivers/axi_stream_io_v1_0/src/Makefile
similarity index 100%
rename from system/fpga_imp/ip_repo/axi_stream_io_1.0/drivers/axi_stream_io_v1_0/src/Makefile
rename to fpga_imp/ip_repo/axi_stream_io_1.0/drivers/axi_stream_io_v1_0/src/Makefile
diff --git a/system/fpga_imp/ip_repo/axi_stream_io_1.0/drivers/axi_stream_io_v1_0/src/axi_stream_io.c b/fpga_imp/ip_repo/axi_stream_io_1.0/drivers/axi_stream_io_v1_0/src/axi_stream_io.c
similarity index 100%
rename from system/fpga_imp/ip_repo/axi_stream_io_1.0/drivers/axi_stream_io_v1_0/src/axi_stream_io.c
rename to fpga_imp/ip_repo/axi_stream_io_1.0/drivers/axi_stream_io_v1_0/src/axi_stream_io.c
diff --git a/system/fpga_imp/ip_repo/axi_stream_io_1.0/drivers/axi_stream_io_v1_0/src/axi_stream_io.h b/fpga_imp/ip_repo/axi_stream_io_1.0/drivers/axi_stream_io_v1_0/src/axi_stream_io.h
similarity index 100%
rename from system/fpga_imp/ip_repo/axi_stream_io_1.0/drivers/axi_stream_io_v1_0/src/axi_stream_io.h
rename to fpga_imp/ip_repo/axi_stream_io_1.0/drivers/axi_stream_io_v1_0/src/axi_stream_io.h
diff --git a/system/fpga_imp/ip_repo/axi_stream_io_1.0/drivers/axi_stream_io_v1_0/src/axi_stream_io_selftest.c b/fpga_imp/ip_repo/axi_stream_io_1.0/drivers/axi_stream_io_v1_0/src/axi_stream_io_selftest.c
similarity index 100%
rename from system/fpga_imp/ip_repo/axi_stream_io_1.0/drivers/axi_stream_io_v1_0/src/axi_stream_io_selftest.c
rename to fpga_imp/ip_repo/axi_stream_io_1.0/drivers/axi_stream_io_v1_0/src/axi_stream_io_selftest.c
diff --git a/system/fpga_imp/ip_repo/axi_stream_io_1.0/soclabs.org_user_axi_stream_io_1.0.zip b/fpga_imp/ip_repo/axi_stream_io_1.0/soclabs.org_user_axi_stream_io_1.0.zip
similarity index 100%
rename from system/fpga_imp/ip_repo/axi_stream_io_1.0/soclabs.org_user_axi_stream_io_1.0.zip
rename to fpga_imp/ip_repo/axi_stream_io_1.0/soclabs.org_user_axi_stream_io_1.0.zip
diff --git a/system/fpga_imp/ip_repo/axi_stream_io_1.0/src/axi_stream_io_v1_0_axi_s.v b/fpga_imp/ip_repo/axi_stream_io_1.0/src/axi_stream_io_v1_0_axi_s.v
similarity index 100%
rename from system/fpga_imp/ip_repo/axi_stream_io_1.0/src/axi_stream_io_v1_0_axi_s.v
rename to fpga_imp/ip_repo/axi_stream_io_1.0/src/axi_stream_io_v1_0_axi_s.v
diff --git a/system/fpga_imp/ip_repo/axi_stream_io_1.0/xgui/axi_stream_io_v1_0.tcl b/fpga_imp/ip_repo/axi_stream_io_1.0/xgui/axi_stream_io_v1_0.tcl
similarity index 100%
rename from system/fpga_imp/ip_repo/axi_stream_io_1.0/xgui/axi_stream_io_v1_0.tcl
rename to fpga_imp/ip_repo/axi_stream_io_1.0/xgui/axi_stream_io_v1_0.tcl
diff --git a/system/fpga_imp/ip_repo/ft1248x1_to_axi_streamio_1.0/bd/bd.tcl b/fpga_imp/ip_repo/ft1248x1_to_axi_streamio_1.0/bd/bd.tcl
similarity index 100%
rename from system/fpga_imp/ip_repo/ft1248x1_to_axi_streamio_1.0/bd/bd.tcl
rename to fpga_imp/ip_repo/ft1248x1_to_axi_streamio_1.0/bd/bd.tcl
diff --git a/system/fpga_imp/ip_repo/ft1248x1_to_axi_streamio_1.0/component.xml b/fpga_imp/ip_repo/ft1248x1_to_axi_streamio_1.0/component.xml
similarity index 100%
rename from system/fpga_imp/ip_repo/ft1248x1_to_axi_streamio_1.0/component.xml
rename to fpga_imp/ip_repo/ft1248x1_to_axi_streamio_1.0/component.xml
diff --git a/system/fpga_imp/ip_repo/ft1248x1_to_axi_streamio_1.0/ft1248x1_to_axi_streamio_0_2.xcix b/fpga_imp/ip_repo/ft1248x1_to_axi_streamio_1.0/ft1248x1_to_axi_streamio_0_2.xcix
similarity index 100%
rename from system/fpga_imp/ip_repo/ft1248x1_to_axi_streamio_1.0/ft1248x1_to_axi_streamio_0_2.xcix
rename to fpga_imp/ip_repo/ft1248x1_to_axi_streamio_1.0/ft1248x1_to_axi_streamio_0_2.xcix
diff --git a/system/fpga_imp/ip_repo/ft1248x1_to_axi_streamio_1.0/hdl/SYNCHRONIZER_EDGES.v b/fpga_imp/ip_repo/ft1248x1_to_axi_streamio_1.0/hdl/SYNCHRONIZER_EDGES.v
similarity index 100%
rename from system/fpga_imp/ip_repo/ft1248x1_to_axi_streamio_1.0/hdl/SYNCHRONIZER_EDGES.v
rename to fpga_imp/ip_repo/ft1248x1_to_axi_streamio_1.0/hdl/SYNCHRONIZER_EDGES.v
diff --git a/system/fpga_imp/ip_repo/ft1248x1_to_axi_streamio_1.0/hdl/ft1248x1_to_axi_streamio_v1_0.v b/fpga_imp/ip_repo/ft1248x1_to_axi_streamio_1.0/hdl/ft1248x1_to_axi_streamio_v1_0.v
similarity index 100%
rename from system/fpga_imp/ip_repo/ft1248x1_to_axi_streamio_1.0/hdl/ft1248x1_to_axi_streamio_v1_0.v
rename to fpga_imp/ip_repo/ft1248x1_to_axi_streamio_1.0/hdl/ft1248x1_to_axi_streamio_v1_0.v
diff --git a/system/fpga_imp/ip_repo/ft1248x1_to_axi_streamio_1.0/hdl/ft1248x1_to_axi_streamio_v1_0_rxd8.v b/fpga_imp/ip_repo/ft1248x1_to_axi_streamio_1.0/hdl/ft1248x1_to_axi_streamio_v1_0_rxd8.v
similarity index 100%
rename from system/fpga_imp/ip_repo/ft1248x1_to_axi_streamio_1.0/hdl/ft1248x1_to_axi_streamio_v1_0_rxd8.v
rename to fpga_imp/ip_repo/ft1248x1_to_axi_streamio_1.0/hdl/ft1248x1_to_axi_streamio_v1_0_rxd8.v
diff --git a/system/fpga_imp/ip_repo/ft1248x1_to_axi_streamio_1.0/hdl/ft1248x1_to_axi_streamio_v1_0_txd8.v b/fpga_imp/ip_repo/ft1248x1_to_axi_streamio_1.0/hdl/ft1248x1_to_axi_streamio_v1_0_txd8.v
similarity index 100%
rename from system/fpga_imp/ip_repo/ft1248x1_to_axi_streamio_1.0/hdl/ft1248x1_to_axi_streamio_v1_0_txd8.v
rename to fpga_imp/ip_repo/ft1248x1_to_axi_streamio_1.0/hdl/ft1248x1_to_axi_streamio_v1_0_txd8.v
diff --git a/system/fpga_imp/ip_repo/ft1248x1_to_axi_streamio_1.0/soclabs.org_user_ft1248x1_to_axi_streamio_1.0.zip b/fpga_imp/ip_repo/ft1248x1_to_axi_streamio_1.0/soclabs.org_user_ft1248x1_to_axi_streamio_1.0.zip
similarity index 100%
rename from system/fpga_imp/ip_repo/ft1248x1_to_axi_streamio_1.0/soclabs.org_user_ft1248x1_to_axi_streamio_1.0.zip
rename to fpga_imp/ip_repo/ft1248x1_to_axi_streamio_1.0/soclabs.org_user_ft1248x1_to_axi_streamio_1.0.zip
diff --git a/system/fpga_imp/ip_repo/ft1248x1_to_axi_streamio_1.0/xgui/ft1248x1_to_axi_streamio_v1_0.tcl b/fpga_imp/ip_repo/ft1248x1_to_axi_streamio_1.0/xgui/ft1248x1_to_axi_streamio_v1_0.tcl
similarity index 100%
rename from system/fpga_imp/ip_repo/ft1248x1_to_axi_streamio_1.0/xgui/ft1248x1_to_axi_streamio_v1_0.tcl
rename to fpga_imp/ip_repo/ft1248x1_to_axi_streamio_1.0/xgui/ft1248x1_to_axi_streamio_v1_0.tcl
diff --git a/system/fpga_imp/ip_repo/ft1248x1_to_stream8_1.0/bd/bd.tcl b/fpga_imp/ip_repo/ft1248x1_to_stream8_1.0/bd/bd.tcl
similarity index 100%
rename from system/fpga_imp/ip_repo/ft1248x1_to_stream8_1.0/bd/bd.tcl
rename to fpga_imp/ip_repo/ft1248x1_to_stream8_1.0/bd/bd.tcl
diff --git a/system/fpga_imp/ip_repo/ft1248x1_to_stream8_1.0/component.xml b/fpga_imp/ip_repo/ft1248x1_to_stream8_1.0/component.xml
similarity index 100%
rename from system/fpga_imp/ip_repo/ft1248x1_to_stream8_1.0/component.xml
rename to fpga_imp/ip_repo/ft1248x1_to_stream8_1.0/component.xml
diff --git a/system/fpga_imp/ip_repo/ft1248x1_to_stream8_1.0/ft1248x1_to_stream8_0.xcix b/fpga_imp/ip_repo/ft1248x1_to_stream8_1.0/ft1248x1_to_stream8_0.xcix
similarity index 100%
rename from system/fpga_imp/ip_repo/ft1248x1_to_stream8_1.0/ft1248x1_to_stream8_0.xcix
rename to fpga_imp/ip_repo/ft1248x1_to_stream8_1.0/ft1248x1_to_stream8_0.xcix
diff --git a/system/fpga_imp/ip_repo/ft1248x1_to_stream8_1.0/hdl/ft1248x1_to_stream8_v1_0.v b/fpga_imp/ip_repo/ft1248x1_to_stream8_1.0/hdl/ft1248x1_to_stream8_v1_0.v
similarity index 100%
rename from system/fpga_imp/ip_repo/ft1248x1_to_stream8_1.0/hdl/ft1248x1_to_stream8_v1_0.v
rename to fpga_imp/ip_repo/ft1248x1_to_stream8_1.0/hdl/ft1248x1_to_stream8_v1_0.v
diff --git a/system/fpga_imp/ip_repo/ft1248x1_to_stream8_1.0/hdl/ft1248x1_to_stream8_v1_0_RXD8.v b/fpga_imp/ip_repo/ft1248x1_to_stream8_1.0/hdl/ft1248x1_to_stream8_v1_0_RXD8.v
similarity index 100%
rename from system/fpga_imp/ip_repo/ft1248x1_to_stream8_1.0/hdl/ft1248x1_to_stream8_v1_0_RXD8.v
rename to fpga_imp/ip_repo/ft1248x1_to_stream8_1.0/hdl/ft1248x1_to_stream8_v1_0_RXD8.v
diff --git a/system/fpga_imp/ip_repo/ft1248x1_to_stream8_1.0/hdl/ft1248x1_to_stream8_v1_0_TXD8.v b/fpga_imp/ip_repo/ft1248x1_to_stream8_1.0/hdl/ft1248x1_to_stream8_v1_0_TXD8.v
similarity index 100%
rename from system/fpga_imp/ip_repo/ft1248x1_to_stream8_1.0/hdl/ft1248x1_to_stream8_v1_0_TXD8.v
rename to fpga_imp/ip_repo/ft1248x1_to_stream8_1.0/hdl/ft1248x1_to_stream8_v1_0_TXD8.v
diff --git a/system/fpga_imp/ip_repo/ft1248x1_to_stream8_1.0/ip_project_archive.zip b/fpga_imp/ip_repo/ft1248x1_to_stream8_1.0/ip_project_archive.zip
similarity index 100%
rename from system/fpga_imp/ip_repo/ft1248x1_to_stream8_1.0/ip_project_archive.zip
rename to fpga_imp/ip_repo/ft1248x1_to_stream8_1.0/ip_project_archive.zip
diff --git a/system/fpga_imp/ip_repo/ft1248x1_to_stream8_1.0/soclabs.org_user_ft1248x1_to_stream8_1.0.zip b/fpga_imp/ip_repo/ft1248x1_to_stream8_1.0/soclabs.org_user_ft1248x1_to_stream8_1.0.zip
similarity index 100%
rename from system/fpga_imp/ip_repo/ft1248x1_to_stream8_1.0/soclabs.org_user_ft1248x1_to_stream8_1.0.zip
rename to fpga_imp/ip_repo/ft1248x1_to_stream8_1.0/soclabs.org_user_ft1248x1_to_stream8_1.0.zip
diff --git a/system/fpga_imp/ip_repo/ft1248x1_to_stream8_1.0/src/ft1248x1_to_stream8.v b/fpga_imp/ip_repo/ft1248x1_to_stream8_1.0/src/ft1248x1_to_stream8.v
similarity index 100%
rename from system/fpga_imp/ip_repo/ft1248x1_to_stream8_1.0/src/ft1248x1_to_stream8.v
rename to fpga_imp/ip_repo/ft1248x1_to_stream8_1.0/src/ft1248x1_to_stream8.v
diff --git a/system/fpga_imp/ip_repo/ft1248x1_to_stream8_1.0/src/synclib.v b/fpga_imp/ip_repo/ft1248x1_to_stream8_1.0/src/synclib.v
similarity index 100%
rename from system/fpga_imp/ip_repo/ft1248x1_to_stream8_1.0/src/synclib.v
rename to fpga_imp/ip_repo/ft1248x1_to_stream8_1.0/src/synclib.v
diff --git a/system/fpga_imp/ip_repo/ft1248x1_to_stream8_1.0/xgui/ft1248x1_to_stream8_v1_0.tcl b/fpga_imp/ip_repo/ft1248x1_to_stream8_1.0/xgui/ft1248x1_to_stream8_v1_0.tcl
similarity index 100%
rename from system/fpga_imp/ip_repo/ft1248x1_to_stream8_1.0/xgui/ft1248x1_to_stream8_v1_0.tcl
rename to fpga_imp/ip_repo/ft1248x1_to_stream8_1.0/xgui/ft1248x1_to_stream8_v1_0.tcl
diff --git a/system/fpga_imp/pynq_export/pz104/jupyter_notebooks/soclabs/arm_tests/aes128_tests.bin b/fpga_imp/pynq_export/pz104/jupyter_notebooks/soclabs/arm_tests/aes128_tests.bin
similarity index 100%
rename from system/fpga_imp/pynq_export/pz104/jupyter_notebooks/soclabs/arm_tests/aes128_tests.bin
rename to fpga_imp/pynq_export/pz104/jupyter_notebooks/soclabs/arm_tests/aes128_tests.bin
diff --git a/system/fpga_imp/pynq_export/pz104/jupyter_notebooks/soclabs/driver/uartlite.py b/fpga_imp/pynq_export/pz104/jupyter_notebooks/soclabs/driver/uartlite.py
similarity index 100%
rename from system/fpga_imp/pynq_export/pz104/jupyter_notebooks/soclabs/driver/uartlite.py
rename to fpga_imp/pynq_export/pz104/jupyter_notebooks/soclabs/driver/uartlite.py
diff --git a/system/fpga_imp/pynq_export/pz104/jupyter_notebooks/soclabs/nanosoc-ADP-validation.ipynb b/fpga_imp/pynq_export/pz104/jupyter_notebooks/soclabs/nanosoc-ADP-validation.ipynb
similarity index 100%
rename from system/fpga_imp/pynq_export/pz104/jupyter_notebooks/soclabs/nanosoc-ADP-validation.ipynb
rename to fpga_imp/pynq_export/pz104/jupyter_notebooks/soclabs/nanosoc-ADP-validation.ipynb
diff --git a/system/fpga_imp/pynq_export/pz104/jupyter_notebooks/soclabs/nanosoc-ADPtest.ipynb b/fpga_imp/pynq_export/pz104/jupyter_notebooks/soclabs/nanosoc-ADPtest.ipynb
similarity index 100%
rename from system/fpga_imp/pynq_export/pz104/jupyter_notebooks/soclabs/nanosoc-ADPtest.ipynb
rename to fpga_imp/pynq_export/pz104/jupyter_notebooks/soclabs/nanosoc-ADPtest.ipynb
diff --git a/system/fpga_imp/pynq_export/pz104/jupyter_notebooks/soclabs/nanosoc-iotest.ipynb b/fpga_imp/pynq_export/pz104/jupyter_notebooks/soclabs/nanosoc-iotest.ipynb
similarity index 100%
rename from system/fpga_imp/pynq_export/pz104/jupyter_notebooks/soclabs/nanosoc-iotest.ipynb
rename to fpga_imp/pynq_export/pz104/jupyter_notebooks/soclabs/nanosoc-iotest.ipynb
diff --git a/system/fpga_imp/pynq_export/pz2/jupyter_notebooks/soclabs/driver/uartlite.py b/fpga_imp/pynq_export/pz2/jupyter_notebooks/soclabs/driver/uartlite.py
similarity index 100%
rename from system/fpga_imp/pynq_export/pz2/jupyter_notebooks/soclabs/driver/uartlite.py
rename to fpga_imp/pynq_export/pz2/jupyter_notebooks/soclabs/driver/uartlite.py
diff --git a/system/fpga_imp/pynq_export/pz2/jupyter_notebooks/soclabs/nanosoc-ADP-validation.ipynb b/fpga_imp/pynq_export/pz2/jupyter_notebooks/soclabs/nanosoc-ADP-validation.ipynb
similarity index 100%
rename from system/fpga_imp/pynq_export/pz2/jupyter_notebooks/soclabs/nanosoc-ADP-validation.ipynb
rename to fpga_imp/pynq_export/pz2/jupyter_notebooks/soclabs/nanosoc-ADP-validation.ipynb
diff --git a/system/fpga_imp/pynq_export/pz2/jupyter_notebooks/soclabs/nanosoc-ADPtest.ipynb b/fpga_imp/pynq_export/pz2/jupyter_notebooks/soclabs/nanosoc-ADPtest.ipynb
similarity index 100%
rename from system/fpga_imp/pynq_export/pz2/jupyter_notebooks/soclabs/nanosoc-ADPtest.ipynb
rename to fpga_imp/pynq_export/pz2/jupyter_notebooks/soclabs/nanosoc-ADPtest.ipynb
diff --git a/system/fpga_imp/pynq_export/pz2/jupyter_notebooks/soclabs/nanosoc-iotest.ipynb b/fpga_imp/pynq_export/pz2/jupyter_notebooks/soclabs/nanosoc-iotest.ipynb
similarity index 100%
rename from system/fpga_imp/pynq_export/pz2/jupyter_notebooks/soclabs/nanosoc-iotest.ipynb
rename to fpga_imp/pynq_export/pz2/jupyter_notebooks/soclabs/nanosoc-iotest.ipynb
diff --git a/system/fpga_imp/scripts/build_mcu_fpga_arm_mps3.tcl b/fpga_imp/scripts/build_mcu_fpga_arm_mps3.tcl
similarity index 100%
rename from system/fpga_imp/scripts/build_mcu_fpga_arm_mps3.tcl
rename to fpga_imp/scripts/build_mcu_fpga_arm_mps3.tcl
diff --git a/system/fpga_imp/scripts/build_mcu_fpga_batch.tcl b/fpga_imp/scripts/build_mcu_fpga_batch.tcl
similarity index 100%
rename from system/fpga_imp/scripts/build_mcu_fpga_batch.tcl
rename to fpga_imp/scripts/build_mcu_fpga_batch.tcl
diff --git a/system/fpga_imp/scripts/build_mcu_fpga_ip.tcl b/fpga_imp/scripts/build_mcu_fpga_ip.tcl
similarity index 100%
rename from system/fpga_imp/scripts/build_mcu_fpga_ip.tcl
rename to fpga_imp/scripts/build_mcu_fpga_ip.tcl
diff --git a/system/fpga_imp/scripts/build_mcu_fpga_pynq_z2.tcl b/fpga_imp/scripts/build_mcu_fpga_pynq_z2.tcl
similarity index 100%
rename from system/fpga_imp/scripts/build_mcu_fpga_pynq_z2.tcl
rename to fpga_imp/scripts/build_mcu_fpga_pynq_z2.tcl
diff --git a/system/fpga_imp/scripts/build_mcu_fpga_pynq_zcu104.tcl b/fpga_imp/scripts/build_mcu_fpga_pynq_zcu104.tcl
similarity index 100%
rename from system/fpga_imp/scripts/build_mcu_fpga_pynq_zcu104.tcl
rename to fpga_imp/scripts/build_mcu_fpga_pynq_zcu104.tcl
diff --git a/system/fpga_imp/scripts/rtl_source_cm0.tcl b/fpga_imp/scripts/rtl_source_cm0.tcl
similarity index 100%
rename from system/fpga_imp/scripts/rtl_source_cm0.tcl
rename to fpga_imp/scripts/rtl_source_cm0.tcl
diff --git a/system/fpga_imp/scripts/rtl_source_cmsdk.tcl b/fpga_imp/scripts/rtl_source_cmsdk.tcl
similarity index 100%
rename from system/fpga_imp/scripts/rtl_source_cmsdk.tcl
rename to fpga_imp/scripts/rtl_source_cmsdk.tcl
diff --git a/system/fpga_imp/scripts/rtl_source_dma230.tcl b/fpga_imp/scripts/rtl_source_dma230.tcl
similarity index 100%
rename from system/fpga_imp/scripts/rtl_source_dma230.tcl
rename to fpga_imp/scripts/rtl_source_dma230.tcl
diff --git a/system/fpga_imp/scripts/rtl_source_fpga_ip.tcl b/fpga_imp/scripts/rtl_source_fpga_ip.tcl
similarity index 100%
rename from system/fpga_imp/scripts/rtl_source_fpga_ip.tcl
rename to fpga_imp/scripts/rtl_source_fpga_ip.tcl
diff --git a/system/fpga_imp/scripts/rtl_source_soclabs_ip.tcl b/fpga_imp/scripts/rtl_source_soclabs_ip.tcl
similarity index 100%
rename from system/fpga_imp/scripts/rtl_source_soclabs_ip.tcl
rename to fpga_imp/scripts/rtl_source_soclabs_ip.tcl
diff --git a/system/fpga_imp/target_fpga_ac701/fpga_pinmap.xdc b/fpga_imp/target_fpga_ac701/fpga_pinmap.xdc
similarity index 100%
rename from system/fpga_imp/target_fpga_ac701/fpga_pinmap.xdc
rename to fpga_imp/target_fpga_ac701/fpga_pinmap.xdc
diff --git a/system/fpga_imp/target_fpga_ac701/fpga_synth.tcl b/fpga_imp/target_fpga_ac701/fpga_synth.tcl
similarity index 100%
rename from system/fpga_imp/target_fpga_ac701/fpga_synth.tcl
rename to fpga_imp/target_fpga_ac701/fpga_synth.tcl
diff --git a/system/fpga_imp/target_fpga_ac701/fpga_timing.xdc b/fpga_imp/target_fpga_ac701/fpga_timing.xdc
similarity index 100%
rename from system/fpga_imp/target_fpga_ac701/fpga_timing.xdc
rename to fpga_imp/target_fpga_ac701/fpga_timing.xdc
diff --git a/system/fpga_imp/target_fpga_arm_mps3/design_1.tcl b/fpga_imp/target_fpga_arm_mps3/design_1.tcl
similarity index 100%
rename from system/fpga_imp/target_fpga_arm_mps3/design_1.tcl
rename to fpga_imp/target_fpga_arm_mps3/design_1.tcl
diff --git a/system/fpga_imp/target_fpga_arm_mps3/design_1_wrapper.v b/fpga_imp/target_fpga_arm_mps3/design_1_wrapper.v
similarity index 100%
rename from system/fpga_imp/target_fpga_arm_mps3/design_1_wrapper.v
rename to fpga_imp/target_fpga_arm_mps3/design_1_wrapper.v
diff --git a/system/fpga_imp/target_fpga_arm_mps3/fpga_pinmap.xdc b/fpga_imp/target_fpga_arm_mps3/fpga_pinmap.xdc
similarity index 100%
rename from system/fpga_imp/target_fpga_arm_mps3/fpga_pinmap.xdc
rename to fpga_imp/target_fpga_arm_mps3/fpga_pinmap.xdc
diff --git a/system/fpga_imp/target_fpga_arm_mps3/fpga_synth.tcl b/fpga_imp/target_fpga_arm_mps3/fpga_synth.tcl
similarity index 100%
rename from system/fpga_imp/target_fpga_arm_mps3/fpga_synth.tcl
rename to fpga_imp/target_fpga_arm_mps3/fpga_synth.tcl
diff --git a/system/fpga_imp/target_fpga_arm_mps3/fpga_timing.xdc b/fpga_imp/target_fpga_arm_mps3/fpga_timing.xdc
similarity index 100%
rename from system/fpga_imp/target_fpga_arm_mps3/fpga_timing.xdc
rename to fpga_imp/target_fpga_arm_mps3/fpga_timing.xdc
diff --git a/system/fpga_imp/target_fpga_pynq_z2/design_1.tcl b/fpga_imp/target_fpga_pynq_z2/design_1.tcl
similarity index 100%
rename from system/fpga_imp/target_fpga_pynq_z2/design_1.tcl
rename to fpga_imp/target_fpga_pynq_z2/design_1.tcl
diff --git a/system/fpga_imp/target_fpga_pynq_z2/design_1_wrapper.v b/fpga_imp/target_fpga_pynq_z2/design_1_wrapper.v
similarity index 100%
rename from system/fpga_imp/target_fpga_pynq_z2/design_1_wrapper.v
rename to fpga_imp/target_fpga_pynq_z2/design_1_wrapper.v
diff --git a/system/fpga_imp/target_fpga_pynq_z2/fpga_pinmap.xdc b/fpga_imp/target_fpga_pynq_z2/fpga_pinmap.xdc
similarity index 100%
rename from system/fpga_imp/target_fpga_pynq_z2/fpga_pinmap.xdc
rename to fpga_imp/target_fpga_pynq_z2/fpga_pinmap.xdc
diff --git a/system/fpga_imp/target_fpga_pynq_z2/fpga_synth.tcl b/fpga_imp/target_fpga_pynq_z2/fpga_synth.tcl
similarity index 100%
rename from system/fpga_imp/target_fpga_pynq_z2/fpga_synth.tcl
rename to fpga_imp/target_fpga_pynq_z2/fpga_synth.tcl
diff --git a/system/fpga_imp/target_fpga_pynq_z2/fpga_timing.xdc b/fpga_imp/target_fpga_pynq_z2/fpga_timing.xdc
similarity index 100%
rename from system/fpga_imp/target_fpga_pynq_z2/fpga_timing.xdc
rename to fpga_imp/target_fpga_pynq_z2/fpga_timing.xdc
diff --git a/system/fpga_imp/target_fpga_zcu104/design_1.tcl b/fpga_imp/target_fpga_zcu104/design_1.tcl
similarity index 100%
rename from system/fpga_imp/target_fpga_zcu104/design_1.tcl
rename to fpga_imp/target_fpga_zcu104/design_1.tcl
diff --git a/system/fpga_imp/target_fpga_zcu104/design_1_wrapper.v b/fpga_imp/target_fpga_zcu104/design_1_wrapper.v
similarity index 100%
rename from system/fpga_imp/target_fpga_zcu104/design_1_wrapper.v
rename to fpga_imp/target_fpga_zcu104/design_1_wrapper.v
diff --git a/system/fpga_imp/target_fpga_zcu104/fpga_pinmap.xdc b/fpga_imp/target_fpga_zcu104/fpga_pinmap.xdc
similarity index 100%
rename from system/fpga_imp/target_fpga_zcu104/fpga_pinmap.xdc
rename to fpga_imp/target_fpga_zcu104/fpga_pinmap.xdc
diff --git a/system/fpga_imp/target_fpga_zcu104/fpga_synth.tcl b/fpga_imp/target_fpga_zcu104/fpga_synth.tcl
similarity index 100%
rename from system/fpga_imp/target_fpga_zcu104/fpga_synth.tcl
rename to fpga_imp/target_fpga_zcu104/fpga_synth.tcl
diff --git a/system/fpga_imp/target_fpga_zcu104/fpga_timing.xdc b/fpga_imp/target_fpga_zcu104/fpga_timing.xdc
similarity index 100%
rename from system/fpga_imp/target_fpga_zcu104/fpga_timing.xdc
rename to fpga_imp/target_fpga_zcu104/fpga_timing.xdc
diff --git a/system/makefile b/makefile
similarity index 100%
rename from system/makefile
rename to makefile
diff --git a/system/aes/aes128_tests/makefile b/system/aes/aes128_tests/makefile
deleted file mode 100644
index 7bd7973..0000000
--- a/system/aes/aes128_tests/makefile
+++ /dev/null
@@ -1,262 +0,0 @@
-#-----------------------------------------------------------------------------
-# The confidential and proprietary information contained in this file may
-# only be used by a person authorised under and to the extent permitted
-# by a subsisting licensing agreement from Arm Limited or its affiliates.
-#
-#            (C) COPYRIGHT 2010-2013 Arm Limited or its affiliates.
-#                ALL RIGHTS RESERVED
-#
-# This entire notice must be reproduced on all copies of this file
-# and copies of this file may only be made by a person if such person is
-# permitted to do so under the terms of a subsisting license agreement
-# from Arm Limited or its affiliates.
-#
-#      SVN Information
-#
-#      Checked In          : $Date: 2017-10-10 15:55:38 +0100 (Tue, 10 Oct 2017) $
-#
-#      Revision            : $Revision: 371321 $
-#
-#      Release Information : Cortex-M System Design Kit-r1p1-00rel0
-#-----------------------------------------------------------------------------
-#
-# Cortex-M System Design Kit software compilation make file
-#
-#-----------------------------------------------------------------------------
-#
-#  Configurations
-#
-# Choose the core instantiated, can be
-#  - CORTEX_M0
-#  - CORTEX_M0PLUS
-CPU_PRODUCT = CORTEX_M0
-
-# Shared software directory
-SOFTWARE_DIR = $(SOCLABS_NANOSOC_TECH_DIR)/software
-CMSIS_DIR    = $(SOFTWARE_DIR)/cmsis
-CORE_DIR     = $(CMSIS_DIR)/CMSIS/Include
-
-ifeq ($(CPU_PRODUCT),CORTEX_M0PLUS)
-  DEVICE_DIR   = $(CMSIS_DIR)/Device/ARM/CMSDK_CM0plus
-else
-  DEVICE_DIR   = $(CMSIS_DIR)/Device/ARM/CMSDK_CM0
-endif
-
-# Program file
-TESTNAME     = aes128_tests
-
-# Endian Option
-COMPILE_BIGEND = 0
-
-# Configuration
-ifeq ($(CPU_PRODUCT),CORTEX_M0PLUS)
-  USER_DEFINE    = -DCORTEX_M0PLUS
-else
-  USER_DEFINE    = -DCORTEX_M0
-endif
-
-DEPS_LIST       = makefile
-
-# Tool chain : ds5 / gcc / keil
-TOOL_CHAIN      = ds5
-
-ifeq ($(TOOL_CHAIN),ds5)
-  ifeq ($(CPU_PRODUCT),CORTEX_M0PLUS)
-    CPU_TYPE        = --cpu Cortex-M0plus
-  else
-    CPU_TYPE        = --cpu Cortex-M0
-  endif
-endif
-
-ifeq ($(TOOL_CHAIN),gcc)
-  ifeq ($(CPU_PRODUCT),CORTEX_M0PLUS)
-    CPU_TYPE        = -mcpu=cortex-m0plus
-  else
-    CPU_TYPE        = -mcpu=cortex-m0
-  endif
-endif
-
-# Startup code directory for DS-5
-ifeq ($(TOOL_CHAIN),ds5)
- STARTUP_DIR  = $(DEVICE_DIR)/Source/ARM
-endif
-
-# Startup code directory for gcc
-ifeq ($(TOOL_CHAIN),gcc)
- STARTUP_DIR  = $(DEVICE_DIR)/Source/GCC
-endif
-
-ifeq ($(CPU_PRODUCT),CORTEX_M0PLUS)
-  STARTUP_FILE = startup_CMSDK_CM0plus
-  SYSTEM_FILE  = system_CMSDK_CM0plus
-else
-  STARTUP_FILE = startup_CMSDK_CM0
-  SYSTEM_FILE  = system_CMSDK_CM0
-endif
-
-# ---------------------------------------------------------------------------------------
-# DS-5 options
-
-# MicroLIB option
-COMPILE_MICROLIB = 0
-
-# Small Multiply (Cortex-M0/M0+ has small multiplier option)
-COMPILE_SMALLMUL = 0
-
-#ARM_CC_OPTIONS   = -c -O3 -g -Otime -I $(DEVICE_DIR)/Include  -I $(CORE_DIR) \
-#		   -I $(SOFTWARE_DIR)/common/retarget $(USER_DEFINE)
-#ARM_ASM_OPTIONS  = -g
-#ARM_LINK_OPTIONS = "--keep=$(STARTUP_FILE).o(RESET)" "--first=$(STARTUP_FILE).o(RESET)" \
-#		   --rw_base 0x30000000 --ro_base 0x00000000 --map  --info sizes
-
-ARM_CC_OPTIONS   = -c -O3 -Ospace -I $(DEVICE_DIR)/Include  -I $(CORE_DIR) \
-		   -I $(SOFTWARE_DIR)/common/retarget $(USER_DEFINE)
-ARM_ASM_OPTIONS  = 
-ARM_LINK_OPTIONS = "--keep=$(STARTUP_FILE).o(RESET)" "--first=$(STARTUP_FILE).o(RESET)" \
-		   --no_debug --rw_base 0x30000000 --ro_base 0x00000000 --map  --info sizes
-
-ifeq ($(COMPILE_BIGEND),1)
- # Big Endian
- ARM_CC_OPTIONS   += --bigend
- ARM_ASM_OPTIONS  += --bigend
- ARM_LINK_OPTIONS += --be8
-endif
-
-ifeq ($(COMPILE_MICROLIB),1)
- # MicroLIB
- ARM_CC_OPTIONS   += --library_type=microlib
- ARM_ASM_OPTIONS  += --library_type=microlib --pd "__MICROLIB SETA 1"
- ARM_LINK_OPTIONS += --library_type=microlib
-endif
-
-ifeq ($(COMPILE_SMALLMUL),1)
- # In Cortex-M0, small multiply takes 32 cycles
- ARM_CC_OPTIONS   += --multiply_latency=32
-endif
-
-# ---------------------------------------------------------------------------------------
-# gcc options
-
-GNG_CC      = arm-none-eabi-gcc
-GNU_OBJDUMP = arm-none-eabi-objdump
-GNU_OBJCOPY = arm-none-eabi-objcopy
-
-LINKER_SCRIPT_PATH = $(SOFTWARE_DIR)/common/scripts
-LINKER_SCRIPT = $(LINKER_SCRIPT_PATH)/cmsdk_cm0.ld
-
-GNU_CC_FLAGS = -g -O3 -mthumb $(CPU_TYPE)
-
-ifeq ($(COMPILE_BIGEND),1)
- # Big Endian
- GNU_CC_FLAGS   += -mbig-endian
-endif
-
-# ---------------------------------------------------------------------------------------
-all: all_$(TOOL_CHAIN)
-
-# ---------------------------------------------------------------------------------------
-# DS-5
-all_ds5 : $(TESTNAME).hex $(TESTNAME).lst $(TESTNAME).bin
-
-$(TESTNAME).o :  $(TESTNAME).c $(DEPS_LIST)
-	armcc $(ARM_CC_OPTIONS) $(CPU_TYPE) $< -o  $@
-
-dma_pl230_driver.o :  dma_pl230_driver.c $(DEPS_LIST)
-	armcc $(ARM_CC_OPTIONS) $(CPU_TYPE) $< -o $@
-
-$(SYSTEM_FILE).o : $(DEVICE_DIR)/Source/$(SYSTEM_FILE).c $(DEPS_LIST)
-	armcc $(ARM_CC_OPTIONS) $(CPU_TYPE) $< -o  $@
-
-retarget.o : $(SOFTWARE_DIR)/common/retarget/retarget.c $(DEPS_LIST)
-	armcc $(ARM_CC_OPTIONS) $(CPU_TYPE) $< -o  $@
-
-uart_stdout.o : $(SOFTWARE_DIR)/common/retarget/uart_stdout.c $(DEPS_LIST)
-	armcc $(ARM_CC_OPTIONS) $(CPU_TYPE) $< -o  $@
-
-$(STARTUP_FILE).o : $(STARTUP_DIR)/$(STARTUP_FILE).s $(DEPS_LIST)
-	armasm $(ARM_ASM_OPTIONS) $(CPU_TYPE) $< -o  $@
-
-$(TESTNAME).ELF : $(TESTNAME).o dma_pl230_driver.o $(SYSTEM_FILE).o $(STARTUP_FILE).o retarget.o uart_stdout.o
-	armlink $(ARM_LINK_OPTIONS) -o $@ $(TESTNAME).o dma_pl230_driver.o $(SYSTEM_FILE).o $(STARTUP_FILE).o retarget.o uart_stdout.o
-
-$(TESTNAME).hex : $(TESTNAME).ELF
-	fromelf --vhx --8x1 $< --output $@
-
-$(TESTNAME).lst : $(TESTNAME).ELF
-	fromelf -c -d -e -s -z -v $< --output $@
-
-$(TESTNAME).bin : $(TESTNAME).ELF
-	fromelf --bin $< --output $@
-
-
-# ---------------------------------------------------------------------------------------
-# gcc
-all_gcc:
-	$(GNG_CC) $(GNU_CC_FLAGS) $(STARTUP_DIR)/$(STARTUP_FILE).s \
-		$(TESTNAME).c \
-		$(SOFTWARE_DIR)/common/retarget/retarget.c \
-		$(SOFTWARE_DIR)/common/retarget/uart_stdout.c \
-		$(DEVICE_DIR)/Source/$(SYSTEM_FILE).c \
-		-I $(DEVICE_DIR)/Include -I $(CORE_DIR) \
-                -I $(SOFTWARE_DIR)/common/retarget  \
-		-L $(LINKER_SCRIPT_PATH) \
-		-D__STACK_SIZE=0x200 \
-		-D__HEAP_SIZE=0x1000 \
-		$(USER_DEFINE) -T $(LINKER_SCRIPT) -o $(TESTNAME).o
-	# Generate disassembly code
-	$(GNU_OBJDUMP) -S $(TESTNAME).o > $(TESTNAME).lst
-	# Generate binary file
-	$(GNU_OBJCOPY) -S $(TESTNAME).o -O binary $(TESTNAME).bin
-	# Generate hex file
-	$(GNU_OBJCOPY) -S $(TESTNAME).o -O verilog $(TESTNAME).hex
-
-# Note:
-# If the version of object copy you are using does not support verilog hex file output,
-# you can generate the hex file from binary file using the following command
-#       od -v -A n -t x1 --width=1  $(TESTNAME).bin > $(TESTNAME).hex
-
-
-# ---------------------------------------------------------------------------------------
-# Keil MDK
-
-all_keil:
-	@echo "Please compile your project code and press ENTER when ready"
-	@read dummy
-
-# ---------------------------------------------------------------------------------------
-# Binary
-
-all_bin: $(TESTNAME).bin
-	# Generate hex file from binary
-	od -v -A n -t x1 --width=1  $(TESTNAME).bin > $(TESTNAME).hex
-
-# ---------------------------------------------------------------------------------------
-# Clean
-clean :
-	@rm -rf *.o
-	@if [ -e $(TESTNAME).hex ] ; then \
-	  rm -rf $(TESTNAME).hex ; \
-	fi
-	@if [ -e $(TESTNAME).lst ] ; then \
-	  rm -rf $(TESTNAME).lst ; \
-	fi
-	@if [ -e $(TESTNAME).ELF ] ; then \
-	  rm -rf $(TESTNAME).ELF ; \
-	fi
-	@if [ -e $(TESTNAME).bin ] ; then \
-	  rm -rf $(TESTNAME).bin ; \
-	fi
-	@rm -rf *.crf
-	@rm -rf *.plg
-	@rm -rf *.tra
-	@rm -rf *.htm
-	@rm -rf *.map
-	@rm -rf *.dep
-	@rm -rf *.d
-	@rm -rf *.lnp
-	@rm -rf *.bak
-	@rm -rf *.lst
-	@rm -rf *.axf
-	@rm -rf *.sct
-	@rm -rf *.__i
-	@rm -rf *._ia
diff --git a/system/aes/src/nanosoc_acc_wrapper.v b/system/aes/src/nanosoc_acc_wrapper.v
deleted file mode 100644
index 4a3d1af..0000000
--- a/system/aes/src/nanosoc_acc_wrapper.v
+++ /dev/null
@@ -1,75 +0,0 @@
-//-----------------------------------------------------------------------------
-// SoC Labs Basic Example Accelerator Wrapper
-// A joint work commissioned on behalf of SoC Labs; under Arm Academic Access license.
-//
-// Contributors
-//
-// David Mapstone (d.a.mapstone@soton.ac.uk)
-// David Flynn    (d.w.flynn@soton.ac.uk)
-//
-// Copyright (C) 2023; SoC Labs (www.soclabs.org)
-//-----------------------------------------------------------------------------
-
-module nanosoc_acc_wrapper #(
-  parameter AHBADDRWIDTH=16,
-  parameter INPACKETWIDTH=128,
-  parameter CFGSIZEWIDTH=64,
-  parameter CFGSCHEMEWIDTH=2,
-  parameter OUTPACKETWIDTH=128,
-  parameter CFGNUMIRQ=4
-  ) (
-    input  wire                      HCLK,       // Clock
-    input  wire                      HRESETn,    // Reset
-
-    // AHB connection to Initiator
-    input  wire                      HSELS,
-    input  wire   [AHBADDRWIDTH-1:0] HADDRS,
-    input  wire   [1:0]              HTRANSS,
-    input  wire   [2:0]              HSIZES,
-    input  wire   [3:0]              HPROTS,
-    input  wire                      HWRITES,
-    input  wire                      HREADYS,
-    input  wire   [31:0]             HWDATAS,
-
-    output wire                      HREADYOUTS,
-    output wire                      HRESPS,
-    output wire   [31:0]             HRDATAS,
-
-    // Input Data Request Signal to DMAC
-    output wire                      exp_drq_ip_o,
-    input  wire                      exp_dlast_ip_i,
-
-    // Output Data Request Signal to DMAC
-    output wire                      exp_drq_op_o,
-    input  wire                      exp_dlast_op_i,
-    
-    // Interrupts
-    output wire   [CFGNUMIRQ-1:0]    exp_irq_o
-  );
-  
-  soclabs_ahb_aes128_ctrl u_exp_aes128 (
-    .ahb_hclk        (HCLK),
-    .ahb_hresetn     (HRESETn),
-    .ahb_hsel        (HSELS),
-    .ahb_haddr16     (HADDRS[15:0]),
-    .ahb_htrans      (HTRANSS),
-    .ahb_hwrite      (HWRITES),
-    .ahb_hsize       (HSIZES),
-    .ahb_hprot       (HPROTS),
-    .ahb_hwdata      (HWDATAS),
-    .ahb_hready      (HREADYS),
-    .ahb_hrdata      (HRDATAS),
-    .ahb_hreadyout   (HREADYOUTS),
-    .ahb_hresp       (HRESPS),
-    .drq_ipdma128    (exp_drq_ip_o),
-    .dlast_ipdma128  (1'b0),
-    .drq_opdma128    (exp_drq_op_o),
-    .dlast_opdma128  (1'b0),
-    .irq_key128      (exp_irq_o[0]),
-    .irq_ip128       (exp_irq_o[1]),
-    .irq_op128       (exp_irq_o[2]),
-    .irq_error       (exp_irq_o[3]),
-    .irq_merged      ( )
-  );
-
-endmodule
diff --git a/system/aes/src/nanosoc_exp_wrapper.v b/system/aes/src/nanosoc_exp_wrapper.v
deleted file mode 100644
index 860ed3b..0000000
--- a/system/aes/src/nanosoc_exp_wrapper.v
+++ /dev/null
@@ -1,76 +0,0 @@
-//-----------------------------------------------------------------------------
-// SoC Labs Basic Example Accelerator Wrapper
-// A joint work commissioned on behalf of SoC Labs; under Arm Academic Access license.
-//
-// Contributors
-//
-// David Mapstone (d.a.mapstone@soton.ac.uk)
-// David Flynn    (d.w.flynn@soton.ac.uk)
-//
-// Copyright (C) 2023; SoC Labs (www.soclabs.org)
-//-----------------------------------------------------------------------------
-
-module nanosoc_exp_wrapper #(
-  parameter AHBADDRWIDTH=16,
-  parameter INPACKETWIDTH=128,
-  parameter CFGSIZEWIDTH=64,
-  parameter CFGSCHEMEWIDTH=2,
-  parameter OUTPACKETWIDTH=128,
-  parameter CFGNUMIRQ=4
-  ) (
-    input  wire                      HCLK,       // Clock
-    input  wire                      HRESETn,    // Reset
-
-    // AHB connection to Initiator
-    input  wire                      HSEL_i,
-    input  wire   [AHBADDRWIDTH-1:0] HADDR_i,
-    input  wire   [1:0]              HTRANS_i,
-    input  wire   [2:0]              HSIZE_i,
-    input  wire   [3:0]              HPROT_i,
-    input  wire                      HWRITE_i,
-    input  wire                      HREADY_i,
-    input  wire   [31:0]             HWDATA_i,
-
-    output wire                      HREADYOUT_o,
-    output wire                      HRESP_o,
-    output wire   [31:0]             HRDATA_o,
-
-    // Input Data Request Signal to DMAC
-    output wire                      exp_drq_ip_o,
-    input  wire                      exp_dlast_ip_i,
-
-    // Output Data Request Signal to DMAC
-    output wire                      exp_drq_op_o,
-    input  wire                      exp_dlast_op_i,
-    
-    // Interrupts
-    output wire   [CFGNUMIRQ-1:0]    exp_irq_o
-
-  );
-  
-  soclabs_ahb_aes128_ctrl u_exp_aes128 (
-    .ahb_hclk        (HCLK),
-    .ahb_hresetn     (HRESETn),
-    .ahb_hsel        (HSEL_i),
-    .ahb_haddr16     (HADDR_i[15:0]),
-    .ahb_htrans      (HTRANS_i),
-    .ahb_hwrite      (HWRITE_i),
-    .ahb_hsize       (HSIZE_i),
-    .ahb_hprot       (HPROT_i),
-    .ahb_hwdata      (HWDATA_i),
-    .ahb_hready      (HREADY_i),
-    .ahb_hrdata      (HRDATA_o),
-    .ahb_hreadyout   (HREADYOUT_o),
-    .ahb_hresp       (HRESP_o),
-    .drq_ipdma128    (exp_drq_ip_o),
-    .dlast_ipdma128  (1'b0),
-    .drq_opdma128    (exp_drq_op_o),
-    .dlast_opdma128  (1'b0),
-    .irq_key128      (exp_irq_o[0]),
-    .irq_ip128       (exp_irq_o[1]),
-    .irq_op128       (exp_irq_o[2]),
-    .irq_error       (exp_irq_o[3]),
-    .irq_merged      ( )
-  );
-
-endmodule
diff --git a/system/aes/src/soclabs_ahb_aes128_ctrl.v b/system/aes/src/soclabs_ahb_aes128_ctrl.v
deleted file mode 100644
index 63b2bc3..0000000
--- a/system/aes/src/soclabs_ahb_aes128_ctrl.v
+++ /dev/null
@@ -1,583 +0,0 @@
- //-----------------------------------------------------------------------------
-// top-level soclabs example AHB interface
-// A joint work commissioned on behalf of SoC Labs, under Arm Academic Access license.
-//
-// Contributors
-//
-// David Flynn (d.w.flynn@soton.ac.uk)
-//
-// Copyright (C) 2023, SoC Labs (www.soclabs.org)
-//-----------------------------------------------------------------------------
-
-module soclabs_ahb_aes128_ctrl(
-// -------------------------------------------------------
-// MCU interface
-// -------------------------------------------------------
-  input  wire        ahb_hclk,      // Clock
-  input  wire        ahb_hresetn,   // Reset
-  input  wire        ahb_hsel,      // Device select
-  input  wire [15:0] ahb_haddr16,   // Address for byte select
-  input  wire  [1:0] ahb_htrans,    // Transfer control
-  input  wire  [2:0] ahb_hsize,     // Transfer size
-  input  wire  [3:0] ahb_hprot,     // Protection control
-  input  wire        ahb_hwrite,    // Write control
-  input  wire        ahb_hready,    // Transfer phase done
-  input  wire [31:0] ahb_hwdata,    // Write data
-  output wire        ahb_hreadyout, // Device ready
-  output wire [31:0] ahb_hrdata,    // Read data output
-  output wire        ahb_hresp,     // Device response
-// stream data
-  output wire        drq_ipdma128,  // (to) DMAC input burst request
-  input  wire        dlast_ipdma128,// (from) DMAC input burst end (last transfer)
-  output wire        drq_opdma128,  // (to) DMAC output dma burst request
-  input  wire        dlast_opdma128,// (from) DMAC output burst end (last transfer)
-  output wire        irq_key128,
-  output wire        irq_ip128,
-  output wire        irq_op128,
-  output wire        irq_error,
-  output wire        irq_merged     // combined interrrupt request (to CPU)
-  );
-
-  //----------------------------------------------------------------
-  // Internal parameter definitions.
-  //----------------------------------------------------------------
-
-///typedef struct {
-///     __I  uint32_t CORE_NAME[2];   /* 0x0000-0007 */
-///     __I  uint32_t CORE_VERSION;   /* 0x0008-000B */
-///          uint32_t RESRV0C;        /* 0x000C */
-///     __IO uint32_t CTRL;           /* 0x0010 */
-///     __O  uint32_t CTRL_SET;       /* 0x0014 */
-///     __O  uint32_t CTRLL_CLR;      /* 0x0018 */
-///     __I  uint32_t STATUS;         /* 0x001c */
-///     __IO uint32_t QUAL;           /* 0x0020 */
-///          uint32_t RESRV24[3];     /* 0x0024 - 2F*/
-///     __IO uint32_t DRQ_MSK;        /* 0x0030 */
-///     __O  uint32_t DRQ_MSK_SET;    /* 0x0034 */
-///     __O  uint32_t DRQ_MSK_CLR;    /* 0x0038 */
-///     __I  uint32_t DRQ_STATUS;     /* 0x003C */
-///     __IO uint32_t IRQ_MSK;        /* 0x0040 */
-///     __O  uint32_t IRQ_MSK_SET;    /* 0x0044 */
-///     __O  uint32_t IRQ_MSK_CLR;    /* 0x0048 */
-///     __I  uint32_t IRQ_STATUS;     /* 0x004C */
-///          uint32_t RESRV50[4076];  /* 0x0050-0x3FFC (4096-20 words) */
-///     __IO uint8_t KEY128[0x4000];   /* 0x4000-7FFF (0x3FFF is last alias) */
-///     __IO uint8_t TXTIP128[0x4000]; /* 0x8000-BFFF (0x3FFF is last alias) */
-///     __I  uint8_t TXTOP128[0x4000]; /* 0xC000-FFFF (0x3FFF is last alias) */
-///} AES128_TypeDef;
-
-
-// CORE ID
-  localparam ADDR_CORE_NAME0  = 16'h0000;
-  localparam ADDR_CORE_NAME1  = 16'h0004;
-  localparam ADDR_CORE_VERSION= 16'h0008;
-  localparam CORE_NAME0       = 32'h61657331; // "aes1"
-  localparam CORE_NAME1       = 32'h32382020; // "28  "
-  localparam CORE_VERSION     = 32'h302e3031; // "0.01"
-
-// CTRL control register with bit-set/bit-clear options
-  localparam ADDR_CTRL        = 16'h0010;
-  localparam ADDR_CTRL_SET    = 16'h0014;
-  localparam ADDR_CTRL_CLR    = 16'h0018;
-  localparam CTRL_REG_WIDTH   = 8;
-  localparam CTRL_BIT_MAX     = (CTRL_REG_WIDTH-1);
-  localparam CTRL_KEY_REQ_BIT = 0;
-  localparam CTRL_IP_REQ_BIT  = 1;
-  localparam CTRL_OP_REQ_BIT  = 2;
-  localparam CTRL_ERR_REQ_BIT = 3;
-  localparam CTRL_KEYOK_BIT   = 4;
-  localparam CTRL_VALID_BIT   = 5;
-  localparam CTRL_BYPASS_BIT  = 6;
-  localparam CTRL_ENCODE_BIT  = 7;
-// STAT status regisyer 
-  localparam ADDR_STAT        = 16'h001c;
-  localparam STAT_REG_WIDTH   = 8;
-  localparam STAT_BIT_MAX     = (STAT_REG_WIDTH-1);
-  localparam STAT_KEYREQ_BIT  = 0;
-  localparam STAT_INPREQ_BIT  = 1;
-  localparam STAT_OUTREQ_BIT  = 2;
-  localparam STAT_ERROR_BIT   = 3;
-  localparam STAT_KEYOK_BIT   = 4;
-  localparam STAT_VALID_BIT   = 5;
-
-// QUAL qualifier field
-  localparam ADDR_QUAL        = 16'h0020;
-  localparam QUAL_REG_WIDTH   = 32;
-  localparam QUAL_BIT_MAX     = (QUAL_REG_WIDTH-1);
-
-// DREQ DMAC request control with bit-set/bit-clear options
-  localparam ADDR_DREQ        = 16'h0030;
-  localparam ADDR_DREQ_SET    = 16'h0034;
-  localparam ADDR_DREQ_CLR    = 16'h0038;
-  localparam ADDR_DREQ_ACT    = 16'h003c;
-  localparam DREQ_REG_WIDTH   = 3;
-  localparam DREQ_BIT_MAX     = (DREQ_REG_WIDTH-1);
-  localparam  REQ_KEYBUF_BIT  = 0;
-  localparam  REQ_IP_BUF_BIT  = 1;
-  localparam  REQ_OP_BUF_BIT  = 2;
-
-// IREQ CPU interrupt request control with bit-set/bit-clear options
-  localparam ADDR_IREQ        = 16'h0040;
-  localparam ADDR_IREQ_SET    = 16'h0044;
-  localparam ADDR_IREQ_CLR    = 16'h0048;
-  localparam ADDR_IREQ_ACT    = 16'h004c;
-  localparam IREQ_REG_WIDTH   = 4;
-  localparam IREQ_BIT_MAX     = (IREQ_REG_WIDTH-1);
-  localparam  REQ_ERROR_BIT   = 3;
-
-  localparam ADDR_KEY_BASE    = 16'h4000;
-  localparam ADDR_KEY0        = 16'h4000;
-  localparam ADDR_KEY3        = 16'h400c;
-  localparam ADDR_KEY7        = 16'h401c;
-
-  localparam ADDR_IBUF_BASE   = 16'h8000;
-  localparam ADDR_IBUF_0      = 16'h8000;
-  localparam ADDR_IBUF_3      = 16'h800c;
-
-  localparam ADDR_OBUF_BASE   = 16'hc000;
-  localparam ADDR_OBUF_3      = 16'hc00c;
-
- 
- // --------------------------------------------------------------------------
-  // Internal regs/wires
-  // --------------------------------------------------------------------------
-
-  reg   [15:0] addr16_r;
-  reg          sel_r;
-  reg          wcyc_r;
-  reg          rcyc_r;
-  reg    [3:0] byte4_r;
-
-  wire         key128_load_ack;
-  wire         ip128_load_ack;
-  wire         op128_load_ack;
-
-  // --------------------------------------------------------------------------
-  // AHB slave byte buffer interface, support for unaligned data transfers
-  // --------------------------------------------------------------------------
-
-  wire   [1:0] byt_adr = ahb_haddr16[1:0];
-  // generate next byte enable decodes for Word/Half/Byte CPU/DMA accesses
-  wire   [3:0] byte_nxt;
-  assign byte_nxt[0] = (ahb_hsize[1])|((ahb_hsize[0])&(!byt_adr[1]))|(byt_adr[1:0]==2'b00);
-  assign byte_nxt[1] = (ahb_hsize[1])|((ahb_hsize[0])&(!byt_adr[1]))|(byt_adr[1:0]==2'b01);
-  assign byte_nxt[2] = (ahb_hsize[1])|((ahb_hsize[0])&( byt_adr[1]))|(byt_adr[1:0]==2'b10);
-  assign byte_nxt[3] = (ahb_hsize[1])|((ahb_hsize[0])&( byt_adr[1]))|(byt_adr[1:0]==2'b11);
-
-  // de-pipelined registered access signals
-  always @(posedge ahb_hclk or negedge ahb_hresetn)
-    if (!ahb_hresetn)
-    begin
-      addr16_r <= 16'h0000;
-      sel_r    <= 1'b0;
-      wcyc_r   <= 1'b0;
-      rcyc_r   <= 1'b0;
-      byte4_r  <= 4'b0000;
-    end else if (ahb_hready)
-    begin
-      addr16_r <= (ahb_hsel & ahb_htrans[1]) ?  ahb_haddr16 : addr16_r;
-      sel_r    <= (ahb_hsel & ahb_htrans[1]);
-      wcyc_r   <= (ahb_hsel & ahb_htrans[1]  &  ahb_hwrite);
-      rcyc_r   <= (ahb_hsel & ahb_htrans[1]  & !ahb_hwrite);
-      byte4_r  <= (ahb_hsel & ahb_htrans[1]) ?  byte_nxt[3:0] : 4'b0000;
-    end 
-
-
-// pipelined "early" last access decodes, for PL230 dma_ack timing to deassert dma requests
-//  wire ahb128_last  = ahb_hsel &  ahb_htrans[1] & ahb_hready & ahb_haddr16[3] & ahb_haddr16[2] & byte_nxt[3];
-//  wire ahb128_wlast = ahb_last &  ahb_hwrite & |ahb_haddr[15:14]; // address phase of last write transfer
-//  wire ahb128_rlast = ahb_last & !ahb_hwrite & |ahb_haddr[15:14]; // address phase of last read transfer
-  
-  wire wlast128     = |ahb_haddr16[15:14] & addr16_r[3] & addr16_r[2] & byte4_r[3] & wcyc_r; // write last pulse
-  wire rlast128     = &ahb_haddr16[15:14] & addr16_r[3] & addr16_r[2] & byte4_r[3] & rcyc_r; // read last pulse
-
-  //----------------------------------------------------------------
-  // API register state and wiring
-  //
-  //----------------------------------------------------------------
-
-  reg   [CTRL_BIT_MAX:0] control;
-  reg   [QUAL_BIT_MAX:0] param;
-  reg   [DREQ_BIT_MAX:0] drq_enable;
-  reg   [IREQ_BIT_MAX:0] irq_enable;
-
-  wire  [STAT_BIT_MAX:0] status;
-  wire  [DREQ_BIT_MAX:0] drq_active;
-  wire  [IREQ_BIT_MAX:0] irq_active;
-
-  wire [31:0] rd_keybuf;
-  wire [31:0] rd_ipbuf;
-  wire [31:0] rd_opbuf;
- 
-  //----------------------------------------------------------------
-  // API write decoder
-  //
-  //----------------------------------------------------------------
-
-  wire sel_mode   = sel_r & (addr16_r[15: 8] == 0);
-  wire sel_keybuf = sel_r & (addr16_r[15:14] == 1);
-  wire sel_ipbuf  = sel_r & (addr16_r[15:14] == 2);
-  wire sel_opbuf  = sel_r & (addr16_r[15:14] == 3);
-// add address map "last" transfer signalling when last (byte) of alias map is written 
-  wire alast_key128 = sel_keybuf & wcyc_r & (&addr16_r[13:2]) & byte4_r[3];
-  wire alast_ip128  = sel_ipbuf  & wcyc_r & (&addr16_r[13:2]) & byte4_r[3];
-  wire alast_op128  = sel_opbuf  & rcyc_r & (&addr16_r[13:2]) & byte4_r[3];
-
-  always @(posedge ahb_hclk or negedge ahb_hresetn)
-   if (!ahb_hresetn) begin
-     control    <= {CTRL_REG_WIDTH{1'b0}};
-     param      <= {QUAL_REG_WIDTH{1'b0}};
-     drq_enable <= {DREQ_REG_WIDTH{1'b0}};
-     irq_enable <= {IREQ_REG_WIDTH{1'b0}};
-     end
-   else if (sel_mode & wcyc_r & byte4_r[0])
-     case ({addr16_r[15:2],2'b00})
-       ADDR_CTRL    : control    <=  ahb_hwdata[CTRL_BIT_MAX:0];              // overwrite ctl reg
-       ADDR_CTRL_SET: control    <=  ahb_hwdata[CTRL_BIT_MAX:0] | control;    // bit set ctl mask pattern
-       ADDR_CTRL_CLR: control    <= ~ahb_hwdata[CTRL_BIT_MAX:0] & control;    // bit clear ctl mask pattern
-       ADDR_QUAL    : param      <=  ahb_hwdata[QUAL_BIT_MAX:0];              // write qual pattern
-       ADDR_DREQ    : drq_enable <=  ahb_hwdata[DREQ_BIT_MAX:0];              // overwrite dreq reg
-       ADDR_DREQ_SET: drq_enable <=  ahb_hwdata[DREQ_BIT_MAX:0] | drq_enable; // bit set dreq mask pattern
-       ADDR_DREQ_CLR: drq_enable <= ~ahb_hwdata[DREQ_BIT_MAX:0] & drq_enable; // bit clear dreq mask pattern
-       ADDR_IREQ    : irq_enable <=  ahb_hwdata[IREQ_BIT_MAX:0];              // overwrite ireq reg
-       ADDR_IREQ_SET: irq_enable <=  ahb_hwdata[IREQ_BIT_MAX:0] | irq_enable; // bit set ireq mask pattern
-       ADDR_IREQ_CLR: irq_enable <= ~ahb_hwdata[IREQ_BIT_MAX:0] & irq_enable; // bit clear ireq mask pattern
-       default: ;
-     endcase
-   else if (sel_keybuf & wcyc_r & (dlast_ipdma128 | alast_key128)) // key terminate
-     drq_enable[0] <= 1'b0;
-   else if (sel_ipbuf  & wcyc_r & (dlast_ipdma128 | alast_ip128)) // ip-buffer terminate
-     drq_enable[1] <= 1'b0;
-   else if (sel_opbuf & rcyc_r  & (dlast_opdma128 | alast_op128)) // op-buffer complete
-     drq_enable[2] <= 1'b0;
-
-  //----------------------------------------------------------------
-  // API read decoder
-  //
-  //----------------------------------------------------------------
-
-reg [31:0] rdata32; // mux read data
-
-  always @*
-    begin : read_decoder
-      rdata32  = 32'hbad0bad;
-      if (sel_r & rcyc_r)
-        case ({addr16_r[15:2],2'b00})
-          ADDR_CORE_NAME0   : rdata32 = CORE_NAME0; 
-          ADDR_CORE_NAME1   : rdata32 = CORE_NAME1; 
-          ADDR_CORE_VERSION : rdata32 = CORE_VERSION;
-          ADDR_CTRL     : rdata32 = {{(32-CTRL_REG_WIDTH){1'b0}}, control};
-          ADDR_STAT     : rdata32 = {{(32-STAT_REG_WIDTH){1'b0}}, status};
-          ADDR_QUAL     : rdata32 = {{(32-QUAL_REG_WIDTH){1'b0}}, param};
-          ADDR_DREQ     : rdata32 = {{(32-DREQ_REG_WIDTH){1'b0}}, drq_enable};
-          ADDR_DREQ_ACT : rdata32 = {{(32-DREQ_REG_WIDTH){1'b0}}, drq_active};
-          ADDR_IREQ     : rdata32 = {{(32-IREQ_REG_WIDTH){1'b0}}, irq_enable};
-          ADDR_IREQ_ACT : rdata32 = {{(32-DREQ_REG_WIDTH){1'b0}}, irq_active};
-        default:
-          if      (sel_keybuf) rdata32 = rd_keybuf;
-          else if (sel_ipbuf)  rdata32 = rd_ipbuf;
-          else if (sel_opbuf)  rdata32 = rd_opbuf;
-        endcase
-    end // read_decoder
-
-  assign ahb_hrdata = rdata32;
-
-  assign ahb_hreadyout = 1'b1; // zero wait state interface
-  assign ahb_hresp     = 1'b0;
-    
-  // --------------------------------------------------------------------------
-  // Key Input Buffer - keybuf
-  // --------------------------------------------------------------------------
-
-  wire [127:0] key128_be;
-
-  soclabs_iobuf_reg128
-  #(.WRITE_ONLY     (1),
-    .WRITE_ZPAD     (0))
-  u_reg128_key
-  (
-    .clk         (ahb_hclk        ), // Clock
-    .rst_b       (ahb_hresetn     ), // Reset
-    .sel_r       (sel_keybuf      ), // Bank decode select
-    .wcyc_r      (wcyc_r          ), // Write cycle (wdata32 valid)
-    .rcyc_r      (rcyc_r          ), // Read cycle (return rdata32)
-    .word2_r     (addr16_r[3:2]   ), // Address for word select
-    .byte4_r     (byte4_r[3:0]    ), // Byte select decoded (up to 4 enabled)
-    .wdata32     (ahb_hwdata[31:0]), // Write data (byte lane qualified)
-    .rdata32     (rd_keybuf       ), // Read data output
-    .dma128_ack  (key128_load_ack ), // DMA burst acknowledge
-    .out128_le   (                ), // Big-Endian 128-bit value
-    .out128_be   (key128_be       )  // Big-Endian 128-bit value
-  );
-
-  // --------------------------------------------------------------------------
-  // Data Input Buffer - ipbuf
-  // --------------------------------------------------------------------------
-
-  wire [127:0] ip128_le;
-  wire [127:0] ip128_be;
-
-  soclabs_iobuf_reg128
-  #(.WRITE_ONLY     (0),
-    .WRITE_ZPAD     (1))
-  u_reg128_ip
-  (
-    .clk         (ahb_hclk        ), // Clock
-    .rst_b       (ahb_hresetn     ), // Reset
-    .sel_r       (sel_ipbuf       ), // Bank decode select
-    .wcyc_r      (wcyc_r          ), // Write cycle (wdata32 valid)
-    .rcyc_r      (rcyc_r          ), // Read cycle (return rdata32)
-    .word2_r     (addr16_r[3:2]   ), // Address for word select
-    .byte4_r     (byte4_r[3:0]    ), // Byte select decoded (up to 4 enabled)
-    .wdata32     (ahb_hwdata[31:0]), // Write data (byte lane qualified)
-    .rdata32     (rd_ipbuf        ), // Read data output
-    .dma128_ack  (ip128_load_ack  ), // DMA burst acknowledge
-    .out128_le   (ip128_le        ), // Big-Endian 128-bit value
-    .out128_be   (ip128_be        )  // Big-Endian 128-bit value
-  );
-
-  // --------------------------------------------------------------------------
-  // Data Output Buffer - opbufsel_keybuf
-  // --------------------------------------------------------------------------
-
-  wire [127:0] op128_be;
-  wire [127:0] op128_muxed = (control[CTRL_BYPASS_BIT]) ? ip128_be : op128_be;
-  
-  wire [31:0] op_slice32 [0:3];
-  assign op_slice32[3] = {op128_muxed[  7:  0],op128_muxed[ 15:  8],op128_muxed[ 23: 16],op128_muxed[ 31: 24]};
-  assign op_slice32[2] = {op128_muxed[ 39: 32],op128_muxed[ 47: 40],op128_muxed[ 55: 48],op128_muxed[ 63: 56]};
-  assign op_slice32[1] = {op128_muxed[ 71: 64],op128_muxed[ 79: 72],op128_muxed[ 87: 80],op128_muxed[ 95: 88]};
-  assign op_slice32[0] = {op128_muxed[103: 96],op128_muxed[111:104],op128_muxed[119:112],op128_muxed[127:120]};
-
-  // 32-bit addressed read data
-  assign rd_opbuf = op_slice32[addr16_r[3:2]];
-
-  assign op128_load_ack = (sel_opbuf & rcyc_r & addr16_r[3] & addr16_r[2] & byte4_r[3]);
-
-  // --------------------------------------------------------------------------
-  // example aes128 engine timing
-  // --------------------------------------------------------------------------
-  // --------------------------------------------------------------------------
-  // AES-specific control interface
-  // --------------------------------------------------------------------------
-
-wire aes128_encode = control[CTRL_ENCODE_BIT];
-wire aes256_keysize = 1'b0;
-
-wire aes_keyloaded_pulse = key128_load_ack; // pulse on last byte load of key128
-wire aes_dataloaded_pulse= ip128_load_ack;  // pulse on last byte load of text128
-wire aes_ready;
-wire aes_valid;
-
-// state machine control
-reg  aes_ready_del;
-reg  aes_init;
-reg  aes_next;
-reg  aes_key_busy;
-reg  aes_key_rdy;
-reg  aes_res_busy;
-reg  aes_res_rdy;
-reg  aes_err;
-
-  always @(posedge ahb_hclk or negedge ahb_hresetn)
-    if (!ahb_hresetn) begin
-      aes_ready_del <= 1'b0;
-      aes_init      <= 1'b0;
-      aes_next      <= 1'b0;
-      aes_key_busy  <= 1'b0;
-      aes_key_rdy   <= 1'b0;
-      aes_res_busy  <= 1'b0;
-      aes_res_rdy   <= 1'b0;
-      aes_err       <= 1'b0;
-    end else begin
-      aes_ready_del <= aes_ready; // delay for rising edge detect
-      aes_init      <= aes_keyloaded_pulse;
-      aes_next      <= aes_dataloaded_pulse;
-      aes_key_busy  <= (aes_init) | (aes_key_busy & !(aes_ready & !aes_ready_del)); // hold until key expansion done
-      aes_key_rdy   <= (aes_key_busy & aes_ready & !aes_ready_del) // expanded key ready
-                     | (aes_key_rdy & !(sel_keybuf & wcyc_r));     // hold until any key update
-      aes_res_busy  <= (aes_next) | (aes_res_busy & !(aes_ready & !aes_ready_del)); // hold until block processing done
-      aes_res_rdy   <= (aes_res_busy & aes_ready & !aes_ready_del) // block ready
-                     | (aes_res_rdy & !op128_load_ack);           // hold until output transferred
-      aes_err       <= (!aes_key_rdy & ((sel_ipbuf & wcyc_r) | (sel_opbuf & rcyc_r)))
-                     | (aes_err & !(sel_keybuf & wcyc_r));
-    end
-
-  assign drq_active[REQ_KEYBUF_BIT] = control[CTRL_KEY_REQ_BIT] & (!aes_keyloaded_pulse & !aes_init & !aes_key_busy & !aes_key_rdy);
-  assign drq_active[REQ_IP_BUF_BIT] = control[CTRL_IP_REQ_BIT] & (!aes_dataloaded_pulse & !aes_next & !aes_res_busy & !aes_res_rdy & aes_key_rdy);
-  assign drq_active[REQ_OP_BUF_BIT] = control[CTRL_OP_REQ_BIT] & (!aes_res_busy &  aes_res_rdy);
-
-// input DMA channel shared by Key and Data-In
-  assign drq_ipdma128 = (drq_enable[REQ_KEYBUF_BIT] & drq_active[REQ_KEYBUF_BIT] & !wlast128) // if key DMA enabled
-                      | (drq_enable[REQ_IP_BUF_BIT] & drq_active[REQ_IP_BUF_BIT] & !wlast128) // if ip128 DMA requested
-                      ;
-                      
-// output DMA channel for Data-Out
-  assign drq_opdma128 = (drq_enable[REQ_OP_BUF_BIT]  & drq_active[REQ_OP_BUF_BIT] & !rlast128); // if op128 DMA requested
-
-// and Interrupt requests are masked out if corresponding DMA requests are enabled
-  assign irq_active[REQ_KEYBUF_BIT] = drq_active[REQ_KEYBUF_BIT] & !drq_enable[REQ_KEYBUF_BIT];
-  assign irq_active[REQ_IP_BUF_BIT] = drq_active[REQ_IP_BUF_BIT] & !drq_enable[REQ_IP_BUF_BIT];
-  assign irq_active[REQ_OP_BUF_BIT] = drq_active[REQ_OP_BUF_BIT] & !drq_enable[REQ_OP_BUF_BIT];
-  assign irq_active[REQ_ERROR_BIT ] = control[CTRL_ERR_REQ_BIT]   & aes_err; // error raised in SW
-
-  assign irq_key128 = irq_active[REQ_KEYBUF_BIT] & irq_enable[REQ_KEYBUF_BIT];
-  assign irq_ip128  = irq_active[REQ_IP_BUF_BIT] & irq_enable[REQ_IP_BUF_BIT];
-  assign irq_op128  = irq_active[REQ_OP_BUF_BIT] & irq_enable[REQ_OP_BUF_BIT];
-  assign irq_error  = irq_active[REQ_ERROR_BIT ] & irq_enable[REQ_ERROR_BIT ];
-// merge and mask if not DRQ
-  assign irq_merged = irq_key128 | irq_ip128 | irq_op128 | irq_error;
-  
-
-// wire up status port  
-  assign status[2:0]            = control [2:0];
-  assign status[STAT_ERROR_BIT] = (!aes_res_busy & !aes_key_rdy);
-  assign status[STAT_KEYOK_BIT] = aes_key_rdy;
-  assign status[STAT_VALID_BIT] = aes_res_rdy;
-  assign status[7:6]            = control [7:6];
-
-  //----------------------------------------------------------------
-  // core instantiation.
-  //----------------------------------------------------------------
-  aes_core core(
-                .clk(ahb_hclk),
-                .reset_n(ahb_hresetn),
-
-                .encdec(aes128_encode),
-                .init(aes_init),
-                .next(aes_next),
-                .ready(aes_ready),
-
-                .key({key128_be,key128_be}),
-                .keylen(aes256_keysize),
-
-                .block(ip128_be),
-                .result(op128_be),
-                .result_valid(aes_valid)
-               );
-                             
-endmodule
-
-module soclabs_iobuf_reg128
- #(
-  parameter  WRITE_ONLY = 0,
-  parameter  WRITE_ZPAD = 0
-  ) (
-// -------------------------------------------------------
-// de-pipelined register interface
-// -------------------------------------------------------
-// ahb
-  input  wire         clk,        // Clock
-  input  wire         rst_b,      // Reset
-  input  wire         sel_r,      // Bank decode select
-  input  wire         wcyc_r,     // Write cycle (wdata32 valid)
-  input  wire         rcyc_r,     // Read cycle (return rdata32)
-  input  wire   [1:0] word2_r,    // Address for word select
-  input  wire   [3:0] byte4_r,    // Byte select decoded (up to 4 enabled)
-  input  wire  [31:0] wdata32,    // Write data (byte lae qualified)
-  output wire  [31:0] rdata32,    // Read data output
-  output wire         dma128_ack, // DMA burst acknowledge
-  output wire [127:0] out128_le,  // Litte-Endian 128-bit value
-  output wire [127:0] out128_be   // Big-Endian 128-bit value
-) ;
-
-  reg   [7:0] byte0 [0:3];
-  reg   [7:0] byte1 [0:3];
-  reg   [7:0] byte2 [0:3];
-  reg   [7:0] byte3 [0:3];
-  reg         ack128;
-
-  wire zpad_cfg = (WRITE_ZPAD==0) ? 1'b0 : 1'b1;
-
-// byte-0 array; flush on write to word-0, byte-0
-// else addressed word byte-0 write
-  always @(posedge clk or negedge rst_b)
-    if (!rst_b)
-      begin byte0[0] <= 8'h00; byte0[1] <= 8'h00; byte0[2] <= 8'h00; byte0[3] <= 8'h00; end
-    else if (zpad_cfg & sel_r & wcyc_r & byte4_r[0] & !word2_r[1] & !word2_r[0]) // Z-PAD rest
-      begin byte0[0] <= wdata32[ 7: 0]; byte0[1] <= 8'h00; byte0[2] <= 8'h00; byte0[3] <= 8'h00; end
-    else if (sel_r & wcyc_r & byte4_r[0])
-      byte0[word2_r[1:0]] <= wdata32[ 7: 0];
-   
-// byte-1 array; flush on write to word-0, byte-0 if byte-1 not also written
-// flush rest on write to word-0, byte-0 and byte-1 also written
-// else address word byte-1 write
-  always @(posedge clk or negedge rst_b)
-    if (!rst_b)
-      begin byte1[0] <= 8'h00; byte1[1] <= 8'h00; byte1[2] <= 8'h00; byte1[3] <= 8'h00; end
-    else if (zpad_cfg & sel_r & wcyc_r & !byte4_r[1] & !word2_r[1] & !word2_r[0] & byte4_r[0]) // Z-PAD
-      begin byte1[0] <= 8'h00; byte1[1] <= 8'h00; byte1[2] <= 8'h00; byte1[3] <= 8'h00; end
-    else if (zpad_cfg & sel_r & wcyc_r &  byte4_r[1] & !word2_r[1] & !word2_r[0] & byte4_r[0]) // Z-PAD rest
-      begin byte1[0] <= wdata32[15: 8]; byte1[1] <= 8'h00; byte1[2] <= 8'h00; byte1[3] <= 8'h00; end
-    else if (sel_r & wcyc_r & byte4_r[1])
-      byte1[word2_r[1:0]] <= wdata32[15: 8];
-   
-// byte-2 array; flush on write to word-0, byte-0 if byte-2 not also written
-// flush rest on write to word-0, byte-0 and byte-2 also written
-// else address word byte-2 write
-  always @(posedge clk or negedge rst_b)
-    if (!rst_b)
-      begin byte2[0] <= 8'h00; byte2[1] <= 8'h00; byte2[2] <= 8'h00; byte2[3] <= 8'h00; end
-    else if (zpad_cfg & sel_r & wcyc_r & !byte4_r[2] & !word2_r[1] & !word2_r[0] & byte4_r[0]) // Z-PAD
-      begin byte2[0] <= 8'h00; byte2[1] <= 8'h00; byte2[2] <= 8'h00; byte2[3] <= 8'h00; end
-    else if (zpad_cfg & sel_r & wcyc_r &  byte4_r[2] & !word2_r[1] & !word2_r[0] & byte4_r[0]) // Z-PAD rest
-      begin byte2[0] <= wdata32[23:16]; byte2[1] <= 8'h00; byte2[2] <= 8'h00; byte2[3] <= 8'h00; end
-    else if (sel_r & wcyc_r & byte4_r[2])
-      byte2[word2_r[1:0]] <= wdata32[23:16];
-   
-// byte-3 array; flush on write to word-0, byte-0 if byte-3 not also written
-// flush rest on write to word-0, byte-0 and byte-3 also written
-// else address word byte-3 write
-  always @(posedge clk or negedge rst_b)
-    if (!rst_b)
-      begin byte3[0] <= 8'h00; byte3[1] <= 8'h00; byte3[2] <= 8'h00; byte3[3] <= 8'h00; end
-    else if (zpad_cfg & sel_r & wcyc_r & !byte4_r[3] & !word2_r[1] & !word2_r[0] & byte4_r[0]) // Z-PAD
-      begin byte3[0] <= 8'h00; byte3[1] <= 8'h00; byte3[2] <= 8'h00; byte3[3] <= 8'h00; end
-    else if (zpad_cfg & sel_r & wcyc_r &  byte4_r[3] & !word2_r[1] & !word2_r[0] & byte4_r[0]) // Z-PAD rest
-      begin byte3[0] <= wdata32[31:24]; byte3[1] <= 8'h00; byte3[2] <= 8'h00; byte3[3] <= 8'h00; end
-    else if (sel_r & wcyc_r & byte4_r[3])
-      byte3[word2_r[1:0]] <= wdata32[31:24];
-
-  // ack on write to final byte [15]   
-  always @(posedge clk or negedge rst_b)
-    if (!rst_b)
-      ack128 <= 1'b0;
-    else
-      ack128 <= sel_r & wcyc_r & word2_r[1] & word2_r[0] & byte4_r[3];
-
-  assign dma128_ack = ack128;
-
-// byte reverse per word for Big Endian AES engine
-  assign out128_be = {byte0[0], byte1[0], byte2[0], byte3[0],
-                      byte0[1], byte1[1], byte2[1], byte3[1],
-                      byte0[2], byte1[2], byte2[2], byte3[2],
-                      byte0[3], byte1[3], byte2[3], byte3[3]};
-                   
-// byte reverse per word for Big Endian AES engine
-  assign out128_le = {byte3[3], byte2[3], byte1[3], byte0[3],
-                      byte3[2], byte2[2], byte1[2], byte0[2],
-                      byte3[1], byte2[1], byte1[1], byte0[1],
-                      byte3[0], byte2[0], byte1[0], byte0[0]};
-                   
-// little-endian read data (if not Write-Only)
-  assign rdata32   = (sel_r & rcyc_r & (WRITE_ONLY == 0))
-                   ? {byte3[word2_r[1:0]], byte2[word2_r[1:0]],
-                      byte1[word2_r[1:0]], byte0[word2_r[1:0]]}
-                   : 32'h00000000;
-
-endmodule
-
-// include SecWorks IP but fix up default_nettype issues that breaks elsewhere
-
-`include "aes_core.v"
-`default_nettype wire
-`include "aes_encipher_block.v"
-`default_nettype wire
-`include "aes_decipher_block.v"
-`default_nettype wire
-`include "aes_key_mem.v"
-`default_nettype wire
-`include "aes_sbox.v"
-`default_nettype wire
-`include "aes_inv_sbox.v"
-`default_nettype wire
diff --git a/system/aes/verif/aes128_log_to_file.v b/system/aes/verif/aes128_log_to_file.v
deleted file mode 100644
index bc190d8..0000000
--- a/system/aes/verif/aes128_log_to_file.v
+++ /dev/null
@@ -1,308 +0,0 @@
-//-----------------------------------------------------------------------------
-// AHB transaction logger, developed for DMA integration testing
-// A joint work commissioned on behalf of SoC Labs, under Arm Academic Access license.
-//
-// Contributors
-//
-// David Flynn (d.w.flynn@soton.ac.uk)
-//
-// Copyright (C) 2023, SoC Labs (www.soclabs.org)
-//-----------------------------------------------------------------------------
-
-module aes128_log_to_file
-  #(parameter FILENAME = "aes128.log",
-    parameter TIMESTAMP = 1)
-  (
-  input  wire        ahb_hclk,      // Clock
-  input  wire        ahb_hresetn,   // Reset
-  input  wire        ahb_hsel,      // Device select
-  input  wire [15:0] ahb_haddr16,   // Address for byte select
-  input  wire  [1:0] ahb_htrans,    // Transfer control
-  input  wire  [2:0] ahb_hsize,     // Transfer size
-  input  wire  [3:0] ahb_hprot,     // Protection control
-  input  wire        ahb_hwrite,    // Write control
-  input  wire        ahb_hready,    // Transfer phase done
-  input  wire [31:0] ahb_hwdata,    // Write data
-  input  wire        ahb_hreadyout, // Device ready
-  input  wire [31:0] ahb_hrdata,    // Read data output
-  input  wire        ahb_hresp,     // Device response
-// stream data
-  input  wire        drq_ipdma128,  // (to) DMAC input burst request
-  input  wire        dlast_ipdma128,// (from) DMAC input burst end (last transfer)
-  input  wire        drq_opdma128,  // (to) DMAC output dma burst request
-  input  wire        dlast_opdma128,// (from) DMAC output burst end (last transfer)
-  input  wire        irq_key128,
-  input  wire        irq_ip128,
-  input  wire        irq_op128,
-  input  wire        irq_error,
-  input  wire        irq_merged     // combined interrrupt request (to CPU)
-  );
-
-
-// CORE ID
-  localparam ADDR_CORE_NAME0  = 16'h0000;
-  localparam ADDR_CORE_NAME1  = 16'h0004;
-  localparam ADDR_CORE_VERSION= 16'h0008;
-  localparam CORE_NAME0       = 32'h61657331; // "aes1"
-  localparam CORE_NAME1       = 32'h32382020; // "28  "
-  localparam CORE_VERSION     = 32'h302e3031; // "0.01"
-
-// CTRL control register with bit-set/bit-clear options
-  localparam ADDR_CTRL        = 16'h0010;
-  localparam ADDR_CTRL_SET    = 16'h0014;
-  localparam ADDR_CTRL_CLR    = 16'h0018;
-  localparam CTRL_REG_WIDTH   = 8;
-  localparam CTRL_BIT_MAX     = (CTRL_REG_WIDTH-1);
-  localparam CTRL_KEY_REQ_BIT = 0;
-  localparam CTRL_IP_REQ_BIT  = 1;
-  localparam CTRL_OP_REQ_BIT  = 2;
-  localparam CTRL_ERR_REQ_BIT = 3;
-  localparam CTRL_KEYOK_BIT   = 4;
-  localparam CTRL_VALID_BIT   = 5;
-  localparam CTRL_BYPASS_BIT  = 6;
-  localparam CTRL_ENCODE_BIT  = 7;
-// STAT status regisyer 
-  localparam ADDR_STAT        = 16'h001c;
-  localparam STAT_REG_WIDTH   = 8;
-  localparam STAT_BIT_MAX     = (STAT_REG_WIDTH-1);
-  localparam STAT_KEYREQ_BIT  = 0;
-  localparam STAT_INPREQ_BIT  = 1;
-  localparam STAT_OUTREQ_BIT  = 2;
-  localparam STAT_ERROR_BIT   = 3;
-  localparam STAT_KEYOK_BIT   = 4;
-  localparam STAT_VALID_BIT   = 5;
-
-// QUAL qualifier field
-  localparam ADDR_QUAL        = 16'h0020;
-  localparam QUAL_REG_WIDTH   = 32;
-  localparam QUAL_BIT_MAX     = (QUAL_REG_WIDTH-1);
-
-// DREQ DMAC request control with bit-set/bit-clear options
-  localparam ADDR_DREQ        = 16'h0030;
-  localparam ADDR_DREQ_SET    = 16'h0034;
-  localparam ADDR_DREQ_CLR    = 16'h0038;
-  localparam ADDR_DREQ_ACT    = 16'h003c;
-  localparam DREQ_REG_WIDTH   = 3;
-  localparam DREQ_BIT_MAX     = (DREQ_REG_WIDTH-1);
-  localparam  REQ_KEYBUF_BIT  = 0;
-  localparam  REQ_IP_BUF_BIT  = 1;
-  localparam  REQ_OP_BUF_BIT  = 2;
-
-// IREQ CPU interrupt request control with bit-set/bit-clear options
-  localparam ADDR_IREQ        = 16'h0040;
-  localparam ADDR_IREQ_SET    = 16'h0044;
-  localparam ADDR_IREQ_CLR    = 16'h0048;
-  localparam ADDR_IREQ_ACT    = 16'h004c;
-  localparam IREQ_REG_WIDTH   = 4;
-  localparam IREQ_BIT_MAX     = (IREQ_REG_WIDTH-1);
-  localparam  REQ_ERROR_BIT   = 3;
-
-  localparam ADDR_KEY_BASE    = 16'h4000;
-  localparam ADDR_KEY0        = 16'h4000;
-  localparam ADDR_KEY3        = 16'h400c;
-  localparam ADDR_KEY7        = 16'h401c;
-
-  localparam ADDR_IBUF_BASE   = 16'h8000;
-  localparam ADDR_IBUF_0      = 16'h8000;
-  localparam ADDR_IBUF_3      = 16'h800c;
-
-  localparam ADDR_OBUF_BASE   = 16'hc000;
-  localparam ADDR_OBUF_3      = 16'hc00c;
-
- // AHB transction de-pipelining
- 
-  // --------------------------------------------------------------------------
-  // Internal regs/wires
-  // --------------------------------------------------------------------------
-
-  reg          sel_r;
-  reg   [15:0] addr16_r;
-  reg          wcyc_r;
-  reg          rcyc_r;
-  reg    [3:0] byte4_r;
-  reg    [3:0] dma_ctrl_state_r;
-  
-  // --------------------------------------------------------------------------
-  // AHB slave byte buffer interface, support for unaligned data transfers
-  // --------------------------------------------------------------------------
-
-  wire   [1:0] byte_addr = ahb_haddr16[1:0];
-  // generate next byte enable decodes for Word/Half/Byte CPU/DMA accesses
-  wire   [3:0] byte_nxt;
-  assign byte_nxt[0] = (ahb_hsize[1])|((ahb_hsize[0])&(!byte_addr[1]))|(byte_addr[1:0]==2'b00);
-  assign byte_nxt[1] = (ahb_hsize[1])|((ahb_hsize[0])&(!byte_addr[1]))|(byte_addr[1:0]==2'b01);
-  assign byte_nxt[2] = (ahb_hsize[1])|((ahb_hsize[0])&( byte_addr[1]))|(byte_addr[1:0]==2'b10);
-  assign byte_nxt[3] = (ahb_hsize[1])|((ahb_hsize[0])&( byte_addr[1]))|(byte_addr[1:0]==2'b11);
-
-  // de-pipelined registered access signals
-  always @(posedge ahb_hclk or negedge ahb_hresetn)
-    if (!ahb_hresetn)
-    begin
-      addr16_r <= 16'h0000;
-      sel_r    <= 1'b0;
-      wcyc_r   <= 1'b0;
-      rcyc_r   <= 1'b0;
-      byte4_r  <= 4'b0000;
-    end else if (ahb_hready)
-    begin
-      addr16_r <= (ahb_hsel & ahb_htrans[1]) ?  ahb_haddr16 : addr16_r;
-      sel_r    <= (ahb_hsel & ahb_htrans[1]);
-      wcyc_r   <= (ahb_hsel & ahb_htrans[1]  &  ahb_hwrite);
-      rcyc_r   <= (ahb_hsel & ahb_htrans[1]  & !ahb_hwrite);
-      byte4_r  <= (ahb_hsel & ahb_htrans[1]) ?  byte_nxt[3:0] : 4'b0000;
-    end 
-
-  wire [31:0] ahb_hdata = (wcyc_r)? ahb_hwdata : ahb_hrdata;
-
- //----------------------------------------------
- //-- File I/O
- //----------------------------------------------
-
-   integer        fd;       // channel descriptor for cmd file input
-   integer        ch;
-
-    reg           drq_ipdma128_prev;
-    reg           dlast_ipdma128_prev;
-    reg           drq_opdma128_prev;
-    reg           dlast_opdma128_prev;
-    reg           irq_key128_prev;
-    reg           irq_ip128_prev;
-    reg           irq_op128_prev;
-    reg           irq_error_prev;
-    reg           irq_merged_prev;
-
-    wire          drq_ipdma128_change;
-    wire          dlast_ipdma128_change;
-    wire          drq_opdma128_change;
-    wire          dlast_opdma128_change;
-    wire          irq_key128_change;
-    wire          irq_ip128_change;
-    wire          irq_op128_change;
-    wire          irq_error_change;
-    wire          irq_merged_change;
-    wire          irq_change;
-    wire          drq_change;
-    wire          any_change;
-        
-    reg [31:0]     cyc_count;
-`define EOF -1
-
-  reg [7:0] ctrl_reg;
-  reg [2:0] dreq_reg;
-  reg [2:0] ireq_reg;
-  
-  always @(posedge ahb_hclk or negedge ahb_hresetn)
-    if (!ahb_hresetn)
-    begin
-       drq_ipdma128_prev   <= 1'b0;
-       dlast_ipdma128_prev <= 1'b0;
-       drq_opdma128_prev   <= 1'b0;
-       dlast_opdma128_prev <= 1'b0;
-       irq_key128_prev     <= 1'b0;
-       irq_ip128_prev      <= 1'b0;
-       irq_op128_prev      <= 1'b0;
-       irq_error_prev      <= 1'b0;
-       irq_merged_prev     <= 1'b0;
-    end else if (ahb_hready)
-    begin
-       drq_ipdma128_prev   <= drq_ipdma128  ;
-       dlast_ipdma128_prev <= dlast_ipdma128;
-       drq_opdma128_prev   <= drq_opdma128  ;
-       dlast_opdma128_prev <= dlast_opdma128;
-       irq_key128_prev     <= irq_key128    ;
-       irq_ip128_prev      <= irq_ip128     ;
-       irq_op128_prev      <= irq_op128     ;
-       irq_error_prev      <= irq_error     ;
-       irq_merged_prev     <= irq_merged    ;
-    end 
-
-    assign drq_ipdma128_change   = (drq_ipdma128_prev   ^ drq_ipdma128  );
-    assign dlast_ipdma128_change = (dlast_ipdma128_prev ^ dlast_ipdma128);
-    assign drq_opdma128_change   = (drq_opdma128_prev   ^ drq_opdma128  );
-    assign dlast_opdma128_change = (dlast_opdma128_prev ^ dlast_opdma128);
-    assign drq_change            =   drq_ipdma128_change |   drq_opdma128_change
-                                 | dlast_ipdma128_change | dlast_opdma128_change;
-    assign irq_key128_change     = (irq_key128_prev     ^ irq_key128    );
-    assign irq_ip128_change      = (irq_ip128_prev      ^ irq_ip128     );
-    assign irq_op128_change      = (irq_op128_prev      ^ irq_op128     );
-    assign irq_error_change      = (irq_error_prev      ^ irq_error     );
-    assign irq_change            = irq_key128_change | irq_ip128_change
-                                 | irq_op128_change | irq_error_change;
-
-    assign any_change = drq_ipdma128_change
-                      | dlast_ipdma128_change
-                      | drq_opdma128_change
-                      | dlast_opdma128_change
-                      | irq_key128_change
-                      | irq_ip128_change
-                      | irq_op128_change
-                      | irq_error_change
-                      | irq_merged_change
-                      ;
-                         
-   initial
-     begin
-       fd= $fopen(FILENAME,"w");
-       cyc_count <= 0;
-       if (fd == 0)
-          $write("** %m : output log file failed to open **\n");
-       else begin
-         @(posedge ahb_hresetn);
-         while (1) begin
-           @(posedge ahb_hclk);
-           cyc_count <= cyc_count +1;
-           if (sel_r & ahb_hready) begin
-             $fwrite(fd, "AES-C: ");
-             case ({addr16_r[15:2],2'b00})
-               ADDR_CORE_NAME0   : begin $fwrite(fd, "CORE_NAME0  ");    end
-               ADDR_CORE_NAME1   : begin $fwrite(fd, "CORE_NAME1  ");    end
-               ADDR_CORE_VERSION : begin $fwrite(fd, "CORE_VERSION");  end
-               ADDR_CTRL         : begin $fwrite(fd, "CTRL        ");  if (wcyc_r) ctrl_reg <= ahb_hwdata[7:0];            end
-               ADDR_CTRL_SET     : begin $fwrite(fd, "CTRL_SET    ");  if (wcyc_r) ctrl_reg <= ctrl_reg | ahb_hwdata[7:0]; end
-               ADDR_CTRL_CLR     : begin $fwrite(fd, "CTRL_CLR    ");  if (wcyc_r) ctrl_reg <= ctrl_reg &~ahb_hwdata[7:0]; end
-               ADDR_STAT         : begin $fwrite(fd, "STAT        ");  end
-               ADDR_QUAL         : begin $fwrite(fd, "QUAL        ");  end
-               ADDR_DREQ         : begin $fwrite(fd, "DREQ        ");  if (wcyc_r) dreq_reg <= ahb_hwdata[2:0];            end
-               ADDR_DREQ_SET     : begin $fwrite(fd, "DREQ_SET    ");  if (wcyc_r) dreq_reg <= dreq_reg | ahb_hwdata[2:0]; end
-               ADDR_DREQ_CLR     : begin $fwrite(fd, "DREQ_CLR    ");  if (wcyc_r) dreq_reg <= dreq_reg &~ahb_hwdata[2:0]; end
-               ADDR_DREQ_ACT     : begin $fwrite(fd, "DREQ_ACT    ");  end
-               ADDR_IREQ         : begin $fwrite(fd, "IREQ        ");  end
-               ADDR_IREQ_SET     : begin $fwrite(fd, "IREQ_SET    ");  if (wcyc_r) ireq_reg <= ahb_hwdata[3:0];            end
-               ADDR_IREQ_CLR     : begin $fwrite(fd, "IREQ_CLR    ");  if (wcyc_r) ireq_reg <= ireq_reg | ahb_hwdata[3:0]; end
-               ADDR_IREQ_ACT     : begin $fwrite(fd, "IREQ_ACT    ");  if (wcyc_r) ireq_reg <= ireq_reg &~ahb_hwdata[3:0]; end
-             default:
-               if      (addr16_r[15:14] == 2'b01) $fwrite(fd, "KEYBUF128   ");
-               else if (addr16_r[15:14] == 2'b10) $fwrite(fd, "IPBUF128    ");
-               else if (addr16_r[15:14] == 2'b11) $fwrite(fd, "OPBUF128    ");
-             endcase
-               $fwrite(fd, " A+0x%04x, %s, D=0x",  addr16_r, (wcyc_r) ? "W" : "R");
-               if (byte4_r[3]) $fwrite(fd, "%02x", ahb_hdata[31:24]); else $fwrite(fd, "--");
-               if (byte4_r[2]) $fwrite(fd, "%02x", ahb_hdata[23:16]); else $fwrite(fd, "--");
-               if (byte4_r[1]) $fwrite(fd, "%02x", ahb_hdata[15: 8]); else $fwrite(fd, "--");
-               if (byte4_r[0]) $fwrite(fd, "%02x", ahb_hdata[ 7: 0]); else $fwrite(fd, "--");
-              if (TIMESTAMP) $fwrite(fd, ", CYC=%8d (@%t)\n", cyc_count, $time); else $fwrite(fd, "\n");
-           end
-           if (any_change) begin
-             $fwrite(fd, "AESRQ: ");
-             if (drq_change) begin
-               $fwrite(fd, " drq_ipdma128=%b,",drq_ipdma128);
-               $fwrite(fd, " dlast_ipdma128=%b,",dlast_ipdma128);
-               $fwrite(fd, " drq_opdma128=%b,",drq_opdma128);
-               $fwrite(fd, " dlast_opdma128=%b",dlast_opdma128);
-             end
-             if (irq_change) begin
-               if (drq_change)  $fwrite(fd, ",");
-               $fwrite(fd, " irq_merged=%b,",irq_merged);
-               $fwrite(fd, "irq_key128=%b,",irq_key128);
-               $fwrite(fd, "irq_ip128=%b,",irq_ip128);
-               $fwrite(fd, "irq_op128=%b,",irq_op128);
-               $fwrite(fd, "irq_error=%b",irq_error);
-             end
-             if (TIMESTAMP) $fwrite(fd, ", CYC=%8d (@%t)\n",cyc_count, $time); else $fwrite(fd, "\n");
-           end
-         end
-         $fclose(fd);
-       end
-     end
-
-endmodule
diff --git a/system/defines/pl230_defs.v b/system/defines/pl230_defs.v
deleted file mode 100644
index 785ce06..0000000
--- a/system/defines/pl230_defs.v
+++ /dev/null
@@ -1,189 +0,0 @@
-//-----------------------------------------------------------------------------
-// NanoSoC customised Cortex-M0 controller DMA230 configuration
-// A joint work commissioned on behalf of SoC Labs, under Arm Academic Access license.
-//
-// Contributors
-//
-// David Flynn (d.w.flynn@soton.ac.uk)
-//
-// Copyright � 2021, SoC Labs (www.soclabs.org)
-//-----------------------------------------------------------------------------
-
-//-----------------------------------------------------------------------------
-// The confidential and proprietary information contained in this file may
-// only be used by a person authorised under and to the extent permitted
-// by a subsisting licensing agreement from ARM Limited.
-//
-// (C) COPYRIGHT 2006-2007 ARM Limited.
-// ALL RIGHTS RESERVED
-//
-// This entire notice must be reproduced on all copies of this file
-// and copies of this file may only be made by a person if such person is
-// permitted to do so under the terms of a subsisting license agreement
-// from ARM Limited.
-//
-// File Name  : pl230_defs.v
-// Checked In : $Date: 2007-06-06 21:55:22 +0530 (Wed, 06 Jun 2007) $
-// Revision   : $Revision: 13823 $
-// State      : $state: PL230-DE-98007-r0p0-02rel0 $
-//
-//-----------------------------------------------------------------------------
-// Purpose : Peripheral specific macro definitions
-//
-//-----------------------------------------------------------------------------
-
-
-`ifdef ARM_TIMESCALE_DEFINED
-  `timescale 1ns/1ps
-`endif
-
-// Set the number of channels implemented
-`define PL230_CHNLS                     2
-`define PL230_CHNL_BITS                 1
-//`define PL230_ONE_CHNL
-
-// Include Integration Test Logic
-`define PL230_INCLUDE_TEST
-
-
-// AHB Interface
-`define PL230_AHB_TRANS_IDLE            2'b00
-`define PL230_AHB_TRANS_NONSEQ          2'b10
-`define PL230_AHB_READ                  1'b0
-`define PL230_AHB_WRITE                 1'b1
-`define PL230_AHB_SIZE_BYTE             3'b000
-`define PL230_AHB_SIZE_HWORD            3'b001
-`define PL230_AHB_SIZE_WORD             3'b010
-
-// PrimeCell Configuration
-`define PL230_PERIPH_ID_0               8'h30
-`define PL230_PERIPH_ID_1               8'hB2
-`define PL230_PERIPH_ID_2               8'h0B
-`define PL230_PERIPH_ID_3               8'h00
-`define PL230_PERIPH_ID_4               8'h04
-`define PL230_PCELL_ID_0                8'h0D
-`define PL230_PCELL_ID_1                8'hF0
-`define PL230_PCELL_ID_2                8'h05
-`define PL230_PCELL_ID_3                8'hB1
-
-// Memory Mapped Registers
-//  Controller Configuration Registers
-`define PL230_ADDR_DMA_STATUS           12'h000
-`define PL230_ADDR_DMA_CFG              12'h004
-`define PL230_ADDR_CTRL_BASE_PTR        12'h008
-`define PL230_ADDR_ALT_CTRL_BASE_PTR    12'h00C
-`define PL230_ADDR_DMA_WAITONREQ_STATUS 12'h010
-`define PL230_ADDR_CHNL_SW_REQUEST      12'h014
-`define PL230_ADDR_CHNL_USEBURST_SET    12'h018
-`define PL230_ADDR_CHNL_USEBURST_CLR    12'h01C
-`define PL230_ADDR_CHNL_REQ_MASK_SET    12'h020
-`define PL230_ADDR_CHNL_REQ_MASK_CLR    12'h024
-`define PL230_ADDR_CHNL_ENABLE_SET      12'h028
-`define PL230_ADDR_CHNL_ENABLE_CLR      12'h02C
-`define PL230_ADDR_CHNL_PRI_ALT_SET     12'h030
-`define PL230_ADDR_CHNL_PRI_ALT_CLR     12'h034
-`define PL230_ADDR_CHNL_PRIORITY_SET    12'h038
-`define PL230_ADDR_CHNL_PRIORITY_CLR    12'h03C
-//      Reserved                        12'h040
-//      Reserved                        12'h044
-//      Reserved                        12'h048
-`define PL230_ADDR_ERR_CLR              12'h04C
-//  Integration Test Registers
-`define PL230_ADDR_INTEGRATION_CFG      12'hE00
-//      Reserved                        12'hE04
-`define PL230_ADDR_STALL_STATUS         12'hE08
-//      Reserved                        12'hE0C
-`define PL230_ADDR_DMA_REQ_STATUS       12'hE10
-//      Reserved                        12'hE14
-`define PL230_ADDR_DMA_SREQ_STATUS      12'hE18
-//      Reserved                        12'hE1C
-`define PL230_ADDR_DMA_DONE_SET         12'hE20
-`define PL230_ADDR_DMA_DONE_CLR         12'hE24
-`define PL230_ADDR_DMA_ACTIVE_SET       12'hE28
-`define PL230_ADDR_DMA_ACTIVE_CLR       12'hE2C
-//      Reserved                        12'hE30
-//      Reserved                        12'hE34
-//      Reserved                        12'hE38
-//      Reserved                        12'hE3C
-//      Reserved                        12'hE40
-//      Reserved                        12'hE44
-`define PL230_ADDR_ERR_SET              12'hE48
-//      Reserved                        12'hE4C
-//  PrimeCell Configuration Registers
-`define PL230_ADDR_PERIPH_ID_4          12'hFD0
-//      Reserved                        12'hFD4
-//      Reserved                        12'hFD8
-//      Reserved                        12'hFDC
-`define PL230_ADDR_PERIPH_ID_0          12'hFE0
-`define PL230_ADDR_PERIPH_ID_1          12'hFE4
-`define PL230_ADDR_PERIPH_ID_2          12'hFE8
-`define PL230_ADDR_PERIPH_ID_3          12'hFEC
-`define PL230_ADDR_PCELL_ID_0           12'hFF0
-`define PL230_ADDR_PCELL_ID_1           12'hFF4
-`define PL230_ADDR_PCELL_ID_2           12'hFF8
-`define PL230_ADDR_PCELL_ID_3           12'hFFC
-
-
-// Bit vector definitions for channel_cfg
-`define PL230_CHANNEL_CFG_BITS          20
-//  Destination address increment
-`define PL230_CHANNEL_CFG_DST_INC       channel_cfg[19:18]
-`define PL230_HRDATA_DST_INC            hrdata[31:30]
-//  Destination transfer size
-//   Source and destination sizes must match
-//   so the same bits as the src_size are used
-`define PL230_CHANNEL_CFG_DST_SIZE      channel_cfg[15:14]
-`define PL230_HRDATA_DST_SIZE           hrdata[29:28]
-//  Source address increment
-`define PL230_CHANNEL_CFG_SRC_INC       channel_cfg[17:16]
-`define PL230_HRDATA_SRC_INC            hrdata[27:26]
-//  Source transfer size
-`define PL230_CHANNEL_CFG_SRC_SIZE      channel_cfg[15:14]
-`define PL230_HRDATA_SRC_SIZE           hrdata[25:24]
-//  Destination AHB protection control
-`define PL230_CHANNEL_CFG_DST_PROT_CTRL channel_cfg[13:11]
-`define PL230_HRDATA_DST_PROT_CTRL      hrdata[23:21]
-//  Source AHB protection control
-`define PL230_CHANNEL_CFG_SRC_PROT_CTRL channel_cfg[10:8]
-`define PL230_HRDATA_SRC_PROT_CTRL      hrdata[20:18]
-//  Power of two transactions per request
-`define PL230_CHANNEL_CFG_R             channel_cfg[7:4]
-`define PL230_HRDATA_R                  hrdata[17:14]
-//  Number of bits in the N counter     - hrdata[13:4]
-`define PL230_N_COUNT_BITS              10
-//  Lsb bit offset for n_minus_1
-`define PL230_N_COUNT_OFFSET            4
-//  Set chnl_useburst_status
-`define PL230_CHANNEL_CFG_NEXT_USEBURST channel_cfg[3]
-`define PL230_HRDATA_NEXT_USEBURST      hrdata[3]
-//  DMA cycle control
-`define PL230_CHANNEL_CFG_CYCLE_CTRL    channel_cfg[2:0]
-`define PL230_HRDATA_CYCLE_CTRL         hrdata[2:0]
-
-
-// Number of bits for the statemachine
-`define PL230_STATE_BITS 4
-// Statemachine state encoding
-`define PL230_ST_IDLE    4'h0
-`define PL230_ST_RD_CTRL 4'h1
-`define PL230_ST_RD_SPTR 4'h2
-`define PL230_ST_RD_DPTR 4'h3
-`define PL230_ST_RD_SDAT 4'h4
-`define PL230_ST_WR_DDAT 4'h5
-`define PL230_ST_WAIT    4'h6
-`define PL230_ST_WR_CTRL 4'h7
-`define PL230_ST_STALL   4'h8
-`define PL230_ST_DONE    4'h9
-`define PL230_ST_PSGP    4'hA
-`define PL230_ST_RESVD_0 4'hB
-`define PL230_ST_RESVD_1 4'hC
-`define PL230_ST_RESVD_2 4'hD
-`define PL230_ST_RESVD_3 4'hE
-`define PL230_ST_RESVD_4 4'hF
-
-`define PL230_SIZE_BYTE  2'b00
-`define PL230_SIZE_HWORD 2'b01
-`define PL230_SIZE_WORD  2'b10
-`define PL230_SIZE_RESVD 2'b11
-
-// pl230_defs.v end
diff --git a/system/src/nanosoc_busmatrix/ipxact/nanosoc_ahb32_4x7_busmatrix/nanosoc_ahb32_4x7_busmatrix.xml b/system/nanosoc_busmatrix/ipxact/nanosoc_ahb32_4x7_busmatrix/nanosoc_ahb32_4x7_busmatrix.xml
similarity index 100%
rename from system/src/nanosoc_busmatrix/ipxact/nanosoc_ahb32_4x7_busmatrix/nanosoc_ahb32_4x7_busmatrix.xml
rename to system/nanosoc_busmatrix/ipxact/nanosoc_ahb32_4x7_busmatrix/nanosoc_ahb32_4x7_busmatrix.xml
diff --git a/system/src/nanosoc_busmatrix/ipxact/nanosoc_ahb32_4x7_busmatrix/nanosoc_ahb32_4x7_busmatrix_lite.xml b/system/nanosoc_busmatrix/ipxact/nanosoc_ahb32_4x7_busmatrix/nanosoc_ahb32_4x7_busmatrix_lite.xml
similarity index 100%
rename from system/src/nanosoc_busmatrix/ipxact/nanosoc_ahb32_4x7_busmatrix/nanosoc_ahb32_4x7_busmatrix_lite.xml
rename to system/nanosoc_busmatrix/ipxact/nanosoc_ahb32_4x7_busmatrix/nanosoc_ahb32_4x7_busmatrix_lite.xml
diff --git a/system/src/nanosoc_busmatrix/ipxact/nanosoc_busmatrix/nanosoc_busmatrix.xml b/system/nanosoc_busmatrix/ipxact/nanosoc_busmatrix/nanosoc_busmatrix.xml
similarity index 100%
rename from system/src/nanosoc_busmatrix/ipxact/nanosoc_busmatrix/nanosoc_busmatrix.xml
rename to system/nanosoc_busmatrix/ipxact/nanosoc_busmatrix/nanosoc_busmatrix.xml
diff --git a/system/src/nanosoc_busmatrix/ipxact/nanosoc_busmatrix/nanosoc_busmatrix_lite.xml b/system/nanosoc_busmatrix/ipxact/nanosoc_busmatrix/nanosoc_busmatrix_lite.xml
similarity index 100%
rename from system/src/nanosoc_busmatrix/ipxact/nanosoc_busmatrix/nanosoc_busmatrix_lite.xml
rename to system/nanosoc_busmatrix/ipxact/nanosoc_busmatrix/nanosoc_busmatrix_lite.xml
diff --git a/system/src/nanosoc_busmatrix/logs/nanosoc.log b/system/nanosoc_busmatrix/logs/nanosoc.log
similarity index 100%
rename from system/src/nanosoc_busmatrix/logs/nanosoc.log
rename to system/nanosoc_busmatrix/logs/nanosoc.log
diff --git a/system/src/nanosoc_busmatrix/makefile b/system/nanosoc_busmatrix/makefile
similarity index 100%
rename from system/src/nanosoc_busmatrix/makefile
rename to system/nanosoc_busmatrix/makefile
diff --git a/system/src/nanosoc_busmatrix/verilog/nanosoc_busmatrix/nanosoc_arbiter_bootrom.v b/system/nanosoc_busmatrix/verilog/nanosoc_busmatrix/nanosoc_arbiter_bootrom.v
similarity index 100%
rename from system/src/nanosoc_busmatrix/verilog/nanosoc_busmatrix/nanosoc_arbiter_bootrom.v
rename to system/nanosoc_busmatrix/verilog/nanosoc_busmatrix/nanosoc_arbiter_bootrom.v
diff --git a/system/src/nanosoc_busmatrix/verilog/nanosoc_busmatrix/nanosoc_arbiter_dmem.v b/system/nanosoc_busmatrix/verilog/nanosoc_busmatrix/nanosoc_arbiter_dmem.v
similarity index 100%
rename from system/src/nanosoc_busmatrix/verilog/nanosoc_busmatrix/nanosoc_arbiter_dmem.v
rename to system/nanosoc_busmatrix/verilog/nanosoc_busmatrix/nanosoc_arbiter_dmem.v
diff --git a/system/src/nanosoc_busmatrix/verilog/nanosoc_busmatrix/nanosoc_arbiter_exp.v b/system/nanosoc_busmatrix/verilog/nanosoc_busmatrix/nanosoc_arbiter_exp.v
similarity index 100%
rename from system/src/nanosoc_busmatrix/verilog/nanosoc_busmatrix/nanosoc_arbiter_exp.v
rename to system/nanosoc_busmatrix/verilog/nanosoc_busmatrix/nanosoc_arbiter_exp.v
diff --git a/system/src/nanosoc_busmatrix/verilog/nanosoc_busmatrix/nanosoc_arbiter_expram_h.v b/system/nanosoc_busmatrix/verilog/nanosoc_busmatrix/nanosoc_arbiter_expram_h.v
similarity index 100%
rename from system/src/nanosoc_busmatrix/verilog/nanosoc_busmatrix/nanosoc_arbiter_expram_h.v
rename to system/nanosoc_busmatrix/verilog/nanosoc_busmatrix/nanosoc_arbiter_expram_h.v
diff --git a/system/src/nanosoc_busmatrix/verilog/nanosoc_busmatrix/nanosoc_arbiter_expram_l.v b/system/nanosoc_busmatrix/verilog/nanosoc_busmatrix/nanosoc_arbiter_expram_l.v
similarity index 100%
rename from system/src/nanosoc_busmatrix/verilog/nanosoc_busmatrix/nanosoc_arbiter_expram_l.v
rename to system/nanosoc_busmatrix/verilog/nanosoc_busmatrix/nanosoc_arbiter_expram_l.v
diff --git a/system/src/nanosoc_busmatrix/verilog/nanosoc_busmatrix/nanosoc_arbiter_imem.v b/system/nanosoc_busmatrix/verilog/nanosoc_busmatrix/nanosoc_arbiter_imem.v
similarity index 100%
rename from system/src/nanosoc_busmatrix/verilog/nanosoc_busmatrix/nanosoc_arbiter_imem.v
rename to system/nanosoc_busmatrix/verilog/nanosoc_busmatrix/nanosoc_arbiter_imem.v
diff --git a/system/src/nanosoc_busmatrix/verilog/nanosoc_busmatrix/nanosoc_arbiter_sysio.v b/system/nanosoc_busmatrix/verilog/nanosoc_busmatrix/nanosoc_arbiter_sysio.v
similarity index 100%
rename from system/src/nanosoc_busmatrix/verilog/nanosoc_busmatrix/nanosoc_arbiter_sysio.v
rename to system/nanosoc_busmatrix/verilog/nanosoc_busmatrix/nanosoc_arbiter_sysio.v
diff --git a/system/src/nanosoc_busmatrix/verilog/nanosoc_busmatrix/nanosoc_arbiter_systable.v b/system/nanosoc_busmatrix/verilog/nanosoc_busmatrix/nanosoc_arbiter_systable.v
similarity index 100%
rename from system/src/nanosoc_busmatrix/verilog/nanosoc_busmatrix/nanosoc_arbiter_systable.v
rename to system/nanosoc_busmatrix/verilog/nanosoc_busmatrix/nanosoc_arbiter_systable.v
diff --git a/system/src/nanosoc_busmatrix/verilog/nanosoc_busmatrix/nanosoc_busmatrix.v b/system/nanosoc_busmatrix/verilog/nanosoc_busmatrix/nanosoc_busmatrix.v
similarity index 100%
rename from system/src/nanosoc_busmatrix/verilog/nanosoc_busmatrix/nanosoc_busmatrix.v
rename to system/nanosoc_busmatrix/verilog/nanosoc_busmatrix/nanosoc_busmatrix.v
diff --git a/system/src/nanosoc_busmatrix/verilog/nanosoc_busmatrix/nanosoc_busmatrix_default_slave.v b/system/nanosoc_busmatrix/verilog/nanosoc_busmatrix/nanosoc_busmatrix_default_slave.v
similarity index 100%
rename from system/src/nanosoc_busmatrix/verilog/nanosoc_busmatrix/nanosoc_busmatrix_default_slave.v
rename to system/nanosoc_busmatrix/verilog/nanosoc_busmatrix/nanosoc_busmatrix_default_slave.v
diff --git a/system/src/nanosoc_busmatrix/verilog/nanosoc_busmatrix/nanosoc_busmatrix_lite.v b/system/nanosoc_busmatrix/verilog/nanosoc_busmatrix/nanosoc_busmatrix_lite.v
similarity index 100%
rename from system/src/nanosoc_busmatrix/verilog/nanosoc_busmatrix/nanosoc_busmatrix_lite.v
rename to system/nanosoc_busmatrix/verilog/nanosoc_busmatrix/nanosoc_busmatrix_lite.v
diff --git a/system/src/nanosoc_busmatrix/verilog/nanosoc_busmatrix/nanosoc_inititator_input.v b/system/nanosoc_busmatrix/verilog/nanosoc_busmatrix/nanosoc_inititator_input.v
similarity index 100%
rename from system/src/nanosoc_busmatrix/verilog/nanosoc_busmatrix/nanosoc_inititator_input.v
rename to system/nanosoc_busmatrix/verilog/nanosoc_busmatrix/nanosoc_inititator_input.v
diff --git a/system/src/nanosoc_busmatrix/verilog/nanosoc_busmatrix/nanosoc_matrix_decode_cpu.v b/system/nanosoc_busmatrix/verilog/nanosoc_busmatrix/nanosoc_matrix_decode_cpu.v
similarity index 100%
rename from system/src/nanosoc_busmatrix/verilog/nanosoc_busmatrix/nanosoc_matrix_decode_cpu.v
rename to system/nanosoc_busmatrix/verilog/nanosoc_busmatrix/nanosoc_matrix_decode_cpu.v
diff --git a/system/src/nanosoc_busmatrix/verilog/nanosoc_busmatrix/nanosoc_matrix_decode_dma_0.v b/system/nanosoc_busmatrix/verilog/nanosoc_busmatrix/nanosoc_matrix_decode_dma_0.v
similarity index 100%
rename from system/src/nanosoc_busmatrix/verilog/nanosoc_busmatrix/nanosoc_matrix_decode_dma_0.v
rename to system/nanosoc_busmatrix/verilog/nanosoc_busmatrix/nanosoc_matrix_decode_dma_0.v
diff --git a/system/src/nanosoc_busmatrix/verilog/nanosoc_busmatrix/nanosoc_matrix_decode_dma_1.v b/system/nanosoc_busmatrix/verilog/nanosoc_busmatrix/nanosoc_matrix_decode_dma_1.v
similarity index 100%
rename from system/src/nanosoc_busmatrix/verilog/nanosoc_busmatrix/nanosoc_matrix_decode_dma_1.v
rename to system/nanosoc_busmatrix/verilog/nanosoc_busmatrix/nanosoc_matrix_decode_dma_1.v
diff --git a/system/src/nanosoc_busmatrix/verilog/nanosoc_busmatrix/nanosoc_matrix_decode_socdebug.v b/system/nanosoc_busmatrix/verilog/nanosoc_busmatrix/nanosoc_matrix_decode_socdebug.v
similarity index 100%
rename from system/src/nanosoc_busmatrix/verilog/nanosoc_busmatrix/nanosoc_matrix_decode_socdebug.v
rename to system/nanosoc_busmatrix/verilog/nanosoc_busmatrix/nanosoc_matrix_decode_socdebug.v
diff --git a/system/src/nanosoc_busmatrix/verilog/nanosoc_busmatrix/nanosoc_target_output_bootrom.v b/system/nanosoc_busmatrix/verilog/nanosoc_busmatrix/nanosoc_target_output_bootrom.v
similarity index 100%
rename from system/src/nanosoc_busmatrix/verilog/nanosoc_busmatrix/nanosoc_target_output_bootrom.v
rename to system/nanosoc_busmatrix/verilog/nanosoc_busmatrix/nanosoc_target_output_bootrom.v
diff --git a/system/src/nanosoc_busmatrix/verilog/nanosoc_busmatrix/nanosoc_target_output_dmem.v b/system/nanosoc_busmatrix/verilog/nanosoc_busmatrix/nanosoc_target_output_dmem.v
similarity index 100%
rename from system/src/nanosoc_busmatrix/verilog/nanosoc_busmatrix/nanosoc_target_output_dmem.v
rename to system/nanosoc_busmatrix/verilog/nanosoc_busmatrix/nanosoc_target_output_dmem.v
diff --git a/system/src/nanosoc_busmatrix/verilog/nanosoc_busmatrix/nanosoc_target_output_exp.v b/system/nanosoc_busmatrix/verilog/nanosoc_busmatrix/nanosoc_target_output_exp.v
similarity index 100%
rename from system/src/nanosoc_busmatrix/verilog/nanosoc_busmatrix/nanosoc_target_output_exp.v
rename to system/nanosoc_busmatrix/verilog/nanosoc_busmatrix/nanosoc_target_output_exp.v
diff --git a/system/src/nanosoc_busmatrix/verilog/nanosoc_busmatrix/nanosoc_target_output_expram_h.v b/system/nanosoc_busmatrix/verilog/nanosoc_busmatrix/nanosoc_target_output_expram_h.v
similarity index 100%
rename from system/src/nanosoc_busmatrix/verilog/nanosoc_busmatrix/nanosoc_target_output_expram_h.v
rename to system/nanosoc_busmatrix/verilog/nanosoc_busmatrix/nanosoc_target_output_expram_h.v
diff --git a/system/src/nanosoc_busmatrix/verilog/nanosoc_busmatrix/nanosoc_target_output_expram_l.v b/system/nanosoc_busmatrix/verilog/nanosoc_busmatrix/nanosoc_target_output_expram_l.v
similarity index 100%
rename from system/src/nanosoc_busmatrix/verilog/nanosoc_busmatrix/nanosoc_target_output_expram_l.v
rename to system/nanosoc_busmatrix/verilog/nanosoc_busmatrix/nanosoc_target_output_expram_l.v
diff --git a/system/src/nanosoc_busmatrix/verilog/nanosoc_busmatrix/nanosoc_target_output_imem.v b/system/nanosoc_busmatrix/verilog/nanosoc_busmatrix/nanosoc_target_output_imem.v
similarity index 100%
rename from system/src/nanosoc_busmatrix/verilog/nanosoc_busmatrix/nanosoc_target_output_imem.v
rename to system/nanosoc_busmatrix/verilog/nanosoc_busmatrix/nanosoc_target_output_imem.v
diff --git a/system/src/nanosoc_busmatrix/verilog/nanosoc_busmatrix/nanosoc_target_output_sysio.v b/system/nanosoc_busmatrix/verilog/nanosoc_busmatrix/nanosoc_target_output_sysio.v
similarity index 100%
rename from system/src/nanosoc_busmatrix/verilog/nanosoc_busmatrix/nanosoc_target_output_sysio.v
rename to system/nanosoc_busmatrix/verilog/nanosoc_busmatrix/nanosoc_target_output_sysio.v
diff --git a/system/src/nanosoc_busmatrix/verilog/nanosoc_busmatrix/nanosoc_target_output_systable.v b/system/nanosoc_busmatrix/verilog/nanosoc_busmatrix/nanosoc_target_output_systable.v
similarity index 100%
rename from system/src/nanosoc_busmatrix/verilog/nanosoc_busmatrix/nanosoc_target_output_systable.v
rename to system/nanosoc_busmatrix/verilog/nanosoc_busmatrix/nanosoc_target_output_systable.v
diff --git a/system/src/nanosoc_busmatrix/xml/nanosoc.xml b/system/nanosoc_busmatrix/xml/nanosoc.xml
similarity index 100%
rename from system/src/nanosoc_busmatrix/xml/nanosoc.xml
rename to system/nanosoc_busmatrix/xml/nanosoc.xml
diff --git a/system/src/nanosoc_chip/chip/verilog/nanosoc_chip.v b/system/nanosoc_chip/chip/verilog/nanosoc_chip.v
similarity index 100%
rename from system/src/nanosoc_chip/chip/verilog/nanosoc_chip.v
rename to system/nanosoc_chip/chip/verilog/nanosoc_chip.v
diff --git a/system/src/nanosoc_chip/chip/verilog/nanosoc_chip_new.v b/system/nanosoc_chip/chip/verilog/nanosoc_chip_new.v
similarity index 100%
rename from system/src/nanosoc_chip/chip/verilog/nanosoc_chip_new.v
rename to system/nanosoc_chip/chip/verilog/nanosoc_chip_new.v
diff --git a/system/src/nanosoc_chip/control/verilog/nanosoc_clkctrl.v b/system/nanosoc_chip/control/verilog/nanosoc_clkctrl.v
similarity index 100%
rename from system/src/nanosoc_chip/control/verilog/nanosoc_clkctrl.v
rename to system/nanosoc_chip/control/verilog/nanosoc_clkctrl.v
diff --git a/system/src/nanosoc_chip/control/verilog/nanosoc_pin_mux.v b/system/nanosoc_chip/control/verilog/nanosoc_pin_mux.v
similarity index 100%
rename from system/src/nanosoc_chip/control/verilog/nanosoc_pin_mux.v
rename to system/nanosoc_chip/control/verilog/nanosoc_pin_mux.v
diff --git a/system/src/nanosoc_chip/pads/glib/verilog/nanosoc_chip_pads.v b/system/nanosoc_chip/pads/glib/verilog/nanosoc_chip_pads.v
similarity index 100%
rename from system/src/nanosoc_chip/pads/glib/verilog/nanosoc_chip_pads.v
rename to system/nanosoc_chip/pads/glib/verilog/nanosoc_chip_pads.v
diff --git a/system/src/nanosoc_managers/cpu/verilog/nanosoc_manager_cpu.v b/system/nanosoc_managers/cpu/verilog/nanosoc_manager_cpu.v
similarity index 100%
rename from system/src/nanosoc_managers/cpu/verilog/nanosoc_manager_cpu.v
rename to system/nanosoc_managers/cpu/verilog/nanosoc_manager_cpu.v
diff --git a/system/src/nanosoc_managers/cpu/verilog/nanosoc_stclkctrl.v b/system/nanosoc_managers/cpu/verilog/nanosoc_stclkctrl.v
similarity index 100%
rename from system/src/nanosoc_managers/cpu/verilog/nanosoc_stclkctrl.v
rename to system/nanosoc_managers/cpu/verilog/nanosoc_stclkctrl.v
diff --git a/system/src/nanosoc_managers/socdebug/verilog/nanosoc_manager_socdebug.v b/system/nanosoc_managers/socdebug/verilog/nanosoc_manager_socdebug.v
similarity index 100%
rename from system/src/nanosoc_managers/socdebug/verilog/nanosoc_manager_socdebug.v
rename to system/nanosoc_managers/socdebug/verilog/nanosoc_manager_socdebug.v
diff --git a/system/src/nanosoc_regions/bootrom/verilog/nanosoc_ahb_bootrom.v b/system/nanosoc_regions/bootrom/verilog/nanosoc_ahb_bootrom.v
similarity index 100%
rename from system/src/nanosoc_regions/bootrom/verilog/nanosoc_ahb_bootrom.v
rename to system/nanosoc_regions/bootrom/verilog/nanosoc_ahb_bootrom.v
diff --git a/system/src/nanosoc_regions/bootrom/verilog/nanosoc_region_bootrom.v b/system/nanosoc_regions/bootrom/verilog/nanosoc_region_bootrom.v
similarity index 100%
rename from system/src/nanosoc_regions/bootrom/verilog/nanosoc_region_bootrom.v
rename to system/nanosoc_regions/bootrom/verilog/nanosoc_region_bootrom.v
diff --git a/system/src/nanosoc_regions/dmem/verilog/nanosoc_region_dmem.v b/system/nanosoc_regions/dmem/verilog/nanosoc_region_dmem.v
similarity index 100%
rename from system/src/nanosoc_regions/dmem/verilog/nanosoc_region_dmem.v
rename to system/nanosoc_regions/dmem/verilog/nanosoc_region_dmem.v
diff --git a/system/src/nanosoc_regions/exp/verilog/nanosoc_region_exp.v b/system/nanosoc_regions/exp/verilog/nanosoc_region_exp.v
similarity index 100%
rename from system/src/nanosoc_regions/exp/verilog/nanosoc_region_exp.v
rename to system/nanosoc_regions/exp/verilog/nanosoc_region_exp.v
diff --git a/system/src/nanosoc_regions/expram_h/verilog/nanosoc_region_expram__h b/system/nanosoc_regions/expram_h/verilog/nanosoc_region_expram__h
similarity index 100%
rename from system/src/nanosoc_regions/expram_h/verilog/nanosoc_region_expram__h
rename to system/nanosoc_regions/expram_h/verilog/nanosoc_region_expram__h
diff --git a/system/src/nanosoc_regions/expram_l/verilog/nanosoc_region_expram_l.v b/system/nanosoc_regions/expram_l/verilog/nanosoc_region_expram_l.v
similarity index 100%
rename from system/src/nanosoc_regions/expram_l/verilog/nanosoc_region_expram_l.v
rename to system/nanosoc_regions/expram_l/verilog/nanosoc_region_expram_l.v
diff --git a/system/src/nanosoc_regions/imem/verilog/nanosoc_region_imem.v b/system/nanosoc_regions/imem/verilog/nanosoc_region_imem.v
similarity index 100%
rename from system/src/nanosoc_regions/imem/verilog/nanosoc_region_imem.v
rename to system/nanosoc_regions/imem/verilog/nanosoc_region_imem.v
diff --git a/system/src/nanosoc_regions/sysio/verilog/nanosoc_apb_subsystem.v b/system/nanosoc_regions/sysio/verilog/nanosoc_apb_subsystem.v
similarity index 100%
rename from system/src/nanosoc_regions/sysio/verilog/nanosoc_apb_subsystem.v
rename to system/nanosoc_regions/sysio/verilog/nanosoc_apb_subsystem.v
diff --git a/system/src/nanosoc_regions/sysio/verilog/nanosoc_region_sysio.v b/system/nanosoc_regions/sysio/verilog/nanosoc_region_sysio.v
similarity index 100%
rename from system/src/nanosoc_regions/sysio/verilog/nanosoc_region_sysio.v
rename to system/nanosoc_regions/sysio/verilog/nanosoc_region_sysio.v
diff --git a/system/src/nanosoc_regions/sysio/verilog/nanosoc_sysctrl.v b/system/nanosoc_regions/sysio/verilog/nanosoc_sysctrl.v
similarity index 100%
rename from system/src/nanosoc_regions/sysio/verilog/nanosoc_sysctrl.v
rename to system/nanosoc_regions/sysio/verilog/nanosoc_sysctrl.v
diff --git a/system/src/nanosoc_regions/sysio/verilog/nanosoc_sysio_decode.v b/system/nanosoc_regions/sysio/verilog/nanosoc_sysio_decode.v
similarity index 100%
rename from system/src/nanosoc_regions/sysio/verilog/nanosoc_sysio_decode.v
rename to system/nanosoc_regions/sysio/verilog/nanosoc_sysio_decode.v
diff --git a/system/src/nanosoc_regions/systable/verilog/nanosoc_ahb_cs_rom_table.v b/system/nanosoc_regions/systable/verilog/nanosoc_ahb_cs_rom_table.v
similarity index 100%
rename from system/src/nanosoc_regions/systable/verilog/nanosoc_ahb_cs_rom_table.v
rename to system/nanosoc_regions/systable/verilog/nanosoc_ahb_cs_rom_table.v
diff --git a/system/src/nanosoc_regions/systable/verilog/nanosoc_region_systable.v b/system/nanosoc_regions/systable/verilog/nanosoc_region_systable.v
similarity index 100%
rename from system/src/nanosoc_regions/systable/verilog/nanosoc_region_systable.v
rename to system/nanosoc_regions/systable/verilog/nanosoc_region_systable.v
diff --git a/system/src/nanosoc_sys/verilog/nanosoc_sys.v b/system/nanosoc_sys/verilog/nanosoc_sys.v
similarity index 100%
rename from system/src/nanosoc_sys/verilog/nanosoc_sys.v
rename to system/nanosoc_sys/verilog/nanosoc_sys.v
diff --git a/system/testcodes/aes128_tests/aes128.h b/system/testcodes/aes128_tests/aes128.h
deleted file mode 100644
index 202adf4..0000000
--- a/system/testcodes/aes128_tests/aes128.h
+++ /dev/null
@@ -1,71 +0,0 @@
-#ifndef _AES128_H_
-#define _AES128_H_
-
-#include <stdint.h>
-
-// define the API addresses here. 
-
-#define AES128_BASE        (0x60000000)
-
-// byte address I/O buffers
-#define AES128_BUF_SIZE   (0x4000)
-
-typedef struct {
-     __I  uint32_t CORE_NAME[2];   /* 0x0000-0007 */
-     __I  uint32_t CORE_VERSION;   /* 0x0008-000B */
-          uint32_t RESRV0C;        /* 0x000C */
-     __IO uint32_t CTRL;           /* 0x0010 */
-     __O  uint32_t CTRL_SET;       /* 0x0014 */
-     __O  uint32_t CTRLL_CLR;      /* 0x0018 */
-     __I  uint32_t STATUS;         /* 0x001c */
-     __IO uint32_t QUAL;           /* 0x0020 */
-          uint32_t RESRV24[3];     /* 0x0024 - 2F*/
-     __IO uint32_t DRQ_MSK;        /* 0x0030 */
-     __O  uint32_t DRQ_MSK_SET;    /* 0x0034 */
-     __O  uint32_t DRQ_MSK_CLR;    /* 0x0038 */
-     __I  uint32_t DRQ_STATUS;     /* 0x003C */
-     __IO uint32_t IRQ_MSK;        /* 0x0040 */
-     __O  uint32_t IRQ_MSK_SET;    /* 0x0044 */
-     __O  uint32_t IRQ_MSK_CLR;    /* 0x0048 */
-     __I  uint32_t IRQ_STATUS;     /* 0x004C */
-          uint8_t RESRV50[AES128_BUF_SIZE - 0x50];/* 0x0050-0x3FFC (4096-20 words) */
-     __IO uint8_t KEY128[AES128_BUF_SIZE];   /* 0x4000-7FFF (0x3FFF is last alias) */
-     __IO uint8_t TXTIP128[AES128_BUF_SIZE]; /* 0x8000-BFFF (0x3FFF is last alias) */
-     __I  uint8_t TXTOP128[AES128_BUF_SIZE]; /* 0xC000-FFFF (0x3FFF is last alias) */
-} AES128_TypeDef;
-
-#define AES128             ((AES128_TypeDef *) AES128_BASE )
-
-#define AES_BLOCK_SIZE 16
-
-#define AES_KEY_LEN_128 16
-
-#define HW32_REG(ADDRESS)  (*((volatile unsigned long  *)(ADDRESS)))
-
-#define  AES128_CTRL_REG_WIDTH   ( 8)
-#define  AES128_CTRL_BIT_MAX     ( (CTRL_REG_WIDTH-1)
-#define  AES128_CTRL_KEY_REQ_BIT (1<<0)
-#define  AES128_CTRL_IP_REQ_BIT  (1<<1)
-#define  AES128_CTRL_OP_REQ_BIT  (1<<2)
-#define  AES128_CTRL_ERR_REQ_BIT (1<<3)
-#define  AES128_CTRL_BYPASS_BIT  (1<<6)
-#define  AES128_CTRL_ENCODE_BIT  (1<<7)
-#define  AES128_STAT_REG_WIDTH   ( 8)
-#define  AES128_STAT_KEY_REQ_BIT (1<<0)
-#define  AES128_STAT_IP_REQ_BIT  (1<<1)
-#define  AES128_STAT_OP_REQ_BIT  (1<<2)
-#define  AES128_STAT_ERR_REQ_BIT (1<<3)
-#define  AES128_STAT_KEYOK_BIT   (1<<4)
-#define  AES128_STAT_VALID_BIT   (1<<5)
-#define  AES128_STAT_BYPASS_BIT  (1<<6)
-#define  AES128_STAT_ENCODE_BIT  (1<<7)
-#define  AES128_KEY_REQ_BIT (1<<0)
-#define  AES128_IP_REQ_BIT  (1<<1)
-#define  AES128_OP_REQ_BIT  (1<<2)
-#define  AES128_ERR_REQ_BIT (1<<3)
-#define  AES128_KEYOK_BIT   (1<<4)
-#define  AES128_VALID_BIT   (1<<5)
-#define  AES128_BYPASS_BIT  (1<<6)
-#define  AES128_ENCODE_BIT  (1<<7)
-
-#endif // _AES128_H_
diff --git a/system/testcodes/aes128_tests/aes128_tests.c b/system/testcodes/aes128_tests/aes128_tests.c
deleted file mode 100644
index 3dbccad..0000000
--- a/system/testcodes/aes128_tests/aes128_tests.c
+++ /dev/null
@@ -1,688 +0,0 @@
-#include "CMSDK_CM0.h"
-#include "aes128.h"
-#include <string.h>
-#include "uart_stdout.h"
-#include <stdio.h>
-// memcopy implememtation
-#define os_memcpy memcpy
-#define os_memset memset
-// PL230DMA implementation
-#include "dma_pl230_driver.h"
-
-
-static volatile dma_pl230_channel_data aes_ip_chain[2];
-static volatile dma_pl230_channel_data aes_op_chain[2];
-
-// associate DMA channel numbers
-#define DMA_CHAN_AES128_IP (0)
-#define DMA_CHAN_AES128_OP (1)
-
-volatile int dma_done_irq_occurred;
-volatile int dma_done_irq_expected;
-volatile int dma_error_irq_occurred;
-volatile int dma_error_irq_expected;
-volatile int aes_key_irq_occurred;
-volatile int aes_key_irq_expected;
-volatile int aes_ip_irq_occurred;
-volatile int aes_ip_irq_expected;
-volatile int aes_op_irq_occurred;
-volatile int aes_op_irq_expected;
-volatile int aes_err_irq_occurred;
-volatile int aes_err_irq_expected;
-
-  uint8_t _test_key128[AES_KEY_LEN_128] = {  
-    0x75, 0x46, 0x20, 0x67,
-    0x6e, 0x75, 0x4b, 0x20,
-    0x79, 0x6d, 0x20, 0x73,
-    0x74, 0x61, 0x68, 0x54 };
-
-  uint8_t test_key128[AES_KEY_LEN_128] = {  
-    0x54, 0x68, 0x61, 0x74,
-    0x73, 0x20, 0x6d, 0x79,
-    0x20, 0x4b, 0x75, 0x6e,
-    0x67, 0x20, 0x46, 0x75 };
-	
-  uint8_t buf128[AES_BLOCK_SIZE] = {
-    0x00, 0x00, 0x00, 0x00,
-    0x00, 0x00, 0x00, 0x00,
-    0x00, 0x00, 0x00, 0x00,
-    0x00, 0x00, 0x00, 0x00 };
-
-  uint8_t _test_text128[AES_BLOCK_SIZE] = {
-    0x6f, 0x77, 0x54, 0x20,
-    0x65, 0x6e, 0x69, 0x4e,
-    0x20, 0x65, 0x6e, 0x4f,
-    0x20, 0x6f, 0x77, 0x54 };
-
-  uint8_t test_text128[AES_BLOCK_SIZE] = {
-    0x54, 0x77, 0x6f, 0x20,
-    0x4f, 0x6e, 0x65, 0x20,
-    0x4e, 0x69, 0x6e, 0x65,
-    0x20, 0x54, 0x77, 0x6f };
-
-  uint8_t test_exp128[AES_BLOCK_SIZE] = {
-    0x29, 0xc3, 0x50, 0x5f,
-    0x57, 0x14, 0x20, 0xf6,
-    0x40, 0x22, 0x99, 0xb3,
-    0x1a, 0x02, 0xd7, 0x3a };
-
-// add extra block[128] with all zeros to toggle bits low
-  uint8_t shift_patt[129*16] = {
- 0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0xe0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0xf0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0xf8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0xfc,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0xfe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0xff,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0xff,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0xff,0xe0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0xff,0xf0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0xff,0xf8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0xff,0xfc,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0xff,0xfe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0xff,0xff,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0xff,0xff,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0xff,0xff,0xe0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0xff,0xff,0xf0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0xff,0xff,0xf8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0xff,0xff,0xfc,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0xff,0xff,0xfe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0xff,0xff,0xff,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0xff,0xff,0xff,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0xff,0xff,0xff,0xe0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0xff,0xff,0xff,0xf0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0xff,0xff,0xff,0xf8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0xff,0xff,0xff,0xfc,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0xff,0xff,0xff,0xfe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0xff,0xff,0xff,0xff,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0xff,0xff,0xff,0xff,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0xff,0xff,0xff,0xff,0xe0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0xff,0xff,0xff,0xff,0xf0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0xff,0xff,0xff,0xff,0xf8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0xff,0xff,0xff,0xff,0xfc,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0xff,0xff,0xff,0xff,0xfe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0xff,0xff,0xff,0xff,0xff,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0xff,0xff,0xff,0xff,0xff,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0xff,0xff,0xff,0xff,0xff,0xe0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0xff,0xff,0xff,0xff,0xff,0xf0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0xff,0xff,0xff,0xff,0xff,0xf8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0xff,0xff,0xff,0xff,0xff,0xfc,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0xff,0xff,0xff,0xff,0xff,0xfe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x00,0x00,0x00,0x00,0x00,0x00,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x00,0x00,0x00,0x00,0x00,0x00,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x00,0x00,0x00,0x00,0x00,0x00,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x00,0x00,0x00,0x00,0x00,0x00,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x00,0x00,0x00,0x00,0x00,0x00,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x00,0x00,0x00,0x00,0x00,0x00,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x00,0x00,0x00,0x00,0x00,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x00,0x00,0x00,0x00,0x00,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x00,0x00,0x00,0x00,0x00,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x00,0x00,0x00,0x00,0x00,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x00,0x00,0x00,0x00,0x00,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x00,0x00,0x00,0x00,0x00,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x00,0x00,0x00,0x00,0x00,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x00,0x00,0x00,0x00,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x00,0x00,0x00,0x00,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x00,0x00,0x00,0x00,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x00,0x00,0x00,0x00,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x00,0x00,0x00,0x00,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x00,0x00,0x00,0x00,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x00,0x00,0x00,0x00,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x00,0x00,0x00,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x00,0x00,0x00,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x00,0x00,0x00,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x00,0x00,0x00,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x00,0x00,0x00,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x00,0x00,0x00,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x00,0x00,0x00,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x00,0x00,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x00,0x00,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x00,0x00,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x00,0x00,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x00,0x00,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x00,0x00,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x00,0x00,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x00,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x00,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x00,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x00,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x00,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x00,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x00,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,//127
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,//128
- };    
-
-  uint8_t shift_buf1[sizeof(shift_patt)];
-  uint8_t shift_buf2[sizeof(shift_patt)];
-
-
-/* Note:  Hardware supports byte, half-word or word accesses
-   So memcpy() can be used to load/save data
-   And memset() can be used to pad out data-in to 128-bits
-   mode =0 (bypass), =1 (encode) or =2 (decode)
-*/
-void aes128_driver_memcpy(uint8_t *key, uint32_t nbytes, uint8_t *input,
-                          uint8_t *result, uint8_t mode)
-{
-    // Reset engine
-    AES128->DRQ_MSK = 0;
-    AES128->IRQ_MSK = 0;
-    AES128->QUAL    = 0;
-    AES128->CTRL    = AES128_CTRL_KEY_REQ_BIT | AES128_CTRL_IP_REQ_BIT | AES128_CTRL_OP_REQ_BIT | AES128_CTRL_ERR_REQ_BIT;
-
-    // Set up parameters
-    if (mode == 1)
-      AES128->CTRL_SET = AES128_ENCODE_BIT; // ENCODE mode
-    if (mode == 0)
-      AES128->CTRL_SET = AES128_BYPASS_BIT; // BYPASS mode
-
-    AES128->IRQ_MSK_SET = (AES128_ERR_REQ_BIT | AES128_KEY_REQ_BIT | AES128_IP_REQ_BIT | AES128_OP_REQ_BIT);
-    
-    // Program Key
-    os_memcpy((uint8_t *)AES128->KEY128, key, AES_KEY_LEN_128);
-    while (!(AES128->STATUS & AES128_KEYOK_BIT))
-         ;
-
-    /* payload */
-    while(nbytes) {
-       uint8_t len = (nbytes > AES_BLOCK_SIZE) ? AES_BLOCK_SIZE : nbytes;            
-       /* Align/pad input and load into hardware */
-       os_memcpy((uint8_t *)AES128->TXTIP128, input, len);
-       //patch up any zero-padding
-       if (len < AES_BLOCK_SIZE)
-           os_memset((uint8_t *)&(AES128->TXTIP128[len]), 0, AES_BLOCK_SIZE-len);
-       /* Auto-started! - no need for manual start */
-       /* Poll until completed */
-       while (!(AES128->STATUS & AES128_VALID_BIT))
-         ;
-       os_memcpy(result, (uint8_t *)AES128->TXTOP128, AES_BLOCK_SIZE);
-       /* Accounting */
-       input   += len;
-       result  += len;
-       nbytes -= len;
-       AES128->IRQ_MSK_SET = (AES128_IP_REQ_BIT | AES128_OP_REQ_BIT);
-    }
-    AES128->CTRL    = 0;
-}
-
-// wrapper functions
-
-void aes128_bypass_memcpy(uint8_t *key, uint32_t nbytes, uint8_t *input, uint8_t *result)
-       { aes128_driver_memcpy(key, nbytes, input, result, 0); }
-
-void aes128_encrypt_memcpy(uint8_t *key, uint32_t nbytes, uint8_t *input, uint8_t *result)
-       { aes128_driver_memcpy(key, nbytes, input, result, 1); }
-
-void aes128_decrypt_memcpy(uint8_t *key, uint32_t nbytes, uint8_t *input, uint8_t *result)
-       { aes128_driver_memcpy(key, nbytes, input, result, 2); }
-
-
-int aes128_buffer_verify(uint32_t buflen, uint8_t *buf_A, uint8_t *buf_B)
-{
-    int i, j, fail = 0;
-        for (i=0 ; i < buflen; i++) {
-            if (buf_A[i] != buf_B[i]){
-                fail = 1;
-                break;
-            }
-        }
-        if (fail) {
-            j=i; // print offending block
-            for (i=(j - (j%16)) ; i < (j-(j%16)+16); i++) {
-               if (i%16==0)
-                   printf(" //%03d\n", (i>>4));
-               printf("0x%02x,", buf_A[i]);
-           }
-        }
-        if (fail){
-            i=j;
-            printf("Verify compare FAIL\n      EXPECTED_RESULT[%2d]= 0x%02x, ACTUAL_RESULT= 0x%02x \n",i, buf_B[i], buf_A[i]);
-            return(-1);
-        }
-        return(0);
-}
-
-void aes128_driver_aligned_dma32(uint8_t *key, uint32_t nbytes, uint8_t *input,
-                                 uint8_t *result, uint8_t mode)
-{
-    int c;
-    // Reset engine
-    AES128->DRQ_MSK = 0;
-    AES128->IRQ_MSK = 0;
-    AES128->QUAL    = 0;
-    AES128->CTRL    = AES128_CTRL_KEY_REQ_BIT | AES128_CTRL_IP_REQ_BIT | AES128_CTRL_OP_REQ_BIT;
-
-    // Set up parameters
-    if (mode == 1)
-      AES128->CTRL_SET = AES128_ENCODE_BIT; // ENCODE mode
-    if (mode == 0)
-      AES128->CTRL_SET = AES128_BYPASS_BIT; // BYPASS mode
-    
-    dma_pl230_data_struct_init(); // initialize
-    
-    // program DMA transfers in multiples of 4 words (nbytes scaled >>2 for words)
-    aes_ip_chain[0].SrcEndPointer = DMA_PL230_PTR_END(key,PL230_XFER_W,4);
-    aes_ip_chain[0].DstEndPointer = DMA_PL230_PTR_END(&(AES128->KEY128[AES128_BUF_SIZE-16]),PL230_XFER_W,4);
-    aes_ip_chain[0].Control = DMA_PL230_CTRL(PL230_CTRL_CYCLE_DEV_CHAIN_ALT,PL230_XFER_W,4,PL230_CTRL_RPWR_4);
-
-    aes_ip_chain[1].SrcEndPointer = DMA_PL230_PTR_END(input,PL230_XFER_W,(nbytes>>2));
-    aes_ip_chain[1].DstEndPointer = DMA_PL230_PTR_END(&(AES128->TXTIP128[AES128_BUF_SIZE-nbytes]),PL230_XFER_W,(nbytes>>2));
-    aes_ip_chain[1].Control = DMA_PL230_CTRL(PL230_CTRL_CYCLE_BASIC,PL230_XFER_W,(nbytes>>2),PL230_CTRL_RPWR_4);
-
-    c=DMA_CHAN_AES128_IP;
-    dma_pl230_table->Primary[c].SrcEndPointer  = DMA_PL230_PTR_END(&(aes_ip_chain[0].SrcEndPointer), PL230_XFER_W,(2*4));
-    dma_pl230_table->Primary[c].DstEndPointer  = DMA_PL230_PTR_END(&(dma_pl230_table->Alternate[c]), PL230_XFER_W,(1*4));
-    dma_pl230_table->Primary[c].Control= DMA_PL230_CTRL_DSTFIX(PL230_CTRL_CYCLE_DEV_CHAIN_PRI,PL230_XFER_W,(2*4),PL230_CTRL_RPWR_4);
-
-    aes_op_chain[0].SrcEndPointer = DMA_PL230_PTR_END(&(AES128->TXTOP128[AES128_BUF_SIZE-nbytes]),PL230_XFER_W,(nbytes>>2));
-    aes_op_chain[0].DstEndPointer = DMA_PL230_PTR_END(result,PL230_XFER_W,(nbytes>>2));
-    aes_op_chain[0].Control = DMA_PL230_CTRL(PL230_CTRL_CYCLE_BASIC,PL230_XFER_W,(nbytes>>2),PL230_CTRL_RPWR_4);
-
-    c=DMA_CHAN_AES128_OP;        
-    dma_pl230_table->Primary[c].SrcEndPointer  = DMA_PL230_PTR_END(&(aes_op_chain[0].SrcEndPointer), PL230_XFER_W,(1*4));
-    dma_pl230_table->Primary[c].DstEndPointer  = DMA_PL230_PTR_END(&(dma_pl230_table->Alternate[c]), PL230_XFER_W,(1*4));
-    dma_pl230_table->Primary[c].Control= DMA_PL230_CTRL_DSTFIX(PL230_CTRL_CYCLE_DEV_CHAIN_PRI,PL230_XFER_W,(1*4),PL230_CTRL_RPWR_4);
- 
-    // enable DMA controller channels
-    dma_pl230_init((1<<DMA_CHAN_AES128_OP) | (1<<DMA_CHAN_AES128_IP)); // two active
-
-    // and enable DMA requests
-    AES128->DRQ_MSK_SET = (AES128_KEY_REQ_BIT | AES128_IP_REQ_BIT | AES128_OP_REQ_BIT);
-    AES128->IRQ_MSK_SET = (AES128_ERR_REQ_BIT | AES128_KEY_REQ_BIT | AES128_IP_REQ_BIT | AES128_OP_REQ_BIT);
-    // test to ensure output DMA has started                            
-    while (!(dma_pl230_channel_active((1<<DMA_CHAN_AES128_OP))))
-      ;
-    while (dma_pl230_channel_active((1<<DMA_CHAN_AES128_OP)))
-      ;
-    while (dma_pl230_channel_active((1<<DMA_CHAN_AES128_OP)))
-      ;
-    AES128->DRQ_MSK = 0;
-    AES128->IRQ_MSK = 0;
-    DMA_PL230_DMAC->DMA_CFG = 0; /* Disable DMA controller for initialization */
-    dma_pl230_init(0); // none active
-    return;
-}
-
-void aes128_driver_dma8(uint8_t *key, uint32_t nbytes, uint8_t *input,
-                          uint8_t *result, uint8_t mode)
-{
-    int c;
-    // Reset engine
-    AES128->DRQ_MSK = 0;
-    AES128->IRQ_MSK = 0;
-    AES128->QUAL    = 0;
-    AES128->CTRL    = AES128_CTRL_KEY_REQ_BIT | AES128_CTRL_IP_REQ_BIT | AES128_CTRL_OP_REQ_BIT;
-
-    // Set up parameters
-    if (mode == 1)
-      AES128->CTRL_SET = AES128_ENCODE_BIT; // ENCODE mode
-    if (mode == 0)
-      AES128->CTRL_SET = AES128_BYPASS_BIT; // BYPASS mode
-    
-    dma_pl230_data_struct_init(); // initialize
-    
-    // program DMA transfers in multiples of 16 bytes
-    aes_ip_chain[0].SrcEndPointer = DMA_PL230_PTR_END(key,PL230_XFER_B,16);
-    aes_ip_chain[0].DstEndPointer = DMA_PL230_PTR_END(&(AES128->KEY128[AES128_BUF_SIZE-16]),PL230_XFER_B,16);
-    aes_ip_chain[0].Control = DMA_PL230_CTRL(PL230_CTRL_CYCLE_DEV_CHAIN_ALT,PL230_XFER_B,16,PL230_CTRL_RPWR_16);
-
-    aes_ip_chain[1].SrcEndPointer = DMA_PL230_PTR_END(input,PL230_XFER_B,(nbytes));
-    aes_ip_chain[1].DstEndPointer = DMA_PL230_PTR_END(&(AES128->TXTIP128[AES128_BUF_SIZE-nbytes]),PL230_XFER_B,(nbytes));
-    aes_ip_chain[1].Control = DMA_PL230_CTRL(PL230_CTRL_CYCLE_BASIC,PL230_XFER_B,(nbytes),PL230_CTRL_RPWR_16);
-
-    c=DMA_CHAN_AES128_IP;
-    dma_pl230_table->Primary[c].SrcEndPointer  = DMA_PL230_PTR_END(&(aes_ip_chain[0].SrcEndPointer), PL230_XFER_W, (2*4));
-    dma_pl230_table->Primary[c].DstEndPointer  = DMA_PL230_PTR_END(&(dma_pl230_table->Alternate[c]), PL230_XFER_W, (1*4));
-    dma_pl230_table->Primary[c].Control= DMA_PL230_CTRL_DSTFIX(PL230_CTRL_CYCLE_DEV_CHAIN_PRI,PL230_XFER_W,(2*4),PL230_CTRL_RPWR_4);
-
-    aes_op_chain[0].SrcEndPointer = DMA_PL230_PTR_END(&(AES128->TXTOP128[AES128_BUF_SIZE-nbytes]),PL230_XFER_B,(nbytes));
-    aes_op_chain[0].DstEndPointer = DMA_PL230_PTR_END(result,PL230_XFER_B,(nbytes));
-    aes_op_chain[0].Control = DMA_PL230_CTRL(PL230_CTRL_CYCLE_BASIC,PL230_XFER_B,(nbytes),PL230_CTRL_RPWR_16);
-
-    c=DMA_CHAN_AES128_OP;        
-    dma_pl230_table->Primary[c].SrcEndPointer  = DMA_PL230_PTR_END(&(aes_op_chain[0].SrcEndPointer), PL230_XFER_W,(1*4));
-    dma_pl230_table->Primary[c].DstEndPointer  = DMA_PL230_PTR_END(&(dma_pl230_table->Alternate[c]), PL230_XFER_W,(1*4));
-    dma_pl230_table->Primary[c].Control= DMA_PL230_CTRL_DSTFIX(PL230_CTRL_CYCLE_DEV_CHAIN_PRI,PL230_XFER_W,(1*4),PL230_CTRL_RPWR_4);
- 
-    // enable DMA controller channels
-    dma_pl230_init((1<<DMA_CHAN_AES128_OP) | (1<<DMA_CHAN_AES128_IP)); // two active
-
-    // and enable DMA requests
-    AES128->DRQ_MSK_SET = (AES128_KEY_REQ_BIT | AES128_IP_REQ_BIT | AES128_OP_REQ_BIT);
-    AES128->IRQ_MSK_SET = (AES128_ERR_REQ_BIT | AES128_KEY_REQ_BIT | AES128_IP_REQ_BIT | AES128_OP_REQ_BIT);
-    // test to ensure output DMA has started                            
-    while (!(dma_pl230_channel_active(1<<DMA_CHAN_AES128_OP)))
-      ;
-    while (dma_pl230_channel_active(1<<DMA_CHAN_AES128_OP))
-      ;
-    while (dma_pl230_channel_active(1<<DMA_CHAN_AES128_OP))
-      ;
-    AES128->DRQ_MSK = 0;
-    AES128->IRQ_MSK = 0;
-    DMA_PL230_DMAC->DMA_CFG = 0; /* Disable DMA controller for initialization */
-    dma_pl230_init(0); // none active
-    return;
-}
-
-// wrapper functions
-
-void aes128_alignchk_block_dma(uint8_t *key, uint32_t nbytes, uint8_t *input, uint8_t *result, uint8_t mode)
-       { uint32_t dma_max = DMA_PL230_MAX_XFERS; // default to 1 K bytes
-         if (((((long)key) & 3)==0) && ((((long)input) & 3)==0) && ((((long)result) & 3)==0)) dma_max=(DMA_PL230_MAX_XFERS<<2);
-         while (nbytes >dma_max) {
-            if (dma_max == DMA_PL230_MAX_XFERS) // 1K bytes DMA
-              aes128_driver_dma8(key, dma_max, input, result, mode);
-            else // 1K words DMA
-              aes128_driver_aligned_dma32(key, dma_max, input, result, mode);
-           nbytes -= dma_max; input  += dma_max; result += dma_max;
-         }
-         if (dma_max == DMA_PL230_MAX_XFERS) // up to 1K bytes remaining
-           aes128_driver_dma8(key, nbytes, input, result, mode);
-         else // up to 1K words remaining
-           aes128_driver_aligned_dma32(key, nbytes, input, result, mode);
-       }
-
-void aes128_bypass_dma(uint8_t *key, uint32_t nbytes, uint8_t *input, uint8_t *result) 
-       { aes128_alignchk_block_dma (key, nbytes, input, result, 0); }
-
-void aes128_encrypt_dma(uint8_t *key, uint32_t nbytes, uint8_t *input, uint8_t *result)
-       { aes128_alignchk_block_dma (key, nbytes, input, result, 1); }
-
-void aes128_decrypt_dma(uint8_t *key, uint32_t nbytes, uint8_t *input, uint8_t *result)
-       { aes128_alignchk_block_dma (key, nbytes, input, result, 2); }
-
-
-int main(void) {
-	char rx_char [256] = "soclabs AES128v1"; // init to 0
-	unsigned char id_string [16] = {0};
-	int  i, fail=0;
-        unsigned char * p;
-        
-		UartStdOutInit();
-		printf("%s\n",rx_char);
-		printf("AES128 test program\n");
-		printf("  AES128 ID: ");
- 	        // iterate over 3 32-bit fields
-                p = (unsigned char *)AES128->CORE_NAME;
-	        for (i = 0; i < 12; i++) {
-                  id_string[i^3]=*p; // fix byte ordering per word
-                  p+=1;
-                  }
-                id_string[12] = 0; 
-		printf("%s\n",id_string);
-
-                aes_key_irq_occurred = 0;
-                aes_key_irq_expected = 1;
-                NVIC_ClearPendingIRQ(EXP0_IRQn);
-                NVIC_EnableIRQ(EXP0_IRQn);
-                aes_ip_irq_occurred = 0;
-                aes_ip_irq_expected = 1;
-                NVIC_ClearPendingIRQ(EXP1_IRQn);
-                NVIC_EnableIRQ(EXP1_IRQn);
-                aes_op_irq_occurred = 0;
-                aes_op_irq_expected = 1;
-                NVIC_ClearPendingIRQ(EXP2_IRQn);
-                NVIC_EnableIRQ(EXP2_IRQn);
-                aes_err_irq_occurred = 0;
-                aes_err_irq_expected = 1;
-                NVIC_ClearPendingIRQ(EXP3_IRQn);
-                NVIC_EnableIRQ(EXP3_IRQn);
-
-		printf("AES128 SW (memcpy) tests...\n");
- 		printf("  AES128 reference pattern test\n");
-
- 		printf("    AES128 input/output bypass test\n");
-                aes128_bypass_memcpy(test_key128, sizeof(test_text128), test_text128, buf128);
-                fail += aes128_buffer_verify(AES_BLOCK_SIZE, buf128, test_text128);
-
-               if (aes_key_irq_occurred != 1){ fail++;
-                   printf("    ++ AES key request IRQ count = %d\n", aes_key_irq_occurred); }
-               if (aes_ip_irq_occurred != 2){ fail++;
-                   printf("    ++ AES inp request missing: IRQ count = %d\n", aes_ip_irq_occurred); }
-               if (aes_op_irq_occurred != 1){ fail++;
-                   printf("    ++ AES out request missing: IRQ count = %d\n", aes_op_irq_occurred); }
-               if (aes_err_irq_occurred != 0){ fail++;
-                   printf("    ++ AES err request missing: IRQ count = %d\n", aes_err_irq_occurred); }
-
-		printf("    AES128 encrypt test\n");
-                aes128_encrypt_memcpy(test_key128, sizeof(test_text128), test_text128, buf128); 
-                fail += aes128_buffer_verify(AES_BLOCK_SIZE, buf128, test_exp128);
-
- 		printf("    AES128 decrypt test\n");
-                aes128_decrypt_memcpy(test_key128, sizeof(buf128), buf128, buf128);
-                fail += aes128_buffer_verify(AES_BLOCK_SIZE, buf128, test_text128);
-
-                aes_key_irq_occurred = 0;
-                aes_ip_irq_occurred = 0;
-                aes_op_irq_occurred = 0;
-                aes_err_irq_occurred = 0;
-
- 		printf("  AES128 logic toggle test\n");
-		printf("    AES128 input/output pattern test\n");
-                aes128_bypass_memcpy(test_key128, sizeof(shift_patt), shift_patt, shift_buf1); 
-                fail += aes128_buffer_verify(sizeof(shift_patt), shift_buf1, shift_patt);
-
-               if (aes_key_irq_occurred != 1){ fail++;
-                   printf("    ++ AES key request IRQ count = %d\n", aes_key_irq_occurred); }
-               if (aes_ip_irq_occurred != (129+1)){ fail++;
-                   printf("    ++ AES inp request missing: IRQ count = %d\n", aes_ip_irq_occurred); }
-               if (aes_op_irq_occurred != 129){ fail++;
-                   printf("    ++ AES out request missing: IRQ count = %d\n", aes_op_irq_occurred); }
-               if (aes_err_irq_occurred != 0){ fail++;
-                   printf("    ++ AES err request missing: IRQ count = %d\n", aes_err_irq_occurred); }
-
-		printf("    AES128 pattern encrypt test\n");
-                aes128_encrypt_memcpy(test_key128, sizeof(shift_patt), shift_patt, shift_buf1); 
- 		printf("    AES128 pattern decrypt test\n");
-                aes128_decrypt_memcpy(test_key128, sizeof(shift_patt), shift_buf1, shift_buf2); 
-                fail += aes128_buffer_verify(sizeof(shift_patt), shift_buf2, shift_patt);
-
-		printf("AES128 DMA tests...\n");
-
-                aes_key_irq_occurred = 0;
-                aes_ip_irq_occurred = 0;
-                aes_op_irq_occurred = 0;
-                aes_err_irq_occurred = 0;
-                dma_error_irq_expected = 0;
-                dma_error_irq_occurred = 0;
-                dma_done_irq_expected = 1;
-                dma_done_irq_occurred = 0;
-                NVIC_ClearPendingIRQ(DMA_IRQn);
-                NVIC_EnableIRQ(DMA_IRQn);
-
- 		printf("  AES128 dma input/output bypass test\n");
-                aes128_bypass_dma(test_key128, sizeof(test_text128), test_text128, buf128);
-                fail += aes128_buffer_verify(AES_BLOCK_SIZE, buf128, test_text128);
-
-               if (dma_done_irq_occurred < 2){
-                  puts ("ERROR: DMA err IRQ missing");
-                  fail++;
-                 } else
-                   printf("    ++ DMA_DONE IRQ count = %d\n", dma_done_irq_occurred);
-
-		printf("  AES128 dma encrypt test\n");
-                aes128_encrypt_dma(test_key128, sizeof(test_text128), test_text128, buf128); 
-                fail += aes128_buffer_verify(AES_BLOCK_SIZE, buf128, test_exp128);
-
- 		printf("  AES128 dma decrypt test\n");
-                aes128_decrypt_dma(test_key128, sizeof(buf128), buf128, buf128);
-                fail += aes128_buffer_verify(AES_BLOCK_SIZE, buf128, test_text128);
-
-               if (dma_done_irq_occurred < 6){
-                  puts ("ERROR: DMA err IRQ missing");
-                  fail++;
-                 } else
-                   printf("    ++ DMA_DONE IRQ count = %d\n", dma_done_irq_occurred);
-
-		printf("  AES128 dma unaligned pattern test\n");
-                aes128_bypass_dma(test_key128,(16*63), shift_patt, shift_buf1+3); 
-                fail += aes128_buffer_verify((16*63), shift_buf1+3, shift_patt);
-
-		printf("  AES128 dma input/output pattern test\n");
-                aes128_bypass_dma(test_key128, sizeof(shift_patt), shift_patt, shift_buf1); 
-                fail += aes128_buffer_verify(sizeof(shift_patt), shift_buf1, shift_patt);
-		printf("  AES128 dma pattern encrypt test\n");
-                aes128_encrypt_dma(test_key128, sizeof(shift_patt), shift_patt, shift_buf1); 
- 		printf("  AES128 dma pattern decrypt test\n");
-                aes128_decrypt_dma(test_key128, sizeof(shift_patt), shift_buf1, shift_buf2); 
-                fail += aes128_buffer_verify(sizeof(shift_patt), shift_buf2, shift_patt);
-
-               if (dma_done_irq_occurred < (2*7)){
-                  puts ("ERROR: DMA err IRQ missing");
-                  fail++;
-                 } else
-                   printf("    ++ DMA_DONE IRQ count = %d\n", dma_done_irq_occurred);
-
-               // check IRQ masked by DRQs - except when Iinput buffer empty after DMA done
-               if (aes_key_irq_occurred != 0){ fail++;
-                   printf("    ++ AES key request IRQ count = %d\n", aes_key_irq_occurred); }
-               if (aes_ip_irq_occurred != 7){ fail++;
-                   printf("    ++ AES inp request missing: IRQ count = %d\n", aes_ip_irq_occurred); }
-               if (aes_op_irq_occurred != 0){ fail++;
-                   printf("    ++ AES out request missing: IRQ count = %d\n", aes_op_irq_occurred); }
-               if (aes_err_irq_occurred != 0){ fail++;
-                   printf("    ++ AES err request missing: IRQ count = %d\n", aes_err_irq_occurred); }
-
-                NVIC_DisableIRQ(DMA_IRQn);
-                NVIC_DisableIRQ(EXP0_IRQn);
-                NVIC_DisableIRQ(EXP1_IRQn);
-                NVIC_DisableIRQ(EXP2_IRQn);
-                NVIC_DisableIRQ(EXP3_IRQn);
-
-  		printf ("Data retrieved from the AES is: %s\n", id_string);
-		printf ("Data expected from the AES is: %s\n", rx_char);
-		if (fail >0)
-		  printf("** AES TESTS FAILED (%d)  **\n", fail);
-                else
-		  printf("** AES TEST PASSED **\n");
-		// End simulation
-
-
-  		UartEndSimulation();
-
-  	return 0;
-
-}
-	
-/* --------------------------------------------------------------- */
-/*  Interrupt handlers                                         */
-/* --------------------------------------------------------------- */
-
-void DMA_Handler(void)
-{
-if ((DMA_PL230_DMAC->ERR_CLR & 1) != 0)  {
-  /* DMA interrupt is caused by DMA error */
-  dma_error_irq_occurred ++;
-  DMA_PL230_DMAC->ERR_CLR = 1; /* Clear dma_err */
-  if (dma_error_irq_expected==0) {
-    puts ("ERROR : Unexpected DMA error interrupt occurred.\n");
-    UartEndSimulation();
-    while (1);
-    }
-  }
-else {
-  // DMA interrupt is caused by DMA done
-  dma_done_irq_occurred ++;
-  if (dma_done_irq_expected==0) {
-    puts ("ERROR : Unexpected DMA done interrupt occurred.\n");
-    UartEndSimulation();
-    while (1);
-    }
-  }
-}
-
-void EXP0_Handler(void)
-{
-  // AES128 interrupt is caused by Key buffer empty IRQ
-  aes_key_irq_occurred ++;
-  AES128->IRQ_MSK_CLR = AES128_KEY_REQ_BIT;
-  if (aes_key_irq_expected==0) {
-    puts ("ERROR : Unexpected AES128 Key buffer empty request interrupt occurred.\n");
-    UartEndSimulation();
-    while (1);
-    }
-}
-
-void EXP1_Handler(void)
-{
-  // AES128 interrupt is caused by Input buffer empty IRQ
-  aes_ip_irq_occurred ++;
-  AES128->IRQ_MSK_CLR = AES128_IP_REQ_BIT;
-  if (aes_ip_irq_expected==0) {
-    puts ("ERROR : Unexpected AES128 Input buffer empty reqest interrupt occurred.\n");
-    UartEndSimulation();
-    while (1);
-    }
-}
-
-void EXP2_Handler(void)
-{
-  // AES128 interrupt is caused by Output buffer full IRQ
-  aes_op_irq_occurred ++;
-  AES128->IRQ_MSK_CLR = AES128_OP_REQ_BIT;
-  if (aes_op_irq_expected==0) {
-    puts ("ERROR : Unexpected AES128 Output buffer full reqest interrupt occurred.\n");
-    UartEndSimulation();
-    while (1);
-    }
-}
-
-void EXP3_Handler(void)
-{
-  // AES128 interrupt is caused by Error IRQ
-  aes_err_irq_occurred ++;
-  AES128->IRQ_MSK_CLR = AES128_ERR_REQ_BIT;
-  if (aes_err_irq_expected==0) {
-    puts ("ERROR : Unexpected AES128 Error interrupt occurred.\n");
-    UartEndSimulation();
-    while (1);
-    }
-}
-
diff --git a/system/testcodes/aes128_tests/dma_pl230_driver.c b/system/testcodes/aes128_tests/dma_pl230_driver.c
deleted file mode 100644
index 8781465..0000000
--- a/system/testcodes/aes128_tests/dma_pl230_driver.c
+++ /dev/null
@@ -1,163 +0,0 @@
-#include <stdio.h>
-#include <string.h>
-#include "dma_pl230_driver.h"
-
-#define DEBUG_PRINTF(...) do {} while(0); 
-//#define cpu_to_be32(__x) __x
-//#define be32_to_cpu(__x) __x
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-static int g_dma_pl230_initialised = 0;
-
-static dma_pl230_data_structure priv_dma __attribute__((aligned(256)));
-//
-dma_pl230_data_structure *dma_pl230_table = &priv_dma; 
-
-/* --------------------------------------------------------------- */
-/*  Initialize DMA data structure                                  */
-/* --------------------------------------------------------------- */
-void dma_pl230_data_struct_init(void)
-{
-  int          i;   /* loop counter */
-
-//  printf ("dma structure block address = %x\n", dma_pl230_table);
-  for (i=0; i<MAX_NUM_OF_DMA_CHANNELS; i++) {
-    dma_pl230_table->Primary[i].SrcEndPointer   = 0;
-    dma_pl230_table->Primary[i].DstEndPointer   = 0;
-    dma_pl230_table->Primary[i].Control         = 0;
-    dma_pl230_table->Alternate[i].SrcEndPointer = 0;
-    dma_pl230_table->Alternate[i].DstEndPointer = 0;
-    dma_pl230_table->Alternate[i].Control       = 0;
-    }
-  g_dma_pl230_initialised = 1;
-  return;
-}
-
-void dma_pl230_data_struct_init_dbg(void)
-{
-  int          i;   /* loop counter */
-  unsigned int ptr;
-
-  int          ch_num;         /* number of channels */
-  unsigned int blksize;        /* Size of DMA data structure in bytes */
-  unsigned int blkmask;        /* address mask */
-
-
-  ch_num  = (((DMA_PL230_DMAC->DMA_STATUS) >> 16) & 0x1F)+1;
-  blksize = ch_num * 32;
-  if      (ch_num > 16) blkmask = 0x3FF; /* 17 to 32 */
-  else if (ch_num > 8)  blkmask = 0x1FF; /*  9 to 16 */
-  else if (ch_num > 4)  blkmask = 0x0FF; /*  5 to 8 */
-  else if (ch_num > 2)  blkmask = 0x07F; /*  3 to 4 */
-  else if (ch_num > 1)  blkmask = 0x03F; /*       2 */
-  else                  blkmask = 0x01F; /*       1 */
-
-
-  /* Create DMA data structure in RAM after stack
-  In the linker script, a 1KB memory stack above stack is reserved
-  so we can use this space for putting the DMA data structure.
-  */
-
-//  ptr     = HW32_REG(0);                     /* Read Top of Stack */
-  ptr     = (0x80000000); // force for now as no reserved RAM available
-  
-  /* the DMA data structure must be aligned to the size of the data structure */
-  if ((ptr & blkmask) != 0x0)
-    ptr     = (ptr + blksize) & ~blkmask;
-
-///  if ((ptr + blksize) > (RAM_ADDRESS_MAX + 1)) {
-///    puts ("ERROR : Not enough RAM space for DMA data structure.");
-///    UartEndSimulation();
-///    }
-
-  /* Set pointer to the reserved space */
-  dma_pl230_table = (dma_pl230_data_structure *) ptr;
-  ptr = (unsigned long) &(dma_pl230_table->Primary[0].SrcEndPointer);
-
-  printf ("dma structure block address = %x\n", ptr);
-
-  for (i=0; i<MAX_NUM_OF_DMA_CHANNELS; i++) {
-    dma_pl230_table->Primary[i].SrcEndPointer   = 0;
-    dma_pl230_table->Primary[i].DstEndPointer   = 0;
-    dma_pl230_table->Primary[i].Control         = 0;
-    dma_pl230_table->Alternate[i].SrcEndPointer = 0;
-    dma_pl230_table->Alternate[i].DstEndPointer = 0;
-    dma_pl230_table->Alternate[i].Control       = 0;
-    }
-  g_dma_pl230_initialised = 1;
-  return;
-}
-/* --------------------------------------------------------------- */
-/*  Initialize DMA PL230                                           */
-/* --------------------------------------------------------------- */
-void dma_pl230_init_dbg(unsigned int chan_mask)
-{
-  unsigned int current_state;
-  puts ("Initialize PL230");
-  current_state = DMA_PL230_DMAC->DMA_STATUS;
-  printf ("- # of channels allowed : %d\n",(((current_state) >> 16) & 0x1F)+1);
-  /* Debugging printfs: */
-  printf ("- Current status        : %x\n",(((current_state) >> 4)  & 0xF));
-  printf ("- Current master enable : %x\n",(((current_state) >> 0)  & 0x1));
-
-  /* Wait until current DMA complete */
-  current_state = (DMA_PL230_DMAC->DMA_STATUS >> 4)  & 0xF;
-  if (!((current_state==0) || (current_state==0x8) || (current_state==0x9))) {
-    puts ("- wait for DMA IDLE/STALLED/DONE");
-    current_state = (DMA_PL230_DMAC->DMA_STATUS >> 4)  & 0xF;
-    printf ("- Current status        : %x\n",(((current_state) >> 4)  & 0xF));
-
-    }
-  while (!((current_state==0) || (current_state==0x8) || (current_state==0x9))){
-    /* Wait if not IDLE/STALLED/DONE */
-    current_state = (DMA_PL230_DMAC->DMA_STATUS >> 4)  & 0xF;
-    printf ("- Current status        : %x\n",(((current_state) >> 4)  & 0xF));
-    }
-  DMA_PL230_DMAC->DMA_CFG = 0; /* Disable DMA controller for initialization */
-  DMA_PL230_DMAC->CTRL_BASE_PTR = (unsigned long) &(dma_pl230_table->Primary->SrcEndPointer);
-                           /* Set DMA data structure address */
-  DMA_PL230_DMAC->CHNL_ENABLE_CLR = 0xFFFFFFFF; /* Disable all channels */
-  DMA_PL230_DMAC->CHNL_PRI_ALT_CLR = ((1<<MAX_NUM_OF_DMA_CHANNELS)-1); /* Disable all alt channels */
-  DMA_PL230_DMAC->CHNL_ENABLE_SET = (chan_mask & ((1<<MAX_NUM_OF_DMA_CHANNELS)-1)); /* Enable channel */
-  DMA_PL230_DMAC->CHNL_USEBURST_SET = (chan_mask & ((1<<MAX_NUM_OF_DMA_CHANNELS)-1)); /* Enable bursts */
-  if (chan_mask)
-    DMA_PL230_DMAC->DMA_CFG = 1;              /* Enable DMA controller if enabled channel*/
-  return;
-}
-
-void dma_pl230_init(unsigned int chan_mask)
-{
-  unsigned int current_state;
-  if (g_dma_pl230_initialised ==0)
-    dma_pl230_data_struct_init();
-  /* Wait until current DMA complete */
-  current_state = (DMA_PL230_DMAC->DMA_STATUS >> 4)  & 0xF;
-  while (!((current_state==0) || (current_state==0x8) || (current_state==0x9))){
-    /* Wait if not IDLE/STALLED/DONE */
-    puts ("- wait for DMA IDLE/STALLED/DONE");
-    current_state = (DMA_PL230_DMAC->DMA_STATUS >> 4)  & 0xF;
-    }
-  DMA_PL230_DMAC->DMA_CFG = 0; /* Disable DMA controller for initialization */
-  DMA_PL230_DMAC->CTRL_BASE_PTR = (unsigned long) &(dma_pl230_table->Primary->SrcEndPointer);
-                           /* Set DMA data structure address */
-  DMA_PL230_DMAC->CHNL_ENABLE_CLR  = ((1<<MAX_NUM_OF_DMA_CHANNELS)-1); /* Disable all channels */
-  DMA_PL230_DMAC->CHNL_PRI_ALT_CLR = ((1<<MAX_NUM_OF_DMA_CHANNELS)-1); /* Disable all alt channels */
-  DMA_PL230_DMAC->CHNL_ENABLE_SET  = (chan_mask & ((1<<MAX_NUM_OF_DMA_CHANNELS)-1)); /* Enable channel */
-  DMA_PL230_DMAC->CHNL_USEBURST_SET = (chan_mask & ((1<<MAX_NUM_OF_DMA_CHANNELS)-1)); /* Enable bursts */
-  g_dma_pl230_initialised = 2;
-  if (chan_mask)
-    DMA_PL230_DMAC->DMA_CFG = 1;              /* Enable DMA controller if enabled channel*/
-  return;
-}
-
-unsigned int dma_pl230_channel_active(unsigned int chan_mask)
-{
-  return(DMA_PL230_DMAC->CHNL_ENABLE_SET & chan_mask & ((1<<MAX_NUM_OF_DMA_CHANNELS)-1)); /* Enabled channels */
-}
-
-#ifdef __cplusplus
-}
-#endif
diff --git a/system/testcodes/aes128_tests/dma_pl230_driver.h b/system/testcodes/aes128_tests/dma_pl230_driver.h
deleted file mode 100644
index 082b196..0000000
--- a/system/testcodes/aes128_tests/dma_pl230_driver.h
+++ /dev/null
@@ -1,198 +0,0 @@
-#ifndef __DMA_PL230_MCU_H
-#define __DMA_PL230_MCU_H
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-#include  "CMSDK_CM0.h"
-
-#define DMA_PL230_BASE        (CMSDK_APB_BASE + 0xF000UL)
-
-#define MAX_NUM_OF_DMA_CHANNELS   2
-
-/*------------- PL230 uDMA (PL230) --------------------------------------*/
-/** @addtogroup DMA_PL230 CMSDK uDMA controller
-  @{
-*/
-typedef struct
-{
-  __I    uint32_t  DMA_STATUS;           /*!< Offset: 0x000 DMA status Register (R/W) */
-  __O    uint32_t  DMA_CFG;              /*!< Offset: 0x004 DMA configuration Register ( /W) */
-  __IO   uint32_t  CTRL_BASE_PTR;        /*!< Offset: 0x008 Channel Control Data Base Pointer Register  (R/W) */
-  __I    uint32_t  ALT_CTRL_BASE_PTR;    /*!< Offset: 0x00C Channel Alternate Control Data Base Pointer Register  (R/ ) */
-  __I    uint32_t  DMA_WAITONREQ_STATUS; /*!< Offset: 0x010 Channel Wait On Request Status Register  (R/ ) */
-  __O    uint32_t  CHNL_SW_REQUEST;      /*!< Offset: 0x014 Channel Software Request Register  ( /W) */
-  __IO   uint32_t  CHNL_USEBURST_SET;    /*!< Offset: 0x018 Channel UseBurst Set Register  (R/W) */
-  __O    uint32_t  CHNL_USEBURST_CLR;    /*!< Offset: 0x01C Channel UseBurst Clear Register  ( /W) */
-  __IO   uint32_t  CHNL_REQ_MASK_SET;    /*!< Offset: 0x020 Channel Request Mask Set Register  (R/W) */
-  __O    uint32_t  CHNL_REQ_MASK_CLR;    /*!< Offset: 0x024 Channel Request Mask Clear Register  ( /W) */
-  __IO   uint32_t  CHNL_ENABLE_SET;      /*!< Offset: 0x028 Channel Enable Set Register  (R/W) */
-  __O    uint32_t  CHNL_ENABLE_CLR;      /*!< Offset: 0x02C Channel Enable Clear Register  ( /W) */
-  __IO   uint32_t  CHNL_PRI_ALT_SET;     /*!< Offset: 0x030 Channel Primary-Alterante Set Register  (R/W) */
-  __O    uint32_t  CHNL_PRI_ALT_CLR;     /*!< Offset: 0x034 Channel Primary-Alterante Clear Register  ( /W) */
-  __IO   uint32_t  CHNL_PRIORITY_SET;    /*!< Offset: 0x038 Channel Priority Set Register  (R/W) */
-  __O    uint32_t  CHNL_PRIORITY_CLR;    /*!< Offset: 0x03C Channel Priority Clear Register  ( /W) */
-         uint32_t  RESERVED0[3];
-  __IO   uint32_t  ERR_CLR;              /*!< Offset: 0x04C Bus Error Clear Register  (R/W) */
-
-} DMA_PL230_TypeDef;
-
-#define PL230_DMA_CHNL_BITS 0
-
-#define DMA_PL230_DMA_STATUS_MSTREN_Pos          0                                                          /*!< DMA_PL230 DMA STATUS: MSTREN Position */
-#define DMA_PL230_DMA_STATUS_MSTREN_Msk          (0x00000001ul << DMA_PL230_DMA_STATUS_MSTREN_Pos)        /*!< DMA_PL230 DMA STATUS: MSTREN Mask */
-
-#define DMA_PL230_DMA_STATUS_STATE_Pos           0                                                          /*!< DMA_PL230 DMA STATUS: STATE Position */
-#define DMA_PL230_DMA_STATUS_STATE_Msk           (0x0000000Ful << DMA_PL230_DMA_STATUS_STATE_Pos)         /*!< DMA_PL230 DMA STATUS: STATE Mask */
-
-#define DMA_PL230_DMA_STATUS_CHNLS_MINUS1_Pos    0                                                          /*!< DMA_PL230 DMA STATUS: CHNLS_MINUS1 Position */
-#define DMA_PL230_DMA_STATUS_CHNLS_MINUS1_Msk    (0x0000001Ful << DMA_PL230_DMA_STATUS_CHNLS_MINUS1_Pos)  /*!< DMA_PL230 DMA STATUS: CHNLS_MINUS1 Mask */
-
-#define DMA_PL230_DMA_STATUS_TEST_STATUS_Pos     0                                                          /*!< DMA_PL230 DMA STATUS: TEST_STATUS Position */
-#define DMA_PL230_DMA_STATUS_TEST_STATUS_Msk     (0x00000001ul << DMA_PL230_DMA_STATUS_TEST_STATUS_Pos)   /*!< DMA_PL230 DMA STATUS: TEST_STATUS Mask */
-
-#define DMA_PL230_DMA_CFG_MSTREN_Pos             0                                                          /*!< DMA_PL230 DMA CFG: MSTREN Position */
-#define DMA_PL230_DMA_CFG_MSTREN_Msk             (0x00000001ul << DMA_PL230_DMA_CFG_MSTREN_Pos)           /*!< DMA_PL230 DMA CFG: MSTREN Mask */
-
-#define DMA_PL230_DMA_CFG_CPCCACHE_Pos           2                                                          /*!< DMA_PL230 DMA CFG: CPCCACHE Position */
-#define DMA_PL230_DMA_CFG_CPCCACHE_Msk           (0x00000001ul << DMA_PL230_DMA_CFG_CPCCACHE_Pos)         /*!< DMA_PL230 DMA CFG: CPCCACHE Mask */
-
-#define DMA_PL230_DMA_CFG_CPCBUF_Pos             1                                                          /*!< DMA_PL230 DMA CFG: CPCBUF Position */
-#define DMA_PL230_DMA_CFG_CPCBUF_Msk             (0x00000001ul << DMA_PL230_DMA_CFG_CPCBUF_Pos)           /*!< DMA_PL230 DMA CFG: CPCBUF Mask */
-
-#define DMA_PL230_DMA_CFG_CPCPRIV_Pos            0                                                          /*!< DMA_PL230 DMA CFG: CPCPRIV Position */
-#define DMA_PL230_DMA_CFG_CPCPRIV_Msk            (0x00000001ul << DMA_PL230_DMA_CFG_CPCPRIV_Pos)          /*!< DMA_PL230 DMA CFG: CPCPRIV Mask */
-
-#define DMA_PL230_CTRL_BASE_PTR_Pos              PL230_DMA_CHNL_BITS + 5                                    /*!< DMA_PL230 STATUS: BASE_PTR Position */
-#define DMA_PL230_CTRL_BASE_PTR_Msk              (0x0FFFFFFFul << DMA_PL230_CTRL_BASE_PTR_Pos)            /*!< DMA_PL230 STATUS: BASE_PTR Mask */
-
-#define DMA_PL230_ALT_CTRL_BASE_PTR_Pos          0                                                          /*!< DMA_PL230 STATUS: MSTREN Position */
-#define DMA_PL230_ALT_CTRL_BASE_PTR_Msk          (0xFFFFFFFFul << DMA_PL230_ALT_CTRL_BASE_PTR_Pos)        /*!< DMA_PL230 STATUS: MSTREN Mask */
-
-#define DMA_PL230_DMA_WAITONREQ_STATUS_Pos       0                                                          /*!< DMA_PL230 DMA_WAITONREQ_STATUS: DMA_WAITONREQ_STATUS Position */
-#define DMA_PL230_DMA_WAITONREQ_STATUS_Msk       (0xFFFFFFFFul << DMA_PL230_DMA_WAITONREQ_STATUS_Pos)     /*!< DMA_PL230 DMA_WAITONREQ_STATUS: DMA_WAITONREQ_STATUS Mask */
-
-#define DMA_PL230_CHNL_SW_REQUEST_Pos            0                                                          /*!< DMA_PL230 CHNL_SW_REQUEST: CHNL_SW_REQUEST Position */
-#define DMA_PL230_CHNL_SW_REQUEST_Msk            (0xFFFFFFFFul << DMA_PL230_CHNL_SW_REQUEST_Pos)          /*!< DMA_PL230 CHNL_SW_REQUEST: CHNL_SW_REQUEST Mask */
-
-#define DMA_PL230_CHNL_USEBURST_SET_Pos          0                                                          /*!< DMA_PL230 CHNL_USEBURST: SET Position */
-#define DMA_PL230_CHNL_USEBURST_SET_Msk          (0xFFFFFFFFul << DMA_PL230_CHNL_USEBURST_SET_Pos)        /*!< DMA_PL230 CHNL_USEBURST: SET Mask */
-
-#define DMA_PL230_CHNL_USEBURST_CLR_Pos          0                                                          /*!< DMA_PL230 CHNL_USEBURST: CLR Position */
-#define DMA_PL230_CHNL_USEBURST_CLR_Msk          (0xFFFFFFFFul << DMA_PL230_CHNL_USEBURST_CLR_Pos)        /*!< DMA_PL230 CHNL_USEBURST: CLR Mask */
-
-#define DMA_PL230_CHNL_REQ_MASK_SET_Pos          0                                                          /*!< DMA_PL230 CHNL_REQ_MASK: SET Position */
-#define DMA_PL230_CHNL_REQ_MASK_SET_Msk          (0xFFFFFFFFul << DMA_PL230_CHNL_REQ_MASK_SET_Pos)        /*!< DMA_PL230 CHNL_REQ_MASK: SET Mask */
-
-#define DMA_PL230_CHNL_REQ_MASK_CLR_Pos          0                                                          /*!< DMA_PL230 CHNL_REQ_MASK: CLR Position */
-#define DMA_PL230_CHNL_REQ_MASK_CLR_Msk          (0xFFFFFFFFul << DMA_PL230_CHNL_REQ_MASK_CLR_Pos)        /*!< DMA_PL230 CHNL_REQ_MASK: CLR Mask */
-
-#define DMA_PL230_CHNL_ENABLE_SET_Pos            0                                                          /*!< DMA_PL230 CHNL_ENABLE: SET Position */
-#define DMA_PL230_CHNL_ENABLE_SET_Msk            (0xFFFFFFFFul << DMA_PL230_CHNL_ENABLE_SET_Pos)          /*!< DMA_PL230 CHNL_ENABLE: SET Mask */
-
-#define DMA_PL230_CHNL_ENABLE_CLR_Pos            0                                                          /*!< DMA_PL230 CHNL_ENABLE: CLR Position */
-#define DMA_PL230_CHNL_ENABLE_CLR_Msk            (0xFFFFFFFFul << DMA_PL230_CHNL_ENABLE_CLR_Pos)          /*!< DMA_PL230 CHNL_ENABLE: CLR Mask */
-
-#define DMA_PL230_CHNL_PRI_ALT_SET_Pos           0                                                          /*!< DMA_PL230 CHNL_PRI_ALT: SET Position */
-#define DMA_PL230_CHNL_PRI_ALT_SET_Msk           (0xFFFFFFFFul << DMA_PL230_CHNL_PRI_ALT_SET_Pos)         /*!< DMA_PL230 CHNL_PRI_ALT: SET Mask */
-
-#define DMA_PL230_CHNL_PRI_ALT_CLR_Pos           0                                                          /*!< DMA_PL230 CHNL_PRI_ALT: CLR Position */
-#define DMA_PL230_CHNL_PRI_ALT_CLR_Msk           (0xFFFFFFFFul << DMA_PL230_CHNL_PRI_ALT_CLR_Pos)         /*!< DMA_PL230 CHNL_PRI_ALT: CLR Mask */
-
-#define DMA_PL230_CHNL_PRIORITY_SET_Pos          0                                                          /*!< DMA_PL230 CHNL_PRIORITY: SET Position */
-#define DMA_PL230_CHNL_PRIORITY_SET_Msk          (0xFFFFFFFFul << DMA_PL230_CHNL_PRIORITY_SET_Pos)        /*!< DMA_PL230 CHNL_PRIORITY: SET Mask */
-
-#define DMA_PL230_CHNL_PRIORITY_CLR_Pos          0                                                          /*!< DMA_PL230 CHNL_PRIORITY: CLR Position */
-#define DMA_PL230_CHNL_PRIORITY_CLR_Msk          (0xFFFFFFFFul << DMA_PL230_CHNL_PRIORITY_CLR_Pos)        /*!< DMA_PL230 CHNL_PRIORITY: CLR Mask */
-
-#define DMA_PL230_ERR_CLR_Pos                    0                                                          /*!< DMA_PL230 ERR: CLR Position */
-#define DMA_PL230_ERR_CLR_Msk                    (0x00000001ul << DMA_PL230_ERR_CLR_Pos)                  /*!< DMA_PL230 ERR: CLR Mask */
-
-
-#define HW32_REG(ADDRESS)  (*((volatile unsigned long  *)(ADDRESS)))
-
-                              /* Maximum to 32 DMA channel */
-                              /* SRAM in example system is 64K bytes */
-#define RAM_ADDRESS_MAX       0x80001fff
-
-typedef struct /* 4 words */
-{
-  volatile unsigned char* SrcEndPointer;
-  volatile unsigned char* DstEndPointer;
-  volatile unsigned long Control;
-  volatile unsigned long unused;
-} dma_pl230_channel_data;
-
-
-typedef struct /* 8 words per channel */
-{ /* was one channel in the example uDMA setup */
-  volatile dma_pl230_channel_data Primary[MAX_NUM_OF_DMA_CHANNELS];
-  volatile dma_pl230_channel_data Alternate[MAX_NUM_OF_DMA_CHANNELS];
-} dma_pl230_data_structure;
-
-
-extern dma_pl230_data_structure *dma_pl230_table;
-
-#define DMA_PL230_DMAC   ((DMA_PL230_TypeDef *)  DMA_PL230_BASE)
-
-#define DMA_PL230_PTR_END(__ptr, __siz, __num) \
-	((unsigned char *) __ptr + ((1<<__siz)*(__num-1)))
-
-#define DMA_PL230_CTRL(__cyc, __siz, __num, __rpwr) \
-	(((unsigned long) __siz << 30)|(__siz << 28)|(__siz << 26)|(__siz << 24)| \
-         (1     << 21)|(1     << 18)|(__rpwr << 14)|(((__num-1)&0x3ff)<<4)| \
-         (1     <<  3)|(__cyc <<  0) )
-
-#define DMA_PL230_CTRL_SRCFIX(__cyc, __siz, __num, __rpwr) \
-	(((unsigned long) __siz << 30)|(__siz << 28)|(0x0c000000UL)|(__siz << 24)| \
-         (1     << 21)|(1     << 18)|(__rpwr << 14)|(((__num-1)&0x3ff)<<4)| \
-         (1     <<  3)|(__cyc <<  0) )
-
-#define DMA_PL230_CTRL_DSTFIX(__cyc, __siz, __num, __rpwr) \
-	((0xc0000000UL)|(__siz << 28)|(__siz << 26)|(__siz << 24)| \
-         (1     << 21)|(1     << 18)|(__rpwr << 14)|(((__num-1)&0x3ff)<<4)| \
-         (1     <<  3)|(__cyc <<  0) )
-
-#define DMA_PL230_MAX_XFERS (0x400)
-
-#define PL230_CTRL_CYCLE_STOP    0
-#define PL230_CTRL_CYCLE_BASIC   1
-#define PL230_CTRL_CYCLE_AUTO    2
-#define PL230_CTRL_CYCLE_PPONG   3
-#define PL230_CTRL_CYCLE_MEM_CHAIN_PRI 4
-#define PL230_CTRL_CYCLE_MEM_CHAIN_ALT 5
-#define PL230_CTRL_CYCLE_DEV_CHAIN_PRI 6
-#define PL230_CTRL_CYCLE_DEV_CHAIN_ALT 7
-
-#define PL230_CTRL_RPWR_1  0
-#define PL230_CTRL_RPWR_2  1
-#define PL230_CTRL_RPWR_4  2
-#define PL230_CTRL_RPWR_8  3
-#define PL230_CTRL_RPWR_16 4
-
-#define PL230_XFER_B    0
-#define PL230_XFER_H    1
-#define PL230_XFER_W    2
-
-/* --------------------------------------------------------------- */
-/*  Initialize DMA data structure                                  */
-/* --------------------------------------------------------------- */
-void dma_pl230_data_struct_init(void);
-
-/* --------------------------------------------------------------- */
-/*  Initialize DMA PL230                                           */
-/* --------------------------------------------------------------- */
-void dma_pl230_init_dbg(unsigned int chan_mask);
-void dma_pl230_init(unsigned int chan_mask);
-
-/* --------------------------------------------------------------- */
-/*  Check DMA PL230 DMA channel(s) active (return 0 when finishes) */
-/* --------------------------------------------------------------- */
-unsigned int dma_pl230_channel_active(unsigned int chan_mask);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __DMA_PL230_MCU_H */
-
diff --git a/system/work/_info b/system/work/_info
deleted file mode 100644
index 0438877..0000000
--- a/system/work/_info
+++ /dev/null
@@ -1,10 +0,0 @@
-m255
-K4
-z2
-13
-!s112 1.1
-!i10d 8192
-!i10e 25
-!i10f 100
-cModel Technology
-d/home/dwf1m12/work/soclabs_aes128/accelerator-project-secworks-aes-128/nanosoc_tech/system
diff --git a/system/testcodes/adp_demo/adp.cmd b/testcodes/adp_demo/adp.cmd
similarity index 100%
rename from system/testcodes/adp_demo/adp.cmd
rename to testcodes/adp_demo/adp.cmd
diff --git a/system/aes/aes128_tests/aes128.h b/testcodes/aes128_tests/aes128.h
similarity index 100%
rename from system/aes/aes128_tests/aes128.h
rename to testcodes/aes128_tests/aes128.h
diff --git a/system/aes/aes128_tests/aes128_tests.c b/testcodes/aes128_tests/aes128_tests.c
similarity index 100%
rename from system/aes/aes128_tests/aes128_tests.c
rename to testcodes/aes128_tests/aes128_tests.c
diff --git a/system/aes/aes128_tests/dma_pl230_driver.c b/testcodes/aes128_tests/dma_pl230_driver.c
similarity index 100%
rename from system/aes/aes128_tests/dma_pl230_driver.c
rename to testcodes/aes128_tests/dma_pl230_driver.c
diff --git a/system/aes/aes128_tests/dma_pl230_driver.h b/testcodes/aes128_tests/dma_pl230_driver.h
similarity index 100%
rename from system/aes/aes128_tests/dma_pl230_driver.h
rename to testcodes/aes128_tests/dma_pl230_driver.h
diff --git a/system/testcodes/aes128_tests/makefile b/testcodes/aes128_tests/makefile
similarity index 100%
rename from system/testcodes/aes128_tests/makefile
rename to testcodes/aes128_tests/makefile
diff --git a/system/testcodes/apb_mux_tests/apb_mux_tests_cm0.uvopt b/testcodes/apb_mux_tests/apb_mux_tests_cm0.uvopt
similarity index 100%
rename from system/testcodes/apb_mux_tests/apb_mux_tests_cm0.uvopt
rename to testcodes/apb_mux_tests/apb_mux_tests_cm0.uvopt
diff --git a/system/testcodes/apb_mux_tests/apb_mux_tests_cm0.uvproj b/testcodes/apb_mux_tests/apb_mux_tests_cm0.uvproj
similarity index 100%
rename from system/testcodes/apb_mux_tests/apb_mux_tests_cm0.uvproj
rename to testcodes/apb_mux_tests/apb_mux_tests_cm0.uvproj
diff --git a/system/testcodes/apb_mux_tests/apb_mux_tests_cm0p.uvopt b/testcodes/apb_mux_tests/apb_mux_tests_cm0p.uvopt
similarity index 100%
rename from system/testcodes/apb_mux_tests/apb_mux_tests_cm0p.uvopt
rename to testcodes/apb_mux_tests/apb_mux_tests_cm0p.uvopt
diff --git a/system/testcodes/apb_mux_tests/apb_mux_tests_cm0p.uvproj b/testcodes/apb_mux_tests/apb_mux_tests_cm0p.uvproj
similarity index 100%
rename from system/testcodes/apb_mux_tests/apb_mux_tests_cm0p.uvproj
rename to testcodes/apb_mux_tests/apb_mux_tests_cm0p.uvproj
diff --git a/system/testcodes/apb_mux_tests/makefile b/testcodes/apb_mux_tests/makefile
similarity index 100%
rename from system/testcodes/apb_mux_tests/makefile
rename to testcodes/apb_mux_tests/makefile
diff --git a/system/testcodes/bootloader/bootloader_cm0.uvopt b/testcodes/bootloader/bootloader_cm0.uvopt
similarity index 100%
rename from system/testcodes/bootloader/bootloader_cm0.uvopt
rename to testcodes/bootloader/bootloader_cm0.uvopt
diff --git a/system/testcodes/bootloader/bootloader_cm0.uvproj b/testcodes/bootloader/bootloader_cm0.uvproj
similarity index 100%
rename from system/testcodes/bootloader/bootloader_cm0.uvproj
rename to testcodes/bootloader/bootloader_cm0.uvproj
diff --git a/system/testcodes/bootloader/bootloader_cm0p.uvopt b/testcodes/bootloader/bootloader_cm0p.uvopt
similarity index 100%
rename from system/testcodes/bootloader/bootloader_cm0p.uvopt
rename to testcodes/bootloader/bootloader_cm0p.uvopt
diff --git a/system/testcodes/bootloader/bootloader_cm0p.uvproj b/testcodes/bootloader/bootloader_cm0p.uvproj
similarity index 100%
rename from system/testcodes/bootloader/bootloader_cm0p.uvproj
rename to testcodes/bootloader/bootloader_cm0p.uvproj
diff --git a/system/testcodes/bootloader/bootloader_defs.makefile b/testcodes/bootloader/bootloader_defs.makefile
similarity index 100%
rename from system/testcodes/bootloader/bootloader_defs.makefile
rename to testcodes/bootloader/bootloader_defs.makefile
diff --git a/system/testcodes/bootloader/bootrom_gen.py b/testcodes/bootloader/bootrom_gen.py
similarity index 100%
rename from system/testcodes/bootloader/bootrom_gen.py
rename to testcodes/bootloader/bootrom_gen.py
diff --git a/system/testcodes/bootloader/makefile b/testcodes/bootloader/makefile
similarity index 100%
rename from system/testcodes/bootloader/makefile
rename to testcodes/bootloader/makefile
diff --git a/system/testcodes/debug_tests/debug_tests_cm0.uvopt b/testcodes/debug_tests/debug_tests_cm0.uvopt
similarity index 100%
rename from system/testcodes/debug_tests/debug_tests_cm0.uvopt
rename to testcodes/debug_tests/debug_tests_cm0.uvopt
diff --git a/system/testcodes/debug_tests/debug_tests_cm0.uvproj b/testcodes/debug_tests/debug_tests_cm0.uvproj
similarity index 100%
rename from system/testcodes/debug_tests/debug_tests_cm0.uvproj
rename to testcodes/debug_tests/debug_tests_cm0.uvproj
diff --git a/system/testcodes/debug_tests/debug_tests_cm0p.uvopt b/testcodes/debug_tests/debug_tests_cm0p.uvopt
similarity index 100%
rename from system/testcodes/debug_tests/debug_tests_cm0p.uvopt
rename to testcodes/debug_tests/debug_tests_cm0p.uvopt
diff --git a/system/testcodes/debug_tests/debug_tests_cm0p.uvproj b/testcodes/debug_tests/debug_tests_cm0p.uvproj
similarity index 100%
rename from system/testcodes/debug_tests/debug_tests_cm0p.uvproj
rename to testcodes/debug_tests/debug_tests_cm0p.uvproj
diff --git a/system/testcodes/debug_tests/makefile b/testcodes/debug_tests/makefile
similarity index 100%
rename from system/testcodes/debug_tests/makefile
rename to testcodes/debug_tests/makefile
diff --git a/system/testcodes/default_slaves_tests/default_slaves_tests_cm0.uvopt b/testcodes/default_slaves_tests/default_slaves_tests_cm0.uvopt
similarity index 100%
rename from system/testcodes/default_slaves_tests/default_slaves_tests_cm0.uvopt
rename to testcodes/default_slaves_tests/default_slaves_tests_cm0.uvopt
diff --git a/system/testcodes/default_slaves_tests/default_slaves_tests_cm0.uvproj b/testcodes/default_slaves_tests/default_slaves_tests_cm0.uvproj
similarity index 100%
rename from system/testcodes/default_slaves_tests/default_slaves_tests_cm0.uvproj
rename to testcodes/default_slaves_tests/default_slaves_tests_cm0.uvproj
diff --git a/system/testcodes/default_slaves_tests/default_slaves_tests_cm0p.uvopt b/testcodes/default_slaves_tests/default_slaves_tests_cm0p.uvopt
similarity index 100%
rename from system/testcodes/default_slaves_tests/default_slaves_tests_cm0p.uvopt
rename to testcodes/default_slaves_tests/default_slaves_tests_cm0p.uvopt
diff --git a/system/testcodes/default_slaves_tests/default_slaves_tests_cm0p.uvproj b/testcodes/default_slaves_tests/default_slaves_tests_cm0p.uvproj
similarity index 100%
rename from system/testcodes/default_slaves_tests/default_slaves_tests_cm0p.uvproj
rename to testcodes/default_slaves_tests/default_slaves_tests_cm0p.uvproj
diff --git a/system/testcodes/default_slaves_tests/makefile b/testcodes/default_slaves_tests/makefile
similarity index 100%
rename from system/testcodes/default_slaves_tests/makefile
rename to testcodes/default_slaves_tests/makefile
diff --git a/system/testcodes/defs.makefile b/testcodes/defs.makefile
similarity index 100%
rename from system/testcodes/defs.makefile
rename to testcodes/defs.makefile
diff --git a/system/testcodes/dhry/dhry_cm0.uvopt b/testcodes/dhry/dhry_cm0.uvopt
similarity index 100%
rename from system/testcodes/dhry/dhry_cm0.uvopt
rename to testcodes/dhry/dhry_cm0.uvopt
diff --git a/system/testcodes/dhry/dhry_cm0.uvproj b/testcodes/dhry/dhry_cm0.uvproj
similarity index 100%
rename from system/testcodes/dhry/dhry_cm0.uvproj
rename to testcodes/dhry/dhry_cm0.uvproj
diff --git a/system/testcodes/dhry/dhry_cm0p.uvopt b/testcodes/dhry/dhry_cm0p.uvopt
similarity index 100%
rename from system/testcodes/dhry/dhry_cm0p.uvopt
rename to testcodes/dhry/dhry_cm0p.uvopt
diff --git a/system/testcodes/dhry/dhry_cm0p.uvproj b/testcodes/dhry/dhry_cm0p.uvproj
similarity index 100%
rename from system/testcodes/dhry/dhry_cm0p.uvproj
rename to testcodes/dhry/dhry_cm0p.uvproj
diff --git a/system/testcodes/dhry/makefile b/testcodes/dhry/makefile
similarity index 100%
rename from system/testcodes/dhry/makefile
rename to testcodes/dhry/makefile
diff --git a/system/testcodes/dhry/transcript b/testcodes/dhry/transcript
similarity index 100%
rename from system/testcodes/dhry/transcript
rename to testcodes/dhry/transcript
diff --git a/system/testcodes/dma_tests/dma_tests_cm0.uvopt b/testcodes/dma_tests/dma_tests_cm0.uvopt
similarity index 100%
rename from system/testcodes/dma_tests/dma_tests_cm0.uvopt
rename to testcodes/dma_tests/dma_tests_cm0.uvopt
diff --git a/system/testcodes/dma_tests/dma_tests_cm0.uvproj b/testcodes/dma_tests/dma_tests_cm0.uvproj
similarity index 100%
rename from system/testcodes/dma_tests/dma_tests_cm0.uvproj
rename to testcodes/dma_tests/dma_tests_cm0.uvproj
diff --git a/system/testcodes/dma_tests/dma_tests_cm0p.uvopt b/testcodes/dma_tests/dma_tests_cm0p.uvopt
similarity index 100%
rename from system/testcodes/dma_tests/dma_tests_cm0p.uvopt
rename to testcodes/dma_tests/dma_tests_cm0p.uvopt
diff --git a/system/testcodes/dma_tests/dma_tests_cm0p.uvproj b/testcodes/dma_tests/dma_tests_cm0p.uvproj
similarity index 100%
rename from system/testcodes/dma_tests/dma_tests_cm0p.uvproj
rename to testcodes/dma_tests/dma_tests_cm0p.uvproj
diff --git a/system/testcodes/dma_tests/makefile b/testcodes/dma_tests/makefile
similarity index 100%
rename from system/testcodes/dma_tests/makefile
rename to testcodes/dma_tests/makefile
diff --git a/system/testcodes/dualtimer_demo/dualtimer_demo_cm0.uvopt b/testcodes/dualtimer_demo/dualtimer_demo_cm0.uvopt
similarity index 100%
rename from system/testcodes/dualtimer_demo/dualtimer_demo_cm0.uvopt
rename to testcodes/dualtimer_demo/dualtimer_demo_cm0.uvopt
diff --git a/system/testcodes/dualtimer_demo/dualtimer_demo_cm0.uvproj b/testcodes/dualtimer_demo/dualtimer_demo_cm0.uvproj
similarity index 100%
rename from system/testcodes/dualtimer_demo/dualtimer_demo_cm0.uvproj
rename to testcodes/dualtimer_demo/dualtimer_demo_cm0.uvproj
diff --git a/system/testcodes/dualtimer_demo/dualtimer_demo_cm0p.uvopt b/testcodes/dualtimer_demo/dualtimer_demo_cm0p.uvopt
similarity index 100%
rename from system/testcodes/dualtimer_demo/dualtimer_demo_cm0p.uvopt
rename to testcodes/dualtimer_demo/dualtimer_demo_cm0p.uvopt
diff --git a/system/testcodes/dualtimer_demo/dualtimer_demo_cm0p.uvproj b/testcodes/dualtimer_demo/dualtimer_demo_cm0p.uvproj
similarity index 100%
rename from system/testcodes/dualtimer_demo/dualtimer_demo_cm0p.uvproj
rename to testcodes/dualtimer_demo/dualtimer_demo_cm0p.uvproj
diff --git a/system/testcodes/dualtimer_demo/makefile b/testcodes/dualtimer_demo/makefile
similarity index 100%
rename from system/testcodes/dualtimer_demo/makefile
rename to testcodes/dualtimer_demo/makefile
diff --git a/system/testcodes/generic/config_id.h b/testcodes/generic/config_id.h
similarity index 100%
rename from system/testcodes/generic/config_id.h
rename to testcodes/generic/config_id.h
diff --git a/system/testcodes/generic/mcu_debugtester_interface.c b/testcodes/generic/mcu_debugtester_interface.c
similarity index 100%
rename from system/testcodes/generic/mcu_debugtester_interface.c
rename to testcodes/generic/mcu_debugtester_interface.c
diff --git a/system/testcodes/generic/mcu_debugtester_interface.h b/testcodes/generic/mcu_debugtester_interface.h
similarity index 100%
rename from system/testcodes/generic/mcu_debugtester_interface.h
rename to testcodes/generic/mcu_debugtester_interface.h
diff --git a/system/testcodes/gpio_driver_tests/gpio_driver_tests_cm0.uvopt b/testcodes/gpio_driver_tests/gpio_driver_tests_cm0.uvopt
similarity index 100%
rename from system/testcodes/gpio_driver_tests/gpio_driver_tests_cm0.uvopt
rename to testcodes/gpio_driver_tests/gpio_driver_tests_cm0.uvopt
diff --git a/system/testcodes/gpio_driver_tests/gpio_driver_tests_cm0.uvproj b/testcodes/gpio_driver_tests/gpio_driver_tests_cm0.uvproj
similarity index 100%
rename from system/testcodes/gpio_driver_tests/gpio_driver_tests_cm0.uvproj
rename to testcodes/gpio_driver_tests/gpio_driver_tests_cm0.uvproj
diff --git a/system/testcodes/gpio_driver_tests/gpio_driver_tests_cm0p.uvopt b/testcodes/gpio_driver_tests/gpio_driver_tests_cm0p.uvopt
similarity index 100%
rename from system/testcodes/gpio_driver_tests/gpio_driver_tests_cm0p.uvopt
rename to testcodes/gpio_driver_tests/gpio_driver_tests_cm0p.uvopt
diff --git a/system/testcodes/gpio_driver_tests/gpio_driver_tests_cm0p.uvproj b/testcodes/gpio_driver_tests/gpio_driver_tests_cm0p.uvproj
similarity index 100%
rename from system/testcodes/gpio_driver_tests/gpio_driver_tests_cm0p.uvproj
rename to testcodes/gpio_driver_tests/gpio_driver_tests_cm0p.uvproj
diff --git a/system/testcodes/gpio_driver_tests/makefile b/testcodes/gpio_driver_tests/makefile
similarity index 100%
rename from system/testcodes/gpio_driver_tests/makefile
rename to testcodes/gpio_driver_tests/makefile
diff --git a/system/testcodes/gpio_tests/gpio_tests_cm0.uvopt b/testcodes/gpio_tests/gpio_tests_cm0.uvopt
similarity index 100%
rename from system/testcodes/gpio_tests/gpio_tests_cm0.uvopt
rename to testcodes/gpio_tests/gpio_tests_cm0.uvopt
diff --git a/system/testcodes/gpio_tests/gpio_tests_cm0.uvproj b/testcodes/gpio_tests/gpio_tests_cm0.uvproj
similarity index 100%
rename from system/testcodes/gpio_tests/gpio_tests_cm0.uvproj
rename to testcodes/gpio_tests/gpio_tests_cm0.uvproj
diff --git a/system/testcodes/gpio_tests/gpio_tests_cm0p.uvopt b/testcodes/gpio_tests/gpio_tests_cm0p.uvopt
similarity index 100%
rename from system/testcodes/gpio_tests/gpio_tests_cm0p.uvopt
rename to testcodes/gpio_tests/gpio_tests_cm0p.uvopt
diff --git a/system/testcodes/gpio_tests/gpio_tests_cm0p.uvproj b/testcodes/gpio_tests/gpio_tests_cm0p.uvproj
similarity index 100%
rename from system/testcodes/gpio_tests/gpio_tests_cm0p.uvproj
rename to testcodes/gpio_tests/gpio_tests_cm0p.uvproj
diff --git a/system/testcodes/gpio_tests/makefile b/testcodes/gpio_tests/makefile
similarity index 100%
rename from system/testcodes/gpio_tests/makefile
rename to testcodes/gpio_tests/makefile
diff --git a/system/testcodes/hello/.project b/testcodes/hello/.project
similarity index 100%
rename from system/testcodes/hello/.project
rename to testcodes/hello/.project
diff --git a/system/testcodes/hello/hello.c b/testcodes/hello/hello.c
similarity index 100%
rename from system/testcodes/hello/hello.c
rename to testcodes/hello/hello.c
diff --git a/system/testcodes/hello/hello_cm0.uvopt b/testcodes/hello/hello_cm0.uvopt
similarity index 100%
rename from system/testcodes/hello/hello_cm0.uvopt
rename to testcodes/hello/hello_cm0.uvopt
diff --git a/system/testcodes/hello/hello_cm0.uvproj b/testcodes/hello/hello_cm0.uvproj
similarity index 100%
rename from system/testcodes/hello/hello_cm0.uvproj
rename to testcodes/hello/hello_cm0.uvproj
diff --git a/system/testcodes/hello/hello_cm0p.uvopt b/testcodes/hello/hello_cm0p.uvopt
similarity index 100%
rename from system/testcodes/hello/hello_cm0p.uvopt
rename to testcodes/hello/hello_cm0p.uvopt
diff --git a/system/testcodes/hello/hello_cm0p.uvproj b/testcodes/hello/hello_cm0p.uvproj
similarity index 100%
rename from system/testcodes/hello/hello_cm0p.uvproj
rename to testcodes/hello/hello_cm0p.uvproj
diff --git a/system/testcodes/hello/makefile b/testcodes/hello/makefile
similarity index 100%
rename from system/testcodes/hello/makefile
rename to testcodes/hello/makefile
diff --git a/system/testcodes/interrupt_demo/interrupt_demo_cm0.uvopt b/testcodes/interrupt_demo/interrupt_demo_cm0.uvopt
similarity index 100%
rename from system/testcodes/interrupt_demo/interrupt_demo_cm0.uvopt
rename to testcodes/interrupt_demo/interrupt_demo_cm0.uvopt
diff --git a/system/testcodes/interrupt_demo/interrupt_demo_cm0.uvproj b/testcodes/interrupt_demo/interrupt_demo_cm0.uvproj
similarity index 100%
rename from system/testcodes/interrupt_demo/interrupt_demo_cm0.uvproj
rename to testcodes/interrupt_demo/interrupt_demo_cm0.uvproj
diff --git a/system/testcodes/interrupt_demo/interrupt_demo_cm0p.uvopt b/testcodes/interrupt_demo/interrupt_demo_cm0p.uvopt
similarity index 100%
rename from system/testcodes/interrupt_demo/interrupt_demo_cm0p.uvopt
rename to testcodes/interrupt_demo/interrupt_demo_cm0p.uvopt
diff --git a/system/testcodes/interrupt_demo/interrupt_demo_cm0p.uvproj b/testcodes/interrupt_demo/interrupt_demo_cm0p.uvproj
similarity index 100%
rename from system/testcodes/interrupt_demo/interrupt_demo_cm0p.uvproj
rename to testcodes/interrupt_demo/interrupt_demo_cm0p.uvproj
diff --git a/system/testcodes/interrupt_demo/makefile b/testcodes/interrupt_demo/makefile
similarity index 100%
rename from system/testcodes/interrupt_demo/makefile
rename to testcodes/interrupt_demo/makefile
diff --git a/system/testcodes/makefile b/testcodes/makefile
similarity index 100%
rename from system/testcodes/makefile
rename to testcodes/makefile
diff --git a/system/testcodes/memory_tests/makefile b/testcodes/memory_tests/makefile
similarity index 100%
rename from system/testcodes/memory_tests/makefile
rename to testcodes/memory_tests/makefile
diff --git a/system/testcodes/memory_tests/memory_tests_cm0.uvopt b/testcodes/memory_tests/memory_tests_cm0.uvopt
similarity index 100%
rename from system/testcodes/memory_tests/memory_tests_cm0.uvopt
rename to testcodes/memory_tests/memory_tests_cm0.uvopt
diff --git a/system/testcodes/memory_tests/memory_tests_cm0.uvproj b/testcodes/memory_tests/memory_tests_cm0.uvproj
similarity index 100%
rename from system/testcodes/memory_tests/memory_tests_cm0.uvproj
rename to testcodes/memory_tests/memory_tests_cm0.uvproj
diff --git a/system/testcodes/memory_tests/memory_tests_cm0p.uvopt b/testcodes/memory_tests/memory_tests_cm0p.uvopt
similarity index 100%
rename from system/testcodes/memory_tests/memory_tests_cm0p.uvopt
rename to testcodes/memory_tests/memory_tests_cm0p.uvopt
diff --git a/system/testcodes/memory_tests/memory_tests_cm0p.uvproj b/testcodes/memory_tests/memory_tests_cm0p.uvproj
similarity index 100%
rename from system/testcodes/memory_tests/memory_tests_cm0p.uvproj
rename to testcodes/memory_tests/memory_tests_cm0p.uvproj
diff --git a/system/testcodes/romtable_tests/makefile b/testcodes/romtable_tests/makefile
similarity index 100%
rename from system/testcodes/romtable_tests/makefile
rename to testcodes/romtable_tests/makefile
diff --git a/system/testcodes/romtable_tests/romtable_tests_cm0.uvopt b/testcodes/romtable_tests/romtable_tests_cm0.uvopt
similarity index 100%
rename from system/testcodes/romtable_tests/romtable_tests_cm0.uvopt
rename to testcodes/romtable_tests/romtable_tests_cm0.uvopt
diff --git a/system/testcodes/romtable_tests/romtable_tests_cm0.uvproj b/testcodes/romtable_tests/romtable_tests_cm0.uvproj
similarity index 100%
rename from system/testcodes/romtable_tests/romtable_tests_cm0.uvproj
rename to testcodes/romtable_tests/romtable_tests_cm0.uvproj
diff --git a/system/testcodes/romtable_tests/romtable_tests_cm0p.uvopt b/testcodes/romtable_tests/romtable_tests_cm0p.uvopt
similarity index 100%
rename from system/testcodes/romtable_tests/romtable_tests_cm0p.uvopt
rename to testcodes/romtable_tests/romtable_tests_cm0p.uvopt
diff --git a/system/testcodes/romtable_tests/romtable_tests_cm0p.uvproj b/testcodes/romtable_tests/romtable_tests_cm0p.uvproj
similarity index 100%
rename from system/testcodes/romtable_tests/romtable_tests_cm0p.uvproj
rename to testcodes/romtable_tests/romtable_tests_cm0p.uvproj
diff --git a/system/testcodes/rtx_demo/RTX_Config.c b/testcodes/rtx_demo/RTX_Config.c
similarity index 100%
rename from system/testcodes/rtx_demo/RTX_Config.c
rename to testcodes/rtx_demo/RTX_Config.c
diff --git a/system/testcodes/rtx_demo/makefile b/testcodes/rtx_demo/makefile
similarity index 100%
rename from system/testcodes/rtx_demo/makefile
rename to testcodes/rtx_demo/makefile
diff --git a/system/testcodes/rtx_demo/rtx_demo.c b/testcodes/rtx_demo/rtx_demo.c
similarity index 100%
rename from system/testcodes/rtx_demo/rtx_demo.c
rename to testcodes/rtx_demo/rtx_demo.c
diff --git a/system/testcodes/rtx_demo/rtx_demo_cm0.hex b/testcodes/rtx_demo/rtx_demo_cm0.hex
similarity index 100%
rename from system/testcodes/rtx_demo/rtx_demo_cm0.hex
rename to testcodes/rtx_demo/rtx_demo_cm0.hex
diff --git a/system/testcodes/rtx_demo/rtx_demo_cm0.uvopt b/testcodes/rtx_demo/rtx_demo_cm0.uvopt
similarity index 100%
rename from system/testcodes/rtx_demo/rtx_demo_cm0.uvopt
rename to testcodes/rtx_demo/rtx_demo_cm0.uvopt
diff --git a/system/testcodes/rtx_demo/rtx_demo_cm0.uvproj b/testcodes/rtx_demo/rtx_demo_cm0.uvproj
similarity index 100%
rename from system/testcodes/rtx_demo/rtx_demo_cm0.uvproj
rename to testcodes/rtx_demo/rtx_demo_cm0.uvproj
diff --git a/system/testcodes/rtx_demo/rtx_demo_cm0p.hex b/testcodes/rtx_demo/rtx_demo_cm0p.hex
similarity index 100%
rename from system/testcodes/rtx_demo/rtx_demo_cm0p.hex
rename to testcodes/rtx_demo/rtx_demo_cm0p.hex
diff --git a/system/testcodes/rtx_demo/rtx_demo_cm0p.uvopt b/testcodes/rtx_demo/rtx_demo_cm0p.uvopt
similarity index 100%
rename from system/testcodes/rtx_demo/rtx_demo_cm0p.uvopt
rename to testcodes/rtx_demo/rtx_demo_cm0p.uvopt
diff --git a/system/testcodes/rtx_demo/rtx_demo_cm0p.uvproj b/testcodes/rtx_demo/rtx_demo_cm0p.uvproj
similarity index 100%
rename from system/testcodes/rtx_demo/rtx_demo_cm0p.uvproj
rename to testcodes/rtx_demo/rtx_demo_cm0p.uvproj
diff --git a/system/testcodes/self_reset_demo/makefile b/testcodes/self_reset_demo/makefile
similarity index 100%
rename from system/testcodes/self_reset_demo/makefile
rename to testcodes/self_reset_demo/makefile
diff --git a/system/testcodes/self_reset_demo/self_reset_demo_cm0.uvopt b/testcodes/self_reset_demo/self_reset_demo_cm0.uvopt
similarity index 100%
rename from system/testcodes/self_reset_demo/self_reset_demo_cm0.uvopt
rename to testcodes/self_reset_demo/self_reset_demo_cm0.uvopt
diff --git a/system/testcodes/self_reset_demo/self_reset_demo_cm0.uvproj b/testcodes/self_reset_demo/self_reset_demo_cm0.uvproj
similarity index 100%
rename from system/testcodes/self_reset_demo/self_reset_demo_cm0.uvproj
rename to testcodes/self_reset_demo/self_reset_demo_cm0.uvproj
diff --git a/system/testcodes/self_reset_demo/self_reset_demo_cm0p.uvopt b/testcodes/self_reset_demo/self_reset_demo_cm0p.uvopt
similarity index 100%
rename from system/testcodes/self_reset_demo/self_reset_demo_cm0p.uvopt
rename to testcodes/self_reset_demo/self_reset_demo_cm0p.uvopt
diff --git a/system/testcodes/self_reset_demo/self_reset_demo_cm0p.uvproj b/testcodes/self_reset_demo/self_reset_demo_cm0p.uvproj
similarity index 100%
rename from system/testcodes/self_reset_demo/self_reset_demo_cm0p.uvproj
rename to testcodes/self_reset_demo/self_reset_demo_cm0p.uvproj
diff --git a/system/testcodes/sleep_demo/makefile b/testcodes/sleep_demo/makefile
similarity index 100%
rename from system/testcodes/sleep_demo/makefile
rename to testcodes/sleep_demo/makefile
diff --git a/system/testcodes/sleep_demo/sleep_demo_cm0.uvopt b/testcodes/sleep_demo/sleep_demo_cm0.uvopt
similarity index 100%
rename from system/testcodes/sleep_demo/sleep_demo_cm0.uvopt
rename to testcodes/sleep_demo/sleep_demo_cm0.uvopt
diff --git a/system/testcodes/sleep_demo/sleep_demo_cm0.uvproj b/testcodes/sleep_demo/sleep_demo_cm0.uvproj
similarity index 100%
rename from system/testcodes/sleep_demo/sleep_demo_cm0.uvproj
rename to testcodes/sleep_demo/sleep_demo_cm0.uvproj
diff --git a/system/testcodes/sleep_demo/sleep_demo_cm0p.uvopt b/testcodes/sleep_demo/sleep_demo_cm0p.uvopt
similarity index 100%
rename from system/testcodes/sleep_demo/sleep_demo_cm0p.uvopt
rename to testcodes/sleep_demo/sleep_demo_cm0p.uvopt
diff --git a/system/testcodes/sleep_demo/sleep_demo_cm0p.uvproj b/testcodes/sleep_demo/sleep_demo_cm0p.uvproj
similarity index 100%
rename from system/testcodes/sleep_demo/sleep_demo_cm0p.uvproj
rename to testcodes/sleep_demo/sleep_demo_cm0p.uvproj
diff --git a/system/testcodes/software_list.txt b/testcodes/software_list.txt
similarity index 100%
rename from system/testcodes/software_list.txt
rename to testcodes/software_list.txt
diff --git a/system/testcodes/timer_driver_tests/makefile b/testcodes/timer_driver_tests/makefile
similarity index 100%
rename from system/testcodes/timer_driver_tests/makefile
rename to testcodes/timer_driver_tests/makefile
diff --git a/system/testcodes/timer_driver_tests/timer_driver_tests_cm0.uvopt b/testcodes/timer_driver_tests/timer_driver_tests_cm0.uvopt
similarity index 100%
rename from system/testcodes/timer_driver_tests/timer_driver_tests_cm0.uvopt
rename to testcodes/timer_driver_tests/timer_driver_tests_cm0.uvopt
diff --git a/system/testcodes/timer_driver_tests/timer_driver_tests_cm0.uvproj b/testcodes/timer_driver_tests/timer_driver_tests_cm0.uvproj
similarity index 100%
rename from system/testcodes/timer_driver_tests/timer_driver_tests_cm0.uvproj
rename to testcodes/timer_driver_tests/timer_driver_tests_cm0.uvproj
diff --git a/system/testcodes/timer_driver_tests/timer_driver_tests_cm0p.uvopt b/testcodes/timer_driver_tests/timer_driver_tests_cm0p.uvopt
similarity index 100%
rename from system/testcodes/timer_driver_tests/timer_driver_tests_cm0p.uvopt
rename to testcodes/timer_driver_tests/timer_driver_tests_cm0p.uvopt
diff --git a/system/testcodes/timer_driver_tests/timer_driver_tests_cm0p.uvproj b/testcodes/timer_driver_tests/timer_driver_tests_cm0p.uvproj
similarity index 100%
rename from system/testcodes/timer_driver_tests/timer_driver_tests_cm0p.uvproj
rename to testcodes/timer_driver_tests/timer_driver_tests_cm0p.uvproj
diff --git a/system/testcodes/timer_tests/makefile b/testcodes/timer_tests/makefile
similarity index 100%
rename from system/testcodes/timer_tests/makefile
rename to testcodes/timer_tests/makefile
diff --git a/system/testcodes/timer_tests/timer_tests_cm0.uvopt b/testcodes/timer_tests/timer_tests_cm0.uvopt
similarity index 100%
rename from system/testcodes/timer_tests/timer_tests_cm0.uvopt
rename to testcodes/timer_tests/timer_tests_cm0.uvopt
diff --git a/system/testcodes/timer_tests/timer_tests_cm0.uvproj b/testcodes/timer_tests/timer_tests_cm0.uvproj
similarity index 100%
rename from system/testcodes/timer_tests/timer_tests_cm0.uvproj
rename to testcodes/timer_tests/timer_tests_cm0.uvproj
diff --git a/system/testcodes/timer_tests/timer_tests_cm0p.uvopt b/testcodes/timer_tests/timer_tests_cm0p.uvopt
similarity index 100%
rename from system/testcodes/timer_tests/timer_tests_cm0p.uvopt
rename to testcodes/timer_tests/timer_tests_cm0p.uvopt
diff --git a/system/testcodes/timer_tests/timer_tests_cm0p.uvproj b/testcodes/timer_tests/timer_tests_cm0p.uvproj
similarity index 100%
rename from system/testcodes/timer_tests/timer_tests_cm0p.uvproj
rename to testcodes/timer_tests/timer_tests_cm0p.uvproj
diff --git a/system/testcodes/uart_driver_tests/makefile b/testcodes/uart_driver_tests/makefile
similarity index 100%
rename from system/testcodes/uart_driver_tests/makefile
rename to testcodes/uart_driver_tests/makefile
diff --git a/system/testcodes/uart_driver_tests/uart_driver_tests_cm0.uvopt b/testcodes/uart_driver_tests/uart_driver_tests_cm0.uvopt
similarity index 100%
rename from system/testcodes/uart_driver_tests/uart_driver_tests_cm0.uvopt
rename to testcodes/uart_driver_tests/uart_driver_tests_cm0.uvopt
diff --git a/system/testcodes/uart_driver_tests/uart_driver_tests_cm0.uvproj b/testcodes/uart_driver_tests/uart_driver_tests_cm0.uvproj
similarity index 100%
rename from system/testcodes/uart_driver_tests/uart_driver_tests_cm0.uvproj
rename to testcodes/uart_driver_tests/uart_driver_tests_cm0.uvproj
diff --git a/system/testcodes/uart_driver_tests/uart_driver_tests_cm0p.uvopt b/testcodes/uart_driver_tests/uart_driver_tests_cm0p.uvopt
similarity index 100%
rename from system/testcodes/uart_driver_tests/uart_driver_tests_cm0p.uvopt
rename to testcodes/uart_driver_tests/uart_driver_tests_cm0p.uvopt
diff --git a/system/testcodes/uart_driver_tests/uart_driver_tests_cm0p.uvproj b/testcodes/uart_driver_tests/uart_driver_tests_cm0p.uvproj
similarity index 100%
rename from system/testcodes/uart_driver_tests/uart_driver_tests_cm0p.uvproj
rename to testcodes/uart_driver_tests/uart_driver_tests_cm0p.uvproj
diff --git a/system/testcodes/uart_tests/makefile b/testcodes/uart_tests/makefile
similarity index 100%
rename from system/testcodes/uart_tests/makefile
rename to testcodes/uart_tests/makefile
diff --git a/system/testcodes/uart_tests/uart_tests_cm0.uvopt b/testcodes/uart_tests/uart_tests_cm0.uvopt
similarity index 100%
rename from system/testcodes/uart_tests/uart_tests_cm0.uvopt
rename to testcodes/uart_tests/uart_tests_cm0.uvopt
diff --git a/system/testcodes/uart_tests/uart_tests_cm0.uvproj b/testcodes/uart_tests/uart_tests_cm0.uvproj
similarity index 100%
rename from system/testcodes/uart_tests/uart_tests_cm0.uvproj
rename to testcodes/uart_tests/uart_tests_cm0.uvproj
diff --git a/system/testcodes/uart_tests/uart_tests_cm0p.uvopt b/testcodes/uart_tests/uart_tests_cm0p.uvopt
similarity index 100%
rename from system/testcodes/uart_tests/uart_tests_cm0p.uvopt
rename to testcodes/uart_tests/uart_tests_cm0p.uvopt
diff --git a/system/testcodes/uart_tests/uart_tests_cm0p.uvproj b/testcodes/uart_tests/uart_tests_cm0p.uvproj
similarity index 100%
rename from system/testcodes/uart_tests/uart_tests_cm0p.uvproj
rename to testcodes/uart_tests/uart_tests_cm0p.uvproj
diff --git a/system/testcodes/watchdog_demo/makefile b/testcodes/watchdog_demo/makefile
similarity index 100%
rename from system/testcodes/watchdog_demo/makefile
rename to testcodes/watchdog_demo/makefile
diff --git a/system/testcodes/watchdog_demo/watchdog_demo_cm0.uvopt b/testcodes/watchdog_demo/watchdog_demo_cm0.uvopt
similarity index 100%
rename from system/testcodes/watchdog_demo/watchdog_demo_cm0.uvopt
rename to testcodes/watchdog_demo/watchdog_demo_cm0.uvopt
diff --git a/system/testcodes/watchdog_demo/watchdog_demo_cm0.uvproj b/testcodes/watchdog_demo/watchdog_demo_cm0.uvproj
similarity index 100%
rename from system/testcodes/watchdog_demo/watchdog_demo_cm0.uvproj
rename to testcodes/watchdog_demo/watchdog_demo_cm0.uvproj
diff --git a/system/testcodes/watchdog_demo/watchdog_demo_cm0p.uvopt b/testcodes/watchdog_demo/watchdog_demo_cm0p.uvopt
similarity index 100%
rename from system/testcodes/watchdog_demo/watchdog_demo_cm0p.uvopt
rename to testcodes/watchdog_demo/watchdog_demo_cm0p.uvopt
diff --git a/system/testcodes/watchdog_demo/watchdog_demo_cm0p.uvproj b/testcodes/watchdog_demo/watchdog_demo_cm0p.uvproj
similarity index 100%
rename from system/testcodes/watchdog_demo/watchdog_demo_cm0p.uvproj
rename to testcodes/watchdog_demo/watchdog_demo_cm0p.uvproj
diff --git a/system/verif/verilog/nanosoc_acc_log_to_file.v b/verif/verilog/nanosoc_acc_log_to_file.v
similarity index 100%
rename from system/verif/verilog/nanosoc_acc_log_to_file.v
rename to verif/verilog/nanosoc_acc_log_to_file.v
diff --git a/system/verif/verilog/nanosoc_axi_stream_io_8_buffer.v b/verif/verilog/nanosoc_axi_stream_io_8_buffer.v
similarity index 100%
rename from system/verif/verilog/nanosoc_axi_stream_io_8_buffer.v
rename to verif/verilog/nanosoc_axi_stream_io_8_buffer.v
diff --git a/system/verif/verilog/nanosoc_axi_stream_io_8_rxd_to_file.v b/verif/verilog/nanosoc_axi_stream_io_8_rxd_to_file.v
similarity index 100%
rename from system/verif/verilog/nanosoc_axi_stream_io_8_rxd_to_file.v
rename to verif/verilog/nanosoc_axi_stream_io_8_rxd_to_file.v
diff --git a/system/verif/verilog/nanosoc_axi_stream_io_8_txd_from_file.v b/verif/verilog/nanosoc_axi_stream_io_8_txd_from_file.v
similarity index 100%
rename from system/verif/verilog/nanosoc_axi_stream_io_8_txd_from_file.v
rename to verif/verilog/nanosoc_axi_stream_io_8_txd_from_file.v
diff --git a/system/verif/verilog/nanosoc_clkreset.v b/verif/verilog/nanosoc_clkreset.v
similarity index 100%
rename from system/verif/verilog/nanosoc_clkreset.v
rename to verif/verilog/nanosoc_clkreset.v
diff --git a/system/verif/verilog/nanosoc_dma_log_to_file.v b/verif/verilog/nanosoc_dma_log_to_file.v
similarity index 100%
rename from system/verif/verilog/nanosoc_dma_log_to_file.v
rename to verif/verilog/nanosoc_dma_log_to_file.v
diff --git a/system/verif/verilog/nanosoc_ft1248x1_to_axi_streamio_v1_0.v b/verif/verilog/nanosoc_ft1248x1_to_axi_streamio_v1_0.v
similarity index 100%
rename from system/verif/verilog/nanosoc_ft1248x1_to_axi_streamio_v1_0.v
rename to verif/verilog/nanosoc_ft1248x1_to_axi_streamio_v1_0.v
diff --git a/system/verif/verilog/nanosoc_ft1248x1_track.v b/verif/verilog/nanosoc_ft1248x1_track.v
similarity index 100%
rename from system/verif/verilog/nanosoc_ft1248x1_track.v
rename to verif/verilog/nanosoc_ft1248x1_track.v
diff --git a/system/verif/verilog/nanosoc_tb.v b/verif/verilog/nanosoc_tb.v
similarity index 100%
rename from system/verif/verilog/nanosoc_tb.v
rename to verif/verilog/nanosoc_tb.v
diff --git a/system/verif/verilog/nanosoc_track_tb_iostream.v b/verif/verilog/nanosoc_track_tb_iostream.v
similarity index 100%
rename from system/verif/verilog/nanosoc_track_tb_iostream.v
rename to verif/verilog/nanosoc_track_tb_iostream.v
diff --git a/system/verif/verilog/nanosoc_uart_capture.v b/verif/verilog/nanosoc_uart_capture.v
similarity index 100%
rename from system/verif/verilog/nanosoc_uart_capture.v
rename to verif/verilog/nanosoc_uart_capture.v
-- 
GitLab