diff --git a/projects/adrv9009/common/adrv9009_bd.tcl b/projects/adrv9009/common/adrv9009_bd.tcl index d3161175b..797670428 100644 --- a/projects/adrv9009/common/adrv9009_bd.tcl +++ b/projects/adrv9009/common/adrv9009_bd.tcl @@ -23,9 +23,11 @@ ad_ip_parameter axi_adrv9009_tx_xcvr CONFIG.OUT_CLK_SEL 3 adi_axi_jesd204_tx_create axi_adrv9009_tx_jesd 4 -ad_ip_instance util_upack util_adrv9009_tx_upack -ad_ip_parameter util_adrv9009_tx_upack CONFIG.CHANNEL_DATA_WIDTH 32 -ad_ip_parameter util_adrv9009_tx_upack CONFIG.NUM_OF_CHANNELS 4 +ad_ip_instance util_upack2 util_adrv9009_tx_upack { \ + NUM_OF_CHANNELS 4 \ + SAMPLES_PER_CHANNEL 2 \ + SAMPLE_DATA_WIDTH 16 \ +} ad_ip_instance axi_dmac axi_adrv9009_tx_dma ad_ip_parameter axi_adrv9009_tx_dma CONFIG.DMA_TYPE_SRC 0 @@ -58,9 +60,11 @@ ad_ip_parameter axi_adrv9009_rx_xcvr CONFIG.OUT_CLK_SEL 3 adi_axi_jesd204_rx_create axi_adrv9009_rx_jesd 2 -ad_ip_instance util_cpack util_adrv9009_rx_cpack -ad_ip_parameter util_adrv9009_rx_cpack CONFIG.CHANNEL_DATA_WIDTH 16 -ad_ip_parameter util_adrv9009_rx_cpack CONFIG.NUM_OF_CHANNELS 4 +ad_ip_instance util_cpack2 util_adrv9009_rx_cpack { \ + NUM_OF_CHANNELS 4 \ + SAMPLES_PER_CHANNEL 1 \ + SAMPLE_DATA_WIDTH 16 \ +} ad_ip_instance axi_dmac axi_adrv9009_rx_dma ad_ip_parameter axi_adrv9009_rx_dma CONFIG.DMA_TYPE_SRC 2 @@ -94,9 +98,11 @@ ad_ip_parameter axi_adrv9009_rx_os_xcvr CONFIG.OUT_CLK_SEL 3 adi_axi_jesd204_rx_create axi_adrv9009_rx_os_jesd 2 -ad_ip_instance util_cpack util_adrv9009_rx_os_cpack -ad_ip_parameter util_adrv9009_rx_os_cpack CONFIG.CHANNEL_DATA_WIDTH 32 -ad_ip_parameter util_adrv9009_rx_os_cpack CONFIG.NUM_OF_CHANNELS 4 +ad_ip_instance util_cpack2 util_adrv9009_rx_os_cpack { \ + NUM_OF_CHANNELS 4 \ + SAMPLES_PER_CHANNEL 2 \ + SAMPLE_DATA_WIDTH 16 \ +} ad_ip_instance axi_dmac axi_adrv9009_rx_os_dma ad_ip_parameter axi_adrv9009_rx_os_dma CONFIG.DMA_TYPE_SRC 2 @@ -182,23 +188,28 @@ ad_connect sys_dma_reset axi_adrv9009_dacfifo/dma_rst ad_connect axi_adrv9009_tx_clkgen/clk_0 axi_adrv9009_core/dac_clk ad_connect axi_adrv9009_tx_jesd/tx_data_tdata axi_adrv9009_core/dac_tx_data -ad_connect axi_adrv9009_tx_clkgen/clk_0 util_adrv9009_tx_upack/dac_clk -ad_connect axi_adrv9009_core/dac_valid_i0 util_adrv9009_tx_upack/dac_valid_0 -ad_connect axi_adrv9009_core/dac_enable_i0 util_adrv9009_tx_upack/dac_enable_0 -ad_connect axi_adrv9009_core/dac_data_i0 util_adrv9009_tx_upack/dac_data_0 -ad_connect axi_adrv9009_core/dac_valid_q0 util_adrv9009_tx_upack/dac_valid_1 -ad_connect axi_adrv9009_core/dac_enable_q0 util_adrv9009_tx_upack/dac_enable_1 -ad_connect axi_adrv9009_core/dac_data_q0 util_adrv9009_tx_upack/dac_data_1 -ad_connect axi_adrv9009_core/dac_valid_i1 util_adrv9009_tx_upack/dac_valid_2 -ad_connect axi_adrv9009_core/dac_enable_i1 util_adrv9009_tx_upack/dac_enable_2 -ad_connect axi_adrv9009_core/dac_data_i1 util_adrv9009_tx_upack/dac_data_2 -ad_connect axi_adrv9009_core/dac_valid_q1 util_adrv9009_tx_upack/dac_valid_3 -ad_connect axi_adrv9009_core/dac_enable_q1 util_adrv9009_tx_upack/dac_enable_3 -ad_connect axi_adrv9009_core/dac_data_q1 util_adrv9009_tx_upack/dac_data_3 + +ad_connect axi_adrv9009_tx_clkgen/clk_0 util_adrv9009_tx_upack/clk +ad_connect axi_adrv9009_tx_jesd_rstgen/peripheral_reset util_adrv9009_tx_upack/reset + +ad_connect axi_adrv9009_core/dac_valid_i0 util_adrv9009_tx_upack/fifo_rd_en +ad_connect axi_adrv9009_core/dac_enable_i0 util_adrv9009_tx_upack/enable_0 +ad_connect axi_adrv9009_core/dac_data_i0 util_adrv9009_tx_upack/fifo_rd_data_0 +ad_connect axi_adrv9009_core/dac_enable_q0 util_adrv9009_tx_upack/enable_1 +ad_connect axi_adrv9009_core/dac_data_q0 util_adrv9009_tx_upack/fifo_rd_data_1 +ad_connect axi_adrv9009_core/dac_enable_i1 util_adrv9009_tx_upack/enable_2 +ad_connect axi_adrv9009_core/dac_data_i1 util_adrv9009_tx_upack/fifo_rd_data_2 +ad_connect axi_adrv9009_core/dac_enable_q1 util_adrv9009_tx_upack/enable_3 +ad_connect axi_adrv9009_core/dac_data_q1 util_adrv9009_tx_upack/fifo_rd_data_3 + ad_connect axi_adrv9009_tx_clkgen/clk_0 axi_adrv9009_dacfifo/dac_clk ad_connect axi_adrv9009_tx_jesd_rstgen/peripheral_reset axi_adrv9009_dacfifo/dac_rst -ad_connect util_adrv9009_tx_upack/dac_valid axi_adrv9009_dacfifo/dac_valid -ad_connect util_adrv9009_tx_upack/dac_data axi_adrv9009_dacfifo/dac_data + +# TODO: Add streaming AXI interface for DAC FIFO +ad_connect util_adrv9009_tx_upack/s_axis_valid VCC +ad_connect util_adrv9009_tx_upack/s_axis_ready axi_adrv9009_dacfifo/dac_valid +ad_connect util_adrv9009_tx_upack/s_axis_data axi_adrv9009_dacfifo/dac_data + ad_connect sys_dma_clk axi_adrv9009_dacfifo/dma_clk ad_connect sys_dma_clk axi_adrv9009_tx_dma/m_axis_aclk ad_connect axi_adrv9009_dacfifo/dma_valid axi_adrv9009_tx_dma/m_axis_valid @@ -215,25 +226,21 @@ ad_connect sys_dma_resetn axi_adrv9009_tx_dma/m_src_axi_aresetn ad_connect axi_adrv9009_rx_clkgen/clk_0 axi_adrv9009_core/adc_clk ad_connect axi_adrv9009_rx_jesd/rx_sof axi_adrv9009_core/adc_rx_sof ad_connect axi_adrv9009_rx_jesd/rx_data_tdata axi_adrv9009_core/adc_rx_data -ad_connect axi_adrv9009_rx_clkgen/clk_0 util_adrv9009_rx_cpack/adc_clk -ad_connect axi_adrv9009_rx_jesd_rstgen/peripheral_reset util_adrv9009_rx_cpack/adc_rst -ad_connect axi_adrv9009_core/adc_enable_i0 util_adrv9009_rx_cpack/adc_enable_0 -ad_connect axi_adrv9009_core/adc_valid_i0 util_adrv9009_rx_cpack/adc_valid_0 -ad_connect axi_adrv9009_core/adc_data_i0 util_adrv9009_rx_cpack/adc_data_0 -ad_connect axi_adrv9009_core/adc_enable_q0 util_adrv9009_rx_cpack/adc_enable_1 -ad_connect axi_adrv9009_core/adc_valid_q0 util_adrv9009_rx_cpack/adc_valid_1 -ad_connect axi_adrv9009_core/adc_data_q0 util_adrv9009_rx_cpack/adc_data_1 -ad_connect axi_adrv9009_core/adc_enable_i1 util_adrv9009_rx_cpack/adc_enable_2 -ad_connect axi_adrv9009_core/adc_valid_i1 util_adrv9009_rx_cpack/adc_valid_2 -ad_connect axi_adrv9009_core/adc_data_i1 util_adrv9009_rx_cpack/adc_data_2 -ad_connect axi_adrv9009_core/adc_enable_q1 util_adrv9009_rx_cpack/adc_enable_3 -ad_connect axi_adrv9009_core/adc_valid_q1 util_adrv9009_rx_cpack/adc_valid_3 -ad_connect axi_adrv9009_core/adc_data_q1 util_adrv9009_rx_cpack/adc_data_3 +ad_connect axi_adrv9009_rx_clkgen/clk_0 util_adrv9009_rx_cpack/clk +ad_connect axi_adrv9009_rx_jesd_rstgen/peripheral_reset util_adrv9009_rx_cpack/reset + +ad_connect axi_adrv9009_core/adc_valid_i0 util_adrv9009_rx_cpack/fifo_wr_en +ad_connect axi_adrv9009_core/adc_enable_i0 util_adrv9009_rx_cpack/enable_0 +ad_connect axi_adrv9009_core/adc_data_i0 util_adrv9009_rx_cpack/fifo_wr_data_0 +ad_connect axi_adrv9009_core/adc_enable_q0 util_adrv9009_rx_cpack/enable_1 +ad_connect axi_adrv9009_core/adc_data_q0 util_adrv9009_rx_cpack/fifo_wr_data_1 +ad_connect axi_adrv9009_core/adc_enable_i1 util_adrv9009_rx_cpack/enable_2 +ad_connect axi_adrv9009_core/adc_data_i1 util_adrv9009_rx_cpack/fifo_wr_data_2 +ad_connect axi_adrv9009_core/adc_enable_q1 util_adrv9009_rx_cpack/enable_3 +ad_connect axi_adrv9009_core/adc_data_q1 util_adrv9009_rx_cpack/fifo_wr_data_3 + ad_connect axi_adrv9009_rx_clkgen/clk_0 axi_adrv9009_rx_dma/fifo_wr_clk -ad_connect util_adrv9009_rx_cpack/adc_valid axi_adrv9009_rx_dma/fifo_wr_en -ad_connect util_adrv9009_rx_cpack/adc_sync axi_adrv9009_rx_dma/fifo_wr_sync -ad_connect util_adrv9009_rx_cpack/adc_data axi_adrv9009_rx_dma/fifo_wr_din -ad_connect axi_adrv9009_rx_dma/fifo_wr_overflow axi_adrv9009_core/adc_dovf +ad_connect util_adrv9009_rx_cpack/packed_fifo_wr axi_adrv9009_rx_dma/fifo_wr ad_connect sys_dma_resetn axi_adrv9009_rx_dma/m_dest_axi_aresetn # connections (adc-os) @@ -241,25 +248,23 @@ ad_connect sys_dma_resetn axi_adrv9009_rx_dma/m_dest_axi_aresetn ad_connect axi_adrv9009_rx_os_clkgen/clk_0 axi_adrv9009_core/adc_os_clk ad_connect axi_adrv9009_rx_os_jesd/rx_sof axi_adrv9009_core/adc_rx_os_sof ad_connect axi_adrv9009_rx_os_jesd/rx_data_tdata axi_adrv9009_core/adc_rx_os_data -ad_connect axi_adrv9009_rx_os_clkgen/clk_0 util_adrv9009_rx_os_cpack/adc_clk -ad_connect axi_adrv9009_rx_os_jesd_rstgen/peripheral_reset util_adrv9009_rx_os_cpack/adc_rst -ad_connect axi_adrv9009_core/adc_os_enable_i0 util_adrv9009_rx_os_cpack/adc_enable_0 -ad_connect axi_adrv9009_core/adc_os_valid_i0 util_adrv9009_rx_os_cpack/adc_valid_0 -ad_connect axi_adrv9009_core/adc_os_data_i0 util_adrv9009_rx_os_cpack/adc_data_0 -ad_connect axi_adrv9009_core/adc_os_enable_q0 util_adrv9009_rx_os_cpack/adc_enable_1 -ad_connect axi_adrv9009_core/adc_os_valid_q0 util_adrv9009_rx_os_cpack/adc_valid_1 -ad_connect axi_adrv9009_core/adc_os_data_q0 util_adrv9009_rx_os_cpack/adc_data_1 -ad_connect axi_adrv9009_core/adc_os_enable_i1 util_adrv9009_rx_os_cpack/adc_enable_2 -ad_connect axi_adrv9009_core/adc_os_valid_i1 util_adrv9009_rx_os_cpack/adc_valid_2 -ad_connect axi_adrv9009_core/adc_os_data_i1 util_adrv9009_rx_os_cpack/adc_data_2 -ad_connect axi_adrv9009_core/adc_os_enable_q1 util_adrv9009_rx_os_cpack/adc_enable_3 -ad_connect axi_adrv9009_core/adc_os_valid_q1 util_adrv9009_rx_os_cpack/adc_valid_3 -ad_connect axi_adrv9009_core/adc_os_data_q1 util_adrv9009_rx_os_cpack/adc_data_3 +ad_connect axi_adrv9009_rx_os_clkgen/clk_0 util_adrv9009_rx_os_cpack/clk +ad_connect axi_adrv9009_rx_os_jesd_rstgen/peripheral_reset util_adrv9009_rx_os_cpack/reset ad_connect axi_adrv9009_rx_os_clkgen/clk_0 axi_adrv9009_rx_os_dma/fifo_wr_clk -ad_connect util_adrv9009_rx_os_cpack/adc_valid axi_adrv9009_rx_os_dma/fifo_wr_en -ad_connect util_adrv9009_rx_os_cpack/adc_sync axi_adrv9009_rx_os_dma/fifo_wr_sync -ad_connect util_adrv9009_rx_os_cpack/adc_data axi_adrv9009_rx_os_dma/fifo_wr_din -ad_connect axi_adrv9009_rx_os_dma/fifo_wr_overflow axi_adrv9009_core/adc_os_dovf + +ad_connect axi_adrv9009_core/adc_os_valid_i0 util_adrv9009_rx_os_cpack/fifo_wr_en +ad_connect axi_adrv9009_core/adc_os_enable_i0 util_adrv9009_rx_os_cpack/enable_0 +ad_connect axi_adrv9009_core/adc_os_data_i0 util_adrv9009_rx_os_cpack/fifo_wr_data_0 +ad_connect axi_adrv9009_core/adc_os_enable_q0 util_adrv9009_rx_os_cpack/enable_1 +ad_connect axi_adrv9009_core/adc_os_data_q0 util_adrv9009_rx_os_cpack/fifo_wr_data_1 +ad_connect axi_adrv9009_core/adc_os_enable_i1 util_adrv9009_rx_os_cpack/enable_2 +ad_connect axi_adrv9009_core/adc_os_data_i1 util_adrv9009_rx_os_cpack/fifo_wr_data_2 +ad_connect axi_adrv9009_core/adc_os_enable_q1 util_adrv9009_rx_os_cpack/enable_3 +ad_connect axi_adrv9009_core/adc_os_data_q1 util_adrv9009_rx_os_cpack/fifo_wr_data_3 +ad_connect axi_adrv9009_core/adc_os_dovf util_adrv9009_rx_os_cpack/fifo_wr_overflow + +ad_connect util_adrv9009_rx_os_cpack/packed_fifo_wr axi_adrv9009_rx_os_dma/fifo_wr + ad_connect sys_dma_resetn axi_adrv9009_rx_os_dma/m_dest_axi_aresetn # interconnect (cpu) diff --git a/projects/adrv9009/zcu102/Makefile b/projects/adrv9009/zcu102/Makefile index d74998b7e..a0fc54fb3 100644 --- a/projects/adrv9009/zcu102/Makefile +++ b/projects/adrv9009/zcu102/Makefile @@ -19,9 +19,9 @@ LIB_DEPS += jesd204/axi_jesd204_rx LIB_DEPS += jesd204/axi_jesd204_tx LIB_DEPS += jesd204/jesd204_rx LIB_DEPS += jesd204/jesd204_tx -LIB_DEPS += util_cpack LIB_DEPS += util_dacfifo -LIB_DEPS += util_upack +LIB_DEPS += util_pack/util_cpack2 +LIB_DEPS += util_pack/util_upack2 LIB_DEPS += xilinx/axi_adxcvr LIB_DEPS += xilinx/util_adxcvr