diff --git a/flist/nanosoc/nanosoc_chip_ip.flist b/flist/nanosoc/nanosoc_chip_ip.flist index c7b49e1f711620a60d1490706fb2d8dfd61a27d1..659ebf01103ac0e34260b06a25cb12ea047fdcbf 100644 --- a/flist/nanosoc/nanosoc_chip_ip.flist +++ b/flist/nanosoc/nanosoc_chip_ip.flist @@ -31,4 +31,9 @@ $(NANOSOC_TECH_DIR)/system/src/verilog/nanosoc_mcu_clkctrl.v $(NANOSOC_TECH_DIR)/system/src/verilog/nanosoc_mcu_sysctrl.v $(NANOSOC_TECH_DIR)/system/src/verilog/nanosoc_apb_usrt.v -$(NANOSOC_TECH_DIR)/system/src/verilog/nanosoc_ahb_bootrom.v \ No newline at end of file +$(NANOSOC_TECH_DIR)/system/src/verilog/nanosoc_ahb_bootrom.v +$(NANOSOC_TECH_DIR)/system/src/bootrom/verilog/bootrom.v + +$(NANOSOC_TECH_DIR)/system/aes/src/nanosoc_acc_wrapper.v ++incdir+$(PROJECT_DIR)/secworks-aes/src/rtl +$(NANOSOC_TECH_DIR)/system/aes/src/soclabs_ahb_aes128_ctrl.v diff --git a/flist/nanosoc/nanosoc_tb.flist b/flist/nanosoc/nanosoc_tb.flist index e5438e8832b81056cb5f1dde561df2d779c8ce8e..7c0ec8e7ae791b8d0141e322ea8a69c96f2fc453 100644 --- a/flist/nanosoc/nanosoc_tb.flist +++ b/flist/nanosoc/nanosoc_tb.flist @@ -30,4 +30,5 @@ $(NANOSOC_TECH_DIR)/system/verif/verilog/nanosoc_ft1248x1_to_axi_streamio_v1_0.v $(NANOSOC_TECH_DIR)/system/verif/verilog/nanosoc_axi_stream_io_8_rxd_to_file.v $(NANOSOC_TECH_DIR)/system/verif/verilog/nanosoc_track_tb_iostream.v $(NANOSOC_TECH_DIR)/system/verif/verilog/nanosoc_ft1248x1_track.v -$(NANOSOC_TECH_DIR)/system/verif/verilog/nanosoc_dma_log_to_file.v \ No newline at end of file +$(NANOSOC_TECH_DIR)/system/verif/verilog/nanosoc_dma_log_to_file.v +$(NANOSOC_TECH_DIR)/system/aes/verif/aes128_log_to_file.v diff --git a/flist/project/system.flist b/flist/project/system.flist index 070cb146b9f56b99be3423bb712717a44506cdfc..a067906f4396f5b9a67f9de9e061ffabed512ef0 100644 --- a/flist/project/system.flist +++ b/flist/project/system.flist @@ -62,4 +62,4 @@ $(PROJECT_DIR)/system/src/nanosoc_exp.v -f $(PROJECT_DIR)/flist/nanosoc/nanosoc_tb.flist // ============= Bootrom Filelist ================ -$(PROJECT_DIR)/system/src/bootrom/verilog/bootrom.v \ No newline at end of file +//src/bootrom/verilog/bootrom.v diff --git a/generic_lib_tech b/generic_lib_tech index 69e79bf881a73af0b3ee04e25835450ed2635718..53dca95d66a93333a7e6e8bbbda0696a348da0b5 160000 --- a/generic_lib_tech +++ b/generic_lib_tech @@ -1 +1 @@ -Subproject commit 69e79bf881a73af0b3ee04e25835450ed2635718 +Subproject commit 53dca95d66a93333a7e6e8bbbda0696a348da0b5 diff --git a/nanosoc_tech b/nanosoc_tech index 9e4a4da0a9dd45c84a787c4cf73294e7a412aff4..f68c3e62bd2dd914b49e7000fb0f226fcb01a8a7 160000 --- a/nanosoc_tech +++ b/nanosoc_tech @@ -1 +1 @@ -Subproject commit 9e4a4da0a9dd45c84a787c4cf73294e7a412aff4 +Subproject commit f68c3e62bd2dd914b49e7000fb0f226fcb01a8a7 diff --git a/simulate/socsim/bootrom.sh b/simulate/socsim/bootrom.sh index bf938b97f485bfaf622ef748afcf25d4cdf6ac8a..fc9a69adbaa23540c6e37ece3f90b503aa6fc782 100755 --- a/simulate/socsim/bootrom.sh +++ b/simulate/socsim/bootrom.sh @@ -19,7 +19,7 @@ SIM_DIR=$PROJECT_DIR/simulate/sim/$SIM_NAME # Create Directory to put simulation files mkdir -p $SIM_DIR -cd $PROJECT_DIR/simulate/sim/system_secworks_sha256 +cd $PROJECT_DIR/simulate/sim/$PROJECT_DIR # Compile Simulation # Call makefile in NanoSoC Repo with options diff --git a/simulate/socsim/system_secworks_aes128.sh b/simulate/socsim/system_secworks_aes128.sh new file mode 100755 index 0000000000000000000000000000000000000000..c2ccf343ae1d45a12a32ae5f17f68bbce864c65a --- /dev/null +++ b/simulate/socsim/system_secworks_aes128.sh @@ -0,0 +1,30 @@ +#----------------------------------------------------------------------------- +# SoC Labs Simulation script for system level verification +# A joint work commissioned on behalf of SoC Labs, under Arm Academic Access license. +# +# Contributors +# +# David Mapstone (d.a.mapstone@soton.ac.uk) +# +# Copyright 2023, SoC Labs (www.soclabs.org) +#----------------------------------------------------------------------------- + +#!/usr/bin/env bash + +# Get simulation name from name of script +SIM_NAME=`basename -s .sh "$0"` + +# Directory to put simulation files +SIM_DIR=$PROJECT_DIR/simulate/sim/$SIM_NAME + +# Create Directory to put simulation files +mkdir -p $SIM_DIR +cd $PROJECT_DIR/simulate/sim/$PROJECT_DIR + +# Compile Simulation +# Call makefile in NanoSoC Repo with options +echo ${2} +make -C $NANOSOC_TECH_DIR/system run_mti \ + SIM_DIR=$SIM_DIR \ + ${@:2} + diff --git a/wrapper/src/wrapper_accelerator.sv b/wrapper/src/wrapper_accelerator.sv index e90ddf717e35f9f5cf256b24335a20a3f816a0b8..e0ff2fcb1ea42684c8d751538540fc06f10adfb3 100644 --- a/wrapper/src/wrapper_accelerator.sv +++ b/wrapper/src/wrapper_accelerator.sv @@ -14,7 +14,8 @@ module wrapper_accelerator #( parameter INPACKETWIDTH=512, parameter CFGSIZEWIDTH=64, parameter CFGSCHEMEWIDTH=2, - parameter OUTPACKETWIDTH=256 + parameter OUTPACKETWIDTH=256, + parameter CFGNUMIRQ=4 ) ( input logic HCLK, // Clock input logic HRESETn, // Reset @@ -34,10 +35,15 @@ module wrapper_accelerator #( output logic [31:0] HRDATAS, // Input Data Request Signal to DMAC - output logic in_data_req, + output logic in_data_drq, + input logic in_data_dlast, // Output Data Request Signal to DMAC - output logic out_data_req + output logic out_data_drq, + input logic out_data_dlast, + + output logic [CFGNUMIRQ-1:0] int_irq + ); @@ -430,17 +436,17 @@ module wrapper_accelerator #( .req_act_ch4 (1'b0), // DMA Request Output - .drq_ch0 (in_data_req), - .drq_ch1 (out_data_req), + .drq_ch0 (in_data_drq), + .drq_ch1 (out_data_drq), .drq_ch2 (), .drq_ch3 (), .drq_ch4 (), // Interrupt Request Output - .irq_ch0 (), - .irq_ch1 (), - .irq_ch2 (), - .irq_ch3 (), + .irq_ch0 (int_irq[0]), + .irq_ch1 (int_irq[1]), + .irq_ch2 (int_irq[2]), + .irq_ch3 (int_irq[3]), .irq_ch4 (), .irq_merged () );