daq2: Update A10GX project, with the latest changes.

Works with up to 64k samples
main
Adrian Costina 2015-11-04 14:54:09 +02:00
parent 83399ef6ee
commit e36f27b061
3 changed files with 259 additions and 95 deletions

View File

@ -374,16 +374,22 @@
internal="a10gx_base.sys_ethernet_sgmii"
type="conduit"
dir="end" />
<interface
name="a10gx_base_sys_gpio"
internal="a10gx_base.sys_gpio"
type="conduit"
dir="end" />
<interface name="a10gx_base_sys_gpio" internal="a10gx_base.sys_gpio" />
<interface
name="a10gx_base_sys_gpio_bd"
internal="a10gx_base.sys_gpio_bd"
type="conduit"
dir="end" />
<interface
name="a10gx_base_sys_gpio_in"
internal="a10gx_base.sys_gpio_in"
type="conduit"
dir="end" />
<interface
name="a10gx_base_sys_gpio_out"
internal="a10gx_base.sys_gpio_out"
type="conduit"
dir="end" />
<interface
name="a10gx_base_sys_spi"
internal="a10gx_base.sys_spi"
@ -452,7 +458,7 @@
<parameter name="AUTO_DEVICE_SPEEDGRADE" value="2" />
<parameter name="AUTO_GENERATION_ID" value="0" />
<parameter name="AUTO_MEM_CLK_CLOCK_DOMAIN" value="8" />
<parameter name="AUTO_MEM_CLK_CLOCK_RATE" value="133332500" />
<parameter name="AUTO_MEM_CLK_CLOCK_RATE" value="133333250" />
<parameter name="AUTO_MEM_CLK_RESET_DOMAIN" value="8" />
<parameter name="AUTO_RX_REF_CLK_CLOCK_DOMAIN" value="4" />
<parameter name="AUTO_RX_REF_CLK_CLOCK_RATE" value="0" />

View File

@ -1,9 +1,9 @@
// ***************************************************************************
// ***************************************************************************
// Copyright 2011(c) Analog Devices, Inc.
//
//
// All rights reserved.
//
//
// Redistribution and use in source and binary forms, with or without modification,
// are permitted provided that the following conditions are met:
// - Redistributions of source code must retain the above copyright
@ -21,16 +21,16 @@
// patent holders to use this software.
// - Use of the software either in source or binary form, must be run
// on or directly connected to an Analog Devices Inc. component.
//
//
// THIS SOFTWARE IS PROVIDED BY ANALOG DEVICES "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
// INCLUDING, BUT NOT LIMITED TO, NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS FOR A
// PARTICULAR PURPOSE ARE DISCLAIMED.
//
// IN NO EVENT SHALL ANALOG DEVICES BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, INTELLECTUAL PROPERTY
// RIGHTS, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
// RIGHTS, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
// BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
// STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF
// STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF
// THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
// ***************************************************************************
// ***************************************************************************
@ -163,14 +163,14 @@ module system_top (
// gpio
input trig;
inout adc_fdb;
inout adc_fda;
inout dac_irq;
inout [ 1:0] clkd_status;
inout adc_pd;
inout dac_txen;
inout dac_reset;
inout clkd_sync;
input adc_fdb;
input adc_fda;
input dac_irq;
input [ 1:0] clkd_status;
output adc_pd;
output dac_txen;
output dac_reset;
output clkd_sync;
// spi
@ -187,8 +187,8 @@ module system_top (
wire eth_mdio_i;
wire eth_mdio_o;
wire eth_mdio_t;
wire [ 63:0] gpio_i;
wire [ 63:0] gpio_o;
wire [ 31:0] gpio_i;
wire [ 31:0] gpio_o;
wire spi_miso_s;
wire spi_mosi_s;
wire [ 7:0] spi_csn_s;
@ -207,24 +207,6 @@ module system_top (
.spi_sdio (spi_sdio),
.spi_dir (spi_dir));
assign gpio_i[63:44] = gpio_o[63:44];
assign gpio_i[43:43] = trig;
assign gpio_i[39:39] = gpio_o[39:39];
assign gpio_i[37:37] = gpio_o[37:37];
ad_iobuf #(.DATA_WIDTH(9)) i_iobuf (
.dio_t ({3'h0, 1'h0, 5'h1f}),
.dio_i ({gpio_o[42:40], gpio_o[38], gpio_o[36:32]}),
.dio_o ({gpio_i[42:40], gpio_i[38], gpio_i[36:32]}),
.dio_p ({ adc_pd, // 42
dac_txen, // 41
dac_reset, // 40
clkd_sync, // 38
adc_fdb, // 36
adc_fda, // 35
dac_irq, // 34
clkd_status})); // 32
// board stuff
assign eth_resetn = ~eth_reset;
@ -264,11 +246,11 @@ module system_top (
.a10gx_base_sys_ethernet_mdio_mdio_out (eth_mdio_o),
.a10gx_base_sys_ethernet_mdio_mdio_oen (eth_mdio_t),
.a10gx_base_sys_ethernet_ref_clk_clk (eth_ref_clk),
.a10gx_base_sys_ethernet_reset_reset (eth_reset),
.a10gx_base_sys_ethernet_reset_reset (eth_reset),
.a10gx_base_sys_ethernet_sgmii_rxp_0 (eth_rxd),
.a10gx_base_sys_ethernet_sgmii_txp_0 (eth_txd),
.a10gx_base_sys_gpio_in_port (gpio_i[63:32]),
.a10gx_base_sys_gpio_out_port (gpio_o[63:32]),
.a10gx_base_sys_gpio_in_export ({trig, adc_fdb, adc_fda, dac_irq, clkd_status[1], clkd_status[0]}),
.a10gx_base_sys_gpio_out_export ({adc_pd, dac_txen, dac_reset, clkd_sync}),
.a10gx_base_sys_gpio_bd_in_port (gpio_i[31:0]),
.a10gx_base_sys_gpio_bd_out_port (gpio_o[31:0]),
.a10gx_base_sys_spi_MISO (spi_miso_s),

View File

@ -17,11 +17,19 @@
type = "String";
}
}
element ad9680_adcfifo
{
datum _sortIndex
{
value = "9";
type = "int";
}
}
element axi_ad9144_core
{
datum _sortIndex
{
value = "13";
value = "14";
type = "int";
}
}
@ -37,7 +45,7 @@
{
datum _sortIndex
{
value = "11";
value = "12";
type = "int";
}
}
@ -53,7 +61,7 @@
{
datum _sortIndex
{
value = "10";
value = "11";
type = "int";
}
}
@ -90,7 +98,7 @@
{
datum _sortIndex
{
value = "14";
value = "15";
type = "int";
}
}
@ -222,6 +230,126 @@
type = "String";
}
}
element daq2_bd
{
datum _originalDeviceFamily
{
value = "Arria 10";
type = "String";
}
}
element daq2_bd
{
datum _originalDeviceFamily
{
value = "Arria 10";
type = "String";
}
}
element daq2_bd
{
datum _originalDeviceFamily
{
value = "Arria 10";
type = "String";
}
}
element daq2_bd
{
datum _originalDeviceFamily
{
value = "Arria 10";
type = "String";
}
}
element daq2_bd
{
datum _originalDeviceFamily
{
value = "Arria 10";
type = "String";
}
}
element daq2_bd
{
datum _originalDeviceFamily
{
value = "Arria 10";
type = "String";
}
}
element daq2_bd
{
datum _originalDeviceFamily
{
value = "Arria 10";
type = "String";
}
}
element daq2_bd
{
datum _originalDeviceFamily
{
value = "Arria 10";
type = "String";
}
}
element daq2_bd
{
datum _originalDeviceFamily
{
value = "Arria 10";
type = "String";
}
}
element daq2_bd
{
datum _originalDeviceFamily
{
value = "Arria 10";
type = "String";
}
}
element daq2_bd
{
datum _originalDeviceFamily
{
value = "Arria 10";
type = "String";
}
}
element daq2_bd
{
datum _originalDeviceFamily
{
value = "Arria 10";
type = "String";
}
}
element daq2_bd
{
datum _originalDeviceFamily
{
value = "Arria 10";
type = "String";
}
}
element daq2_bd
{
datum _originalDeviceFamily
{
value = "Arria 10";
type = "String";
}
}
element daq2_bd
{
datum _originalDeviceFamily
{
value = "Arria 10";
type = "String";
}
}
element mem_clk
{
datum _sortIndex
@ -458,7 +586,7 @@
{
datum _sortIndex
{
value = "9";
value = "10";
type = "int";
}
}
@ -466,7 +594,7 @@
{
datum _sortIndex
{
value = "12";
value = "13";
type = "int";
}
}
@ -474,7 +602,7 @@
{
datum _sortIndex
{
value = "17";
value = "18";
type = "int";
}
}
@ -482,7 +610,7 @@
{
datum _sortIndex
{
value = "15";
value = "16";
type = "int";
}
}
@ -506,7 +634,7 @@
{
datum _sortIndex
{
value = "16";
value = "17";
type = "int";
}
}
@ -540,7 +668,7 @@
<parameter name="hideFromIPCatalog" value="false" />
<parameter name="lockedInterfaceDefinition" value="" />
<parameter name="maxAdditionalLatency" value="2" />
<parameter name="projectName" value="" />
<parameter name="projectName" value="daq2_a10gx.qpf" />
<parameter name="sopcBorderPoints" value="false" />
<parameter name="systemHash" value="0" />
<parameter name="testBenchDutName" value="" />
@ -637,6 +765,12 @@
internal="axi_jesd_xcvr.if_tx_ext_sysref_in"
type="conduit"
dir="end" />
<module name="ad9680_adcfifo" kind="util_adcfifo" version="1.0" enabled="1">
<parameter name="ADC_DATA_WIDTH" value="128" />
<parameter name="DMA_ADDRESS_WIDTH" value="16" />
<parameter name="DMA_DATA_WIDTH" value="128" />
<parameter name="DMA_READY_ENABLE" value="1" />
</module>
<module name="axi_ad9144_core" kind="axi_ad9144" version="1.0" enabled="1">
<parameter name="ID" value="0" />
<parameter name="QUAD_OR_DUAL_N" value="0" />
@ -668,15 +802,15 @@
<parameter name="AXI_SLICE_DEST" value="0" />
<parameter name="AXI_SLICE_SRC" value="0" />
<parameter name="CYCLIC" value="0" />
<parameter name="DMA_2D_TRANSFER" value="1" />
<parameter name="DMA_2D_TRANSFER" value="0" />
<parameter name="DMA_DATA_WIDTH_DEST" value="128" />
<parameter name="DMA_DATA_WIDTH_SRC" value="128" />
<parameter name="DMA_LENGTH_WIDTH" value="14" />
<parameter name="DMA_LENGTH_WIDTH" value="24" />
<parameter name="DMA_TYPE_DEST" value="0" />
<parameter name="DMA_TYPE_SRC" value="2" />
<parameter name="DMA_TYPE_SRC" value="1" />
<parameter name="FIFO_SIZE" value="4" />
<parameter name="ID" value="0" />
<parameter name="SYNC_TRANSFER_START" value="0" />
<parameter name="SYNC_TRANSFER_START" value="1" />
</module>
<module name="axi_jesd_xcvr" kind="axi_jesd_xcvr" version="1.0" enabled="1">
<parameter name="DEVICE_TYPE" value="0" />
@ -1463,6 +1597,16 @@
version="15.0"
start="sys_clk.out_clk"
end="xcvr_rst_cntrl.clock" />
<connection
kind="clock"
version="15.0"
start="mem_clk.out_clk"
end="ad9680_adcfifo.if_dma_clk" />
<connection
kind="clock"
version="15.0"
start="mem_clk.out_clk"
end="axi_ad9680_dma.if_s_axis_aclk" />
<connection
kind="clock"
version="15.0"
@ -1533,6 +1677,11 @@
version="15.0"
start="xcvr_rx_pll.outclk0"
end="util_cpack_0.if_adc_clk" />
<connection
kind="clock"
version="15.0"
start="xcvr_rx_pll.outclk0"
end="ad9680_adcfifo.if_adc_clk" />
<connection
kind="clock"
version="15.0"
@ -1543,11 +1692,6 @@
version="15.0"
start="xcvr_tx_pll.outclk0"
end="axi_ad9144_dma.if_fifo_rd_clk" />
<connection
kind="clock"
version="15.0"
start="xcvr_rx_pll.outclk0"
end="axi_ad9680_dma.if_fifo_wr_clk" />
<connection
kind="clock"
version="15.0"
@ -1589,6 +1733,17 @@
<parameter name="startPortLSB" value="0" />
<parameter name="width" value="0" />
</connection>
<connection
kind="conduit"
version="15.0"
start="util_cpack_0.if_adc_data"
end="ad9680_adcfifo.if_adc_wdata">
<parameter name="endPort" value="" />
<parameter name="endPortLSB" value="0" />
<parameter name="startPort" value="" />
<parameter name="startPortLSB" value="0" />
<parameter name="width" value="0" />
</connection>
<connection
kind="conduit"
version="15.0"
@ -1611,17 +1766,6 @@
<parameter name="startPortLSB" value="0" />
<parameter name="width" value="0" />
</connection>
<connection
kind="conduit"
version="15.0"
start="axi_ad9680_core.if_adc_dovf"
end="axi_ad9680_dma.if_fifo_wr_overflow">
<parameter name="endPort" value="" />
<parameter name="endPortLSB" value="0" />
<parameter name="startPort" value="" />
<parameter name="startPortLSB" value="0" />
<parameter name="width" value="0" />
</connection>
<connection
kind="conduit"
version="15.0"
@ -1644,22 +1788,11 @@
<parameter name="startPortLSB" value="0" />
<parameter name="width" value="0" />
</connection>
<connection
kind="conduit"
version="15.0"
start="util_cpack_0.if_adc_sync"
end="axi_ad9680_dma.if_fifo_wr_sync">
<parameter name="endPort" value="" />
<parameter name="endPortLSB" value="0" />
<parameter name="startPort" value="" />
<parameter name="startPortLSB" value="0" />
<parameter name="width" value="0" />
</connection>
<connection
kind="conduit"
version="15.0"
start="util_cpack_0.if_adc_valid"
end="axi_ad9680_dma.if_fifo_wr_en">
end="ad9680_adcfifo.if_adc_wr">
<parameter name="endPort" value="" />
<parameter name="endPortLSB" value="0" />
<parameter name="startPort" value="" />
@ -1765,6 +1898,50 @@
<parameter name="startPortLSB" value="0" />
<parameter name="width" value="0" />
</connection>
<connection
kind="conduit"
version="15.0"
start="ad9680_adcfifo.if_dma_wdata"
end="axi_ad9680_dma.if_s_axis_data">
<parameter name="endPort" value="" />
<parameter name="endPortLSB" value="0" />
<parameter name="startPort" value="" />
<parameter name="startPortLSB" value="0" />
<parameter name="width" value="0" />
</connection>
<connection
kind="conduit"
version="15.0"
start="ad9680_adcfifo.if_dma_wr"
end="axi_ad9680_dma.if_s_axis_valid">
<parameter name="endPort" value="" />
<parameter name="endPortLSB" value="0" />
<parameter name="startPort" value="" />
<parameter name="startPortLSB" value="0" />
<parameter name="width" value="0" />
</connection>
<connection
kind="conduit"
version="15.0"
start="ad9680_adcfifo.if_dma_wready"
end="axi_ad9680_dma.if_s_axis_ready">
<parameter name="endPort" value="" />
<parameter name="endPortLSB" value="0" />
<parameter name="startPort" value="" />
<parameter name="startPortLSB" value="0" />
<parameter name="width" value="0" />
</connection>
<connection
kind="conduit"
version="15.0"
start="ad9680_adcfifo.if_dma_xfer_req"
end="axi_ad9680_dma.if_s_axis_xfer_req">
<parameter name="endPort" value="" />
<parameter name="endPortLSB" value="0" />
<parameter name="startPort" value="" />
<parameter name="startPortLSB" value="0" />
<parameter name="width" value="0" />
</connection>
<connection
kind="conduit"
version="15.0"
@ -1787,17 +1964,6 @@
<parameter name="startPortLSB" value="0" />
<parameter name="width" value="0" />
</connection>
<connection
kind="conduit"
version="15.0"
start="axi_ad9680_dma.if_fifo_wr_din"
end="util_cpack_0.if_adc_data">
<parameter name="endPort" value="" />
<parameter name="endPortLSB" value="0" />
<parameter name="startPort" value="" />
<parameter name="startPortLSB" value="0" />
<parameter name="width" value="0" />
</connection>
<connection
kind="conduit"
version="15.0"
@ -2073,6 +2239,16 @@
version="15.0"
start="mem_rst.out_reset"
end="util_cpack_0.if_adc_rst" />
<connection
kind="reset"
version="15.0"
start="sys_rst.out_reset"
end="ad9680_adcfifo.if_adc_rst" />
<connection
kind="reset"
version="15.0"
start="mem_rst.out_reset"
end="ad9680_adcfifo.if_adc_rst" />
<connection
kind="reset"
version="15.0"