From 8cc9a21187827618fabe1de8cf9c5ac1abfde4a0 Mon Sep 17 00:00:00 2001
From: Daniel Newbrook <dwn1c21@soton.ac.uk>
Date: Thu, 28 Sep 2023 11:14:07 +0100
Subject: [PATCH] Update to include DMA350

---
 env/dependency_env.sh              |  1 +
 nanosoc_tech                       |  2 +-
 system/src/accelerator_subsystem.v | 31 +++++++++++++++++++++++++++++-
 3 files changed, 32 insertions(+), 2 deletions(-)

diff --git a/env/dependency_env.sh b/env/dependency_env.sh
index 85bb93e..5b610bd 100755
--- a/env/dependency_env.sh
+++ b/env/dependency_env.sh
@@ -31,6 +31,7 @@ export SOCLABS_SLCOREM0_TECH_DIR="$SOCLABS_PROJECT_DIR/nanosoc_tech/nanosoc/slco
 
 # SLDMA-230
 export SOCLABS_SLDMA230_TECH_DIR="$SOCLABS_PROJECT_DIR/nanosoc_tech/nanosoc/sldma230_tech"
+export SOCLABS_SLDMA350_TECH_DIR="$SOCLABS_PROJECT_DIR/nanosoc_tech/nanosoc/sldma350_tech"
 
 # Primtives
 export SOCLABS_PRIMITIVES_TECH_DIR="$SOCLABS_PROJECT_DIR/rtl_primitives_tech"
diff --git a/nanosoc_tech b/nanosoc_tech
index 035a144..09cdbc9 160000
--- a/nanosoc_tech
+++ b/nanosoc_tech
@@ -1 +1 @@
-Subproject commit 035a1441641b202ee19fff5d52a20ef757867563
+Subproject commit 09cdbc95a9baff7577a6f201a4d34ae839b3fc52
diff --git a/system/src/accelerator_subsystem.v b/system/src/accelerator_subsystem.v
index 6e68eda..6cb2d42 100644
--- a/system/src/accelerator_subsystem.v
+++ b/system/src/accelerator_subsystem.v
@@ -9,6 +9,7 @@
 //
 // Copyright (C) 2023; SoC Labs (www.soclabs.org)
 //-----------------------------------------------------------------------------
+`include "gen_defines.v"
 
 module accelerator_subsystem #(
   parameter SYS_ADDR_W = 32,
@@ -36,7 +37,35 @@ module accelerator_subsystem #(
   // Data Request Signal to DMAC
   output wire   [1:0]              EXP_DRQ,
   input  wire   [1:0]              EXP_DLAST,
-  
+   // DMAC Stream interfaces
+`ifdef DMAC_1_DMA350
+  input  wire                      EXP_STR_IN_0_TVALID,
+  output wire                      EXP_STR_IN_0_TREADY,
+  input  wire [SYS_DATA_W-1:0]     EXP_STR_IN_0_TDATA,
+  input  wire [15:0]               EXP_STR_IN_0_TSTRB,
+  input  wire                      EXP_STR_IN_0_TLAST,
+
+  output wire                      EXP_STR_OUT_0_TVALID,
+  input  wire                      EXP_STR_OUT_0_TREADY,
+  output wire [SYS_DATA_W-1:0]     EXP_STR_OUT_0_TDATA,
+  output wire [15:0]               EXP_STR_OUT_0_TSTRB,
+  output wire                      EXP_STR_OUT_0_TLAST,
+  input  wire                      EXP_STR_OUT_0_FLUSH,
+
+  input  wire                      EXP_STR_IN_1_TVALID,
+  output wire                      EXP_STR_IN_1_TREADY,
+  input  wire [SYS_DATA_W-1:0]     EXP_STR_IN_1_TDATA,
+  input  wire [15:0]               EXP_STR_IN_1_TSTRB,
+  input  wire                      EXP_STR_IN_1_TLAST,
+
+  output wire                      EXP_STR_OUT_1_TVALID,
+  input  wire                      EXP_STR_OUT_1_TREADY,
+  output wire [SYS_DATA_W-1:0]     EXP_STR_OUT_1_TDATA,
+  output wire [15:0]               EXP_STR_OUT_1_TSTRB,
+  output wire                      EXP_STR_OUT_1_TLAST,
+  input  wire                      EXP_STR_OUT_1_FLUSH,
+`endif 
+
   // Interrupts
   output wire   [IRQ_NUM-1:0]      EXP_IRQ
 );
-- 
GitLab