diff --git a/projects/ad738x_fmc/zed/Makefile b/projects/ad738x_fmc/zed/Makefile index 592e6191c..c08bafc99 100644 --- a/projects/ad738x_fmc/zed/Makefile +++ b/projects/ad738x_fmc/zed/Makefile @@ -69,6 +69,7 @@ clean-all:clean $(MAKE) -C ../../../library/util_i2c_mixer clean $(MAKE) -C ../../../library/util_pulse_gen clean + ad738x_fmc_zed.sdk/system_top.hdf: $(M_DEPS) -rm -rf $(M_FLIST) $(M_VIVADO) system_project.tcl >> ad738x_fmc_zed_vivado.log 2>&1 diff --git a/projects/ad77681evb/common/ad77681evb_bd.tcl b/projects/ad77681evb/common/ad77681evb_bd.tcl index 703b42849..620ff7d48 100644 --- a/projects/ad77681evb/common/ad77681evb_bd.tcl +++ b/projects/ad77681evb/common/ad77681evb_bd.tcl @@ -17,6 +17,9 @@ current_bd_instance /spi_adc1 create_bd_intf_pin -mode Master -vlnv analog.com:interface:spi_master_rtl:1.0 m_spi create_bd_intf_pin -mode Master -vlnv xilinx.com:interface:axis_rtl:1.0 M_AXIS_SAMPLE + # DATA_WIDTH is set to 8, so the granularity of the transaction will be 8 bit + # So we can to support 16bit 24bit and 32bit transfers + ad_ip_instance spi_engine_execution execution ad_ip_parameter execution CONFIG.DATA_WIDTH 8 ad_ip_parameter execution CONFIG.NUM_OF_CS 1 @@ -32,15 +35,26 @@ current_bd_instance /spi_adc1 ad_ip_instance spi_engine_interconnect interconnect ad_ip_parameter interconnect CONFIG.DATA_WIDTH 8 + # to convert the 8bit AXI stream to 24bit AXI stream ad_ip_instance axis_dwidth_converter m_axis_samples_24 ad_ip_parameter m_axis_samples_24 CONFIG.M_TDATA_NUM_BYTES 3 + # upscale the data to 32bit, samples should be multiple of 16bit + ad_ip_instance util_axis_upscale axis_upscaler + ad_ip_parameter axis_upscaler CONFIG.NUM_OF_CHANNELS 1 + ad_ip_parameter axis_upscaler CONFIG.DATA_WIDTH 24 + ad_ip_parameter axis_upscaler CONFIG.UDATA_WIDTH 32 + ad_connect axis_upscaler/dfmt_enable GND + ad_connect axis_upscaler/dfmt_type GND + ad_connect axis_upscaler/dfmt_se GND + ad_connect axi_1/spi_engine_offload_ctrl0 offload/spi_engine_offload_ctrl ad_connect offload/spi_engine_ctrl interconnect/s0_ctrl ad_connect axi_1/spi_engine_ctrl interconnect/s1_ctrl ad_connect interconnect/m_ctrl execution/ctrl ad_connect offload/offload_sdi m_axis_samples_24/S_AXIS - ad_connect m_axis_samples_24/M_AXIS M_AXIS_SAMPLE + ad_connect m_axis_samples_24/M_AXIS axis_upscaler/s_axis + ad_connect axis_upscaler/m_axis M_AXIS_SAMPLE ad_connect execution/spi m_spi @@ -51,11 +65,13 @@ current_bd_instance /spi_adc1 ad_connect clk axi_1/spi_clk ad_connect clk interconnect/clk ad_connect clk m_axis_samples_24/aclk + ad_connect clk axis_upscaler/clk ad_connect axi_1/spi_resetn offload/spi_resetn ad_connect axi_1/spi_resetn execution/resetn ad_connect axi_1/spi_resetn interconnect/resetn ad_connect axi_1/spi_resetn m_axis_samples_24/aresetn + ad_connect axi_1/spi_resetn axis_upscaler/resetn ad_connect drdy offload/trigger @@ -89,15 +105,26 @@ current_bd_instance /spi_adc2 ad_ip_instance spi_engine_interconnect interconnect ad_ip_parameter interconnect CONFIG.DATA_WIDTH 8 + # to convert the 8bit AXI stream to 24bit AXI stream ad_ip_instance axis_dwidth_converter m_axis_samples_24 ad_ip_parameter m_axis_samples_24 CONFIG.M_TDATA_NUM_BYTES 3 + # upscale the data to 32bit, samples should be multiple of 16bit + ad_ip_instance util_axis_upscale axis_upscaler + ad_ip_parameter axis_upscaler CONFIG.NUM_OF_CHANNELS 1 + ad_ip_parameter axis_upscaler CONFIG.DATA_WIDTH 24 + ad_ip_parameter axis_upscaler CONFIG.UDATA_WIDTH 32 + ad_connect axis_upscaler/dfmt_enable GND + ad_connect axis_upscaler/dfmt_type GND + ad_connect axis_upscaler/dfmt_se GND + ad_connect axi_2/spi_engine_offload_ctrl0 offload/spi_engine_offload_ctrl ad_connect offload/spi_engine_ctrl interconnect/s0_ctrl ad_connect axi_2/spi_engine_ctrl interconnect/s1_ctrl ad_connect interconnect/m_ctrl execution/ctrl ad_connect offload/offload_sdi m_axis_samples_24/S_AXIS - ad_connect m_axis_samples_24/M_AXIS M_AXIS_SAMPLE + ad_connect m_axis_samples_24/M_AXIS axis_upscaler/s_axis + ad_connect axis_upscaler/m_axis M_AXIS_SAMPLE ad_connect execution/spi m_spi @@ -108,11 +135,13 @@ current_bd_instance /spi_adc2 ad_connect clk axi_2/spi_clk ad_connect clk interconnect/clk ad_connect clk m_axis_samples_24/aclk + ad_connect clk axis_upscaler/clk ad_connect axi_2/spi_resetn offload/spi_resetn ad_connect axi_2/spi_resetn execution/resetn ad_connect axi_2/spi_resetn interconnect/resetn ad_connect axi_2/spi_resetn m_axis_samples_24/aresetn + ad_connect axi_2/spi_resetn axis_upscaler/resetn ad_connect drdy offload/trigger diff --git a/projects/ad77681evb/zed/Makefile b/projects/ad77681evb/zed/Makefile index 8459ac986..54d29c681 100644 --- a/projects/ad77681evb/zed/Makefile +++ b/projects/ad77681evb/zed/Makefile @@ -26,6 +26,7 @@ M_DEPS += ../../../library/spi_engine/axi_spi_engine/axi_spi_engine.xpr M_DEPS += ../../../library/spi_engine/spi_engine_execution/spi_engine_execution.xpr M_DEPS += ../../../library/spi_engine/spi_engine_interconnect/spi_engine_interconnect.xpr M_DEPS += ../../../library/spi_engine/spi_engine_offload/spi_engine_offload.xpr +M_DEPS += ../../../library/util_axis_upscale/util_axis_upscale.xpr M_DEPS += ../../../library/util_i2c_mixer/util_i2c_mixer.xpr M_VIVADO := vivado -mode batch -source @@ -64,6 +65,7 @@ clean-all:clean $(MAKE) -C ../../../library/spi_engine/spi_engine_execution clean $(MAKE) -C ../../../library/spi_engine/spi_engine_interconnect clean $(MAKE) -C ../../../library/spi_engine/spi_engine_offload clean + $(MAKE) -C ../../../library/util_axis_upscale clean $(MAKE) -C ../../../library/util_i2c_mixer clean @@ -82,6 +84,7 @@ lib: $(MAKE) -C ../../../library/spi_engine/spi_engine_execution $(MAKE) -C ../../../library/spi_engine/spi_engine_interconnect $(MAKE) -C ../../../library/spi_engine/spi_engine_offload + $(MAKE) -C ../../../library/util_axis_upscale $(MAKE) -C ../../../library/util_i2c_mixer #################################################################################### diff --git a/projects/ad77681evb/zed/system_bd.tcl b/projects/ad77681evb/zed/system_bd.tcl index e255faa60..08021c9cd 100644 --- a/projects/ad77681evb/zed/system_bd.tcl +++ b/projects/ad77681evb/zed/system_bd.tcl @@ -2,12 +2,3 @@ source $ad_hdl_dir/projects/common/zed/zed_system_bd.tcl source ../common/ad77681evb_bd.tcl -# Disable a CRITICAL WARNING, which appears because of the SPI_ENGINE and DMA data width -# missmatch. -# The warning are the following: -# -# CRITICAL WARNING: [BD 41-237] Bus Interface property TDATA_NUM_BYTES does not -# match between /axi_ad77681_dma_1/s_axis(4) and /spi_adc1/m_axis_samples_24/M_AXIS(3) -# CRITICAL WARNING: [BD 41-237] Bus Interface property TDATA_NUM_BYTES does not -# match between /axi_ad77681_dma_2/s_axis(4) and /spi_adc2/m_axis_samples_24/M_AXIS(3) -set_msg_config -severity {CRITICAL WARNING} -quiet -id {BD 41-237} -new_severity info