Skip to content

Commit e864a78

Browse files
committed
projects/ad7616: Add NUM_OF_SDI build parameter
Signed-off-by: Pop Ioan Daniel <[email protected]>
1 parent 3ff028f commit e864a78

File tree

10 files changed

+144
-99
lines changed

10 files changed

+144
-99
lines changed

projects/ad7616_sdz/common/ad7616_bd.tcl

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

77
# system level parameter
88

99
set INTF $ad_project_params(INTF)
10+
set NUM_OF_SDI $ad_project_params(NUM_OF_SDI)
11+
1012
puts "build parameters: INTF: $INTF"
13+
puts "build parameters: NUM_OF_SDI: $NUM_OF_SDI"
1114

1215
# control lines
1316

@@ -51,13 +54,13 @@ if {$INTF == 1} {
5154
set data_width 16
5255
set async_spi_clk 1
5356
set num_cs 1
54-
set num_sdi 2
57+
set num_sdi $NUM_OF_SDI
5558
set sdi_delay 1
5659
set hier_spi_engine spi_ad7616
5760

5861
spi_engine_create $hier_spi_engine $data_width $async_spi_clk $num_cs $num_sdi $sdi_delay
5962

60-
ad_ip_parameter axi_ad7616_dma CONFIG.DMA_DATA_WIDTH_SRC 32
63+
ad_ip_parameter axi_ad7616_dma CONFIG.DMA_DATA_WIDTH_SRC [expr $data_width * $num_sdi]
6164
ad_ip_parameter axi_ad7616_dma CONFIG.DMA_TYPE_SRC 1
6265
ad_ip_parameter axi_ad7616_dma CONFIG.SYNC_TRANSFER_START 0
6366
ad_ip_parameter axi_ad7616_dma CONFIG.AXI_SLICE_SRC 0

projects/ad7616_sdz/zed/Makefile

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,14 @@
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
####################################################################################
66

77
PROJECT_NAME := ad7616_sdz_zed
88

9-
M_DEPS += serial_if_constr.xdc
10-
M_DEPS += parallel_if_constr.xdc
9+
M_DEPS += system_constr_serial_sdi1.xdc
10+
M_DEPS += system_constr_serial_sdi2.xdc
11+
M_DEPS += system_constr_parallel.xdc
1112
M_DEPS += ../common/ad7616_bd.tcl
1213
M_DEPS += ../../scripts/adi_pd.tcl
1314
M_DEPS += ../../common/zed/zed_system_constr.xdc

projects/ad7616_sdz/zed/README.md

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Ed7616-SDZ/Zed HDL Project
1+
# AD7616-SDZ/Zed HDL Project
22

33
## Building the project
44

@@ -12,8 +12,12 @@ make
1212
The overwritable parameter from the environment:
1313

1414
- INTF - specifies the interface to be used;
15-
- 0 - Parallel interface
16-
- 1 - Serial interface
15+
- 0 - parallel interface (default)
16+
- 1 - serial interface
17+
18+
- NUM_OF_SDI - specifies the number of SDI lines used when **serial interface** is set;
19+
- 1 - one SDI line
20+
- 2 - two SDI lines (default)
1721

1822
Depending on the required interface mode, some hardware modifications need to be done.
1923
- SL5 - unmounted - Parallel interface
@@ -33,7 +37,10 @@ make INTF=0
3337
#### Serial interface
3438

3539
```
36-
make INTF=1
40+
make INTF=1 NUM_OF_SDI=1
41+
```
42+
```
43+
make INTF=1 NUM_OF_SDI=2
3744
```
3845

3946
Corresponding No-OS project for both configurations: [ad7616-sdz](https://github.com/analogdevicesinc/no-OS/tree/main/projects/ad7616-sdz)

projects/ad7616_sdz/zed/serial_if_constr.xdc

Lines changed: 0 additions & 33 deletions
This file was deleted.

projects/ad7616_sdz/zed/system_bd.tcl

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

@@ -19,6 +19,7 @@ ad_ip_parameter axi_sysid_0 CONFIG.ROM_ADDR_BITS 9
1919
ad_ip_parameter rom_sys_0 CONFIG.PATH_TO_FILE "$mem_init_sys_file_path/mem_init_sys.txt"
2020
ad_ip_parameter rom_sys_0 CONFIG.ROM_ADDR_BITS 9
2121

22-
set sys_cstring "INTF=$ad_project_params(INTF)"
22+
set sys_cstring "INTF=$ad_project_params(INTF)\
23+
NUM_OF_SDI=$ad_project_params(NUM_OF_SDI)"
2324

2425
sysid_gen_sys_init_file $sys_cstring
File renamed without changes.
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
###############################################################################
2+
## Copyright (C) 2016-2025 Analog Devices, Inc. All rights reserved.
3+
### SPDX short identifier: ADIBSD
4+
###############################################################################
5+
6+
# ad7616
7+
8+
# data interface
9+
10+
set_property -dict {PACKAGE_PIN P22 IOSTANDARD LVCMOS25} [get_ports ad7616_spi_sclk]; ## FMC_LPC_LA03_N
11+
set_property -dict {PACKAGE_PIN L21 IOSTANDARD LVCMOS25} [get_ports ad7616_spi_sdo]; ## FMC_LPC_LA06_P
12+
set_property -dict {PACKAGE_PIN M19 IOSTANDARD LVCMOS25} [get_ports ad7616_spi_sdi[0]]; ## FMC_LPC_LA00_CC_P
13+
set_property -dict {PACKAGE_PIN M22 IOSTANDARD LVCMOS25} [get_ports ad7616_spi_cs]; ## FMC_LPC_LA04_N
14+
15+
# control lines
16+
17+
set_property -dict {PACKAGE_PIN A18 IOSTANDARD LVCMOS25} [get_ports adc_cnvst]; ## FMC_LPC_LA24_P
18+
set_property -dict {PACKAGE_PIN E20 IOSTANDARD LVCMOS25} [get_ports adc_chsel[0]]; ## FMC_LPC_LA21_N
19+
set_property -dict {PACKAGE_PIN E18 IOSTANDARD LVCMOS25} [get_ports adc_chsel[1]]; ## FMC_LPC_LA26_N
20+
set_property -dict {PACKAGE_PIN D22 IOSTANDARD LVCMOS25} [get_ports adc_chsel[2]]; ## FMC_LPC_LA25_P
21+
set_property -dict {PACKAGE_PIN E19 IOSTANDARD LVCMOS25} [get_ports adc_hw_rngsel[0]]; ## FMC_LPC_LA21_P
22+
set_property -dict {PACKAGE_PIN F18 IOSTANDARD LVCMOS25} [get_ports adc_hw_rngsel[1]]; ## FMC_LPC_LA26_P
23+
set_property -dict {PACKAGE_PIN T19 IOSTANDARD LVCMOS25} [get_ports adc_busy]; ## FMC_LPC_LA10_N
24+
set_property -dict {PACKAGE_PIN E21 IOSTANDARD LVCMOS25} [get_ports adc_seq_en]; ## FMC_LPC_LA27_P
25+
set_property -dict {PACKAGE_PIN F19 IOSTANDARD LVCMOS25} [get_ports adc_reset_n]; ## FMC_LPC_LA22_N
26+
27+
set_property -dict {PACKAGE_PIN L19 IOSTANDARD LVCMOS25} [get_ports adc_os[0]]; ## FMC_LPC_CLK0_M2C_N
28+
set_property -dict {PACKAGE_PIN L18 IOSTANDARD LVCMOS25} [get_ports adc_os[1]]; ## FMC_LPC_CLK0_M2C_P
29+
set_property -dict {PACKAGE_PIN N19 IOSTANDARD LVCMOS25} [get_ports adc_os[2]]; ## FMC_LPC_LA01_CC_P
30+
set_property -dict {PACKAGE_PIN R21 IOSTANDARD LVCMOS25} [get_ports adc_burst]; ## FMC_LPC_LA09_N
31+
set_property -dict {PACKAGE_PIN P18 IOSTANDARD LVCMOS25} [get_ports adc_crcen]; ## FMC_LPC_LA02_N
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
###############################################################################
2+
## Copyright (C) 2016-2025 Analog Devices, Inc. All rights reserved.
3+
### SPDX short identifier: ADIBSD
4+
###############################################################################
5+
6+
# ad7616
7+
8+
# data interface
9+
10+
set_property -dict {PACKAGE_PIN P22 IOSTANDARD LVCMOS25} [get_ports ad7616_spi_sclk]; ## FMC_LPC_LA03_N
11+
set_property -dict {PACKAGE_PIN L21 IOSTANDARD LVCMOS25} [get_ports ad7616_spi_sdo]; ## FMC_LPC_LA06_P
12+
set_property -dict {PACKAGE_PIN M19 IOSTANDARD LVCMOS25} [get_ports ad7616_spi_sdi[0]]; ## FMC_LPC_LA00_CC_P
13+
set_property -dict {PACKAGE_PIN N20 IOSTANDARD LVCMOS25} [get_ports ad7616_spi_sdi[1]]; ## FMC_LPC_LA01_CC_N
14+
set_property -dict {PACKAGE_PIN M22 IOSTANDARD LVCMOS25} [get_ports ad7616_spi_cs]; ## FMC_LPC_LA04_N
15+
16+
# control lines
17+
18+
set_property -dict {PACKAGE_PIN A18 IOSTANDARD LVCMOS25} [get_ports adc_cnvst]; ## FMC_LPC_LA24_P
19+
set_property -dict {PACKAGE_PIN E20 IOSTANDARD LVCMOS25} [get_ports adc_chsel[0]]; ## FMC_LPC_LA21_N
20+
set_property -dict {PACKAGE_PIN E18 IOSTANDARD LVCMOS25} [get_ports adc_chsel[1]]; ## FMC_LPC_LA26_N
21+
set_property -dict {PACKAGE_PIN D22 IOSTANDARD LVCMOS25} [get_ports adc_chsel[2]]; ## FMC_LPC_LA25_P
22+
set_property -dict {PACKAGE_PIN E19 IOSTANDARD LVCMOS25} [get_ports adc_hw_rngsel[0]]; ## FMC_LPC_LA21_P
23+
set_property -dict {PACKAGE_PIN F18 IOSTANDARD LVCMOS25} [get_ports adc_hw_rngsel[1]]; ## FMC_LPC_LA26_P
24+
set_property -dict {PACKAGE_PIN T19 IOSTANDARD LVCMOS25} [get_ports adc_busy]; ## FMC_LPC_LA10_N
25+
set_property -dict {PACKAGE_PIN E21 IOSTANDARD LVCMOS25} [get_ports adc_seq_en]; ## FMC_LPC_LA27_P
26+
set_property -dict {PACKAGE_PIN F19 IOSTANDARD LVCMOS25} [get_ports adc_reset_n]; ## FMC_LPC_LA22_N
27+
28+
set_property -dict {PACKAGE_PIN L19 IOSTANDARD LVCMOS25} [get_ports adc_os[0]]; ## FMC_LPC_CLK0_M2C_N
29+
set_property -dict {PACKAGE_PIN L18 IOSTANDARD LVCMOS25} [get_ports adc_os[1]]; ## FMC_LPC_CLK0_M2C_P
30+
set_property -dict {PACKAGE_PIN N19 IOSTANDARD LVCMOS25} [get_ports adc_os[2]]; ## FMC_LPC_LA01_CC_P
31+
set_property -dict {PACKAGE_PIN R21 IOSTANDARD LVCMOS25} [get_ports adc_burst]; ## FMC_LPC_LA09_N
32+
set_property -dict {PACKAGE_PIN P18 IOSTANDARD LVCMOS25} [get_ports adc_crcen]; ## FMC_LPC_LA02_N

projects/ad7616_sdz/zed/system_project.tcl

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

@@ -18,11 +18,12 @@ source $ad_hdl_dir/projects/scripts/adi_board.tcl
1818
# e.g.
1919
# make INTF=0
2020
#
21-
# INTF - Defines the interface type (serial OR parallel)
22-
# - Default value is 0
23-
#
24-
# LEGEND: Serial - 1
25-
# Parallel - 0
21+
# INTF - Defines the interface type (serial OR parallel)
22+
# - 0 - parallel (default)
23+
# - 1 - serial
24+
# NUM_OF_SDI - Number of SDI lines used when **serial interface** is set
25+
# - 1 - one SDI line
26+
# - 2 - two SDI lines (default)
2627
#
2728
# NOTE : This switch is a 'hardware' switch. Please rebuild the design if the
2829
# variable has been changed.
@@ -32,9 +33,11 @@ source $ad_hdl_dir/projects/scripts/adi_board.tcl
3233
##--------------------------------------------------------------
3334

3435
set INTF [get_env_param INTF 0]
36+
set NUM_OF_SDI [get_env_param NUM_OF_SDI 2]
3537

3638
adi_project ad7616_sdz_zed 0 [list \
3739
INTF $INTF \
40+
NUM_OF_SDI $NUM_OF_SDI \
3841
]
3942

4043
adi_project_files ad7616_sdz_zed [list \
@@ -43,15 +46,23 @@ adi_project_files ad7616_sdz_zed [list \
4346

4447
switch $INTF {
4548
1 {
46-
adi_project_files ad7616_sdz_zed [list \
47-
"system_top_si.v" \
48-
"serial_if_constr.xdc"
49-
]
49+
switch $NUM_OF_SDI {
50+
1 {
51+
adi_project_files ad7616_sdz_zed [list \
52+
"system_top_si.v" \
53+
"system_constr_serial_sdi1.xdc"]
54+
}
55+
2 {
56+
adi_project_files ad7616_sdz_zed [list \
57+
"system_top_si.v" \
58+
"system_constr_serial_sdi2.xdc"]
59+
}
60+
}
5061
}
5162
0 {
5263
adi_project_files ad7616_sdz_zed [list \
5364
"system_top_pi.v" \
54-
"parallel_if_constr.xdc"
65+
"system_constr_parallel.xdc"
5566
]
5667
}
5768
}

0 commit comments

Comments
 (0)