From 54e316dac3238a030cde6e59618dd4d0f72181ee Mon Sep 17 00:00:00 2001 From: Ionut Podgoreanu Date: Thu, 5 Dec 2024 18:03:02 +0200 Subject: [PATCH 1/2] fmcomms8/zcu102: Replace dacfifo with data_offload Signed-off-by: Ionut Podgoreanu --- projects/fmcomms8/common/fmcomms8_bd.tcl | 38 ++++++++++++------------ projects/fmcomms8/zcu102/Makefile | 9 ++++-- projects/fmcomms8/zcu102/system_bd.tcl | 13 ++++---- projects/fmcomms8/zcu102/system_top.v | 3 +- 4 files changed, 33 insertions(+), 30 deletions(-) diff --git a/projects/fmcomms8/common/fmcomms8_bd.tcl b/projects/fmcomms8/common/fmcomms8_bd.tcl index 3c98a538713..42c53213867 100644 --- a/projects/fmcomms8/common/fmcomms8_bd.tcl +++ b/projects/fmcomms8/common/fmcomms8_bd.tcl @@ -9,8 +9,6 @@ create_bd_port -dir I ref_clk_d create_bd_port -dir I core_clk_c create_bd_port -dir I core_clk_d -create_bd_port -dir I dac_fifo_bypass - # # Parameter description: # [TX/RX/RX_OS]_JESD_M : Number of converters per link @@ -25,6 +23,7 @@ set MAX_RX_OS_NUM_OF_LANES 4 set DATAPATH_WIDTH 4 source $ad_hdl_dir/library/jesd204/scripts/jesd204.tcl +source $ad_hdl_dir/projects/common/xilinx/data_offload_bd.tcl # TX parameters set TX_NUM_OF_LANES $ad_project_params(TX_JESD_L) ; # L @@ -62,10 +61,18 @@ set RX_OS_TPL_WIDTH [ expr { [info exists ad_project_params(RX_OS_TPL_WIDTH)] \ set RX_OS_DATAPATH_WIDTH [adi_jesd204_calc_tpl_width $DATAPATH_WIDTH $RX_OS_NUM_OF_LANES $RX_OS_NUM_OF_CONVERTERS $RX_OS_SAMPLES_PER_FRAME $RX_OS_SAMPLE_WIDTH $RX_OS_TPL_WIDTH] set RX_OS_SAMPLES_PER_CHANNEL [expr $RX_OS_NUM_OF_LANES * 8 * $RX_OS_DATAPATH_WIDTH / ($RX_OS_NUM_OF_CONVERTERS * $RX_OS_SAMPLE_WIDTH)] -set dac_fifo_name axi_adrv9009_fmc_tx_fifo +set dac_offload_name adrv9009_fmc_data_offload set dac_data_width [expr $TX_SAMPLE_WIDTH * $TX_NUM_OF_CONVERTERS * $TX_SAMPLES_PER_CHANNEL] -ad_dacfifo_create $dac_fifo_name $dac_data_width $dac_data_width $dac_fifo_address_width +ad_data_offload_create $dac_offload_name \ + 1 \ + $dac_offload_type \ + $dac_offload_size \ + $dac_data_width \ + $dac_data_width + +ad_ip_parameter $dac_offload_name/i_data_offload CONFIG.SYNC_EXT_ADD_INTERNAL_CDC 0 +ad_connect $dac_offload_name/sync_ext GND ad_ip_instance axi_adxcvr axi_adrv9009_fmc_tx_xcvr ad_ip_parameter axi_adrv9009_fmc_tx_xcvr CONFIG.NUM_OF_LANES $MAX_TX_NUM_OF_LANES @@ -300,23 +307,15 @@ for {set i 0} {$i < $TX_NUM_OF_CONVERTERS} {incr i} { ad_connect tx_adrv9009_fmc_tpl_core/dac_dunf util_fmc_tx_upack/fifo_rd_underflow -ad_connect core_clk_c axi_adrv9009_fmc_tx_fifo/dac_clk -ad_connect core_clk_c_rstgen/peripheral_reset axi_adrv9009_fmc_tx_fifo/dac_rst +ad_connect core_clk_c $dac_offload_name/m_axis_aclk +ad_connect core_clk_c_rstgen/peripheral_aresetn $dac_offload_name/m_axis_aresetn +ad_connect util_fmc_tx_upack/s_axis $dac_offload_name/m_axis -ad_connect util_fmc_tx_upack/s_axis_valid VCC -ad_connect util_fmc_tx_upack/s_axis_ready axi_adrv9009_fmc_tx_fifo/dac_valid -ad_connect util_fmc_tx_upack/s_axis_data axi_adrv9009_fmc_tx_fifo/dac_data - -ad_connect core_clk_c axi_adrv9009_fmc_tx_fifo/dma_clk -ad_connect core_clk_c_rstgen/peripheral_reset axi_adrv9009_fmc_tx_fifo/dma_rst +ad_connect core_clk_c $dac_offload_name/s_axis_aclk +ad_connect core_clk_c_rstgen/peripheral_aresetn $dac_offload_name/s_axis_aresetn ad_connect core_clk_c axi_adrv9009_fmc_tx_dma/m_axis_aclk -ad_connect axi_adrv9009_fmc_tx_fifo/dma_xfer_req axi_adrv9009_fmc_tx_dma/m_axis_xfer_req -ad_connect axi_adrv9009_fmc_tx_fifo/dma_ready axi_adrv9009_fmc_tx_dma/m_axis_ready -ad_connect axi_adrv9009_fmc_tx_fifo/dma_data axi_adrv9009_fmc_tx_dma/m_axis_data -ad_connect axi_adrv9009_fmc_tx_fifo/dma_valid axi_adrv9009_fmc_tx_dma/m_axis_valid -ad_connect axi_adrv9009_fmc_tx_fifo/dma_xfer_last axi_adrv9009_fmc_tx_dma/m_axis_last - -ad_connect axi_adrv9009_fmc_tx_fifo/bypass dac_fifo_bypass +ad_connect $dac_offload_name/s_axis axi_adrv9009_fmc_tx_dma/m_axis +ad_connect $dac_offload_name/init_req axi_adrv9009_fmc_tx_dma/m_axis_xfer_req ad_connect core_clk_d rx_adrv9009_fmc_tpl_core/link_clk ad_connect axi_adrv9009_fmc_rx_jesd/rx_sof rx_adrv9009_fmc_tpl_core/link_sof @@ -365,6 +364,7 @@ ad_cpu_interconnect 0x45A50000 axi_adrv9009_fmc_rx_jesd ad_cpu_interconnect 0x45A60000 axi_adrv9009_fmc_obs_xcvr ad_cpu_interconnect 0x45A70000 axi_adrv9009_fmc_obs_jesd ad_cpu_interconnect 0x7d400000 axi_adrv9009_fmc_tx_dma +ad_cpu_interconnect 0x7d410000 $dac_offload_name ad_cpu_interconnect 0x7d420000 axi_adrv9009_fmc_rx_dma ad_cpu_interconnect 0x7d440000 axi_adrv9009_fmc_obs_dma diff --git a/projects/fmcomms8/zcu102/Makefile b/projects/fmcomms8/zcu102/Makefile index 752e6628f41..1a28728c73e 100644 --- a/projects/fmcomms8/zcu102/Makefile +++ b/projects/fmcomms8/zcu102/Makefile @@ -1,5 +1,5 @@ #################################################################################### -## Copyright (c) 2018 - 2023 Analog Devices, Inc. +## Copyright (c) 2018 - 2025 Analog Devices, Inc. ### SPDX short identifier: BSD-1-Clause ## Auto-generated, do not modify! #################################################################################### @@ -11,12 +11,14 @@ M_DEPS += ../common/fmcomms8_bd.tcl M_DEPS += ../../scripts/adi_pd.tcl M_DEPS += ../../common/zcu102/zcu102_system_constr.xdc M_DEPS += ../../common/zcu102/zcu102_system_bd.tcl -M_DEPS += ../../common/xilinx/dacfifo_bd.tcl +M_DEPS += ../../common/xilinx/data_offload_bd.tcl +M_DEPS += ../../../library/util_hbm/scripts/adi_util_hbm.tcl M_DEPS += ../../../library/jesd204/scripts/jesd204.tcl M_DEPS += ../../../library/common/ad_iobuf.v LIB_DEPS += axi_dmac LIB_DEPS += axi_sysid +LIB_DEPS += data_offload LIB_DEPS += jesd204/ad_ip_jesd204_tpl_adc LIB_DEPS += jesd204/ad_ip_jesd204_tpl_dac LIB_DEPS += jesd204/axi_jesd204_rx @@ -24,7 +26,8 @@ LIB_DEPS += jesd204/axi_jesd204_tx LIB_DEPS += jesd204/jesd204_rx LIB_DEPS += jesd204/jesd204_tx LIB_DEPS += sysid_rom -LIB_DEPS += util_dacfifo +LIB_DEPS += util_do_ram +LIB_DEPS += util_hbm LIB_DEPS += util_pack/util_cpack2 LIB_DEPS += util_pack/util_upack2 LIB_DEPS += xilinx/axi_adxcvr diff --git a/projects/fmcomms8/zcu102/system_bd.tcl b/projects/fmcomms8/zcu102/system_bd.tcl index 9897a2a70ee..31a2fe1c85f 100644 --- a/projects/fmcomms8/zcu102/system_bd.tcl +++ b/projects/fmcomms8/zcu102/system_bd.tcl @@ -1,15 +1,15 @@ ############################################################################### -## Copyright (C) 2014-2023 Analog Devices, Inc. All rights reserved. +## Copyright (C) 2014-2025 Analog Devices, Inc. All rights reserved. ### SPDX short identifier: ADIBSD ############################################################################### +## Offload attributes +set dac_offload_type 0 ; ## BRAM +set dac_offload_size [expr 2*1024*1024] ; ## 2 MB + source $ad_hdl_dir/projects/common/zcu102/zcu102_system_bd.tcl -source $ad_hdl_dir/projects/common/xilinx/dacfifo_bd.tcl source $ad_hdl_dir/projects/scripts/adi_pd.tcl -## FIFO depth is 8Mb - 500k samples -set dac_fifo_address_width 16 - #system ID ad_ip_parameter axi_sysid_0 CONFIG.ROM_ADDR_BITS 9 ad_ip_parameter rom_sys_0 CONFIG.PATH_TO_FILE "$mem_init_sys_file_path/mem_init_sys.txt" @@ -24,7 +24,8 @@ S=$ad_project_params(TX_JESD_S)\ RX_OS:M=$ad_project_params(RX_OS_JESD_M)\ L=$ad_project_params(RX_OS_JESD_L)\ S=$ad_project_params(RX_OS_JESD_S)\ -DAC_FIFO_ADDR_WIDTH=$dac_fifo_address_width" +DAC_OFFLOAD:TYPE=$dac_offload_type\ +SIZE=$dac_offload_size" sysid_gen_sys_init_file $sys_cstring diff --git a/projects/fmcomms8/zcu102/system_top.v b/projects/fmcomms8/zcu102/system_top.v index 519392998f0..c2efeaa5b9c 100644 --- a/projects/fmcomms8/zcu102/system_top.v +++ b/projects/fmcomms8/zcu102/system_top.v @@ -1,6 +1,6 @@ // *************************************************************************** // *************************************************************************** -// Copyright (C) 2020-2023 Analog Devices, Inc. All rights reserved. +// Copyright (C) 2020-2025 Analog Devices, Inc. All rights reserved. // // In this HDL repository, there are many different and unique modules, consisting // of various HDL (Verilog or VHDL) components. The individual modules are @@ -356,7 +356,6 @@ module system_top ( .tx_data_7_p (tx_data_d_p[3]), .tx_sync_0 (tx_sync), .tx_sysref_0 (sysref_c), - .dac_fifo_bypass(gpio_o[68]), .spi0_sclk (spi_clk), .spi0_csn (spi_csn), From 4d447ac6f2e9f2ed9dbcbc0db4a2ad89766b123e Mon Sep 17 00:00:00 2001 From: Ionut Podgoreanu Date: Fri, 28 Mar 2025 19:48:31 +0200 Subject: [PATCH 2/2] docs: fmcomms8: Update for Data Offload support Signed-off-by: Ionut Podgoreanu --- docs/projects/fmcomms8/fmcomms8_jesd204b.svg | 828 ++++++++++--------- docs/projects/fmcomms8/index.rst | 1 + 2 files changed, 436 insertions(+), 393 deletions(-) diff --git a/docs/projects/fmcomms8/fmcomms8_jesd204b.svg b/docs/projects/fmcomms8/fmcomms8_jesd204b.svg index 0f7f1f4261b..6be8558232a 100644 --- a/docs/projects/fmcomms8/fmcomms8_jesd204b.svg +++ b/docs/projects/fmcomms8/fmcomms8_jesd204b.svg @@ -2,12 +2,12 @@ + transform="scale(0.4)" /> @@ -94,9 +94,9 @@ orient="auto" inkscape:stockid="TriangleOutM"> @@ -109,9 +109,9 @@ orient="auto" inkscape:stockid="TriangleInM"> @@ -124,9 +124,9 @@ orient="auto" inkscape:stockid="TriangleOutM"> @@ -139,9 +139,9 @@ orient="auto" inkscape:stockid="TriangleInM"> @@ -154,9 +154,9 @@ orient="auto" inkscape:stockid="TriangleOutM"> @@ -171,9 +171,9 @@ + transform="scale(-0.4)" /> @@ -223,9 +223,9 @@ inkscape:isstock="true"> @@ -269,9 +269,9 @@ + transform="scale(0.4)" /> + transform="scale(0.4)" /> @@ -312,9 +312,9 @@ orient="auto" inkscape:stockid="TriangleInM"> @@ -327,9 +327,9 @@ orient="auto" inkscape:stockid="TriangleInM"> @@ -351,9 +351,9 @@ inkscape:isstock="true"> + transform="scale(-0.4)" /> + transform="scale(0.4)" /> + transform="scale(-0.4)" /> + transform="scale(0.4)" /> @@ -459,9 +459,9 @@ orient="auto" inkscape:stockid="TriangleOutM"> @@ -474,9 +474,9 @@ orient="auto" inkscape:stockid="TriangleInM"> @@ -489,9 +489,9 @@ orient="auto" inkscape:stockid="TriangleOutM"> @@ -504,9 +504,9 @@ orient="auto" inkscape:stockid="TriangleInM"> @@ -519,9 +519,9 @@ orient="auto" inkscape:stockid="TriangleOutM"> @@ -534,9 +534,9 @@ orient="auto" inkscape:stockid="TriangleInM"> @@ -549,9 +549,9 @@ orient="auto" inkscape:stockid="TriangleOutM"> @@ -564,9 +564,9 @@ orient="auto" inkscape:stockid="TriangleInM"> @@ -581,9 +581,9 @@ + transform="scale(0.4)" /> + transform="scale(-0.4)" /> @@ -626,9 +626,9 @@ + transform="scale(-0.4)" /> @@ -656,9 +656,9 @@ + transform="scale(-0.4)" /> @@ -686,9 +686,9 @@ + transform="scale(-0.4)" /> @@ -716,9 +716,9 @@ + transform="scale(-0.4)" /> @@ -746,9 +746,9 @@ + transform="scale(-0.4)" /> @@ -776,9 +776,9 @@ + transform="scale(-0.4)" /> @@ -806,9 +806,9 @@ + transform="scale(-0.4)" /> @@ -836,9 +836,9 @@ + transform="scale(-0.4)" /> @@ -866,9 +866,9 @@ + transform="scale(-0.4)" /> @@ -896,9 +896,9 @@ + transform="scale(-0.4)" /> + transform="scale(-0.4)" /> + transform="scale(-0.4)" /> + transform="scale(-0.4)" /> + transform="scale(0.4)" /> @@ -984,9 +984,9 @@ orient="auto" inkscape:stockid="TriangleOutM"> @@ -999,9 +999,9 @@ orient="auto" inkscape:stockid="TriangleOutM"> @@ -1016,9 +1016,9 @@ + transform="scale(-0.4)" /> + transform="scale(-0.4)" /> + transform="scale(-0.4)" /> @@ -1074,9 +1074,9 @@ orient="auto" inkscape:stockid="TriangleInM"> @@ -1089,9 +1089,9 @@ orient="auto" inkscape:stockid="TriangleOutM"> @@ -1105,9 +1105,9 @@ inkscape:isstock="true"> @@ -1135,9 +1135,9 @@ inkscape:stockid="TriangleOutM" inkscape:collect="always"> @@ -1151,9 +1151,9 @@ inkscape:isstock="true"> @@ -1180,9 +1180,9 @@ orient="auto" inkscape:stockid="TriangleOutM"> @@ -1195,9 +1195,9 @@ orient="auto" inkscape:stockid="TriangleInM"> @@ -1211,9 +1211,9 @@ inkscape:stockid="TriangleOutM" inkscape:collect="always"> @@ -1226,9 +1226,9 @@ orient="auto" inkscape:stockid="TriangleInM"> @@ -1241,15 +1241,15 @@ inkscape:pageopacity="0.0" inkscape:pageshadow="2" inkscape:zoom="0.90509668" - inkscape:cx="491.10776" - inkscape:cy="481.71649" + inkscape:cx="688.87668" + inkscape:cy="461.27669" inkscape:document-units="px" inkscape:current-layer="layer2" showgrid="true" - inkscape:window-width="1920" - inkscape:window-height="1122" - inkscape:window-x="4791" - inkscape:window-y="738" + inkscape:window-width="2400" + inkscape:window-height="1272" + inkscape:window-x="2392" + inkscape:window-y="233" inkscape:window-maximized="1" inkscape:snap-grids="false" inkscape:snap-bbox="false" @@ -1262,7 +1262,7 @@ + transform="translate(57.8125,200.90552)"> MEMORY INTERCONNECT + transform="translate(57.8125,200.90552)"> + width="827.68188" + height="839.69183" + x="-50.840431" + y="-136.50066" /> @@ -1341,7 +1341,7 @@ @@ -1352,7 +1352,7 @@ @@ -1363,7 +1363,7 @@ @@ -1373,7 +1373,7 @@ inkscape:groupmode="layer" id="layer4" inkscape:label="sys_text" - transform="translate(0,200.90552)" + transform="translate(57.8125,200.90552)" style="display:inline"> + transform="scale(-1)" /> @@ -1562,13 +1562,13 @@ @@ -1579,13 +1579,13 @@ @@ -1608,13 +1608,13 @@ @@ -1638,13 +1638,13 @@ xml:space="preserve" transform="translate(0,-200.90552)" id="text1" - style="fill:#000000;white-space:pre;shape-inside:url(#rect1)" /> + style="white-space:pre;shape-inside:url(#rect1);fill:#000000" /> @@ -1693,13 +1693,13 @@ @@ -1723,18 +1723,18 @@ y="658.67419" style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:17.5px;line-height:1.25;font-family:Arial;-inkscape-font-specification:'Arial Bold'">TX JESD LINK IQ Correction @@ -1906,7 +1906,7 @@ transform="translate(4,-286.01547)"> @@ -1914,11 +1914,11 @@ sodipodi:nodetypes="cccsccccc" inkscape:connector-curvature="0" id="path5390" - d="m 447.48607,722.99477 0,-6.1966 -26.09807,-4.6e-4 c 0,0 3e-4,-5.53177 0,-8.24218 -1.7e-4,-2.71041 0,-8.24219 0,-8.24219 l 26.09815,4.6e-4 0,-6.19659 14.64737,14.43878 z" + d="m 447.48607,722.99477 v -6.1966 l -26.09807,-4.6e-4 c 0,0 3e-4,-5.53177 0,-8.24218 -1.7e-4,-2.71041 0,-8.24219 0,-8.24219 l 26.09815,4.6e-4 v -6.19659 l 14.64737,14.43878 z" style="fill:#c8c8c8;fill-opacity:1;fill-rule:evenodd;stroke:#0f3296;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;shape-rendering:crispEdges" /> @@ -1926,11 +1926,11 @@ sodipodi:nodetypes="cccsccccc" inkscape:connector-curvature="0" id="path5394" - d="m 447.38661,701.06142 0,-6.1966 -19.70261,0 c 0,0 3e-4,-5.53177 0,-8.24218 -1.7e-4,-2.71041 0,-8.24219 0,-8.24219 l 19.70269,0 0,-6.19659 14.64737,14.43878 z" + d="m 447.38661,701.06142 v -6.1966 H 427.684 c 0,0 3e-4,-5.53177 0,-8.24218 -1.7e-4,-2.71041 0,-8.24219 0,-8.24219 h 19.70269 v -6.19659 l 14.64737,14.43878 z" style="fill:#c8c8c8;fill-opacity:1;fill-rule:evenodd;stroke:#0f3296;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;shape-rendering:crispEdges" /> + style="opacity:1;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1.39996;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" /> + style="display:inline;opacity:1;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1.39996;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;shape-rendering:crispEdges;enable-background:new" /> + transform="rotate(-90)" /> + transform="rotate(-90)" /> IQ Corr @@ -2129,11 +2129,11 @@ sodipodi:nodetypes="cccsccccc" inkscape:connector-curvature="0" id="path5553" - d="m 440.60568,966.21144 0,-6.1966 25.30705,0 c 0,0 0.0827,-5.53177 0.083,-8.24218 1.7e-4,-2.71041 -0.082,-8.24219 -0.082,-8.24219 l -25.30813,0 0,-6.19659 -14.64737,14.43878 z" + d="m 440.60568,966.21144 v -6.1966 h 25.30705 c 0,0 0.0827,-5.53177 0.083,-8.24218 1.7e-4,-2.71041 -0.082,-8.24219 -0.082,-8.24219 H 440.6056 v -6.19659 l -14.64737,14.43878 z" style="fill:#c8c8c8;fill-opacity:1;fill-rule:evenodd;stroke:#a01414;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;shape-rendering:crispEdges" /> @@ -2141,11 +2141,11 @@ sodipodi:nodetypes="cccsccccc" inkscape:connector-curvature="0" id="path5557" - d="m 446.80568,944.2781 0,-6.1966 18.90682,-4.6e-4 c 0,0 0.0827,-5.53178 0.083,-8.24218 1.7e-4,-2.71041 -0.082,-8.24219 -0.082,-8.24219 l -18.9079,4.6e-4 0,-6.19659 -14.64737,14.43878 z" + d="m 446.80568,944.2781 v -6.1966 l 18.90682,-4.6e-4 c 0,0 0.0827,-5.53178 0.083,-8.24218 1.7e-4,-2.71041 -0.082,-8.24219 -0.082,-8.24219 l -18.9079,4.6e-4 v -6.19659 l -14.64737,14.43878 z" style="fill:#c8c8c8;fill-opacity:1;fill-rule:evenodd;stroke:#a01414;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;shape-rendering:crispEdges" /> @@ -2169,22 +2169,22 @@ + transform="translate(-149.08047,108.18371)"> + transform="matrix(3.6478195,0,0,0.95001771,-435.017,135.00327)"> @@ -2199,7 +2199,7 @@ @@ -2210,7 +2210,7 @@ @@ -2221,7 +2221,7 @@ @@ -2232,7 +2232,7 @@ @@ -2242,7 +2242,7 @@ style="stroke:#a01414;stroke-opacity:1" transform="translate(0,-286)"> + transform="translate(-59.286846,-286)"> + style="opacity:0.87;fill:#ffcccc;fill-opacity:1;fill-rule:nonzero;stroke:#a01414;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;shape-rendering:crispEdges" /> ADC DMA - - + + DAC DMA + style="font-style:normal;font-weight:normal;line-height:0%;font-family:Arial;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + xml:space="preserve">DAC DMA + @@ -2335,7 +2338,7 @@ id="tspan5800" sodipodi:role="line">DAC UNPACK + transform="matrix(1.4208528,0,0,1.4208528,-247.98308,-488.82469)"> + transform="rotate(-90)" /> + transform="rotate(-90)" /> + style="opacity:1;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.67501;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.673913" + transform="rotate(-90)" /> + style="opacity:1;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.67501;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.673913" + transform="rotate(-90)" /> + transform="rotate(-90)" /> + d="M 406.04958,430.92913 H 404.6091" + style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.067;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> + d="M 406.04958,435.45913 H 404.6091" + style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.067;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> + d="M 406.04958,439.98913 H 404.6091" + style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.067;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> + d="M 406.04958,444.51915 H 404.6091" + style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.067;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> + d="M 406.04958,428.80003 H 404.6091" + style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.067;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> + transform="translate(-33.22217,-307.87674)"> + style="opacity:1;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1.33851;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" /> + d="m 371.84168,433.47704 h 16.31637 c 1.2826,0 2.31516,1.03257 2.31516,2.31517 v 13.22948 c 0,1.28259 -1.03256,2.31515 -2.31516,2.31515 h -16.31637 c -1.2826,0 -2.31516,-1.03256 -2.31516,-2.31515 v -13.22948 c 0,-1.2826 1.03256,-2.31517 2.31516,-2.31517 z" + style="opacity:1;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1.2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" /> + d="m 369.52814,445.26083 h 5.8318 v 2.82613 h 1.54776 v 3.24584" + style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.2;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> @@ -2494,9 +2497,9 @@ height="3.8938534" width="4.5168324" id="rect8824" - style="opacity:1;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.97299999;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" /> + style="opacity:1;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.973;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" /> + style="opacity:1;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.308598;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" /> + style="opacity:1;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.308598;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" /> + style="opacity:1;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.308598;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" /> + transform="matrix(0,-0.41475987,0.41475987,0,205.52325,352.80968)" + style="stroke-width:2.41103;stroke-miterlimit:4;stroke-dasharray:none"> + style="opacity:1;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:2.41103;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" /> + d="m 507.25,394.11218 h 37 c 2.493,0 5.47668,2.20628 4.5,4.5 l -3.3,7.75 c -0.97668,2.29372 -3.507,4.5 -6,4.5 h -27.8 c -2.493,0 -4.37391,-2.22795 -5.4,-4.5 l -3.5,-7.75 c -1.02609,-2.27205 2.007,-4.5 4.5,-4.5 z" + style="opacity:1;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:2.41103;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" /> + style="opacity:1;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:2.41103;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" /> + style="opacity:1;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:2.41103;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" /> + style="opacity:1;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:2.41103;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" /> + style="opacity:1;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:2.41103;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" /> + style="opacity:1;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:2.41103;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" /> + style="opacity:1;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:2.41103;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" /> Receive path Transmit path + transform="scale(-1)" /> @@ -2777,13 +2780,13 @@ @@ -2794,18 +2797,18 @@ + style="opacity:1;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1.39996;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" /> + style="display:inline;opacity:1;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1.39996;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;shape-rendering:crispEdges;enable-background:new" /> + transform="rotate(-90)" /> + transform="rotate(-90)" /> IQ Corr @@ -2969,11 +2972,11 @@ sodipodi:nodetypes="cccsccccc" inkscape:connector-curvature="0" id="path5553-5" - d="m 440.60568,966.21144 0,-6.1966 25.30705,0 c 0,0 0.0827,-5.53177 0.083,-8.24218 1.7e-4,-2.71041 -0.082,-8.24219 -0.082,-8.24219 l -25.30813,0 0,-6.19659 -14.64737,14.43878 z" + d="m 440.60568,966.21144 v -6.1966 h 25.30705 c 0,0 0.0827,-5.53177 0.083,-8.24218 1.7e-4,-2.71041 -0.082,-8.24219 -0.082,-8.24219 H 440.6056 v -6.19659 l -14.64737,14.43878 z" style="fill:#c8c8c8;fill-opacity:1;fill-rule:evenodd;stroke:#677821;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;shape-rendering:crispEdges" /> @@ -2997,22 +3000,22 @@ + transform="translate(-150.55629,335.44099)"> + transform="matrix(3.6285163,0,0,0.95028848,-433.54358,362.11255)"> @@ -3027,7 +3030,7 @@ @@ -3038,7 +3041,7 @@ @@ -3048,7 +3051,7 @@ style="display:inline;stroke:#677821;stroke-opacity:1;shape-rendering:crispEdges;enable-background:new" transform="translate(-1.475826,-58.74272)"> ADC OS PACK ADC OS DMA Observation path ADRV9009 IP + + + + + + DATA OFFLOAD + + transform="translate(57.8125,200.90552)"> + id="g11134" + transform="translate(-60.000314)"> Zynq MPSoC / Nios II SoC diff --git a/docs/projects/fmcomms8/index.rst b/docs/projects/fmcomms8/index.rst index 205c89d46be..6a070b2a6bb 100644 --- a/docs/projects/fmcomms8/index.rst +++ b/docs/projects/fmcomms8/index.rst @@ -157,6 +157,7 @@ axi_adrv9009_fmc_rx_jesd 0x85A5_0000 axi_adrv9009_fmc_obs_jesd 0x85A7_0000 axi_adrv9009_fmc_rx_dma 0x9D42_0000 axi_adrv9009_fmc_tx_dma 0x9D40_0000 +adrv9009_fmc_data_offload 0x9D41_0000 axi_adrv9009_fmc_obs_dma 0x9D44_0000 ========================= ===========