From a38bbb7eb4439ca88dc60f561112645aea994c27 Mon Sep 17 00:00:00 2001 From: Lars-Peter Clausen Date: Mon, 22 May 2017 11:26:18 +0200 Subject: [PATCH] daq3: Convert to ADI JESD204 Convert the DAQ3 project to the ADI JESD204 link layer cores. The change is very straight forward, but a matching change on the software side is required. Signed-off-by: Lars-Peter Clausen --- projects/daq3/common/daq3_bd.tcl | 22 ++++++++-------------- projects/daq3/kcu105/Makefile | 13 +++++++++++++ projects/daq3/zc706/Makefile | 13 +++++++++++++ 3 files changed, 34 insertions(+), 14 deletions(-) diff --git a/projects/daq3/common/daq3_bd.tcl b/projects/daq3/common/daq3_bd.tcl index addd7bd12..4f16baecc 100644 --- a/projects/daq3/common/daq3_bd.tcl +++ b/projects/daq3/common/daq3_bd.tcl @@ -1,4 +1,6 @@ +source $ad_hdl_dir/library/jesd204/scripts/jesd204.tcl + # dac peripherals ad_ip_instance axi_adxcvr axi_ad9152_xcvr @@ -6,9 +8,7 @@ ad_ip_parameter axi_ad9152_xcvr CONFIG.NUM_OF_LANES 4 ad_ip_parameter axi_ad9152_xcvr CONFIG.QPLL_ENABLE 1 ad_ip_parameter axi_ad9152_xcvr CONFIG.TX_OR_RX_N 1 -ad_ip_instance jesd204 axi_ad9152_jesd -ad_ip_parameter axi_ad9152_jesd CONFIG.C_NODE_IS_TRANSMIT 1 -ad_ip_parameter axi_ad9152_jesd CONFIG.C_LANES 4 +adi_axi_jesd204_tx_create axi_ad9152_jesd 4 ad_ip_instance axi_ad9152 axi_ad9152_core @@ -35,9 +35,7 @@ ad_ip_parameter axi_ad9680_xcvr CONFIG.NUM_OF_LANES 4 ad_ip_parameter axi_ad9680_xcvr CONFIG.QPLL_ENABLE 0 ad_ip_parameter axi_ad9680_xcvr CONFIG.TX_OR_RX_N 0 -ad_ip_instance jesd204 axi_ad9680_jesd -ad_ip_parameter axi_ad9680_jesd CONFIG.C_NODE_IS_TRANSMIT 0 -ad_ip_parameter axi_ad9680_jesd CONFIG.C_LANES 4 +adi_axi_jesd204_rx_create axi_ad9680_jesd 4 ad_ip_instance axi_ad9680 axi_ad9680_core @@ -80,12 +78,8 @@ ad_xcvrpll axi_ad9680_xcvr/up_pll_rst util_daq3_xcvr/up_cpll_rst_* # connections (dac) ad_xcvrcon util_daq3_xcvr axi_ad9152_xcvr axi_ad9152_jesd -ad_reconct util_daq3_xcvr/tx_0 axi_ad9152_jesd/gt0_tx -ad_reconct util_daq3_xcvr/tx_1 axi_ad9152_jesd/gt3_tx -ad_reconct util_daq3_xcvr/tx_2 axi_ad9152_jesd/gt1_tx -ad_reconct util_daq3_xcvr/tx_3 axi_ad9152_jesd/gt2_tx ad_connect util_daq3_xcvr/tx_out_clk_0 axi_ad9152_core/tx_clk -ad_connect axi_ad9152_jesd/tx_tdata axi_ad9152_core/tx_data +ad_connect axi_ad9152_jesd/tx_data_tdata axi_ad9152_core/tx_data ad_connect util_daq3_xcvr/tx_out_clk_0 axi_ad9152_upack/dac_clk ad_connect axi_ad9152_core/dac_enable_0 axi_ad9152_upack/dac_enable_0 ad_connect axi_ad9152_core/dac_ddata_0 axi_ad9152_upack/dac_data_0 @@ -112,8 +106,8 @@ ad_connect axi_ad9152_fifo/dma_xfer_last axi_ad9152_dma/m_axis_last ad_xcvrcon util_daq3_xcvr axi_ad9680_xcvr axi_ad9680_jesd ad_connect util_daq3_xcvr/rx_out_clk_0 axi_ad9680_core/rx_clk -ad_connect axi_ad9680_jesd/rx_start_of_frame axi_ad9680_core/rx_sof -ad_connect axi_ad9680_jesd/rx_tdata axi_ad9680_core/rx_data +ad_connect axi_ad9680_jesd/rx_sof axi_ad9680_core/rx_sof +ad_connect axi_ad9680_jesd/rx_data_tdata axi_ad9680_core/rx_data ad_connect util_daq3_xcvr/rx_out_clk_0 axi_ad9680_cpack/adc_clk ad_connect axi_ad9680_jesd_rstgen/peripheral_reset axi_ad9680_cpack/adc_rst ad_connect axi_ad9680_core/adc_enable_0 axi_ad9680_cpack/adc_enable_0 @@ -143,7 +137,7 @@ ad_cpu_interconnect 0x44A90000 axi_ad9152_jesd ad_cpu_interconnect 0x7c420000 axi_ad9152_dma ad_cpu_interconnect 0x44A50000 axi_ad9680_xcvr ad_cpu_interconnect 0x44A10000 axi_ad9680_core -ad_cpu_interconnect 0x44A91000 axi_ad9680_jesd +ad_cpu_interconnect 0x44AA0000 axi_ad9680_jesd ad_cpu_interconnect 0x7c400000 axi_ad9680_dma # gt uses hp3, and 100MHz clock for both DRP and AXI4 diff --git a/projects/daq3/kcu105/Makefile b/projects/daq3/kcu105/Makefile index ffbe61b23..c454e2fdd 100644 --- a/projects/daq3/kcu105/Makefile +++ b/projects/daq3/kcu105/Makefile @@ -19,10 +19,15 @@ M_DEPS += ../../common/xilinx/adcfifo_bd.tcl M_DEPS += ../../common/kcu105/kcu105_system_constr.xdc M_DEPS += ../../common/kcu105/kcu105_system_bd.tcl M_DEPS += ../../../library/xilinx/common/ad_iobuf.v +M_DEPS += ../../../library/jesd204/scripts/jesd204.tcl M_DEPS += ../../../library/axi_ad9152/axi_ad9152.xpr M_DEPS += ../../../library/axi_ad9680/axi_ad9680.xpr M_DEPS += ../../../library/xilinx/axi_adxcvr/axi_adxcvr.xpr M_DEPS += ../../../library/axi_dmac/axi_dmac.xpr +M_DEPS += ../../../library/jesd204/axi_jesd204_rx/axi_jesd204_rx.xpr +M_DEPS += ../../../library/jesd204/axi_jesd204_tx/axi_jesd204_tx.xpr +M_DEPS += ../../../library/jesd204/jesd204_rx/jesd204_rx.xpr +M_DEPS += ../../../library/jesd204/jesd204_tx/jesd204_tx.xpr M_DEPS += ../../../library/util_adcfifo/util_adcfifo.xpr M_DEPS += ../../../library/xilinx/util_adxcvr/util_adxcvr.xpr M_DEPS += ../../../library/util_cpack/util_cpack.xpr @@ -60,6 +65,10 @@ clean-all:clean make -C ../../../library/axi_ad9680 clean make -C ../../../library/xilinx/axi_adxcvr clean make -C ../../../library/axi_dmac clean + make -C ../../../library/jesd204/axi_jesd204_rx clean + make -C ../../../library/jesd204/axi_jesd204_tx clean + make -C ../../../library/jesd204/jesd204_rx clean + make -C ../../../library/jesd204/jesd204_tx clean make -C ../../../library/util_adcfifo clean make -C ../../../library/xilinx/util_adxcvr clean make -C ../../../library/util_cpack clean @@ -77,6 +86,10 @@ lib: make -C ../../../library/axi_ad9680 make -C ../../../library/xilinx/axi_adxcvr make -C ../../../library/axi_dmac + make -C ../../../library/jesd204/axi_jesd204_rx + make -C ../../../library/jesd204/axi_jesd204_tx + make -C ../../../library/jesd204/jesd204_rx + make -C ../../../library/jesd204/jesd204_tx make -C ../../../library/util_adcfifo make -C ../../../library/xilinx/util_adxcvr make -C ../../../library/util_cpack diff --git a/projects/daq3/zc706/Makefile b/projects/daq3/zc706/Makefile index 2ab141287..147d1b6f4 100644 --- a/projects/daq3/zc706/Makefile +++ b/projects/daq3/zc706/Makefile @@ -20,6 +20,7 @@ M_DEPS += ../../common/zc706/zc706_plddr3_constr.xdc M_DEPS += ../../common/zc706/zc706_plddr3_adcfifo_bd.tcl M_DEPS += ../../common/xilinx/dacfifo_bd.tcl M_DEPS += ../../../library/xilinx/common/ad_iobuf.v +M_DEPS += ../../../library/jesd204/scripts/jesd204.tcl M_DEPS += ../../../library/axi_ad9152/axi_ad9152.xpr M_DEPS += ../../../library/axi_ad9680/axi_ad9680.xpr M_DEPS += ../../../library/xilinx/axi_adcfifo/axi_adcfifo.xpr @@ -27,7 +28,11 @@ M_DEPS += ../../../library/xilinx/axi_adxcvr/axi_adxcvr.xpr M_DEPS += ../../../library/axi_clkgen/axi_clkgen.xpr M_DEPS += ../../../library/axi_dmac/axi_dmac.xpr M_DEPS += ../../../library/axi_hdmi_tx/axi_hdmi_tx.xpr +M_DEPS += ../../../library/jesd204/axi_jesd204_rx/axi_jesd204_rx.xpr +M_DEPS += ../../../library/jesd204/axi_jesd204_tx/axi_jesd204_tx.xpr M_DEPS += ../../../library/axi_spdif_tx/axi_spdif_tx.xpr +M_DEPS += ../../../library/jesd204/jesd204_rx/jesd204_rx.xpr +M_DEPS += ../../../library/jesd204/jesd204_tx/jesd204_tx.xpr M_DEPS += ../../../library/xilinx/util_adxcvr/util_adxcvr.xpr M_DEPS += ../../../library/util_cpack/util_cpack.xpr M_DEPS += ../../../library/util_dacfifo/util_dacfifo.xpr @@ -67,7 +72,11 @@ clean-all:clean make -C ../../../library/axi_clkgen clean make -C ../../../library/axi_dmac clean make -C ../../../library/axi_hdmi_tx clean + make -C ../../../library/jesd204/axi_jesd204_rx clean + make -C ../../../library/jesd204/axi_jesd204_tx clean make -C ../../../library/axi_spdif_tx clean + make -C ../../../library/jesd204/jesd204_rx clean + make -C ../../../library/jesd204/jesd204_tx clean make -C ../../../library/xilinx/util_adxcvr clean make -C ../../../library/util_cpack clean make -C ../../../library/util_dacfifo clean @@ -87,7 +96,11 @@ lib: make -C ../../../library/axi_clkgen make -C ../../../library/axi_dmac make -C ../../../library/axi_hdmi_tx + make -C ../../../library/jesd204/axi_jesd204_rx + make -C ../../../library/jesd204/axi_jesd204_tx make -C ../../../library/axi_spdif_tx + make -C ../../../library/jesd204/jesd204_rx + make -C ../../../library/jesd204/jesd204_tx make -C ../../../library/xilinx/util_adxcvr make -C ../../../library/util_cpack make -C ../../../library/util_dacfifo