5
5
6
6
source $ad_hdl_dir /library/spi_engine/scripts/spi_engine.tcl
7
7
# system level parameters
8
- set AD463X_ADAQ42XX_N $ad_project_params(AD463X_ADAQ42XX_N )
8
+ set AD463X_AD403X_N $ad_project_params(AD463X_AD403X_N )
9
9
set NUM_OF_SDI $ad_project_params(NUM_OF_SDI)
10
10
set CAPTURE_ZONE $ad_project_params(CAPTURE_ZONE)
11
11
set CLK_MODE $ad_project_params(CLK_MODE)
12
12
set DDR_EN $ad_project_params(DDR_EN)
13
13
14
- puts " build parameters: AD463X_ADAQ42XX_N : $AD463X_ADAQ42XX_N ; NUM_OF_SDI: $NUM_OF_SDI ; CAPTURE_ZONE: $CAPTURE_ZONE ; CLK_MODE: $CLK_MODE ;DDR_EN: $DDR_EN "
14
+ puts " build parameters: AD463X_AD403X_N : $AD463X_AD403X_N ; NUM_OF_SDI: $NUM_OF_SDI ; CAPTURE_ZONE: $CAPTURE_ZONE ; CLK_MODE: $CLK_MODE ;DDR_EN: $DDR_EN "
15
15
16
16
# block design ports and interfaces
17
17
# specify the CNV generator's reference clock frequency in MHz
@@ -25,17 +25,17 @@ set adc_sampling_rate 1000000
25
25
# specify the MAX17687 and LT8608 SYNC signal frequency (400KHz)
26
26
set max17687_sync_freq 400000
27
27
28
- # create_bd_intf_port -mode Master -vlnv analog.com:interface:spi_master_rtl:1.0 ad463x_adaq42xx_spi
28
+ # create_bd_intf_port -mode Master -vlnv analog.com:interface:spi_master_rtl:1.0 ad4x3x_spi
29
29
30
- create_bd_port -dir O ad463x_adaq42xx_spi_sclk
31
- create_bd_port -dir O ad463x_adaq42xx_spi_cs
32
- create_bd_port -dir O ad463x_adaq42xx_spi_sdo
33
- create_bd_port -dir I -from [expr $NUM_OF_SDI -1] -to 0 ad463x_adaq42xx_spi_sdi
30
+ create_bd_port -dir O ad4x3x_spi_sclk
31
+ create_bd_port -dir O ad4x3x_spi_cs
32
+ create_bd_port -dir O ad4x3x_spi_sdo
33
+ create_bd_port -dir I -from [expr $NUM_OF_SDI -1] -to 0 ad4x3x_spi_sdi
34
34
35
- create_bd_port -dir I ad463x_adaq42xx_echo_sclk
36
- create_bd_port -dir I ad463x_adaq42xx_busy
37
- create_bd_port -dir O ad463x_adaq42xx_cnv
38
- create_bd_port -dir I ad463x_adaq42xx_ext_clk
35
+ create_bd_port -dir I ad4x3x_echo_sclk
36
+ create_bd_port -dir I ad4x3x_busy
37
+ create_bd_port -dir O ad4x3x_cnv
38
+ create_bd_port -dir I ad4x3x_ext_clk
39
39
40
40
create_bd_port -dir O max17687_sync_clk
41
41
@@ -50,7 +50,7 @@ ad_connect spi_clk spi_clkgen/clk_0
50
50
51
51
# create a SPI Engine architecture
52
52
53
- # spi_engine_create "spi_ad463x_adaq42xx " 32 1 1 $NUM_OF_SDI 0 1
53
+ # spi_engine_create "spi_ad4x3x " 32 1 1 $NUM_OF_SDI 0 1
54
54
55
55
set data_width 32
56
56
set async_spi_clk 1
@@ -60,7 +60,7 @@ set num_sdo 1
60
60
set sdi_delay 1
61
61
set echo_sclk 1
62
62
63
- set hier_spi_engine spi_ad463x_adaq42xx
63
+ set hier_spi_engine spi_ad4x3x
64
64
65
65
spi_engine_create $hier_spi_engine $data_width $async_spi_clk $num_cs $num_sdi $num_sdo $sdi_delay $echo_sclk
66
66
@@ -92,18 +92,25 @@ ad_ip_parameter sync_generator CONFIG.PULSE_0_PERIOD $max17687_cycle
92
92
ad_ip_parameter sync_generator CONFIG.PULSE_0_WIDTH [expr int(ceil(double($max17687_cycle ) / 2))]
93
93
94
94
ad_ip_instance spi_axis_reorder data_reorder
95
- ad_ip_parameter data_reorder CONFIG.NUM_OF_LANES $NUM_OF_SDI
95
+ switch $AD463X_AD403X_N {
96
+ 0 {
97
+ ad_ip_parameter data_reorder CONFIG.NUM_OF_LANES [expr $NUM_OF_SDI *2]
98
+ }
99
+ 1 {
100
+ ad_ip_parameter data_reorder CONFIG.NUM_OF_LANES $NUM_OF_SDI *2
101
+ }
102
+ }
96
103
97
104
# dma to receive data stream
98
105
99
- ad_ip_instance axi_dmac axi_ad463x_adaq42xx_dma
100
- ad_ip_parameter axi_ad463x_adaq42xx_dma CONFIG.DMA_TYPE_SRC 1
101
- ad_ip_parameter axi_ad463x_adaq42xx_dma CONFIG.DMA_TYPE_DEST 0
102
- ad_ip_parameter axi_ad463x_adaq42xx_dma CONFIG.CYCLIC 0
103
- ad_ip_parameter axi_ad463x_adaq42xx_dma CONFIG.AXI_SLICE_DEST 1
104
- ad_ip_parameter axi_ad463x_adaq42xx_dma CONFIG.AXI_SLICE_SRC 1
105
- ad_ip_parameter axi_ad463x_adaq42xx_dma CONFIG.DMA_DATA_WIDTH_SRC 64
106
- ad_ip_parameter axi_ad463x_adaq42xx_dma CONFIG.DMA_DATA_WIDTH_DEST 64
106
+ ad_ip_instance axi_dmac axi_ad4x3x_dma
107
+ ad_ip_parameter axi_ad4x3x_dma CONFIG.DMA_TYPE_SRC 1
108
+ ad_ip_parameter axi_ad4x3x_dma CONFIG.DMA_TYPE_DEST 0
109
+ ad_ip_parameter axi_ad4x3x_dma CONFIG.CYCLIC 0
110
+ ad_ip_parameter axi_ad4x3x_dma CONFIG.AXI_SLICE_DEST 1
111
+ ad_ip_parameter axi_ad4x3x_dma CONFIG.AXI_SLICE_SRC 1
112
+ ad_ip_parameter axi_ad4x3x_dma CONFIG.DMA_DATA_WIDTH_SRC 64
113
+ ad_ip_parameter axi_ad4x3x_dma CONFIG.DMA_DATA_WIDTH_DEST 64
107
114
108
115
# Trigger for SPI offload
109
116
if {$CAPTURE_ZONE == 1} {
@@ -112,7 +119,7 @@ if {$CAPTURE_ZONE == 1} {
112
119
# is used for SDI latching
113
120
switch $CLK_MODE {
114
121
0 {
115
- ad_connect $hier_spi_engine /echo_sclk ad463x_adaq42xx_echo_sclk
122
+ ad_connect $hier_spi_engine /echo_sclk ad4x3x_echo_sclk
116
123
}
117
124
1 -
118
125
2 {
@@ -135,7 +142,7 @@ if {$CAPTURE_ZONE == 1} {
135
142
ad_connect busy_capture/rst GND
136
143
ad_connect $hier_spi_engine /${hier_spi_engine} _axi_regmap/spi_resetn busy_sync/out_resetn
137
144
138
- ad_connect ad463x_adaq42xx_busy busy_sync/in_bits
145
+ ad_connect ad4x3x_busy busy_sync/in_bits
139
146
ad_connect busy_sync/out_bits busy_capture/signal_in
140
147
ad_connect $hier_spi_engine /trigger busy_capture/signal_out
141
148
# # SDI is latched by the SPIE execution module
@@ -150,7 +157,7 @@ if {$CAPTURE_ZONE == 1} {
150
157
# # SPI mode is using the echo SCLK, on echo SPI and Master mode the BUSY
151
158
# is used for SDI latching
152
159
153
- ad_connect $hier_spi_engine /echo_sclk ad463x_adaq42xx_echo_sclk
160
+ ad_connect $hier_spi_engine /echo_sclk ad4x3x_echo_sclk
154
161
switch $CLK_MODE {
155
162
0 {
156
163
# # SDI is latched by the SPIE execution module
@@ -164,9 +171,9 @@ if {$CAPTURE_ZONE == 1} {
164
171
ad_ip_parameter data_capture CONFIG.NUM_OF_LANES $NUM_OF_SDI
165
172
166
173
ad_connect spi_clk data_capture/clk
167
- ad_connect ad463x_adaq42xx_spi_cs data_capture/csn
168
- ad_connect ad463x_adaq42xx_busy data_capture/echo_sclk
169
- ad_connect ad463x_adaq42xx_spi_sdi data_capture/data_in
174
+ ad_connect ad4x3x_spi_cs data_capture/csn
175
+ ad_connect ad4x3x_busy data_capture/echo_sclk
176
+ ad_connect ad4x3x_spi_sdi data_capture/data_in
170
177
171
178
ad_connect data_capture/m_axis data_reorder/s_axis
172
179
@@ -183,7 +190,7 @@ if {$CAPTURE_ZONE == 1} {
183
190
exit 2
184
191
185
192
}
186
- ad_connect ad463x_adaq42xx_cnv cnv_generator/pwm_1
193
+ ad_connect ad4x3x_cnv cnv_generator/pwm_1
187
194
ad_connect max17687_sync_clk sync_generator/pwm_0
188
195
189
196
# clocks
@@ -193,40 +200,40 @@ ad_connect $sys_cpu_clk cnv_generator/s_axi_aclk
193
200
ad_connect $sys_cpu_clk sync_generator/s_axi_aclk
194
201
ad_connect spi_clk $hier_spi_engine /spi_clk
195
202
ad_connect spi_clk data_reorder/axis_aclk
196
- ad_connect spi_clk axi_ad463x_adaq42xx_dma /s_axis_aclk
197
- ad_connect ad463x_adaq42xx_ext_clk cnv_generator/ext_clk
198
- ad_connect ad463x_adaq42xx_ext_clk sync_generator/ext_clk
203
+ ad_connect spi_clk axi_ad4x3x_dma /s_axis_aclk
204
+ ad_connect ad4x3x_ext_clk cnv_generator/ext_clk
205
+ ad_connect ad4x3x_ext_clk sync_generator/ext_clk
199
206
200
207
# resets
201
208
202
209
ad_connect $sys_cpu_resetn cnv_generator/s_axi_aresetn
203
210
ad_connect data_reorder/axis_aresetn VCC
204
211
ad_connect $sys_cpu_resetn $hier_spi_engine /resetn
205
- ad_connect $sys_cpu_resetn axi_ad463x_adaq42xx_dma /m_dest_axi_aresetn
212
+ ad_connect $sys_cpu_resetn axi_ad4x3x_dma /m_dest_axi_aresetn
206
213
207
214
# data path
208
215
209
- ad_connect $hier_spi_engine /${hier_spi_engine} _execution/cs ad463x_adaq42xx_spi_cs
210
- ad_connect $hier_spi_engine /${hier_spi_engine} _execution/sclk ad463x_adaq42xx_spi_sclk
211
- ad_connect $hier_spi_engine /${hier_spi_engine} _execution/sdo ad463x_adaq42xx_spi_sdo
212
- ad_connect $hier_spi_engine /${hier_spi_engine} _execution/sdi ad463x_adaq42xx_spi_sdi
216
+ ad_connect $hier_spi_engine /${hier_spi_engine} _execution/cs ad4x3x_spi_cs
217
+ ad_connect $hier_spi_engine /${hier_spi_engine} _execution/sclk ad4x3x_spi_sclk
218
+ ad_connect $hier_spi_engine /${hier_spi_engine} _execution/sdo ad4x3x_spi_sdo
219
+ ad_connect $hier_spi_engine /${hier_spi_engine} _execution/sdi ad4x3x_spi_sdi
213
220
214
- ad_connect axi_ad463x_adaq42xx_dma /s_axis data_reorder/m_axis
221
+ ad_connect axi_ad4x3x_dma /s_axis data_reorder/m_axis
215
222
216
223
# AXI memory mapped address space
217
224
218
225
ad_cpu_interconnect 0x44a00000 $hier_spi_engine /${hier_spi_engine} _axi_regmap
219
226
ad_cpu_interconnect 0x44b00000 cnv_generator
220
227
ad_cpu_interconnect 0x44c00000 sync_generator
221
- ad_cpu_interconnect 0x44a30000 axi_ad463x_adaq42xx_dma
228
+ ad_cpu_interconnect 0x44a30000 axi_ad4x3x_dma
222
229
ad_cpu_interconnect 0x44a70000 spi_clkgen
223
230
224
231
# interrupts
225
232
226
- ad_cpu_interrupt " ps-13" " mb-13" axi_ad463x_adaq42xx_dma /irq
233
+ ad_cpu_interrupt " ps-13" " mb-13" axi_ad4x3x_dma /irq
227
234
ad_cpu_interrupt " ps-12" " mb-12" $hier_spi_engine /irq
228
235
229
236
# interconnect to memory interface
230
237
231
238
ad_mem_hp2_interconnect sys_cpu_clk sys_ps7/S_AXI_HP2
232
- ad_mem_hp2_interconnect sys_cpu_clk axi_ad463x_adaq42xx_dma /m_dest_axi
239
+ ad_mem_hp2_interconnect sys_cpu_clk axi_ad4x3x_dma /m_dest_axi
0 commit comments