1
1
# ##############################################################################
2
- # # Copyright (C) 2019-2023 Analog Devices, Inc. All rights reserved.
2
+ # # Copyright (C) 2019-2025 Analog Devices, Inc. All rights reserved.
3
3
# ## SPDX short identifier: ADIBSD
4
4
# ##############################################################################
5
5
@@ -13,8 +13,9 @@ set RX_SAMPLES_PER_CHANNEL 8 ; # L * 32 / (M * N)
13
13
14
14
15
15
source $ad_hdl_dir /library/jesd204/scripts/jesd204.tcl
16
+ source $ad_hdl_dir /projects/common/xilinx/data_offload_bd.tcl
16
17
17
- set adc_fifo_name axi_ad9208_fifo
18
+ set adc_offload_name ad9208_data_offload
18
19
set adc_data_width 512
19
20
set adc_dma_data_width 512
20
21
@@ -77,7 +78,23 @@ ad_ip_instance util_cpack2 util_ad9208_cpack [list \
77
78
SAMPLE_DATA_WIDTH $RX_SAMPLE_WIDTH \
78
79
]
79
80
80
- ad_adcfifo_create $adc_fifo_name $adc_data_width $adc_dma_data_width $adc_fifo_address_width
81
+ ad_data_offload_create $adc_offload_name \
82
+ 0 \
83
+ $adc_offload_type \
84
+ $adc_offload_size \
85
+ $adc_data_width \
86
+ $adc_dma_data_width
87
+
88
+ ad_ip_parameter $adc_offload_name /i_data_offload CONFIG.SYNC_EXT_ADD_INTERNAL_CDC 0
89
+ ad_connect $adc_offload_name /sync_ext GND
90
+
91
+ ad_ip_instance util_vector_logic rx_do_rstout_logic
92
+ ad_ip_parameter rx_do_rstout_logic config.c_operation {not}
93
+ ad_ip_parameter rx_do_rstout_logic config.c_size {1}
94
+
95
+ ad_ip_instance util_vector_logic cpack_reset_logic
96
+ ad_ip_parameter cpack_reset_logic config.c_operation {or}
97
+ ad_ip_parameter cpack_reset_logic config.c_size {1}
81
98
82
99
ad_ip_instance axi_dmac axi_ad9208_dma
83
100
ad_ip_parameter axi_ad9208_dma CONFIG.DMA_TYPE_SRC 1
@@ -146,16 +163,19 @@ ad_connect glbl_clk_0 rx_ad9208_0_tpl_core/link_clk
146
163
ad_connect glbl_clk_0 rx_ad9208_1_tpl_core/link_clk
147
164
148
165
ad_connect glbl_clk_0 util_ad9208_cpack/clk
149
- ad_connect glbl_clk_0 axi_ad9208_fifo/adc_clk
166
+ ad_connect glbl_clk_0 $adc_offload_name /s_axis_aclk
150
167
151
168
152
169
# dma clock domain
153
- ad_connect $sys_cpu_clk axi_ad9208_fifo/dma_clk
170
+ ad_connect $sys_cpu_clk $adc_offload_name /m_axis_aclk
154
171
ad_connect $sys_cpu_clk axi_ad9208_dma/s_axis_aclk
155
172
156
173
# connect resets
157
- ad_connect glbl_clk_0_rstgen/peripheral_reset axi_ad9208_fifo/adc_rst
158
- ad_connect glbl_clk_0_rstgen/peripheral_reset util_ad9208_cpack/reset
174
+ ad_connect glbl_clk_0_rstgen/peripheral_aresetn $adc_offload_name /s_axis_aresetn
175
+ ad_connect glbl_clk_0_rstgen/peripheral_reset cpack_reset_logic/op1
176
+ ad_connect rx_do_rstout_logic/res cpack_reset_logic/op2
177
+ ad_connect cpack_reset_logic/res util_ad9208_cpack/reset
178
+ ad_connect $sys_cpu_resetn $adc_offload_name /m_axis_aresetn
159
179
ad_connect $sys_cpu_resetn axi_ad9208_dma/m_dest_axi_aresetn
160
180
161
181
@@ -179,13 +199,14 @@ for {set i 0} {$i < $RX_NUM_OF_CONVERTERS} {incr i} {
179
199
ad_connect rx_ad9208_0_tpl_core/adc_dovf util_ad9208_cpack/fifo_wr_overflow
180
200
ad_connect rx_ad9208_1_tpl_core/adc_dovf util_ad9208_cpack/fifo_wr_overflow
181
201
182
- ad_connect util_ad9208_cpack/packed_fifo_wr_data axi_ad9208_fifo/adc_wdata
183
- ad_connect util_ad9208_cpack/packed_fifo_wr_en axi_ad9208_fifo/adc_wr
202
+ ad_connect util_ad9208_cpack/packed_fifo_wr_data $adc_offload_name /s_axis_tdata
203
+ ad_connect util_ad9208_cpack/packed_fifo_wr_en $adc_offload_name /s_axis_tvalid
204
+ ad_connect $adc_offload_name /s_axis_tlast GND
205
+ ad_connect $adc_offload_name /s_axis_tkeep VCC
206
+ ad_connect $adc_offload_name /s_axis_tready rx_do_rstout_logic/op1
184
207
185
- ad_connect axi_ad9208_fifo/dma_wr axi_ad9208_dma/s_axis_valid
186
- ad_connect axi_ad9208_fifo/dma_wdata axi_ad9208_dma/s_axis_data
187
- ad_connect axi_ad9208_fifo/dma_wready axi_ad9208_dma/s_axis_ready
188
- ad_connect axi_ad9208_fifo/dma_xfer_req axi_ad9208_dma/s_axis_xfer_req
208
+ ad_connect $adc_offload_name /m_axis axi_ad9208_dma/s_axis
209
+ ad_connect $adc_offload_name /init_req axi_ad9208_dma/s_axis_xfer_req
189
210
190
211
# interconnect (cpu)
191
212
@@ -196,6 +217,7 @@ ad_cpu_interconnect 0x44b10000 rx_ad9208_1_tpl_core
196
217
ad_cpu_interconnect 0x44a90000 axi_ad9208_0_jesd
197
218
ad_cpu_interconnect 0x44b90000 axi_ad9208_1_jesd
198
219
ad_cpu_interconnect 0x7c420000 axi_ad9208_dma
220
+ ad_cpu_interconnect 0x7c430000 $adc_offload_name
199
221
200
222
# interconnect (gt/adc)
201
223
@@ -208,6 +230,3 @@ ad_mem_hp0_interconnect $sys_cpu_clk axi_ad9208_dma/m_dest_axi
208
230
ad_cpu_interrupt ps-12 mb-12 axi_ad9208_dma/irq
209
231
ad_cpu_interrupt ps-11 mb-13 axi_ad9208_0_jesd/irq
210
232
ad_cpu_interrupt ps-10 mb-14 axi_ad9208_1_jesd/irq
211
-
212
-
213
-
0 commit comments