Skip to content

Commit 74893c0

Browse files
committed
adrv9026: Replace dacfifo with data_offload
Signed-off-by: Ionut Podgoreanu <ionut.podgoreanu@analog.com>
1 parent 9bfcb36 commit 74893c0

File tree

7 files changed

+45
-41
lines changed

7 files changed

+45
-41
lines changed

projects/adrv9026/common/adrv9026_bd.tcl

Lines changed: 22 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ set RX_SAMPLE_WIDTH 16 ; # N/NP
3232

3333
set RX_SAMPLES_PER_CHANNEL [expr $RX_NUM_OF_LANES * 32 / ($RX_NUM_OF_CONVERTERS * $RX_SAMPLE_WIDTH)] ; # L * 32 / (M * N)
3434

35-
set dac_fifo_name axi_adrv9026_dacfifo
35+
set dac_offload_name adrv9026_data_offload
3636
set dac_data_width [expr 32*$TX_NUM_OF_LANES]
3737
set dac_dma_data_width 128
3838

@@ -47,10 +47,10 @@ if {$JESD_MODE == "8B10B"} {
4747
}
4848

4949
source $ad_hdl_dir/library/jesd204/scripts/jesd204.tcl
50+
source $ad_hdl_dir/projects/common/xilinx/data_offload_bd.tcl
5051

5152
# adrv9026
5253

53-
create_bd_port -dir I dac_fifo_bypass
5454
create_bd_port -dir I core_clk
5555

5656
# dac peripherals
@@ -90,7 +90,15 @@ ad_ip_parameter axi_adrv9026_tx_dma CONFIG.DMA_DATA_WIDTH_SRC 128
9090
ad_ip_parameter axi_adrv9026_tx_dma CONFIG.FIFO_SIZE 32
9191
ad_ip_parameter axi_adrv9026_tx_dma CONFIG.CACHE_COHERENT $CACHE_COHERENCY
9292

93-
ad_dacfifo_create $dac_fifo_name $dac_data_width $dac_dma_data_width $dac_fifo_address_width
93+
ad_data_offload_create $dac_offload_name \
94+
1 \
95+
$dac_offload_type \
96+
$dac_offload_size \
97+
$dac_dma_data_width \
98+
$dac_data_width
99+
100+
ad_ip_parameter $dac_offload_name/i_data_offload CONFIG.SYNC_EXT_ADD_INTERNAL_CDC 0
101+
ad_connect $dac_offload_name/sync_ext GND
94102

95103
# adc peripherals
96104

@@ -191,23 +199,16 @@ for {set i 0} {$i < $TX_NUM_OF_CONVERTERS} {incr i} {
191199
}
192200

193201
ad_connect tx_adrv9026_tpl_core/dac_valid_0 util_adrv9026_tx_upack/fifo_rd_en
194-
ad_connect core_clk axi_adrv9026_dacfifo/dac_clk
195-
ad_connect core_clk_rstgen/peripheral_reset axi_adrv9026_dacfifo/dac_rst
196-
197-
ad_connect util_adrv9026_tx_upack/s_axis_valid VCC
198-
ad_connect util_adrv9026_tx_upack/s_axis_ready axi_adrv9026_dacfifo/dac_valid
199-
ad_connect util_adrv9026_tx_upack/s_axis_data axi_adrv9026_dacfifo/dac_data
200-
201-
ad_connect core_clk axi_adrv9026_dacfifo/dma_clk
202-
ad_connect core_clk_rstgen/peripheral_reset axi_adrv9026_dacfifo/dma_rst
203-
ad_connect core_clk axi_adrv9026_tx_dma/m_axis_aclk
204-
ad_connect axi_adrv9026_dacfifo/dma_valid axi_adrv9026_tx_dma/m_axis_valid
205-
ad_connect axi_adrv9026_dacfifo/dma_data axi_adrv9026_tx_dma/m_axis_data
206-
ad_connect axi_adrv9026_dacfifo/dma_ready axi_adrv9026_tx_dma/m_axis_ready
207-
ad_connect axi_adrv9026_dacfifo/dma_xfer_req axi_adrv9026_tx_dma/m_axis_xfer_req
208-
ad_connect axi_adrv9026_dacfifo/dma_xfer_last axi_adrv9026_tx_dma/m_axis_last
209-
ad_connect axi_adrv9026_dacfifo/dac_dunf tx_adrv9026_tpl_core/dac_dunf
210-
ad_connect axi_adrv9026_dacfifo/bypass dac_fifo_bypass
202+
ad_connect core_clk $dac_offload_name/m_axis_aclk
203+
ad_connect core_clk_rstgen/peripheral_aresetn $dac_offload_name/m_axis_aresetn
204+
ad_connect util_adrv9026_tx_upack/s_axis $dac_offload_name/m_axis
205+
206+
ad_connect core_clk $dac_offload_name/s_axis_aclk
207+
ad_connect core_clk_rstgen/peripheral_aresetn $dac_offload_name/s_axis_aresetn
208+
ad_connect core_clk axi_adrv9026_tx_dma/m_axis_aclk
209+
ad_connect $dac_offload_name/s_axis axi_adrv9026_tx_dma/m_axis
210+
ad_connect $dac_offload_name/init_req axi_adrv9026_tx_dma/m_axis_xfer_req
211+
ad_connect tx_adrv9026_tpl_core/dac_dunf util_adrv9026_tx_upack/fifo_rd_underflow
211212
ad_connect core_clk_rstgen/peripheral_aresetn axi_adrv9026_tx_dma/m_src_axi_aresetn
212213

213214
# connections (adc)
@@ -240,6 +241,7 @@ ad_cpu_interconnect 0x44A60000 axi_adrv9026_rx_xcvr
240241
ad_cpu_interconnect 0x44A80000 axi_adrv9026_tx_xcvr
241242
ad_cpu_interconnect 0x44A90000 axi_adrv9026_tx_jesd
242243
ad_cpu_interconnect 0x7c420000 axi_adrv9026_tx_dma
244+
ad_cpu_interconnect 0x7c430000 $dac_offload_name
243245
ad_cpu_interconnect 0x44AA0000 axi_adrv9026_rx_jesd
244246
ad_cpu_interconnect 0x7c400000 axi_adrv9026_rx_dma
245247

projects/adrv9026/vcu118/Makefile

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
####################################################################################
2-
## Copyright (c) 2018 - 2024 Analog Devices, Inc.
2+
## Copyright (c) 2018 - 2025 Analog Devices, Inc.
33
### SPDX short identifier: BSD-1-Clause
44
## Auto-generated, do not modify!
55
####################################################################################
@@ -10,20 +10,23 @@ M_DEPS += ../common/adrv9026_bd.tcl
1010
M_DEPS += ../../scripts/adi_pd.tcl
1111
M_DEPS += ../../common/vcu118/vcu118_system_constr.xdc
1212
M_DEPS += ../../common/vcu118/vcu118_system_bd.tcl
13-
M_DEPS += ../../common/xilinx/dacfifo_bd.tcl
13+
M_DEPS += ../../common/xilinx/data_offload_bd.tcl
14+
M_DEPS += ../../../library/util_hbm/scripts/adi_util_hbm.tcl
1415
M_DEPS += ../../../library/jesd204/scripts/jesd204.tcl
1516
M_DEPS += ../../../library/common/ad_iobuf.v
1617

1718
LIB_DEPS += axi_dmac
1819
LIB_DEPS += axi_sysid
20+
LIB_DEPS += data_offload
1921
LIB_DEPS += jesd204/ad_ip_jesd204_tpl_adc
2022
LIB_DEPS += jesd204/ad_ip_jesd204_tpl_dac
2123
LIB_DEPS += jesd204/axi_jesd204_rx
2224
LIB_DEPS += jesd204/axi_jesd204_tx
2325
LIB_DEPS += jesd204/jesd204_rx
2426
LIB_DEPS += jesd204/jesd204_tx
2527
LIB_DEPS += sysid_rom
26-
LIB_DEPS += util_dacfifo
28+
LIB_DEPS += util_do_ram
29+
LIB_DEPS += util_hbm
2730
LIB_DEPS += util_pack/util_cpack2
2831
LIB_DEPS += util_pack/util_upack2
2932
LIB_DEPS += xilinx/axi_adxcvr

projects/adrv9026/vcu118/system_bd.tcl

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
###############################################################################
2-
## Copyright (C) 2024 Analog Devices, Inc. All rights reserved.
2+
## Copyright (C) 2024-2025 Analog Devices, Inc. All rights reserved.
33
### SPDX short identifier: ADIBSD
44
###############################################################################
55

6-
## FIFO depth is 18Mb - 1M samples
7-
set dac_fifo_address_width 17
6+
## Offload attributes
7+
set dac_offload_type 0 ; ## BRAM
8+
set dac_offload_size [expr 2*1024*1024] ; ## 2 MB
89

910
source $ad_hdl_dir/projects/common/vcu118/vcu118_system_bd.tcl
10-
source $ad_hdl_dir/projects/common/xilinx/dacfifo_bd.tcl
1111
source $ad_hdl_dir/projects/scripts/adi_pd.tcl
1212

1313
set mem_init_sys_path [get_env_param ADI_PROJECT_DIR ""]mem_init_sys.txt;

projects/adrv9026/vcu118/system_top.v

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
// ***************************************************************************
22
// ***************************************************************************
3-
// Copyright (C) 2024 Analog Devices, Inc. All rights reserved.
3+
// Copyright (C) 2024-2025 Analog Devices, Inc. All rights reserved.
44
//
55
// In this HDL repository, there are many different and unique modules, consisting
66
// of various HDL (Verilog or VHDL) components. The individual modules are
@@ -303,7 +303,6 @@ module system_top (
303303
.spi_sdo_i (spi_mosi),
304304
.spi_sdo_o (spi_mosi),
305305

306-
.dac_fifo_bypass(gpio_o[63]),
307306
.gpio0_i (gpio_i[31:0]),
308307
.gpio0_o (gpio_o[31:0]),
309308
.gpio0_t (gpio_t[31:0]),

projects/adrv9026/zcu102/Makefile

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
####################################################################################
2-
## Copyright (c) 2018 - 2024 Analog Devices, Inc.
2+
## Copyright (c) 2018 - 2025 Analog Devices, Inc.
33
### SPDX short identifier: BSD-1-Clause
44
## Auto-generated, do not modify!
55
####################################################################################
@@ -10,20 +10,23 @@ M_DEPS += ../common/adrv9026_bd.tcl
1010
M_DEPS += ../../scripts/adi_pd.tcl
1111
M_DEPS += ../../common/zcu102/zcu102_system_constr.xdc
1212
M_DEPS += ../../common/zcu102/zcu102_system_bd.tcl
13-
M_DEPS += ../../common/xilinx/dacfifo_bd.tcl
13+
M_DEPS += ../../common/xilinx/data_offload_bd.tcl
14+
M_DEPS += ../../../library/util_hbm/scripts/adi_util_hbm.tcl
1415
M_DEPS += ../../../library/jesd204/scripts/jesd204.tcl
1516
M_DEPS += ../../../library/common/ad_iobuf.v
1617

1718
LIB_DEPS += axi_dmac
1819
LIB_DEPS += axi_sysid
20+
LIB_DEPS += data_offload
1921
LIB_DEPS += jesd204/ad_ip_jesd204_tpl_adc
2022
LIB_DEPS += jesd204/ad_ip_jesd204_tpl_dac
2123
LIB_DEPS += jesd204/axi_jesd204_rx
2224
LIB_DEPS += jesd204/axi_jesd204_tx
2325
LIB_DEPS += jesd204/jesd204_rx
2426
LIB_DEPS += jesd204/jesd204_tx
2527
LIB_DEPS += sysid_rom
26-
LIB_DEPS += util_dacfifo
28+
LIB_DEPS += util_do_ram
29+
LIB_DEPS += util_hbm
2730
LIB_DEPS += util_pack/util_cpack2
2831
LIB_DEPS += util_pack/util_upack2
2932
LIB_DEPS += xilinx/axi_adxcvr

projects/adrv9026/zcu102/system_bd.tcl

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,13 @@
11
###############################################################################
2-
## Copyright (C) 2023-2024 Analog Devices, Inc. All rights reserved.
2+
## Copyright (C) 2023-2025 Analog Devices, Inc. All rights reserved.
33
### SPDX short identifier: ADIBSD
44
###############################################################################
55

6-
## FIFO depth is 18Mb - 1M samples
7-
set dac_fifo_address_width 17
8-
9-
## NOTE: With this configuration the #36Kb BRAM utilization is at ~57%
6+
## Offload attributes
7+
set dac_offload_type 0 ; ## BRAM
8+
set dac_offload_size [expr 2*1024*1024] ; ## 2 MB
109

1110
source $ad_hdl_dir/projects/common/zcu102/zcu102_system_bd.tcl
12-
source $ad_hdl_dir/projects/common/xilinx/dacfifo_bd.tcl
1311
source $ad_hdl_dir/projects/scripts/adi_pd.tcl
1412

1513
#system ID

projects/adrv9026/zcu102/system_top.v

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
// ***************************************************************************
22
// ***************************************************************************
3-
// Copyright (C) 2023-2024 Analog Devices, Inc. All rights reserved.
3+
// Copyright (C) 2023-2025 Analog Devices, Inc. All rights reserved.
44
//
55
// In this HDL repository, there are many different and unique modules, consisting
66
// of various HDL (Verilog or VHDL) components. The individual modules are
@@ -221,7 +221,6 @@ module system_top (
221221
assign spi_csn_ad9528 = spi_csn[1];
222222

223223
system_wrapper i_system_wrapper (
224-
.dac_fifo_bypass (gpio_o[69]),
225224
.gpio_i (gpio_i),
226225
.gpio_o (gpio_o),
227226
.gpio_t (gpio_t),
@@ -257,4 +256,4 @@ module system_top (
257256
.tx_sync_0 (tx_sync),
258257
.tx_sysref_0 (sysref));
259258

260-
endmodule
259+
endmodule

0 commit comments

Comments
 (0)