diff --git a/config/cfg_dma_ahb.yaml b/config/cfg_dma_ahb.yaml
index 59cf9f680c710ff6bb4a260ac37e71544571dbe3..d99a1149ed5f6ac36b1027a503dbde0f94536ec0 100755
--- a/config/cfg_dma_ahb.yaml
+++ b/config/cfg_dma_ahb.yaml
@@ -55,7 +55,7 @@ CHID_WIDTH: 0
 #
 #     Valid values:
 #         1-32
-GPO_WIDTH: 1
+GPO_WIDTH: 0
 
 #
 # CH_GPO_MASK: A bitmask for enabling the GPO port for each channel. The width of the
@@ -118,7 +118,7 @@ NUM_TRIGGER_IN: 2
 #
 #     Valid values:
 #         0-32
-NUM_TRIGGER_OUT: 2
+NUM_TRIGGER_OUT: 0
 
 #
 # TRIG_IN_SYNC_EN_MASK: A bitmask for enabling the synchronizers on the trigger in
diff --git a/config/cfg_dma_ahb_small.yaml b/config/cfg_dma_ahb_small.yaml
new file mode 100755
index 0000000000000000000000000000000000000000..bb70bf7dfb4de165e9ede47ea099f46f338c2dcc
--- /dev/null
+++ b/config/cfg_dma_ahb_small.yaml
@@ -0,0 +1,165 @@
+#----------------------------------------------------------------------------
+# 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 2021-2022 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.
+#----------------------------------------------------------------------------
+#
+# Release Information : DMA350-r0p0-00rel0
+#
+# -----------------------------------------------------------------------------
+#  Abstract : User Configuration file for ADA DMA
+# -----------------------------------------------------------------------------
+
+#
+# CONFIG_NAME: Name of the configuration.
+#     Each unifiqued element and top is suffixed with
+#     _${CONFIG_NAME}
+#
+CONFIG_NAME: sldma350
+
+#
+# ADDR_WIDTH: Address Bus width
+#
+#     Valid values:
+#         32-64
+ADDR_WIDTH: 32
+
+#
+# DATA_WIDTH: Data Bus width
+#
+#     Valid values:
+#         [32,64,128]
+DATA_WIDTH: 32
+
+#
+# CHID_WIDTH: Width of the configurable channel ID user signal.
+#     When set to 0, then the archid and awchid ports are not present on the module.
+#
+#     Valid values:
+#         0-16
+CHID_WIDTH: 0
+
+#
+# GPO_WIDTH: Width of GPO output for every channel. When multiple channels have GPOs
+#     then the width must be set to the maximum number of GPOs a channel can have,
+#     and unused GPO ports need to be left unconnected. When all bits of CH_GPO_MASK
+#     is 0, this parameter is not relevant.
+#
+#     Valid values:
+#         1-32
+GPO_WIDTH: 0
+
+#
+# CH_GPO_MASK: A bitmask for enabling the GPO port for each channel. The width of the
+#     bitmask is NUM_CHANNELS-1. When bit n is set to 1 then the GPO is enabled for
+#     channel n and the gpo_ch_n[GPO_WIDTH-1:0] port appears on the module.
+#
+#     Valid values:
+#         0-(2^NUM_CHANNELS-1)
+CH_GPO_MASK: 0x0
+
+#
+# CH_STREAM_MASK: A bitmask for enabling the stream interfaces for each channel.
+#     The width of the bitmask is NUM_CHANNELS-1. When bit n is set to 1 then
+#     the stream interfaces are enabled for channel n and the relevant ports
+#     appears on the module. NOTE: When streaming interface is enabled the actual
+#     FIFO size of the channel will be the double of CH_<N>_FIFO_DEPTH
+#
+#     Valid values:
+#         0-(2^NUM_CHANNELS-1)
+CH_STREAM_MASK: 0x0
+
+#
+# CH_<N>_FIFO_DEPTH: Sets the FIFO depth for channel <N> that defines the number of
+#     DATA_WIDTH size entries a channel can hold for a transfer. N goes from 0 to
+#     NUM_CHANNELS-1. In combination with the TRANSIZE setting of the command, the
+#     FIFO depth defines the maximum burst size a channel can support. This setting
+#     needs to be aligned with the bandwidth requirements of the channel but it
+#     highly affects the area of the design.
+#
+#     Valid values:
+#         [1,2,4,8,16,32,64]
+CH_0_FIFO_DEPTH: 16
+CH_1_FIFO_DEPTH: 16
+
+#
+# CH_EXT_FEAT_MASK: A bitmask for enabling the extended feature set for each channel.
+#     The extension contains 2D, WRAP, TMPLT features. Default value enables it for
+#     the number of channels.
+#
+#     Valid values:
+#         0-(2^NUM_CHANNELS-1)
+CH_EXT_FEAT_MASK: 0x0
+
+#
+# NUM_CHANNELS: Number of configurable DMA channels.
+#
+#     Valid values:
+#         1-8
+NUM_CHANNELS: 2
+
+#
+# NUM_TRIGGER_IN: Number of trigger input ports.
+#
+#     Valid values:
+#         0-32
+NUM_TRIGGER_IN: 2
+
+#
+# NUM_TRIGGER_OUT: Number of trigger output ports.
+#
+#     Valid values:
+#         0-32
+NUM_TRIGGER_OUT: 0
+
+#
+# TRIG_IN_SYNC_EN_MASK: A bitmask for enabling the synchronizers on the trigger in
+#     interfaces for each trigger port. The width of the bitmask is NUM_TRIGGER_IN-1.
+#     When bit n is set to 1 then the trigger in interface is considered asynchronous
+#     and the synchronizer logic is placed on the selected input ports.
+#
+#     Valid values:
+#         0-(2^NUM_TRIGGER_IN-1)
+TRIG_IN_SYNC_EN_MASK: 0x0
+
+#
+# TRIG_OUT_SYNC_EN_MASK: A bitmask for enabling the synchronizers on the trigger out
+#     interfaces for each trigger port. The width of the bitmask is NUM_TRIGGER_OUT-1.
+#     When bit n is set to 1 then the trigger out interface is considered asynchronous
+#     and the synchronizer logic is placed on the selected input ports.
+#
+#     Valid values:
+#         0-(2^NUM_TRIGGER_OUT-1)
+TRIG_OUT_SYNC_EN_MASK: 0x0
+
+#
+# AXI5_M1_PRESENT: Enables an additional master port. When set the m1 master port is
+#     present on the top level port list and additional include file can be used with
+#     a System Verilog function that defines which address ranges are mapped to the m1
+#     interface.
+#
+#     Valid values:
+#         [0,1]
+AXI5_M1_PRESENT: 1
+
+#
+# SECEXT_PRESENT: Enables TrustZone security support.
+#
+#     Valid values:
+#         [0,1]
+SECEXT_PRESENT: 0
+
+#
+# AXI5_M1_ADDR_MAP: Select AXI M1 master.
+#
+#     Valid values:
+#         relative path to logical
+AXI5_M1_ADDR_MAP: models/modules/generic/address_map_m1_nanosoc.sv
diff --git a/flist/dma350_ahb_small_ip.flist b/flist/dma350_ahb_small_ip.flist
new file mode 100644
index 0000000000000000000000000000000000000000..60b309b37ff5427b5378a952fff8daccb194ad7f
--- /dev/null
+++ b/flist/dma350_ahb_small_ip.flist
@@ -0,0 +1,114 @@
+//-----------------------------------------------------------------------------
+// MegaSoC DMA-350 Filelist
+// A joint work commissioned on behalf of SoC Labs, under Arm Academic Access license.
+//
+// Contributors
+//
+// David Mapstone (d.a.mapstone@soton.ac.uk)
+//
+// Copyright � 2021-3, SoC Labs (www.soclabs.org)
+//-----------------------------------------------------------------------------
+//-----------------------------------------------------------------------------
+// Abstract : Verilog Command File for Arm DMA-350
+//-----------------------------------------------------------------------------
+
+// ============= Verilog library extensions ===========
++libext+.v+.vlib
+
+// =============    DMA-350 search path    =============
++incdir+$(SOCLABS_SLDMA350_TECH_DIR)/src/logical/
++incdir+$(SOCLABS_SLDMA350_TECH_DIR)/src/logical/shared/verilog/
+
+$(SOCLABS_SLDMA350_TECH_DIR)/src/logical/shared/verilog/ada_gen_regmap_sldma350_pkg.sv
+$(SOCLABS_SLDMA350_TECH_DIR)/src/logical/shared/verilog/ada_apb_regmap_conv_sldma350.sv
+$(SOCLABS_SLDMA350_TECH_DIR)/src/logical/shared/verilog/ada_reg_field_ro_ro_sldma350.sv
+$(SOCLABS_SLDMA350_TECH_DIR)/src/logical/shared/verilog/ada_reg_field_rw_ro_sldma350.sv
+$(SOCLABS_SLDMA350_TECH_DIR)/src/logical/shared/verilog/ada_reg_field_rw_w1c_sldma350.sv
+$(SOCLABS_SLDMA350_TECH_DIR)/src/logical/shared/verilog/ada_reg_field_rw_w1s_sldma350.sv
+$(SOCLABS_SLDMA350_TECH_DIR)/src/logical/shared/verilog/ada_reg_field_rw_rw_sldma350.sv
+$(SOCLABS_SLDMA350_TECH_DIR)/src/logical/shared/verilog/ada_gen_coreif_dmach_sldma350_pkg.sv
+$(SOCLABS_SLDMA350_TECH_DIR)/src/logical/shared/verilog/ada_gen_addrmap_dmach_sldma350.sv
+$(SOCLABS_SLDMA350_TECH_DIR)/src/logical/shared/verilog/ada_interface_sldma350_pkg.sv
+$(SOCLABS_SLDMA350_TECH_DIR)/src/logical/shared/verilog/ada_address_map_m1_sldma350_inc.sv
+$(SOCLABS_SLDMA350_TECH_DIR)/src/logical/shared/verilog/ada_flop_en/verilog/ada_flop_en.sv
+$(SOCLABS_SLDMA350_TECH_DIR)/src/logical/shared/verilog/ada_or_tree/verilog/ada_or_tree.sv
+$(SOCLABS_SLDMA350_TECH_DIR)/src/logical/shared/verilog/ada_gen_regif_dmainfo_sldma350_pkg.sv
+$(SOCLABS_SLDMA350_TECH_DIR)/src/logical/models/cells/generic/ada_arm_flop.sv
+$(SOCLABS_SLDMA350_TECH_DIR)/src/logical/models/cells/generic/ada_arm_sync.sv
+$(SOCLABS_SLDMA350_TECH_DIR)/src/logical/models/cells/generic/ada_arm_mux2.sv
+$(SOCLABS_SLDMA350_TECH_DIR)/src/logical/models/cells/generic/ada_arm_or.sv
+$(SOCLABS_SLDMA350_TECH_DIR)/src/logical/models/cells/generic/ada_arm_idbit_v1.sv
+$(SOCLABS_SLDMA350_TECH_DIR)/src/logical/shared/verilog/ada_ecorevnum.sv
+$(SOCLABS_SLDMA350_TECH_DIR)/src/logical/ada_top_sldma350/verilog/ada_top_sldma350.sv
+
+$(SOCLABS_SLDMA350_TECH_DIR)/src/logical/ada_biu_sldma350/verilog/ada_biu_sldma350.sv
+$(SOCLABS_SLDMA350_TECH_DIR)/src/logical/ada_biu_sldma350/verilog/ada_biu_read_switch_sldma350.sv
+$(SOCLABS_SLDMA350_TECH_DIR)/src/logical/ada_biu_sldma350/verilog/ada_biu_read_switch_wrapper_sldma350.sv
+$(SOCLABS_SLDMA350_TECH_DIR)/src/logical/ada_biu_sldma350/verilog/ada_biu_write_switch_sldma350.sv
+$(SOCLABS_SLDMA350_TECH_DIR)/src/logical/ada_biu_sldma350/verilog/ada_biu_write_switch_wrapper_sldma350.sv
+$(SOCLABS_SLDMA350_TECH_DIR)/src/logical/ada_biu_sldma350/verilog/ada_biu_arbiter_sldma350.sv
+$(SOCLABS_SLDMA350_TECH_DIR)/src/logical/ada_biu_sldma350/verilog/ada_biu_qv_cmp_sldma350.sv
+$(SOCLABS_SLDMA350_TECH_DIR)/src/logical/ada_biu_sldma350/verilog/ada_biu_lrg_arb_sldma350.sv
+$(SOCLABS_SLDMA350_TECH_DIR)/src/logical/ada_biu_sldma350/verilog/ada_biu_grant_queue_sldma350.sv
+$(SOCLABS_SLDMA350_TECH_DIR)/src/logical/ada_biu_sldma350/verilog/ada_biu_full_f2s_sldma350.sv
+$(SOCLABS_SLDMA350_TECH_DIR)/src/logical/ada_biu_sldma350/verilog/ada_biu_reverse_s2f_sldma350.sv
+
+$(SOCLABS_SLDMA350_TECH_DIR)/src/logical/ada_channel_0_sldma350/verilog/ada_gen_regif_dmach_0_sldma350_pkg.sv
+$(SOCLABS_SLDMA350_TECH_DIR)/src/logical/ada_channel_0_sldma350/verilog/ada_gen_regif_dmach_0_sldma350.sv
+$(SOCLABS_SLDMA350_TECH_DIR)/src/logical/ada_channel_0_sldma350/verilog/ada_gen_regmap_dmach_0_sldma350.sv
+$(SOCLABS_SLDMA350_TECH_DIR)/src/logical/ada_channel_0_sldma350/verilog/ada_gen_fields_coreif_dmach_0_sldma350.sv
+$(SOCLABS_SLDMA350_TECH_DIR)/src/logical/ada_channel_0_sldma350/verilog/ada_gen_coreif_res_dmach_0_sldma350_pkg.sv
+$(SOCLABS_SLDMA350_TECH_DIR)/src/logical/ada_channel_0_sldma350/verilog/ada_channel_0_sldma350_pkg.sv
+$(SOCLABS_SLDMA350_TECH_DIR)/src/logical/ada_channel_0_sldma350/verilog/ada_channel_0_sldma350.sv
+$(SOCLABS_SLDMA350_TECH_DIR)/src/logical/ada_channel_0_sldma350/verilog/ada_channel_0_ctrl_sldma350.sv
+$(SOCLABS_SLDMA350_TECH_DIR)/src/logical/ada_channel_0_sldma350/verilog/ada_channel_0_1d_wr_ctrl_sldma350.sv
+$(SOCLABS_SLDMA350_TECH_DIR)/src/logical/ada_channel_0_sldma350/verilog/ada_channel_0_1d_rd_ctrl_sldma350.sv
+$(SOCLABS_SLDMA350_TECH_DIR)/src/logical/ada_channel_0_sldma350/verilog/ada_channel_0_fifo_sldma350.sv
+$(SOCLABS_SLDMA350_TECH_DIR)/src/logical/ada_channel_0_sldma350/verilog/ada_channel_0_cmdlink_sldma350.sv
+$(SOCLABS_SLDMA350_TECH_DIR)/src/logical/ada_channel_0_sldma350/verilog/ada_channel_0_axi_rd_if_sldma350.sv
+$(SOCLABS_SLDMA350_TECH_DIR)/src/logical/ada_channel_0_sldma350/verilog/ada_channel_0_axi_wr_if_sldma350.sv
+$(SOCLABS_SLDMA350_TECH_DIR)/src/logical/ada_channel_0_sldma350/verilog/ada_channel_0_axi_stop_sldma350.sv
+$(SOCLABS_SLDMA350_TECH_DIR)/src/logical/ada_channel_0_sldma350/verilog/ada_channel_0_reg_bank_sldma350.sv
+$(SOCLABS_SLDMA350_TECH_DIR)/src/logical/ada_channel_0_sldma350/verilog/ada_channel_0_trig_in_sldma350.sv
+$(SOCLABS_SLDMA350_TECH_DIR)/src/logical/ada_channel_0_sldma350/verilog/ada_channel_0_trig_out_sldma350.sv
+
+$(SOCLABS_SLDMA350_TECH_DIR)/src/logical/ada_channel_1_sldma350/verilog/ada_gen_regif_dmach_1_sldma350_pkg.sv
+$(SOCLABS_SLDMA350_TECH_DIR)/src/logical/ada_channel_1_sldma350/verilog/ada_gen_regif_dmach_1_sldma350.sv
+$(SOCLABS_SLDMA350_TECH_DIR)/src/logical/ada_channel_1_sldma350/verilog/ada_gen_regmap_dmach_1_sldma350.sv
+$(SOCLABS_SLDMA350_TECH_DIR)/src/logical/ada_channel_1_sldma350/verilog/ada_gen_fields_coreif_dmach_1_sldma350.sv
+$(SOCLABS_SLDMA350_TECH_DIR)/src/logical/ada_channel_1_sldma350/verilog/ada_gen_coreif_res_dmach_1_sldma350_pkg.sv
+$(SOCLABS_SLDMA350_TECH_DIR)/src/logical/ada_channel_1_sldma350/verilog/ada_channel_1_sldma350_pkg.sv
+$(SOCLABS_SLDMA350_TECH_DIR)/src/logical/ada_channel_1_sldma350/verilog/ada_channel_1_sldma350.sv
+$(SOCLABS_SLDMA350_TECH_DIR)/src/logical/ada_channel_1_sldma350/verilog/ada_channel_1_ctrl_sldma350.sv
+$(SOCLABS_SLDMA350_TECH_DIR)/src/logical/ada_channel_1_sldma350/verilog/ada_channel_1_1d_wr_ctrl_sldma350.sv
+$(SOCLABS_SLDMA350_TECH_DIR)/src/logical/ada_channel_1_sldma350/verilog/ada_channel_1_1d_rd_ctrl_sldma350.sv
+$(SOCLABS_SLDMA350_TECH_DIR)/src/logical/ada_channel_1_sldma350/verilog/ada_channel_1_fifo_sldma350.sv
+$(SOCLABS_SLDMA350_TECH_DIR)/src/logical/ada_channel_1_sldma350/verilog/ada_channel_1_cmdlink_sldma350.sv
+$(SOCLABS_SLDMA350_TECH_DIR)/src/logical/ada_channel_1_sldma350/verilog/ada_channel_1_axi_rd_if_sldma350.sv
+$(SOCLABS_SLDMA350_TECH_DIR)/src/logical/ada_channel_1_sldma350/verilog/ada_channel_1_axi_wr_if_sldma350.sv
+$(SOCLABS_SLDMA350_TECH_DIR)/src/logical/ada_channel_1_sldma350/verilog/ada_channel_1_axi_stop_sldma350.sv
+$(SOCLABS_SLDMA350_TECH_DIR)/src/logical/ada_channel_1_sldma350/verilog/ada_channel_1_reg_bank_sldma350.sv
+$(SOCLABS_SLDMA350_TECH_DIR)/src/logical/ada_channel_1_sldma350/verilog/ada_channel_1_trig_in_sldma350.sv
+$(SOCLABS_SLDMA350_TECH_DIR)/src/logical/ada_channel_1_sldma350/verilog/ada_channel_1_trig_out_sldma350.sv
+
+$(SOCLABS_SLDMA350_TECH_DIR)/src/logical/ada_ctrl_sldma350/verilog/ada_gen_regif_dmainfo_sldma350.sv
+$(SOCLABS_SLDMA350_TECH_DIR)/src/logical/ada_ctrl_sldma350/verilog/ada_gen_regmap_dmainfo_sldma350.sv
+$(SOCLABS_SLDMA350_TECH_DIR)/src/logical/ada_ctrl_sldma350/verilog/ada_gen_fields_coreif_dmainfo_sldma350.sv
+$(SOCLABS_SLDMA350_TECH_DIR)/src/logical/ada_ctrl_sldma350/verilog/ada_gen_addrmap_dmainfo_sldma350.sv
+$(SOCLABS_SLDMA350_TECH_DIR)/src/logical/ada_ctrl_sldma350/verilog/ada_gen_coreif_dmansecctrl_sldma350_pkg.sv
+$(SOCLABS_SLDMA350_TECH_DIR)/src/logical/ada_ctrl_sldma350/verilog/ada_gen_regif_dmansecctrl_sldma350_pkg.sv
+$(SOCLABS_SLDMA350_TECH_DIR)/src/logical/ada_ctrl_sldma350/verilog/ada_gen_regif_dmansecctrl_sldma350.sv
+$(SOCLABS_SLDMA350_TECH_DIR)/src/logical/ada_ctrl_sldma350/verilog/ada_gen_regmap_dmansecctrl_sldma350.sv
+$(SOCLABS_SLDMA350_TECH_DIR)/src/logical/ada_ctrl_sldma350/verilog/ada_gen_fields_coreif_dmansecctrl_sldma350.sv
+$(SOCLABS_SLDMA350_TECH_DIR)/src/logical/ada_ctrl_sldma350/verilog/ada_gen_addrmap_dmansecctrl_sldma350.sv
+$(SOCLABS_SLDMA350_TECH_DIR)/src/logical/ada_ctrl_sldma350/verilog/ada_ctrl_apb_slave_mux_sldma350.sv
+$(SOCLABS_SLDMA350_TECH_DIR)/src/logical/ada_ctrl_sldma350/verilog/ada_ctrl_dmainfo_reg_bank_sldma350.sv
+$(SOCLABS_SLDMA350_TECH_DIR)/src/logical/ada_ctrl_sldma350/verilog/ada_ctrl_dmansecctrl_reg_bank_sldma350.sv
+$(SOCLABS_SLDMA350_TECH_DIR)/src/logical/ada_ctrl_sldma350/verilog/ada_ctrl_trigmask_sldma350.sv
+$(SOCLABS_SLDMA350_TECH_DIR)/src/logical/ada_ctrl_sldma350/verilog/ada_ctrl_trigin_used_sldma350.sv
+$(SOCLABS_SLDMA350_TECH_DIR)/src/logical/ada_ctrl_sldma350/verilog/ada_ctrl_trigout_used_sldma350.sv
+$(SOCLABS_SLDMA350_TECH_DIR)/src/logical/ada_ctrl_sldma350/verilog/ada_ctrl_sldma350.sv
+
+$(SOCLABS_SLDMA350_TECH_DIR)/src/logical/ada_qctrl_sldma350/verilog/ada_qctrl_sldma350.sv
+
+$(SOCLABS_SLDMA350_TECH_DIR)/src/logical/ada_trigmtx_sldma350/verilog/ada_trigmtx_sldma350.sv
diff --git a/makefile b/makefile
index bf231022035d1d8b0f67b38058fdb832006baeb9..af4860c3b20ac53f620a8ae4cd6a05c42a1c31f2 100644
--- a/makefile
+++ b/makefile
@@ -42,6 +42,9 @@ config_dma_axi:
 config_dma_ahb:
 	@$(ARM_IP_LIBRARY_PATH)/DMA-350/CG096-r0p0-00rel0/CG096-BU-50000-r0p0-00rel0/dma350/logical/generate --config ./config/cfg_dma_ahb.yaml --output ./src/
 	@$(ARM_IP_LIBRARY_PATH)/DMA-350/CG096-r0p0-00rel0/PL417-BU-50000-r0p1-00rel0/xhb500/logical/generate --config ./config/cfg_xhb_axi_to_ahb.cfg --output ./src/
+config_dma_ahb_small:
+	@$(ARM_IP_LIBRARY_PATH)/DMA-350/CG096-r0p0-00rel0/CG096-BU-50000-r0p0-00rel0/dma350/logical/generate --config ./config/cfg_dma_ahb_small.yaml --output ./src/
+	@$(ARM_IP_LIBRARY_PATH)/DMA-350/CG096-r0p0-00rel0/PL417-BU-50000-r0p1-00rel0/xhb500/logical/generate --config ./config/cfg_xhb_axi_to_ahb.cfg --output ./src/
 
 clean_ip:
 	@rm -rf ./src/*
\ No newline at end of file
diff --git a/wrapper/logical/sldma350_ahb.v b/wrapper/logical/sldma350_ahb.v
index c7c8d61d6e28df364f3527cc192b9a522f2e1778..f63fefc923e1603060506c09b04f09bd67b74dc6 100644
--- a/wrapper/logical/sldma350_ahb.v
+++ b/wrapper/logical/sldma350_ahb.v
@@ -8,7 +8,7 @@
 //
 // Copyright 2021-3, SoC Labs (www.soclabs.org)
 //-----------------------------------------------------------------------------
-
+`include "gen_defines.v"
 
 module sldma350_ahb #(
     parameter    SYS_ADDR_W  = 32,
@@ -57,7 +57,7 @@ module sldma350_ahb #(
     output wire   [SYS_DATA_W-1:0]  PRDATA,      // APB read data
     output wire                     PREADY,
     output wire                     PSLVERR,
-
+`ifdef DMA350_STREAM_2
     //  DMAC Channel 0 AXI stream out
     output wire                     DMAC_STR_OUT_0_TVALID,
     input  wire                     DMAC_STR_OUT_0_TREADY,
@@ -87,7 +87,7 @@ module sldma350_ahb #(
     input  wire [4-1:0]             DMAC_STR_IN_1_TSTRB,
     input  wire                     DMAC_STR_IN_1_TLAST,
     output wire                     DMAC_STR_IN_1_FLUSH,
-
+`endif
     // DMA Request and Status Port
     input  wire  [CHANNEL_NUM-1:0] DMA_REQ,     // DMA transfer request
     output wire  [CHANNEL_NUM-1:0] DMA_DONE,    // DMA transfer done
@@ -198,10 +198,6 @@ wire                     DMAC_TRIG_IN_1_REQ;
 wire  [1:0]              DMAC_TRIG_IN_1_REQ_TYPE;
 wire                     DMAC_TRIG_IN_1_ACK;
 wire [1:0]               DMAC_TRIG_IN_1_ACK_TYPE;
-wire                     DMAC_TRIG_OUT_0_REQ;
-wire                     DMAC_TRIG_OUT_0_ACK;
-wire                     DMAC_TRIG_OUT_1_REQ;
-wire                     DMAC_TRIG_OUT_1_ACK;
 wire [2-1:0]             DMAC_IRQ_CHANNEL;
 wire                     DMAC_IRQ_COMB_NONSEC;
 
@@ -365,15 +361,10 @@ ada_top_sldma350 u_dmac_0(
     .trig_in_1_req_type(DMAC_TRIG_IN_1_REQ_TYPE),
     .trig_in_1_ack(DMAC_TRIG_IN_1_ACK),
     .trig_in_1_ack_type(DMAC_TRIG_IN_1_ACK_TYPE),
-    // Trigger 0 out
-    .trig_out_0_req(DMAC_TRIG_OUT_0_REQ),
-    .trig_out_0_ack(DMAC_TRIG_OUT_0_ACK),
-    // Trigger 1 out
-    .trig_out_1_req(DMAC_TRIG_OUT_1_REQ),
-    .trig_out_1_ack(DMAC_TRIG_OUT_1_ACK),
     // Interrupt Signals
     .irq_channel(DMA_DONE),
     .irq_comb_nonsec(DMAC_IRQ_COMB_NONSEC),
+`ifdef DMA350_STREAM_2
     // AXI Stream 0 out
     .str_out_0_tvalid(DMAC_STR_OUT_0_TVALID),
     .str_out_0_tready(DMAC_STR_OUT_0_TREADY),
@@ -400,6 +391,7 @@ ada_top_sldma350 u_dmac_0(
     .str_in_1_tstrb(DMAC_STR_IN_1_TSTRB),
     .str_in_1_tlast(DMAC_STR_IN_1_TLAST),
     .str_in_1_flush(DMAC_STR_IN_1_FLUSH),
+`endif
 
     .allch_stop_req_nonsec(1'b0),
     .allch_stop_ack_nonsec(DMAC_ALLCH_STOP_ACK_NONSEC),
@@ -635,11 +627,8 @@ sldma350_trig_converter u_trig_conv_0 (
     .trig_in_req_type(DMAC_TRIG_IN_0_REQ_TYPE),
     .trig_in_ack(DMAC_TRIG_IN_0_ACK),
     .trig_in_ack_type(DMAC_TRIG_IN_0_ACK_TYPE),
-    .trig_out_req(DMAC_TRIG_OUT_0_REQ),
-    .trig_out_ack(DMAC_TRIG_OUT_0_ACK),
     .DMAC_DMA_REQ(DMA_REQ[0]),
-    .DMAC_DMA_REQ_ERR(),
-    .DMAC_DMA_DONE()
+    .DMAC_DMA_REQ_ERR()
 );
 
 sldma350_trig_converter u_trig_conv_1 (
@@ -649,11 +638,8 @@ sldma350_trig_converter u_trig_conv_1 (
     .trig_in_req_type(DMAC_TRIG_IN_1_REQ_TYPE),
     .trig_in_ack(DMAC_TRIG_IN_1_ACK),
     .trig_in_ack_type(DMAC_TRIG_IN_1_ACK_TYPE),
-    .trig_out_req(DMAC_TRIG_OUT_1_REQ),
-    .trig_out_ack(DMAC_TRIG_OUT_1_ACK),
     .DMAC_DMA_REQ(DMA_REQ[1]),
-    .DMAC_DMA_REQ_ERR(),
-    .DMAC_DMA_DONE()
+    .DMAC_DMA_REQ_ERR()
 );
 
 endmodule
diff --git a/wrapper/logical/sldma350_trig_converter.v b/wrapper/logical/sldma350_trig_converter.v
index 9ead9c64b4b83c845e1c62503aa26b94d47efca3..ae703badab693a0d4f80e5ddd1d94b315acdad19 100644
--- a/wrapper/logical/sldma350_trig_converter.v
+++ b/wrapper/logical/sldma350_trig_converter.v
@@ -16,18 +16,14 @@ module sldma350_trig_converter (
     output wire [1:0]   trig_in_req_type,
     input  wire         trig_in_ack,
     input  wire [1:0]   trig_in_ack_type,
-    input  wire         trig_out_req,
-    output wire         trig_out_ack,
     input  wire         DMAC_DMA_REQ,
-    output wire         DMAC_DMA_REQ_ERR,
-    output wire         DMAC_DMA_DONE
+    output wire         DMAC_DMA_REQ_ERR
 );
 
  parameter IDLE  = 2'b00,START_REQ = 2'b01,ERROR = 2'b10,END_REQ = 2'b11;
 
 reg [1:0]  state;
 reg        dma_err;
-reg        out_ack;
 reg        req_err;
 reg [1:0]  next_state;
 reg        trig_req;
@@ -35,23 +31,16 @@ reg        trig_req;
 assign trig_in_req = trig_req;
 assign DMAC_DMA_REQ_ERR = dma_err;
 assign trig_in_req_type = 2'b10;
-assign DMAC_DMA_DONE = out_ack;
 
 always @(posedge clk or negedge resetn) begin
     if(~resetn) begin
         state <= IDLE;
         dma_err<= 1'b0;
-        out_ack <= 1'b0;
     end else begin
         state <= next_state;
         if (req_err) begin
         dma_err <= 1'b1;
         end
-        if (trig_out_req) begin
-            out_ack <= 1'b1;
-        end else begin
-            out_ack <= 1'b0;
-        end
     end
     
 end