initial commit
This commit is contained in:
11641
fpga/ip/gDMA/gDMA.v
Normal file
11641
fpga/ip/gDMA/gDMA.v
Normal file
File diff suppressed because it is too large
Load Diff
45
fpga/ip/gDMA/gDMA_define.vh
Normal file
45
fpga/ip/gDMA/gDMA_define.vh
Normal file
@@ -0,0 +1,45 @@
|
||||
// =============================================================================
|
||||
// Generated by efx_ipmgr
|
||||
// Version: 2025.2.272
|
||||
// IP Version: 6.4.2
|
||||
// =============================================================================
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
// Copyright (C) 2013-2025 Efinix Inc. All rights reserved.
|
||||
//
|
||||
// This document contains proprietary information which is
|
||||
// protected by copyright. All rights are reserved. This notice
|
||||
// refers to original work by Efinix, Inc. which may be derivitive
|
||||
// of other work distributed under license of the authors. In the
|
||||
// case of derivative work, nothing in this notice overrides the
|
||||
// original author's license agreement. Where applicable, the
|
||||
// original license agreement is included in it's original
|
||||
// unmodified form immediately below this header.
|
||||
//
|
||||
// WARRANTY DISCLAIMER.
|
||||
// THE DESIGN, CODE, OR INFORMATION ARE PROVIDED “AS IS” AND
|
||||
// EFINIX MAKES NO WARRANTIES, EXPRESS OR IMPLIED WITH
|
||||
// RESPECT THERETO, AND EXPRESSLY DISCLAIMS ANY IMPLIED WARRANTIES,
|
||||
// INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
|
||||
// MERCHANTABILITY, NON-INFRINGEMENT AND FITNESS FOR A PARTICULAR
|
||||
// PURPOSE. SOME STATES DO NOT ALLOW EXCLUSIONS OF AN IMPLIED
|
||||
// WARRANTY, SO THIS DISCLAIMER MAY NOT APPLY TO LICENSEE.
|
||||
//
|
||||
// LIMITATION OF LIABILITY.
|
||||
// NOTWITHSTANDING ANYTHING TO THE CONTRARY, EXCEPT FOR BODILY
|
||||
// INJURY, EFINIX SHALL NOT BE LIABLE WITH RESPECT TO ANY SUBJECT
|
||||
// MATTER OF THIS AGREEMENT UNDER TORT, CONTRACT, STRICT LIABILITY
|
||||
// OR ANY OTHER LEGAL OR EQUITABLE THEORY (I) FOR ANY INDIRECT,
|
||||
// SPECIAL, INCIDENTAL, EXEMPLARY OR CONSEQUENTIAL DAMAGES OF ANY
|
||||
// CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF
|
||||
// GOODWILL, DATA OR PROFIT, WORK STOPPAGE, OR COMPUTER FAILURE OR
|
||||
// MALFUNCTION, OR IN ANY EVENT (II) FOR ANY AMOUNT IN EXCESS, IN
|
||||
// THE AGGREGATE, OF THE FEE PAID BY LICENSEE TO EFINIX HEREUNDER
|
||||
// (OR, IF THE FEE HAS BEEN WAIVED, $100), EVEN IF EFINIX SHALL HAVE
|
||||
// BEEN INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO
|
||||
// NOT ALLOW THE EXCLUSION OR LIMITATION OF INCIDENTAL OR
|
||||
// CONSEQUENTIAL DAMAGES, SO THIS LIMITATION AND EXCLUSION MAY NOT
|
||||
// APPLY TO LICENSEE.
|
||||
//
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
114
fpga/ip/gDMA/gDMA_tmpl.v
Normal file
114
fpga/ip/gDMA/gDMA_tmpl.v
Normal file
@@ -0,0 +1,114 @@
|
||||
// =============================================================================
|
||||
// Generated by efx_ipmgr
|
||||
// Version: 2025.2.272
|
||||
// IP Version: 6.4.2
|
||||
// =============================================================================
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
// Copyright (C) 2013-2025 Efinix Inc. All rights reserved.
|
||||
//
|
||||
// This document contains proprietary information which is
|
||||
// protected by copyright. All rights are reserved. This notice
|
||||
// refers to original work by Efinix, Inc. which may be derivitive
|
||||
// of other work distributed under license of the authors. In the
|
||||
// case of derivative work, nothing in this notice overrides the
|
||||
// original author's license agreement. Where applicable, the
|
||||
// original license agreement is included in it's original
|
||||
// unmodified form immediately below this header.
|
||||
//
|
||||
// WARRANTY DISCLAIMER.
|
||||
// THE DESIGN, CODE, OR INFORMATION ARE PROVIDED “AS IS” AND
|
||||
// EFINIX MAKES NO WARRANTIES, EXPRESS OR IMPLIED WITH
|
||||
// RESPECT THERETO, AND EXPRESSLY DISCLAIMS ANY IMPLIED WARRANTIES,
|
||||
// INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
|
||||
// MERCHANTABILITY, NON-INFRINGEMENT AND FITNESS FOR A PARTICULAR
|
||||
// PURPOSE. SOME STATES DO NOT ALLOW EXCLUSIONS OF AN IMPLIED
|
||||
// WARRANTY, SO THIS DISCLAIMER MAY NOT APPLY TO LICENSEE.
|
||||
//
|
||||
// LIMITATION OF LIABILITY.
|
||||
// NOTWITHSTANDING ANYTHING TO THE CONTRARY, EXCEPT FOR BODILY
|
||||
// INJURY, EFINIX SHALL NOT BE LIABLE WITH RESPECT TO ANY SUBJECT
|
||||
// MATTER OF THIS AGREEMENT UNDER TORT, CONTRACT, STRICT LIABILITY
|
||||
// OR ANY OTHER LEGAL OR EQUITABLE THEORY (I) FOR ANY INDIRECT,
|
||||
// SPECIAL, INCIDENTAL, EXEMPLARY OR CONSEQUENTIAL DAMAGES OF ANY
|
||||
// CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF
|
||||
// GOODWILL, DATA OR PROFIT, WORK STOPPAGE, OR COMPUTER FAILURE OR
|
||||
// MALFUNCTION, OR IN ANY EVENT (II) FOR ANY AMOUNT IN EXCESS, IN
|
||||
// THE AGGREGATE, OF THE FEE PAID BY LICENSEE TO EFINIX HEREUNDER
|
||||
// (OR, IF THE FEE HAS BEEN WAIVED, $100), EVEN IF EFINIX SHALL HAVE
|
||||
// BEEN INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO
|
||||
// NOT ALLOW THE EXCLUSION OR LIMITATION OF INCIDENTAL OR
|
||||
// CONSEQUENTIAL DAMAGES, SO THIS LIMITATION AND EXCLUSION MAY NOT
|
||||
// APPLY TO LICENSEE.
|
||||
//
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
gDMA u_gDMA
|
||||
(
|
||||
.clk ( clk ),
|
||||
.ctrl_reset ( ctrl_reset ),
|
||||
.reset ( reset ),
|
||||
.ctrl_clk ( ctrl_clk ),
|
||||
.ctrl_PADDR ( ctrl_PADDR ),
|
||||
.ctrl_PREADY ( ctrl_PREADY ),
|
||||
.ctrl_PENABLE ( ctrl_PENABLE ),
|
||||
.ctrl_PSEL ( ctrl_PSEL ),
|
||||
.ctrl_PWRITE ( ctrl_PWRITE ),
|
||||
.ctrl_PWDATA ( ctrl_PWDATA ),
|
||||
.ctrl_PRDATA ( ctrl_PRDATA ),
|
||||
.ctrl_PSLVERROR ( ctrl_PSLVERROR ),
|
||||
.ctrl_interrupts ( ctrl_interrupts ),
|
||||
.read_arvalid ( read_arvalid ),
|
||||
.read_araddr ( read_araddr ),
|
||||
.read_arready ( read_arready ),
|
||||
.read_arregion ( read_arregion ),
|
||||
.read_arlen ( read_arlen ),
|
||||
.read_arsize ( read_arsize ),
|
||||
.read_arburst ( read_arburst ),
|
||||
.read_arlock ( read_arlock ),
|
||||
.read_arcache ( read_arcache ),
|
||||
.read_arqos ( read_arqos ),
|
||||
.read_arprot ( read_arprot ),
|
||||
.read_rready ( read_rready ),
|
||||
.read_rvalid ( read_rvalid ),
|
||||
.read_rdata ( read_rdata ),
|
||||
.read_rlast ( read_rlast ),
|
||||
.write_awvalid ( write_awvalid ),
|
||||
.write_awready ( write_awready ),
|
||||
.write_awaddr ( write_awaddr ),
|
||||
.write_awregion ( write_awregion ),
|
||||
.write_awlen ( write_awlen ),
|
||||
.write_awsize ( write_awsize ),
|
||||
.write_awburst ( write_awburst ),
|
||||
.write_awlock ( write_awlock ),
|
||||
.write_awcache ( write_awcache ),
|
||||
.write_awqos ( write_awqos ),
|
||||
.write_awprot ( write_awprot ),
|
||||
.write_wvalid ( write_wvalid ),
|
||||
.write_wready ( write_wready ),
|
||||
.write_wdata ( write_wdata ),
|
||||
.write_wstrb ( write_wstrb ),
|
||||
.write_wlast ( write_wlast ),
|
||||
.write_bvalid ( write_bvalid ),
|
||||
.write_bready ( write_bready ),
|
||||
.write_bresp ( write_bresp ),
|
||||
.dat1_o_tvalid ( dat1_o_tvalid ),
|
||||
.dat1_o_tready ( dat1_o_tready ),
|
||||
.dat1_o_tdata ( dat1_o_tdata ),
|
||||
.dat1_o_tkeep ( dat1_o_tkeep ),
|
||||
.dat1_o_tdest ( dat1_o_tdest ),
|
||||
.dat1_o_tlast ( dat1_o_tlast ),
|
||||
.io_0_descriptorUpdate ( io_0_descriptorUpdate ),
|
||||
.dat1_o_clk ( dat1_o_clk ),
|
||||
.dat1_o_reset ( dat1_o_reset ),
|
||||
.dat0_i_clk ( dat0_i_clk ),
|
||||
.dat0_i_reset ( dat0_i_reset ),
|
||||
.dat0_i_tvalid ( dat0_i_tvalid ),
|
||||
.dat0_i_tready ( dat0_i_tready ),
|
||||
.dat0_i_tdata ( dat0_i_tdata ),
|
||||
.dat0_i_tkeep ( dat0_i_tkeep ),
|
||||
.dat0_i_tdest ( dat0_i_tdest ),
|
||||
.dat0_i_tlast ( dat0_i_tlast ),
|
||||
.read_rresp ( read_rresp ),
|
||||
.io_1_descriptorUpdate ( io_1_descriptorUpdate )
|
||||
);
|
||||
183
fpga/ip/gDMA/gDMA_tmpl.vhd
Normal file
183
fpga/ip/gDMA/gDMA_tmpl.vhd
Normal file
@@ -0,0 +1,183 @@
|
||||
--------------------------------------------------------------------------------
|
||||
-- Copyright (C) 2013-2025 Efinix Inc. All rights reserved.
|
||||
--
|
||||
-- This document contains proprietary information which is
|
||||
-- protected by copyright. All rights are reserved. This notice
|
||||
-- refers to original work by Efinix, Inc. which may be derivitive
|
||||
-- of other work distributed under license of the authors. In the
|
||||
-- case of derivative work, nothing in this notice overrides the
|
||||
-- original author's license agreement. Where applicable, the
|
||||
-- original license agreement is included in it's original
|
||||
-- unmodified form immediately below this header.
|
||||
--
|
||||
-- WARRANTY DISCLAIMER.
|
||||
-- THE DESIGN, CODE, OR INFORMATION ARE PROVIDED “AS IS” AND
|
||||
-- EFINIX MAKES NO WARRANTIES, EXPRESS OR IMPLIED WITH
|
||||
-- RESPECT THERETO, AND EXPRESSLY DISCLAIMS ANY IMPLIED WARRANTIES,
|
||||
-- INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
|
||||
-- MERCHANTABILITY, NON-INFRINGEMENT AND FITNESS FOR A PARTICULAR
|
||||
-- PURPOSE. SOME STATES DO NOT ALLOW EXCLUSIONS OF AN IMPLIED
|
||||
-- WARRANTY, SO THIS DISCLAIMER MAY NOT APPLY TO LICENSEE.
|
||||
--
|
||||
-- LIMITATION OF LIABILITY.
|
||||
-- NOTWITHSTANDING ANYTHING TO THE CONTRARY, EXCEPT FOR BODILY
|
||||
-- INJURY, EFINIX SHALL NOT BE LIABLE WITH RESPECT TO ANY SUBJECT
|
||||
-- MATTER OF THIS AGREEMENT UNDER TORT, CONTRACT, STRICT LIABILITY
|
||||
-- OR ANY OTHER LEGAL OR EQUITABLE THEORY (I) FOR ANY INDIRECT,
|
||||
-- SPECIAL, INCIDENTAL, EXEMPLARY OR CONSEQUENTIAL DAMAGES OF ANY
|
||||
-- CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF
|
||||
-- GOODWILL, DATA OR PROFIT, WORK STOPPAGE, OR COMPUTER FAILURE OR
|
||||
-- MALFUNCTION, OR IN ANY EVENT (II) FOR ANY AMOUNT IN EXCESS, IN
|
||||
-- THE AGGREGATE, OF THE FEE PAID BY LICENSEE TO EFINIX HEREUNDER
|
||||
-- (OR, IF THE FEE HAS BEEN WAIVED, $100), EVEN IF EFINIX SHALL HAVE
|
||||
-- BEEN INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO
|
||||
-- NOT ALLOW THE EXCLUSION OR LIMITATION OF INCIDENTAL OR
|
||||
-- CONSEQUENTIAL DAMAGES, SO THIS LIMITATION AND EXCLUSION MAY NOT
|
||||
-- APPLY TO LICENSEE.
|
||||
--
|
||||
--------------------------------------------------------------------------------
|
||||
------------- Begin Cut here for COMPONENT Declaration ------
|
||||
component gDMA is
|
||||
port (
|
||||
clk : in std_logic;
|
||||
ctrl_reset : in std_logic;
|
||||
reset : in std_logic;
|
||||
ctrl_clk : in std_logic;
|
||||
ctrl_PADDR : in std_logic_vector(13 downto 0);
|
||||
ctrl_PREADY : out std_logic;
|
||||
ctrl_PENABLE : in std_logic;
|
||||
ctrl_PSEL : in std_logic;
|
||||
ctrl_PWRITE : in std_logic;
|
||||
ctrl_PWDATA : in std_logic_vector(31 downto 0);
|
||||
ctrl_PRDATA : out std_logic_vector(31 downto 0);
|
||||
ctrl_PSLVERROR : out std_logic;
|
||||
ctrl_interrupts : out std_logic_vector(1 downto 0);
|
||||
read_arvalid : out std_logic;
|
||||
read_araddr : out std_logic_vector(31 downto 0);
|
||||
read_arready : in std_logic;
|
||||
read_arregion : out std_logic_vector(3 downto 0);
|
||||
read_arlen : out std_logic_vector(7 downto 0);
|
||||
read_arsize : out std_logic_vector(2 downto 0);
|
||||
read_arburst : out std_logic_vector(1 downto 0);
|
||||
read_arlock : out std_logic;
|
||||
read_arcache : out std_logic_vector(3 downto 0);
|
||||
read_arqos : out std_logic_vector(3 downto 0);
|
||||
read_arprot : out std_logic_vector(2 downto 0);
|
||||
read_rready : out std_logic;
|
||||
read_rvalid : in std_logic;
|
||||
read_rdata : in std_logic_vector(127 downto 0);
|
||||
read_rlast : in std_logic;
|
||||
write_awvalid : out std_logic;
|
||||
write_awready : in std_logic;
|
||||
write_awaddr : out std_logic_vector(31 downto 0);
|
||||
write_awregion : out std_logic_vector(3 downto 0);
|
||||
write_awlen : out std_logic_vector(7 downto 0);
|
||||
write_awsize : out std_logic_vector(2 downto 0);
|
||||
write_awburst : out std_logic_vector(1 downto 0);
|
||||
write_awlock : out std_logic;
|
||||
write_awcache : out std_logic_vector(3 downto 0);
|
||||
write_awqos : out std_logic_vector(3 downto 0);
|
||||
write_awprot : out std_logic_vector(2 downto 0);
|
||||
write_wvalid : out std_logic;
|
||||
write_wready : in std_logic;
|
||||
write_wdata : out std_logic_vector(127 downto 0);
|
||||
write_wstrb : out std_logic_vector(15 downto 0);
|
||||
write_wlast : out std_logic;
|
||||
write_bvalid : in std_logic;
|
||||
write_bready : out std_logic;
|
||||
write_bresp : in std_logic_vector(1 downto 0);
|
||||
dat1_o_tvalid : out std_logic;
|
||||
dat1_o_tready : in std_logic;
|
||||
dat1_o_tdata : out std_logic_vector(7 downto 0);
|
||||
dat1_o_tkeep : out std_logic_vector(0 to 0);
|
||||
dat1_o_tdest : out std_logic_vector(3 downto 0);
|
||||
dat1_o_tlast : out std_logic;
|
||||
io_0_descriptorUpdate : out std_logic;
|
||||
dat1_o_clk : in std_logic;
|
||||
dat1_o_reset : in std_logic;
|
||||
dat0_i_clk : in std_logic;
|
||||
dat0_i_reset : in std_logic;
|
||||
dat0_i_tvalid : in std_logic;
|
||||
dat0_i_tready : out std_logic;
|
||||
dat0_i_tdata : in std_logic_vector(7 downto 0);
|
||||
dat0_i_tkeep : in std_logic_vector(0 to 0);
|
||||
dat0_i_tdest : in std_logic_vector(3 downto 0);
|
||||
dat0_i_tlast : in std_logic;
|
||||
read_rresp : in std_logic_vector(1 downto 0);
|
||||
io_1_descriptorUpdate : out std_logic
|
||||
);
|
||||
end component gDMA;
|
||||
|
||||
---------------------- End COMPONENT Declaration ------------
|
||||
------------- Begin Cut here for INSTANTIATION Template -----
|
||||
u_gDMA : gDMA
|
||||
port map (
|
||||
clk => clk,
|
||||
ctrl_reset => ctrl_reset,
|
||||
reset => reset,
|
||||
ctrl_clk => ctrl_clk,
|
||||
ctrl_PADDR => ctrl_PADDR,
|
||||
ctrl_PREADY => ctrl_PREADY,
|
||||
ctrl_PENABLE => ctrl_PENABLE,
|
||||
ctrl_PSEL => ctrl_PSEL,
|
||||
ctrl_PWRITE => ctrl_PWRITE,
|
||||
ctrl_PWDATA => ctrl_PWDATA,
|
||||
ctrl_PRDATA => ctrl_PRDATA,
|
||||
ctrl_PSLVERROR => ctrl_PSLVERROR,
|
||||
ctrl_interrupts => ctrl_interrupts,
|
||||
read_arvalid => read_arvalid,
|
||||
read_araddr => read_araddr,
|
||||
read_arready => read_arready,
|
||||
read_arregion => read_arregion,
|
||||
read_arlen => read_arlen,
|
||||
read_arsize => read_arsize,
|
||||
read_arburst => read_arburst,
|
||||
read_arlock => read_arlock,
|
||||
read_arcache => read_arcache,
|
||||
read_arqos => read_arqos,
|
||||
read_arprot => read_arprot,
|
||||
read_rready => read_rready,
|
||||
read_rvalid => read_rvalid,
|
||||
read_rdata => read_rdata,
|
||||
read_rlast => read_rlast,
|
||||
write_awvalid => write_awvalid,
|
||||
write_awready => write_awready,
|
||||
write_awaddr => write_awaddr,
|
||||
write_awregion => write_awregion,
|
||||
write_awlen => write_awlen,
|
||||
write_awsize => write_awsize,
|
||||
write_awburst => write_awburst,
|
||||
write_awlock => write_awlock,
|
||||
write_awcache => write_awcache,
|
||||
write_awqos => write_awqos,
|
||||
write_awprot => write_awprot,
|
||||
write_wvalid => write_wvalid,
|
||||
write_wready => write_wready,
|
||||
write_wdata => write_wdata,
|
||||
write_wstrb => write_wstrb,
|
||||
write_wlast => write_wlast,
|
||||
write_bvalid => write_bvalid,
|
||||
write_bready => write_bready,
|
||||
write_bresp => write_bresp,
|
||||
dat1_o_tvalid => dat1_o_tvalid,
|
||||
dat1_o_tready => dat1_o_tready,
|
||||
dat1_o_tdata => dat1_o_tdata,
|
||||
dat1_o_tkeep => dat1_o_tkeep,
|
||||
dat1_o_tdest => dat1_o_tdest,
|
||||
dat1_o_tlast => dat1_o_tlast,
|
||||
io_0_descriptorUpdate => io_0_descriptorUpdate,
|
||||
dat1_o_clk => dat1_o_clk,
|
||||
dat1_o_reset => dat1_o_reset,
|
||||
dat0_i_clk => dat0_i_clk,
|
||||
dat0_i_reset => dat0_i_reset,
|
||||
dat0_i_tvalid => dat0_i_tvalid,
|
||||
dat0_i_tready => dat0_i_tready,
|
||||
dat0_i_tdata => dat0_i_tdata,
|
||||
dat0_i_tkeep => dat0_i_tkeep,
|
||||
dat0_i_tdest => dat0_i_tdest,
|
||||
dat0_i_tlast => dat0_i_tlast,
|
||||
read_rresp => read_rresp,
|
||||
io_1_descriptorUpdate => io_1_descriptorUpdate
|
||||
);
|
||||
|
||||
------------------------ End INSTANTIATION Template ---------
|
||||
BIN
fpga/ip/gDMA/ipm/component.pickle
Normal file
BIN
fpga/ip/gDMA/ipm/component.pickle
Normal file
Binary file not shown.
BIN
fpga/ip/gDMA/ipm/graph.pickle
Normal file
BIN
fpga/ip/gDMA/ipm/graph.pickle
Normal file
Binary file not shown.
126
fpga/ip/gDMA/settings.json
Normal file
126
fpga/ip/gDMA/settings.json
Normal file
@@ -0,0 +1,126 @@
|
||||
{
|
||||
"args": [
|
||||
"-o",
|
||||
"gDMA",
|
||||
"--base_path",
|
||||
"/projects/SSE/llching/repo/efx_IP_master/efx_IP/efx_hard_soc/fpga/Ti375C529_devkit/ip",
|
||||
"--vlnv",
|
||||
{
|
||||
"vendor": "efinixinc.com",
|
||||
"library": "bridges_and_adaptors",
|
||||
"name": "efx_dma",
|
||||
"version": "6.4.2"
|
||||
}
|
||||
],
|
||||
"conf": {
|
||||
"PriorityEncode": "1'b0",
|
||||
"WrQueue": "1'b0",
|
||||
"CTRL_ASYNC_MODE": "1'b1",
|
||||
"EfinixDDR": "1'b0",
|
||||
"RdQueue": "1'b0",
|
||||
"BufferWidth": "64",
|
||||
"BufferWords": "512",
|
||||
"MemExtWidth": "128",
|
||||
"CH0_SGMode": "1'b1",
|
||||
"CH0_Output": "1'b0",
|
||||
"CH0_Input": "1'b1",
|
||||
"CH4_Input": "1'b1",
|
||||
"CH4_Width": "32",
|
||||
"CH4_Output": "1'b1",
|
||||
"CH4_SGMode": "1'b0",
|
||||
"CH4_SR": "1'b0",
|
||||
"CH5_BurstSize": "64",
|
||||
"CH5_BufferSize": "1024",
|
||||
"CH5_SR": "1'b0",
|
||||
"CH6_Output": "1'b1",
|
||||
"CH6_SGMode": "1'b0",
|
||||
"CH6_SR": "1'b0",
|
||||
"CH7_Output": "1'b1",
|
||||
"CH7_SGMode": "1'b0",
|
||||
"CH7_SR": "1'b0",
|
||||
"CH7_Input": "1'b1",
|
||||
"CH7_Width": "32",
|
||||
"CH7_BurstSize": "64",
|
||||
"CH7_BufferSize": "1024",
|
||||
"CH6_Width": "32",
|
||||
"CH6_Input": "1'b1",
|
||||
"CH6_BurstSize": "64",
|
||||
"CH6_BufferSize": "1024",
|
||||
"CH5_Width": "32",
|
||||
"CH5_Output": "1'b1",
|
||||
"CH5_SGMode": "1'b0",
|
||||
"CH5_Input": "1'b1",
|
||||
"CH4_BurstSize": "64",
|
||||
"CH4_BufferSize": "1024",
|
||||
"CH3_SR": "1'b0",
|
||||
"CH3_SGMode": "1'b0",
|
||||
"CH3_Output": "1'b1",
|
||||
"CH3_Width": "32",
|
||||
"CH3_Input": "1'b1",
|
||||
"CH3_BufferSize": "1024",
|
||||
"CH3_BurstSize": "64",
|
||||
"BufferCount": "2",
|
||||
"CH0_Enable": "1'b1",
|
||||
"CH1_Enable": "1'b1",
|
||||
"CH1_AsyncMode": "1'b1",
|
||||
"CH6_AsyncMode": "1'b0",
|
||||
"CH5_AsyncMode": "1'b0",
|
||||
"CH7_AsyncMode": "1'b0",
|
||||
"CH0_AsyncMode": "1'b1",
|
||||
"CH3_AsyncMode": "1'b0",
|
||||
"CH2_AsyncMode": "1'b0",
|
||||
"CH4_AsyncMode": "1'b0",
|
||||
"CH0_BufferSize": "4096",
|
||||
"CH0_BurstSize": "1024",
|
||||
"CH0_SR": "1'b0",
|
||||
"CH0_Width": "8",
|
||||
"CH1_Input": "1'b0",
|
||||
"CH1_Width": "8",
|
||||
"CH1_Output": "1'b1",
|
||||
"CH1_SGMode": "1'b1",
|
||||
"CH1_SR": "1'b0",
|
||||
"CH2_BufferSize": "1024",
|
||||
"CH2_BurstSize": "64",
|
||||
"CH2_Width": "32",
|
||||
"CH2_SR": "1'b0",
|
||||
"CH2_SGMode": "1'b0",
|
||||
"CH2_Output": "1'b1",
|
||||
"CH2_Input": "1'b1",
|
||||
"CH1_BufferSize": "4096",
|
||||
"CH1_BurstSize": "1024",
|
||||
"CH2_Enable_user": "1'b0",
|
||||
"CH2_Enable_default": "1'b0",
|
||||
"CH3_Enable_default": "1'b0",
|
||||
"CH3_Enable_user": "1'b0",
|
||||
"CH4_Enable_default": "1'b0",
|
||||
"CH4_Enable_user": "1'b0",
|
||||
"CH5_Enable_user": "1'b0",
|
||||
"CH5_Enable_default": "1'b0",
|
||||
"CH6_Enable_user": "1'b0",
|
||||
"CH6_Enable_default": "1'b0",
|
||||
"CH7_Enable_user": "1'b0",
|
||||
"CH7_Enable_default": "1'b0",
|
||||
"CustomSGBus": "1'b0",
|
||||
"CH0_MemMode": "1'b0",
|
||||
"CH1_MemMode": "1'b0",
|
||||
"CH2_MemMode": "1'b0",
|
||||
"CH3_MemMode": "1'b0",
|
||||
"CH4_MemMode": "1'b0",
|
||||
"CH5_MemMode": "1'b0",
|
||||
"CH6_MemMode": "1'b0",
|
||||
"CH7_MemMode": "1'b0"
|
||||
},
|
||||
"output": {
|
||||
"external_script_generator": [],
|
||||
"external_source_source": [
|
||||
"gDMA/gDMA_define.vh",
|
||||
"gDMA/gDMA.v",
|
||||
"gDMA/gDMA_tmpl.v",
|
||||
"gDMA/gDMA_tmpl.vhd"
|
||||
],
|
||||
"external_script_script": []
|
||||
},
|
||||
"ooc_synthesis": {},
|
||||
"sw_version": "2025.2.272",
|
||||
"generated_date": "2025-10-16T09:35:15.778966+00:00"
|
||||
}
|
||||
11449
fpga/ip/gDMA/source/EfxDMA.v
Normal file
11449
fpga/ip/gDMA/source/EfxDMA.v
Normal file
File diff suppressed because it is too large
Load Diff
71
fpga/ip/gDMA/source/dma_config.json
Normal file
71
fpga/ip/gDMA/source/dma_config.json
Normal file
@@ -0,0 +1,71 @@
|
||||
{
|
||||
"name": "EfxDMA",
|
||||
"efinix_ddr": false,
|
||||
"with_sg_bus": false,
|
||||
"with_ddr_write_queue": false,
|
||||
"with_ddr_read_queue": false,
|
||||
"ctrl": {
|
||||
"asynchronous": true
|
||||
},
|
||||
"buffer": {
|
||||
"bank_count": 2,
|
||||
"bank_width": 64,
|
||||
"bank_words": 512
|
||||
},
|
||||
"read": {
|
||||
"address_width": 32,
|
||||
"data_width_external": 128,
|
||||
"data_width_internal": 128
|
||||
},
|
||||
"write": {
|
||||
"address_width": 32,
|
||||
"data_width_external": 128,
|
||||
"data_width_internal": 128
|
||||
},
|
||||
"channels": {
|
||||
"c0": {
|
||||
"progress_probe": true,
|
||||
"direct_ctrl_capable": true,
|
||||
"linked_list_capable": true,
|
||||
"memory_to_memory": false,
|
||||
"inputs": [
|
||||
"dat0_i"
|
||||
],
|
||||
"half_completion_interrupt": false,
|
||||
"self_restart_capable": false,
|
||||
"bytes_per_burst": 1024,
|
||||
"buffer_address": 0,
|
||||
"buffer_size": 4096
|
||||
},
|
||||
"c1": {
|
||||
"progress_probe": true,
|
||||
"direct_ctrl_capable": true,
|
||||
"linked_list_capable": true,
|
||||
"memory_to_memory": false,
|
||||
"outputs": [
|
||||
"dat1_o"
|
||||
],
|
||||
"half_completion_interrupt": false,
|
||||
"self_restart_capable": false,
|
||||
"bytes_per_burst": 1024,
|
||||
"buffer_address": 4096,
|
||||
"buffer_size": 4096
|
||||
}
|
||||
},
|
||||
"inputs": {
|
||||
"dat0_i": {
|
||||
"data_width": 8,
|
||||
"tid_width": 0,
|
||||
"tdest_width": 4,
|
||||
"asynchronous": true
|
||||
}
|
||||
},
|
||||
"outputs": {
|
||||
"dat1_o": {
|
||||
"data_width": 8,
|
||||
"tid_width": 0,
|
||||
"tdest_width": 4,
|
||||
"asynchronous": true
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user