Skip to content

Commit e2a2734

Browse files
committed
adrv9026: Initial design
Signed-off-by: AndrDragomir <andrei.dragomir@analog.com>
1 parent 7ea497b commit e2a2734

File tree

8 files changed

+763
-0
lines changed

8 files changed

+763
-0
lines changed

projects/adrv9026/Makefile

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
###############################################################################
2+
## Copyright (C) 2018-2024 Analog Devices, Inc.
3+
### SPDX short identifier: BSD-1-Clause
4+
## Auto-generated, do not modify!
5+
###############################################################################
6+
7+
include ../scripts/project-toplevel.mk
Lines changed: 232 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,232 @@
1+
###############################################################################
2+
## Copyright (C) 2023-2024 Analog Devices, Inc. All rights reserved.
3+
### SPDX short identifier: ADIBSD
4+
###############################################################################
5+
6+
# TX parameters
7+
set TX_NUM_OF_LANES $ad_project_params(TX_JESD_L) ; # L
8+
set TX_NUM_OF_CONVERTERS $ad_project_params(TX_JESD_M) ; # M
9+
set TX_SAMPLES_PER_FRAME $ad_project_params(TX_JESD_S) ; # S
10+
set TX_SAMPLE_WIDTH 16 ; # N/NP
11+
12+
set TX_SAMPLES_PER_CHANNEL [expr $TX_NUM_OF_LANES * 32 / ($TX_NUM_OF_CONVERTERS * $TX_SAMPLE_WIDTH)] ; # L * 32 / (M * N)
13+
14+
# RX parameters
15+
set RX_NUM_OF_LANES $ad_project_params(RX_JESD_L) ; # L
16+
set RX_NUM_OF_CONVERTERS $ad_project_params(RX_JESD_M) ; # M
17+
set RX_SAMPLES_PER_FRAME $ad_project_params(RX_JESD_S) ; # S
18+
set RX_SAMPLE_WIDTH 16 ; # N/NP
19+
20+
set RX_SAMPLES_PER_CHANNEL [expr $RX_NUM_OF_LANES * 32 / ($RX_NUM_OF_CONVERTERS * $RX_SAMPLE_WIDTH)] ; # L * 32 / (M * N)
21+
22+
set dac_fifo_name axi_adrv9026_dacfifo
23+
set dac_data_width [expr 32*$TX_NUM_OF_LANES]
24+
set dac_dma_data_width 128
25+
26+
source $ad_hdl_dir/library/jesd204/scripts/jesd204.tcl
27+
28+
# adrv9026
29+
30+
create_bd_port -dir I dac_fifo_bypass
31+
create_bd_port -dir I core_clk
32+
33+
# dac peripherals
34+
35+
ad_ip_instance axi_adxcvr axi_adrv9026_tx_xcvr
36+
ad_ip_parameter axi_adrv9026_tx_xcvr CONFIG.NUM_OF_LANES $TX_NUM_OF_LANES
37+
ad_ip_parameter axi_adrv9026_tx_xcvr CONFIG.QPLL_ENABLE 1
38+
ad_ip_parameter axi_adrv9026_tx_xcvr CONFIG.TX_OR_RX_N 1
39+
ad_ip_parameter axi_adrv9026_tx_xcvr CONFIG.SYS_CLK_SEL 3
40+
ad_ip_parameter axi_adrv9026_tx_xcvr CONFIG.OUT_CLK_SEL 3
41+
42+
adi_axi_jesd204_tx_create axi_adrv9026_tx_jesd $TX_NUM_OF_LANES
43+
44+
ad_ip_instance util_upack2 util_adrv9026_tx_upack [list \
45+
NUM_OF_CHANNELS $TX_NUM_OF_CONVERTERS \
46+
SAMPLES_PER_CHANNEL $TX_SAMPLES_PER_CHANNEL \
47+
SAMPLE_DATA_WIDTH $TX_SAMPLE_WIDTH \
48+
]
49+
50+
adi_tpl_jesd204_tx_create tx_adrv9026_tpl_core $TX_NUM_OF_LANES \
51+
$TX_NUM_OF_CONVERTERS \
52+
$TX_SAMPLES_PER_FRAME \
53+
$TX_SAMPLE_WIDTH
54+
55+
ad_ip_instance axi_dmac axi_adrv9026_tx_dma
56+
ad_ip_parameter axi_adrv9026_tx_dma CONFIG.DMA_TYPE_SRC 0
57+
ad_ip_parameter axi_adrv9026_tx_dma CONFIG.DMA_TYPE_DEST 1
58+
ad_ip_parameter axi_adrv9026_tx_dma CONFIG.CYCLIC 1
59+
ad_ip_parameter axi_adrv9026_tx_dma CONFIG.ASYNC_CLK_DEST_REQ 1
60+
ad_ip_parameter axi_adrv9026_tx_dma CONFIG.ASYNC_CLK_SRC_DEST 1
61+
ad_ip_parameter axi_adrv9026_tx_dma CONFIG.ASYNC_CLK_REQ_SRC 1
62+
ad_ip_parameter axi_adrv9026_tx_dma CONFIG.DMA_2D_TRANSFER 0
63+
ad_ip_parameter axi_adrv9026_tx_dma CONFIG.DMA_DATA_WIDTH_DEST $dac_dma_data_width
64+
ad_ip_parameter axi_adrv9026_tx_dma CONFIG.MAX_BYTES_PER_BURST 256
65+
ad_ip_parameter axi_adrv9026_tx_dma CONFIG.DMA_DATA_WIDTH_SRC 128
66+
ad_ip_parameter axi_adrv9026_tx_dma CONFIG.FIFO_SIZE 32
67+
68+
ad_dacfifo_create $dac_fifo_name $dac_data_width $dac_dma_data_width $dac_fifo_address_width
69+
70+
# adc peripherals
71+
72+
ad_ip_instance axi_adxcvr axi_adrv9026_rx_xcvr
73+
ad_ip_parameter axi_adrv9026_rx_xcvr CONFIG.NUM_OF_LANES $RX_NUM_OF_LANES
74+
ad_ip_parameter axi_adrv9026_rx_xcvr CONFIG.QPLL_ENABLE 0
75+
ad_ip_parameter axi_adrv9026_rx_xcvr CONFIG.TX_OR_RX_N 0
76+
ad_ip_parameter axi_adrv9026_rx_xcvr CONFIG.SYS_CLK_SEL 0
77+
ad_ip_parameter axi_adrv9026_rx_xcvr CONFIG.OUT_CLK_SEL 3
78+
79+
adi_axi_jesd204_rx_create axi_adrv9026_rx_jesd $RX_NUM_OF_LANES
80+
81+
ad_ip_instance util_cpack2 util_adrv9026_rx_cpack [list \
82+
NUM_OF_CHANNELS $RX_NUM_OF_CONVERTERS \
83+
SAMPLES_PER_CHANNEL $RX_SAMPLES_PER_CHANNEL \
84+
SAMPLE_DATA_WIDTH $RX_SAMPLE_WIDTH \
85+
]
86+
87+
adi_tpl_jesd204_rx_create rx_adrv9026_tpl_core $RX_NUM_OF_LANES \
88+
$RX_NUM_OF_CONVERTERS \
89+
$RX_SAMPLES_PER_FRAME \
90+
$RX_SAMPLE_WIDTH
91+
92+
ad_ip_instance axi_dmac axi_adrv9026_rx_dma
93+
ad_ip_parameter axi_adrv9026_rx_dma CONFIG.DMA_TYPE_SRC 2
94+
ad_ip_parameter axi_adrv9026_rx_dma CONFIG.DMA_TYPE_DEST 0
95+
ad_ip_parameter axi_adrv9026_rx_dma CONFIG.CYCLIC 0
96+
ad_ip_parameter axi_adrv9026_rx_dma CONFIG.SYNC_TRANSFER_START 1
97+
ad_ip_parameter axi_adrv9026_rx_dma CONFIG.ASYNC_CLK_DEST_REQ 1
98+
ad_ip_parameter axi_adrv9026_rx_dma CONFIG.ASYNC_CLK_SRC_DEST 1
99+
ad_ip_parameter axi_adrv9026_rx_dma CONFIG.ASYNC_CLK_REQ_SRC 1
100+
ad_ip_parameter axi_adrv9026_rx_dma CONFIG.DMA_2D_TRANSFER 0
101+
ad_ip_parameter axi_adrv9026_rx_dma CONFIG.DMA_DATA_WIDTH_SRC [expr 32*$RX_NUM_OF_LANES]
102+
ad_ip_parameter axi_adrv9026_rx_dma CONFIG.MAX_BYTES_PER_BURST 256
103+
ad_ip_parameter axi_adrv9026_rx_dma CONFIG.DMA_DATA_WIDTH_DEST 128
104+
ad_ip_parameter axi_adrv9026_rx_dma CONFIG.FIFO_SIZE 32
105+
106+
# common cores
107+
108+
ad_ip_instance util_adxcvr util_adrv9026_xcvr
109+
ad_ip_parameter util_adrv9026_xcvr CONFIG.RX_NUM_OF_LANES $RX_NUM_OF_LANES
110+
ad_ip_parameter util_adrv9026_xcvr CONFIG.TX_NUM_OF_LANES $TX_NUM_OF_LANES
111+
ad_ip_parameter util_adrv9026_xcvr CONFIG.RX_LANE_RATE 10
112+
ad_ip_parameter util_adrv9026_xcvr CONFIG.TX_LANE_RATE 10
113+
ad_ip_parameter util_adrv9026_xcvr CONFIG.TX_OUT_DIV 1
114+
ad_ip_parameter util_adrv9026_xcvr CONFIG.CPLL_FBDIV 4
115+
ad_ip_parameter util_adrv9026_xcvr CONFIG.CPLL_FBDIV_4_5 5
116+
ad_ip_parameter util_adrv9026_xcvr CONFIG.RX_CLK25_DIV 10
117+
ad_ip_parameter util_adrv9026_xcvr CONFIG.TX_CLK25_DIV 10
118+
ad_ip_parameter util_adrv9026_xcvr CONFIG.RX_PMA_CFG 0x001E7080
119+
ad_ip_parameter util_adrv9026_xcvr CONFIG.RX_CDR_CFG 0x0b000023ff10400020
120+
ad_ip_parameter util_adrv9026_xcvr CONFIG.QPLL_FBDIV 40
121+
ad_ip_parameter util_adrv9026_xcvr CONFIG.QPLL_REFCLK_DIV 1
122+
ad_ip_parameter util_adrv9026_xcvr CONFIG.TX_LANE_INVERT 6
123+
ad_ip_parameter util_adrv9026_xcvr CONFIG.RX_LANE_INVERT 15
124+
125+
# xcvr interfaces
126+
127+
set tx_ref_clk tx_ref_clk_0
128+
set rx_ref_clk rx_ref_clk_0
129+
130+
create_bd_port -dir I $tx_ref_clk
131+
create_bd_port -dir I $rx_ref_clk
132+
ad_connect $sys_cpu_resetn util_adrv9026_xcvr/up_rstn
133+
ad_connect $sys_cpu_clk util_adrv9026_xcvr/up_clk
134+
135+
# Tx
136+
ad_xcvrcon util_adrv9026_xcvr axi_adrv9026_tx_xcvr axi_adrv9026_tx_jesd {2 3 1 0} core_clk
137+
ad_xcvrpll $tx_ref_clk util_adrv9026_xcvr/qpll_ref_clk_0
138+
ad_xcvrpll axi_adrv9026_tx_xcvr/up_pll_rst util_adrv9026_xcvr/up_qpll_rst_0
139+
ad_xcvrpll $tx_ref_clk util_adrv9026_xcvr/qpll_ref_clk_4
140+
ad_xcvrpll axi_adrv9026_tx_xcvr/up_pll_rst util_adrv9026_xcvr/up_qpll_rst_4
141+
142+
# Rx
143+
ad_xcvrcon util_adrv9026_xcvr axi_adrv9026_rx_xcvr axi_adrv9026_rx_jesd {} core_clk
144+
for {set i 0} {$i < $RX_NUM_OF_LANES} {incr i} {
145+
set ch [expr $i]
146+
ad_xcvrpll $rx_ref_clk util_adrv9026_xcvr/cpll_ref_clk_$ch
147+
ad_xcvrpll axi_adrv9026_rx_xcvr/up_pll_rst util_adrv9026_xcvr/up_cpll_rst_$ch
148+
}
149+
150+
# connections (dac)
151+
152+
ad_connect core_clk tx_adrv9026_tpl_core/link_clk
153+
ad_connect axi_adrv9026_tx_jesd/tx_data tx_adrv9026_tpl_core/link
154+
155+
ad_connect core_clk util_adrv9026_tx_upack/clk
156+
ad_connect core_clk_rstgen/peripheral_reset util_adrv9026_tx_upack/reset
157+
158+
for {set i 0} {$i < $TX_NUM_OF_CONVERTERS} {incr i} {
159+
ad_connect tx_adrv9026_tpl_core/dac_enable_$i util_adrv9026_tx_upack/enable_$i
160+
ad_connect util_adrv9026_tx_upack/fifo_rd_data_$i tx_adrv9026_tpl_core/dac_data_$i
161+
}
162+
163+
ad_connect tx_adrv9026_tpl_core/dac_valid_0 util_adrv9026_tx_upack/fifo_rd_en
164+
ad_connect core_clk axi_adrv9026_dacfifo/dac_clk
165+
ad_connect core_clk_rstgen/peripheral_reset axi_adrv9026_dacfifo/dac_rst
166+
167+
ad_connect util_adrv9026_tx_upack/s_axis_valid VCC
168+
ad_connect util_adrv9026_tx_upack/s_axis_ready axi_adrv9026_dacfifo/dac_valid
169+
ad_connect util_adrv9026_tx_upack/s_axis_data axi_adrv9026_dacfifo/dac_data
170+
171+
ad_connect core_clk axi_adrv9026_dacfifo/dma_clk
172+
ad_connect core_clk_rstgen/peripheral_reset axi_adrv9026_dacfifo/dma_rst
173+
ad_connect core_clk axi_adrv9026_tx_dma/m_axis_aclk
174+
ad_connect axi_adrv9026_dacfifo/dma_valid axi_adrv9026_tx_dma/m_axis_valid
175+
ad_connect axi_adrv9026_dacfifo/dma_data axi_adrv9026_tx_dma/m_axis_data
176+
ad_connect axi_adrv9026_dacfifo/dma_ready axi_adrv9026_tx_dma/m_axis_ready
177+
ad_connect axi_adrv9026_dacfifo/dma_xfer_req axi_adrv9026_tx_dma/m_axis_xfer_req
178+
ad_connect axi_adrv9026_dacfifo/dma_xfer_last axi_adrv9026_tx_dma/m_axis_last
179+
ad_connect axi_adrv9026_dacfifo/dac_dunf tx_adrv9026_tpl_core/dac_dunf
180+
ad_connect axi_adrv9026_dacfifo/bypass dac_fifo_bypass
181+
ad_connect core_clk_rstgen/peripheral_aresetn axi_adrv9026_tx_dma/m_src_axi_aresetn
182+
183+
# connections (adc)
184+
185+
ad_connect core_clk rx_adrv9026_tpl_core/link_clk
186+
ad_connect axi_adrv9026_rx_jesd/rx_sof rx_adrv9026_tpl_core/link_sof
187+
ad_connect axi_adrv9026_rx_jesd/rx_data_tdata rx_adrv9026_tpl_core/link_data
188+
ad_connect axi_adrv9026_rx_jesd/rx_data_tvalid rx_adrv9026_tpl_core/link_valid
189+
ad_connect core_clk util_adrv9026_rx_cpack/clk
190+
ad_connect core_clk_rstgen/peripheral_reset util_adrv9026_rx_cpack/reset
191+
192+
for {set i 0} {$i < $RX_NUM_OF_CONVERTERS} {incr i} {
193+
ad_connect rx_adrv9026_tpl_core/adc_enable_$i util_adrv9026_rx_cpack/enable_$i
194+
ad_connect rx_adrv9026_tpl_core/adc_data_$i util_adrv9026_rx_cpack/fifo_wr_data_$i
195+
}
196+
ad_connect $sys_dma_resetn axi_adrv9026_rx_dma/m_dest_axi_aresetn
197+
198+
ad_connect rx_adrv9026_tpl_core/adc_valid_0 util_adrv9026_rx_cpack/fifo_wr_en
199+
ad_connect rx_adrv9026_tpl_core/adc_dovf util_adrv9026_rx_cpack/fifo_wr_overflow
200+
201+
ad_connect core_clk axi_adrv9026_rx_dma/fifo_wr_clk
202+
ad_connect util_adrv9026_rx_cpack/packed_fifo_wr axi_adrv9026_rx_dma/fifo_wr
203+
204+
# interconnect (cpu)
205+
206+
ad_cpu_interconnect 0x44A00000 rx_adrv9026_tpl_core
207+
ad_cpu_interconnect 0x44A04000 tx_adrv9026_tpl_core
208+
ad_cpu_interconnect 0x44A80000 axi_adrv9026_tx_xcvr
209+
ad_cpu_interconnect 0x44A90000 axi_adrv9026_tx_jesd
210+
ad_cpu_interconnect 0x7c420000 axi_adrv9026_tx_dma
211+
ad_cpu_interconnect 0x44A60000 axi_adrv9026_rx_xcvr
212+
ad_cpu_interconnect 0x44AA0000 axi_adrv9026_rx_jesd
213+
ad_cpu_interconnect 0x7c400000 axi_adrv9026_rx_dma
214+
215+
# gt uses hp0, and 100MHz clock for both DRP and AXI4
216+
217+
ad_mem_hp0_interconnect $sys_cpu_clk sys_ps8/S_AXI_HP0
218+
ad_mem_hp0_interconnect $sys_cpu_clk axi_adrv9026_rx_xcvr/m_axi
219+
220+
# interconnect (mem/dac)
221+
222+
ad_mem_hp2_interconnect $sys_dma_clk sys_ps7/S_AXI_HP2
223+
ad_mem_hp2_interconnect $sys_dma_clk axi_adrv9026_rx_dma/m_dest_axi
224+
ad_mem_hp3_interconnect $sys_dma_clk sys_ps7/S_AXI_HP3
225+
ad_mem_hp3_interconnect $sys_dma_clk axi_adrv9026_tx_dma/m_src_axi
226+
227+
# interrupts
228+
229+
ad_cpu_interrupt ps-10 mb-15 axi_adrv9026_tx_jesd/irq
230+
ad_cpu_interrupt ps-11 mb-14 axi_adrv9026_rx_jesd/irq
231+
ad_cpu_interrupt ps-13 mb-12 axi_adrv9026_tx_dma/irq
232+
ad_cpu_interrupt ps-14 mb-11 axi_adrv9026_rx_dma/irq
Lines changed: 90 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,90 @@
1+
FMC_pin FMC_port Schematic_name System_top_name IOSTANDARD Termination
2+
3+
#adrv9026
4+
5+
D4 GBTCLK0_M2C_P FPGA_REF_CLK+ ref_clk_p #N/A #N/A
6+
D5 GBTCLK0_M2C_N FPGA_REF_CLK- ref_clk_n #N/A #N/A
7+
H4 CLK0_M2C_P FPGA_MMCM_CLK+ core_clk_p LVDS #N/A
8+
H5 CLK0_M2C_N FPGA_MMCM_CLK- core_clk_n LVDS #N/A
9+
10+
A2 DP1_M2C_P SERDOUTA- rx_data_p[0] #N/A #N/A
11+
A3 DP1_M2C_N SERDOUTA+ rx_data_n[0] #N/A #N/A
12+
C6 DP0_M2C_P SERDOUTB- rx_data_p[1] #N/A #N/A
13+
C7 DP0_M2C_N SERDOUTB+ rx_data_n[1] #N/A #N/A
14+
A6 DP2_M2C_P SERDOUTC- rx_data_p[2] #N/A #N/A
15+
A7 DP2_M2C_N SERDOUTC+ rx_data_n[2] #N/A #N/A
16+
A10 DP3_M2C_P SERDOUTD- rx_data_p[3] #N/A #N/A
17+
A11 DP3_M2C_N SERDOUTD+ rx_data_n[3] #N/A #N/A
18+
19+
A22 DP1_C2M_P SERDINC+ tx_data_p[0] #N/A #N/A
20+
A23 DP1_C2M_N SERDINC- tx_data_n[0] #N/A #N/A
21+
C2 DP0_C2M_P SERDIND- tx_data_p[1] #N/A #N/A
22+
C3 DP0_C2M_N SERDIND+ tx_data_n[1] #N/A #N/A
23+
A26 DP2_C2M_P SERDINB- tx_data_p[2] #N/A #N/A
24+
A27 DP2_C2M_N SERDINB+ tx_data_n[2] #N/A #N/A
25+
A30 DP3_C2M_P SERDINA+ tx_data_p[3] #N/A #N/A
26+
A31 DP3_C2M_N SERDINA- tx_data_n[3] #N/A #N/A
27+
28+
G9 LA03_P SYNCIN1- rx_sync_p LVDS #N/A
29+
G10 LA03_N SYNCIN1+ rx_sync_n LVDS #N/A
30+
G36 LA33_P SYNCIN3- rx_sync_2_p LVDS #N/A
31+
G37 LA33_N SYNCIN3+ rx_sync_2_n LVDS #N/A
32+
G27 LA25_P SYNCIN2- rx_os_sync_p LVDS #N/A
33+
G28 LA25_N SYNCIN2+ rx_os_sync_n LVDS #N/A
34+
35+
G6 LA00_CC_P FPGA_SYSREF+ sysref_p LVDS DIFF_TERM TRUE
36+
G7 LA00_CC_N FPGA_SYSREF- sysref_n LVDS DIFF_TERM TRUE
37+
38+
H7 LA02_P SYNCOUT1+ tx_sync_p LVDS DIFF_TERM TRUE
39+
H8 LA02_N SYNCOUT1- tx_sync_n LVDS DIFF_TERM TRUE
40+
H28 LA24_P SYNCOUT2 tx_sync_1_p LVDS DIFF_TERM TRUE
41+
H29 LA24_N SYNCOUT2 tx_sync_1_n LVDS DIFF_TERM TRUE
42+
43+
C26 LA27_P FMC_CLK_RESETB ad9528_reset_b LVCMOS18 #N/A
44+
C27 LA27_N FMC_SYSREF_REQUEST ad9528_sysref_req LVCMOS18 #N/A
45+
D11 LA05_P TEST adrv9026_test LVCMOS18 #N/A
46+
47+
C10 LA06_P ORX_CTRL_A adrv9026_orx_ctrl_a LVCMOS18 #N/A
48+
C11 LA06_N ORX_CTRL_B adrv9026_orx_ctrl_b LVCMOS18 #N/A
49+
D26 LA26_P ORX_CTRL_C adrv9026_orx_ctrl_c LVCMOS18 #N/A
50+
C15 LA10_N ORX_CTRL_D adrv9026_orx_ctrl_d LVCMOS18 #N/A
51+
52+
D18 LA13_N RX1_ENABLE adrv9026_rx1_enable LVCMOS18 #N/A
53+
C19 LA14_N RX2_ENABLE adrv9026_rx2_enable LVCMOS18 #N/A
54+
D24 LA23_N RX3_ENABLE adrv9026_rx3_enable LVCMOS18 #N/A
55+
D23 LA23_P RX4_ENABLE adrv9026_rx4_enable LVCMOS18 #N/A
56+
57+
D17 LA13_P TX1_ENABLE adrv9026_tx1_enable LVCMOS18 #N/A
58+
C18 LA14_P TX2_ENABLE adrv9026_tx2_enable LVCMOS18 #N/A
59+
D27 LA26_N TX3_ENABLE adrv9026_tx3_enable LVCMOS18 #N/A
60+
C14 LA10_P TX4_ENABLE adrv9026_tx4_enable LVCMOS18 #N/A
61+
62+
H11 LA04_N GPINT1 adrv9026_gpint1 LVCMOS18 #N/A
63+
H31 LA28_P GPINT2 adrv9026_gpint2 LVCMOS18 #N/A
64+
H10 LA04_P RESETB adrv9026_reset_b LVCMOS18 #N/A
65+
66+
H19 LA15_P GPIO_0 adrv9026_gpio_00 LVCMOS18 #N/A
67+
H20 LA15_N GPIO_1 adrv9026_gpio_01 LVCMOS18 #N/A
68+
G18 LA16_P GPIO_2 adrv9026_gpio_02 LVCMOS18 #N/A
69+
G19 LA16_N GPIO_3 adrv9026_gpio_03 LVCMOS18 #N/A
70+
H25 LA21_P GPIO_4 adrv9026_gpio_04 LVCMOS18 #N/A
71+
H26 LA21_N GPIO_5 adrv9026_gpio_05 LVCMOS18 #N/A
72+
C22 LA18_CC_P GPIO_6 adrv9026_gpio_06 LVCMOS18 #N/A
73+
C23 LA18_CC_N GPIO_7 adrv9026_gpio_07 LVCMOS18 #N/A
74+
G25 LA22_N GPIO_8 adrv9026_gpio_08 LVCMOS18 #N/A
75+
H22 LA19_P GPIO_9 adrv9026_gpio_09 LVCMOS18 #N/A
76+
H23 LA19_N GPIO_10 adrv9026_gpio_10 LVCMOS18 #N/A
77+
G21 LA20_P GPIO_11 adrv9026_gpio_11 LVCMOS18 #N/A
78+
G22 LA20_N GPIO_12 adrv9026_gpio_12 LVCMOS18 #N/A
79+
G31 LA29_N GPIO_13 adrv9026_gpio_13 LVCMOS18 #N/A
80+
G30 LA29_P GPIO_14 adrv9026_gpio_14 LVCMOS18 #N/A
81+
G24 LA22_P GPIO_15_FMC adrv9026_gpio_15 LVCMOS18 #N/A
82+
G16 LA12_N GPIO_16 adrv9026_gpio_16 LVCMOS18 #N/A
83+
G15 LA12_P GPIO_17 adrv9026_gpio_17 LVCMOS18 #N/A
84+
D12 LA05_N GPIO_18 adrv9026_gpio_18 LVCMOS18 #N/A
85+
86+
D14 LA09_P SPI_CS0 spi_csn_adrv9026 LVCMOS18 #N/A
87+
D15 LA09_N SPI_CS1 spi_csn_ad9528 LVCMOS18 #N/A
88+
H13 LA07_P SPI_CLK spi_clk LVCMOS18 #N/A
89+
G12 LA08_P SPI_DOUT spi_miso LVCMOS18 #N/A
90+
H14 LA07_N SPI_DIN spi_mosi LVCMOS18 #N/A

projects/adrv9026/zcu102/Makefile

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
###############################################################################
2+
## Copyright (C) 2018-2024 Analog Devices, Inc.
3+
### SPDX short identifier: BSD-1-Clause
4+
## Auto-generated, do not modify!
5+
###############################################################################
6+
7+
PROJECT_NAME := adrv9026_zcu102
8+
9+
M_DEPS += ../common/adrv9026_bd.tcl
10+
M_DEPS += ../../scripts/adi_pd.tcl
11+
M_DEPS += ../../common/zcu102/zcu102_system_constr.xdc
12+
M_DEPS += ../../common/zcu102/zcu102_system_bd.tcl
13+
M_DEPS += ../../common/xilinx/dacfifo_bd.tcl
14+
M_DEPS += ../../../library/jesd204/scripts/jesd204.tcl
15+
M_DEPS += ../../../library/common/ad_iobuf.v
16+
17+
LIB_DEPS += axi_dmac
18+
LIB_DEPS += axi_sysid
19+
LIB_DEPS += jesd204/ad_ip_jesd204_tpl_adc
20+
LIB_DEPS += jesd204/ad_ip_jesd204_tpl_dac
21+
LIB_DEPS += jesd204/axi_jesd204_rx
22+
LIB_DEPS += jesd204/axi_jesd204_tx
23+
LIB_DEPS += jesd204/jesd204_rx
24+
LIB_DEPS += jesd204/jesd204_tx
25+
LIB_DEPS += sysid_rom
26+
LIB_DEPS += util_dacfifo
27+
LIB_DEPS += util_pack/util_cpack2
28+
LIB_DEPS += util_pack/util_upack2
29+
LIB_DEPS += xilinx/axi_adxcvr
30+
LIB_DEPS += xilinx/util_adxcvr
31+
32+
include ../../scripts/project-xilinx.mk
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
###############################################################################
2+
## Copyright (C) 2023-2024 Analog Devices, Inc. All rights reserved.
3+
### SPDX short identifier: ADIBSD
4+
###############################################################################
5+
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%
10+
11+
source $ad_hdl_dir/projects/common/zcu102/zcu102_system_bd.tcl
12+
source $ad_hdl_dir/projects/common/xilinx/dacfifo_bd.tcl
13+
source $ad_hdl_dir/projects/scripts/adi_pd.tcl
14+
15+
#system ID
16+
ad_ip_parameter axi_sysid_0 CONFIG.ROM_ADDR_BITS 9
17+
ad_ip_parameter rom_sys_0 CONFIG.PATH_TO_FILE "[pwd]/mem_init_sys.txt"
18+
ad_ip_parameter rom_sys_0 CONFIG.ROM_ADDR_BITS 9
19+
set sys_cstring "sys rom custom string placeholder"
20+
sysid_gen_sys_init_file $sys_cstring;
21+
22+
source ../common/adrv9026_bd.tcl

0 commit comments

Comments
 (0)