Skip to content

Commit 7c24b5a

Browse files
committed
Copied from zedboard's and adapted to be like other ZCU102 system_top.v
Signed-off-by: JuanRafael Rabacca <rafael.rabacca@gmail.com> Change carrier to ZCU102 Signed-off-by: JuanRafael Rabacca <rafael.rabacca@gmail.com> Changed package pins to equivalent in ZCU102 LVDS uses DIFF_TERM_ADV and TERM_100 since ZCU102 HPC0 is only 1.8V SPI pins also changed to LVCMOS18 due to 1.8V limit of ZCU102 Signed-off-by: JuanRafael Rabacca <rafael.rabacca@gmail.com> Update projects/ad9467_fmc/zcu102/Makefile Co-authored-by: Iulia Ivanov <54354100+IuliaCMoldovan@users.noreply.github.com> Update projects/ad9467_fmc/zcu102/system_bd.tcl Co-authored-by: Iulia Ivanov <54354100+IuliaCMoldovan@users.noreply.github.com> Update projects/ad9467_fmc/zcu102/system_constr.xdc Co-authored-by: Iulia Ivanov <54354100+IuliaCMoldovan@users.noreply.github.com> Update projects/ad9467_fmc/zcu102/system_project.tcl Co-authored-by: Iulia Ivanov <54354100+IuliaCMoldovan@users.noreply.github.com> Update projects/ad9467_fmc/zcu102/system_top.v Co-authored-by: Iulia Ivanov <54354100+IuliaCMoldovan@users.noreply.github.com> Update projects/ad9467_fmc/zcu102/README.md Co-authored-by: Iulia Ivanov <54354100+IuliaCMoldovan@users.noreply.github.com> Clean up of unnecessary empty lines Signed-off-by: JuanRafael Rabacca <rafael.rabacca@gmail.com> Added information on VADJ used Signed-off-by: JuanRafael Rabacca <rafael.rabacca@gmail.com> Cleanup of spaces in empty line Signed-off-by: JuanRafael Rabacca <rafael.rabacca@gmail.com> /project/ad9467_fmc/zcu102 Added support for AD9467 on ZCU102 Signed-off-by: JuanRafael Rabacca <rafael.rabacca@gmail.com>
1 parent 8032dd6 commit 7c24b5a

File tree

6 files changed

+212
-0
lines changed

6 files changed

+212
-0
lines changed
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
####################################################################################
2+
## Copyright (c) 2018 - 2025 Analog Devices, Inc.
3+
### SPDX short identifier: BSD-1-Clause
4+
## Auto-generated, do not modify!
5+
####################################################################################
6+
7+
PROJECT_NAME := ad9467_fmc_zcu102
8+
9+
M_DEPS += ../common/ad9467_spi.v
10+
M_DEPS += ../common/ad9467_bd.tcl
11+
M_DEPS += ../../scripts/adi_pd.tcl
12+
M_DEPS += ../../common/zcu102/zcu102_system_constr.xdc
13+
M_DEPS += ../../common/zcu102/zcu102_system_bd.tcl
14+
M_DEPS += ../../../library/common/ad_iobuf.v
15+
16+
LIB_DEPS += axi_ad9467
17+
LIB_DEPS += axi_clkgen
18+
LIB_DEPS += axi_dmac
19+
LIB_DEPS += axi_hdmi_tx
20+
LIB_DEPS += axi_i2s_adi
21+
LIB_DEPS += axi_spdif_tx
22+
LIB_DEPS += axi_sysid
23+
LIB_DEPS += sysid_rom
24+
LIB_DEPS += util_i2c_mixer
25+
26+
include ../../scripts/project-xilinx.mk
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
<!-- no_build_example, no_no_os -->
2+
3+
# AD9467-FMC/ZCU102 HDL Project
4+
5+
- VADJ with which it was tested in hardware: 1.8V
6+
7+
## Building the project
8+
```
9+
cd projects/ad9467_fmc/ZCU102
10+
make
11+
```
12+
13+
Corresponding device tree: [zynqmp-zcu102-rev10-ad9467-fmc-250ebz.dts](https://github.com/analogdevicesinc/linux/blob/main/arch/arm64/boot/dts/xilinx/zynqmp-zcu102-rev10-ad9467-fmc-250ebz.dts)
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
###############################################################################
2+
## Copyright (C) 2014-2023, 2025 Analog Devices, Inc. All rights reserved.
3+
### SPDX short identifier: ADIBSD
4+
###############################################################################
5+
6+
source $ad_hdl_dir/projects/common/zcu102/zcu102_system_bd.tcl
7+
source ../common/ad9467_bd.tcl
8+
source $ad_hdl_dir/projects/scripts/adi_pd.tcl
9+
10+
#system ID
11+
ad_ip_parameter axi_sysid_0 CONFIG.ROM_ADDR_BITS 9
12+
ad_ip_parameter rom_sys_0 CONFIG.PATH_TO_FILE "$mem_init_sys_file_path/mem_init_sys.txt"
13+
ad_ip_parameter rom_sys_0 CONFIG.ROM_ADDR_BITS 9
14+
15+
sysid_gen_sys_init_file
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
###############################################################################
2+
## Copyright (C) 2014-2023, 2025 Analog Devices, Inc. All rights reserved.
3+
### SPDX short identifier: ADIBSD
4+
###############################################################################
5+
6+
# ad9467
7+
8+
set_property -dict {PACKAGE_PIN AA7 IOSTANDARD LVDS DIFF_TERM_ADV TERM_100} [get_ports adc_clk_in_p] ; ## FMC_HPC0_CLK0_M2C_P
9+
set_property -dict {PACKAGE_PIN AA6 IOSTANDARD LVDS DIFF_TERM_ADV TERM_100} [get_ports adc_clk_in_n] ; ## FMC_HPC0_CLK0_M2C_N
10+
set_property -dict {PACKAGE_PIN V4 IOSTANDARD LVDS DIFF_TERM_ADV TERM_100} [get_ports adc_data_or_p] ; ## FMC_HPC0_LA08_P
11+
set_property -dict {PACKAGE_PIN V3 IOSTANDARD LVDS DIFF_TERM_ADV TERM_100} [get_ports adc_data_or_n] ; ## FMC_HPC0_LA08_N
12+
set_property -dict {PACKAGE_PIN Y3 IOSTANDARD LVDS DIFF_TERM_ADV TERM_100} [get_ports adc_data_in_n[0]] ; ## FMC_HPC0_LA00_CC_N
13+
set_property -dict {PACKAGE_PIN Y4 IOSTANDARD LVDS DIFF_TERM_ADV TERM_100} [get_ports adc_data_in_p[0]] ; ## FMC_HPC0_LA00_CC_P
14+
set_property -dict {PACKAGE_PIN AB4 IOSTANDARD LVDS DIFF_TERM_ADV TERM_100} [get_ports adc_data_in_p[1]] ; ## FMC_HPC0_LA01_CC_P
15+
set_property -dict {PACKAGE_PIN AC4 IOSTANDARD LVDS DIFF_TERM_ADV TERM_100} [get_ports adc_data_in_n[1]] ; ## FMC_HPC0_LA01_CC_N
16+
set_property -dict {PACKAGE_PIN V2 IOSTANDARD LVDS DIFF_TERM_ADV TERM_100} [get_ports adc_data_in_p[2]] ; ## FMC_HPC0_LA02_P
17+
set_property -dict {PACKAGE_PIN V1 IOSTANDARD LVDS DIFF_TERM_ADV TERM_100} [get_ports adc_data_in_n[2]] ; ## FMC_HPC0_LA02_N
18+
set_property -dict {PACKAGE_PIN Y2 IOSTANDARD LVDS DIFF_TERM_ADV TERM_100} [get_ports adc_data_in_p[3]] ; ## FMC_HPC0_LA03_P
19+
set_property -dict {PACKAGE_PIN Y1 IOSTANDARD LVDS DIFF_TERM_ADV TERM_100} [get_ports adc_data_in_n[3]] ; ## FMC_HPC0_LA03_N
20+
set_property -dict {PACKAGE_PIN AA2 IOSTANDARD LVDS DIFF_TERM_ADV TERM_100} [get_ports adc_data_in_p[4]] ; ## FMC_HPC0_LA04_P
21+
set_property -dict {PACKAGE_PIN AA1 IOSTANDARD LVDS DIFF_TERM_ADV TERM_100} [get_ports adc_data_in_n[4]] ; ## FMC_HPC0_LA04_N
22+
set_property -dict {PACKAGE_PIN AB3 IOSTANDARD LVDS DIFF_TERM_ADV TERM_100} [get_ports adc_data_in_p[5]] ; ## FMC_HPC0_LA05_P
23+
set_property -dict {PACKAGE_PIN AC3 IOSTANDARD LVDS DIFF_TERM_ADV TERM_100} [get_ports adc_data_in_n[5]] ; ## FMC_HPC0_LA05_N
24+
set_property -dict {PACKAGE_PIN AC2 IOSTANDARD LVDS DIFF_TERM_ADV TERM_100} [get_ports adc_data_in_p[6]] ; ## FMC_HPC0_LA06_P
25+
set_property -dict {PACKAGE_PIN AC1 IOSTANDARD LVDS DIFF_TERM_ADV TERM_100} [get_ports adc_data_in_n[6]] ; ## FMC_HPC0_LA06_N
26+
set_property -dict {PACKAGE_PIN U5 IOSTANDARD LVDS DIFF_TERM_ADV TERM_100} [get_ports adc_data_in_p[7]] ; ## FMC_HPC0_LA07_P
27+
set_property -dict {PACKAGE_PIN U4 IOSTANDARD LVDS DIFF_TERM_ADV TERM_100} [get_ports adc_data_in_n[7]] ; ## FMC_HPC0_LA07_N
28+
29+
## spi
30+
31+
set_property -dict {PACKAGE_PIN V11 IOSTANDARD LVCMOS18} [get_ports spi_csn_adc] ; ## FMC_HPC0_LA33_N
32+
set_property -dict {PACKAGE_PIN V12 IOSTANDARD LVCMOS18} [get_ports spi_csn_clk] ; ## FMC_HPC0_LA33_P
33+
set_property -dict {PACKAGE_PIN T11 IOSTANDARD LVCMOS18} [get_ports spi_clk] ; ## FMC_HPC0_LA32_N
34+
set_property -dict {PACKAGE_PIN U11 IOSTANDARD LVCMOS18} [get_ports spi_sdio] ; ## FMC_HPC0_LA32_P
35+
36+
# clocks
37+
create_clock -name adc_clk -period 4.00 [get_ports adc_clk_in_p]
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
###############################################################################
2+
## Copyright (C) 2014-2023, 2025 Analog Devices, Inc. All rights reserved.
3+
### SPDX short identifier: ADIBSD
4+
###############################################################################
5+
6+
# load script
7+
source ../../../scripts/adi_env.tcl
8+
source $ad_hdl_dir/projects/scripts/adi_project_xilinx.tcl
9+
source $ad_hdl_dir/projects/scripts/adi_board.tcl
10+
11+
adi_project ad9467_fmc_zcu102
12+
adi_project_files ad9467_fmc_zcu102 [list \
13+
"../common/ad9467_spi.v" \
14+
"$ad_hdl_dir/library/common/ad_iobuf.v" \
15+
"system_top.v" \
16+
"system_constr.xdc" \
17+
"$ad_hdl_dir/projects/common/zcu102/zcu102_system_constr.xdc"]
18+
19+
adi_project_run ad9467_fmc_zcu102
Lines changed: 102 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,102 @@
1+
// ***************************************************************************
2+
// ***************************************************************************
3+
// Copyright (C) 2022-2023, 2025 Analog Devices, Inc. All rights reserved.
4+
//
5+
// In this HDL repository, there are many different and unique modules, consisting
6+
// of various HDL (Verilog or VHDL) components. The individual modules are
7+
// developed independently, and may be accompanied by separate and unique license
8+
// terms.
9+
//
10+
// The user should read each of these license terms, and understand the
11+
// freedoms and responsibilities that he or she has by using this source/core.
12+
//
13+
// This core is distributed in the hope that it will be useful, but WITHOUT ANY
14+
// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
15+
// A PARTICULAR PURPOSE.
16+
//
17+
// Redistribution and use of source or resulting binaries, with or without modification
18+
// of this file, are permitted under one of the following two license terms:
19+
//
20+
// 1. The GNU General Public License version 2 as published by the
21+
// Free Software Foundation, which can be found in the top level directory
22+
// of this repository (LICENSE_GPL2), and also online at:
23+
// <https://www.gnu.org/licenses/old-licenses/gpl-2.0.html>
24+
//
25+
// OR
26+
//
27+
// 2. An ADI specific BSD license, which can be found in the top level directory
28+
// of this repository (LICENSE_ADIBSD), and also on-line at:
29+
// https://github.com/analogdevicesinc/hdl/blob/main/LICENSE_ADIBSD
30+
// This will allow to generate bit files and not release the source code,
31+
// as long as it attaches to an ADI device.
32+
//
33+
// ***************************************************************************
34+
// ***************************************************************************
35+
36+
`timescale 1ns/100ps
37+
38+
module system_top (
39+
40+
input [12:0] gpio_bd_i,
41+
output [ 7:0] gpio_bd_o,
42+
43+
input adc_clk_in_n,
44+
input adc_clk_in_p,
45+
input [ 7:0] adc_data_in_n,
46+
input [ 7:0] adc_data_in_p,
47+
input adc_data_or_n,
48+
input adc_data_or_p,
49+
output spi_clk,
50+
output spi_csn_adc,
51+
output spi_csn_clk,
52+
inout spi_sdio
53+
);
54+
55+
// internal signals
56+
wire [94:0] gpio_i;
57+
wire [94:0] gpio_o;
58+
59+
assign gpio_bd_o = gpio_o[7:0];
60+
61+
assign gpio_i[94:21] = gpio_o[94:21];
62+
assign gpio_i[20: 8] = gpio_bd_i;
63+
assign gpio_i[ 7: 0] = gpio_o[ 7: 0];
64+
65+
wire [ 1:0] spi_csn;
66+
wire spi_miso;
67+
wire spi_mosi;
68+
69+
assign spi_csn_adc = spi_csn[0];
70+
assign spi_csn_clk = spi_csn[1];
71+
72+
// instantiations
73+
74+
ad9467_spi i_spi (
75+
.spi_csn(spi_csn),
76+
.spi_clk(spi_clk),
77+
.spi_mosi(spi_mosi),
78+
.spi_miso(spi_miso),
79+
.spi_sdio(spi_sdio));
80+
81+
system_wrapper i_system_wrapper (
82+
.gpio_i (gpio_i),
83+
.gpio_o (gpio_o),
84+
.gpio_t (),
85+
86+
.adc_clk_in_n(adc_clk_in_n),
87+
.adc_clk_in_p(adc_clk_in_p),
88+
.adc_data_in_n(adc_data_in_n),
89+
.adc_data_in_p(adc_data_in_p),
90+
.adc_data_or_n(adc_data_or_n),
91+
.adc_data_or_p(adc_data_or_p),
92+
93+
.spi0_csn (spi_csn),
94+
.spi0_miso (spi_miso),
95+
.spi0_mosi (spi_mosi),
96+
.spi0_sclk (spi_clk),
97+
.spi1_csn (1'b1),
98+
.spi1_miso (1'b0),
99+
.spi1_mosi (),
100+
.spi1_sclk ());
101+
102+
endmodule

0 commit comments

Comments
 (0)