Skip to content

Commit

Permalink
AD35XX: Update project
Browse files Browse the repository at this point in the history
It is supporting single SPI (Classic), dual SPI, and Quad SPI
(according to the eval limitations) for the DACs AD3541R,
AD3542R, AD3551R, AD3552R.

Removed evaluation board project ad3552r_evb because
it was substituted by ad35xxr_evb.

Signed-off-by: Carlos Souza <[email protected]>
  • Loading branch information
caosjr committed Jan 24, 2025
1 parent 2a104ad commit 1aca596
Show file tree
Hide file tree
Showing 9 changed files with 74 additions and 99 deletions.
8 changes: 0 additions & 8 deletions projects/ad3552r_evb/Readme.md

This file was deleted.

18 changes: 0 additions & 18 deletions projects/ad3552r_evb/common/ad3552r_evb_fmc.txt

This file was deleted.

File renamed without changes.
39 changes: 20 additions & 19 deletions ...cts/ad3552r_evb/common/ad3552r_evb_bd.tcl → ...cts/ad35xxr_evb/common/ad35xxr_evb_bd.tcl
100755 → 100644
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,8 @@ create_bd_port -dir O dac_sclk
create_bd_port -dir O dac_csn
create_bd_port -dir I -from 3 -to 0 dac_spi_sdi
create_bd_port -dir O -from 3 -to 0 dac_spi_sdo
create_bd_port -dir O dac_spi_sdo_t
create_bd_port -dir O -from 3 -to 0 dac_spi_sdo_t
create_bd_port -dir O dac_qspi_sel

ad_ip_instance axi_dmac axi_dac_dma
ad_ip_parameter axi_dac_dma CONFIG.DMA_TYPE_SRC 0
Expand All @@ -20,26 +21,26 @@ ad_ip_parameter axi_dac_dma CONFIG.DMA_2D_TRANSFER 0
ad_ip_parameter axi_dac_dma CONFIG.DMA_DATA_WIDTH_SRC 32
ad_ip_parameter axi_dac_dma CONFIG.DMA_DATA_WIDTH_DEST 32

ad_ip_instance axi_ad3552r axi_ad3552r_dac
ad_ip_instance axi_ad35xxr axi_ad35xxr_dac

ad_connect axi_ad3552r_dac/dac_sclk dac_sclk
ad_connect axi_ad3552r_dac/dac_csn dac_csn
ad_connect axi_ad3552r_dac/sdio_i dac_spi_sdi
ad_connect axi_ad3552r_dac/sdio_o dac_spi_sdo
ad_connect axi_ad3552r_dac/sdio_t dac_spi_sdo_t
ad_connect axi_ad3552r_dac/dma_data axi_dac_dma/m_axis_data
ad_connect axi_ad3552r_dac/valid_in_dma axi_dac_dma/m_axis_valid
ad_connect axi_ad3552r_dac/dac_data_ready axi_dac_dma/m_axis_ready
ad_connect axi_ad35xxr_dac/dac_sclk dac_sclk
ad_connect axi_ad35xxr_dac/dac_csn dac_csn
ad_connect axi_ad35xxr_dac/sdio_i dac_spi_sdi
ad_connect axi_ad35xxr_dac/sdio_o dac_spi_sdo
ad_connect axi_ad35xxr_dac/sdio_t dac_spi_sdo_t
ad_connect axi_ad35xxr_dac/qspi_sel dac_qspi_sel

ad_connect axi_ad35xxr_dac/s_axis axi_dac_dma/m_axis
ad_connect sys_rstgen/peripheral_aresetn axi_dac_dma/m_src_axi_aresetn

# Tie unused inputs to GND

ad_connect axi_ad3552r_dac/valid_in_dma_sec GND
ad_connect axi_ad3552r_dac/data_in_a GND
ad_connect axi_ad3552r_dac/data_in_b GND
ad_connect axi_ad3552r_dac/valid_in_a GND
ad_connect axi_ad3552r_dac/valid_in_b GND
ad_connect axi_ad3552r_dac/external_sync GND
ad_connect axi_ad35xxr_dac/valid_in_dma_sec GND
ad_connect axi_ad35xxr_dac/data_in_a GND
ad_connect axi_ad35xxr_dac/data_in_b GND
ad_connect axi_ad35xxr_dac/valid_in_a GND
ad_connect axi_ad35xxr_dac/valid_in_b GND
ad_connect axi_ad35xxr_dac/external_sync GND

ad_ip_instance axi_clkgen axi_clkgen
ad_ip_parameter axi_clkgen CONFIG.ID 1
Expand All @@ -48,12 +49,12 @@ ad_ip_parameter axi_clkgen CONFIG.VCO_DIV 1
ad_ip_parameter axi_clkgen CONFIG.VCO_MUL 8
ad_ip_parameter axi_clkgen CONFIG.CLK0_DIV 6

ad_connect axi_clkgen/clk sys_ps7/FCLK_CLK0
ad_connect axi_clkgen/clk_0 axi_ad3552r_dac/dac_clk
ad_connect $sys_cpu_clk axi_clkgen/clk
ad_connect axi_clkgen/clk_0 axi_ad35xxr_dac/dac_clk
ad_connect axi_clkgen/clk_0 axi_dac_dma/m_axis_aclk

ad_cpu_interconnect 0x44a30000 axi_dac_dma
ad_cpu_interconnect 0x44a70000 axi_ad3552r_dac
ad_cpu_interconnect 0x44a70000 axi_ad35xxr_dac
ad_cpu_interconnect 0x44B00000 axi_clkgen

ad_cpu_interrupt "ps-13" "mb-13" axi_dac_dma/irq
Expand Down
6 changes: 3 additions & 3 deletions projects/ad3552r_evb/zed/Makefile → projects/ad35xxr_evb/zed/Makefile
100755 → 100644
Original file line number Diff line number Diff line change
Expand Up @@ -4,15 +4,15 @@
## Auto-generated, do not modify!
####################################################################################

PROJECT_NAME := ad3552r_evb_zed
PROJECT_NAME := ad35xxr_evb_zed

M_DEPS += ../common/ad3552r_evb_bd.tcl
M_DEPS += ../common/ad35xxr_evb_bd.tcl
M_DEPS += ../../scripts/adi_pd.tcl
M_DEPS += ../../common/zed/zed_system_constr.xdc
M_DEPS += ../../common/zed/zed_system_bd.tcl
M_DEPS += ../../../library/common/ad_iobuf.v

LIB_DEPS += axi_ad3552r
LIB_DEPS += axi_ad35xxr
LIB_DEPS += axi_clkgen
LIB_DEPS += axi_dmac
LIB_DEPS += axi_hdmi_tx
Expand Down
2 changes: 1 addition & 1 deletion projects/ad3552r_evb/zed/system_bd.tcl → projects/ad35xxr_evb/zed/system_bd.tcl
100755 → 100644
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ source $ad_hdl_dir/projects/common/zed/zed_system_bd.tcl
source $ad_hdl_dir/projects/scripts/adi_pd.tcl

# block design
source ../common/ad3552r_evb_bd.tcl
source ../common/ad35xxr_evb_bd.tcl

#system ID
ad_ip_parameter axi_sysid_0 CONFIG.ROM_ADDR_BITS 9
Expand Down
30 changes: 15 additions & 15 deletions projects/ad3552r_evb/zed/system_constr.xdc → projects/ad35xxr_evb/zed/system_constr.xdc
100755 → 100644
Original file line number Diff line number Diff line change
Expand Up @@ -3,22 +3,22 @@
### SPDX short identifier: ADIBSD
###############################################################################

# ad3552r_fmc SPI interface
# ad35xxr_fmc SPI interface

set_property -dict {PACKAGE_PIN P17 IOSTANDARD LVCMOS25} [get_ports {ad3552r_spi_sdio[0]}] ; # FMC_LA02_P IO_L20P_T3_34
set_property -dict {PACKAGE_PIN P18 IOSTANDARD LVCMOS25} [get_ports {ad3552r_spi_sdio[1]}] ; # FMC_LA02_N IO_L20N_T3_34
set_property -dict {PACKAGE_PIN N22 IOSTANDARD LVCMOS25} [get_ports {ad3552r_spi_sdio[2]}] ; # FMC_LA03_P IO_L16P_T2_34
set_property -dict {PACKAGE_PIN P22 IOSTANDARD LVCMOS25} [get_ports {ad3552r_spi_sdio[3]}] ; # FMC_LA03_N IO_L16N_T2_34
set_property -dict {PACKAGE_PIN P17 IOSTANDARD LVCMOS25} [get_ports {ad35xxr_spi_sdio[0]}] ; # FMC_LA02_P IO_L20P_T3_34
set_property -dict {PACKAGE_PIN P18 IOSTANDARD LVCMOS25} [get_ports {ad35xxr_spi_sdio[1]}] ; # FMC_LA02_N IO_L20N_T3_34
set_property -dict {PACKAGE_PIN N22 IOSTANDARD LVCMOS25} [get_ports {ad35xxr_spi_sdio[2]}] ; # FMC_LA03_P IO_L16P_T2_34
set_property -dict {PACKAGE_PIN P22 IOSTANDARD LVCMOS25} [get_ports {ad35xxr_spi_sdio[3]}] ; # FMC_LA03_N IO_L16N_T2_34

set_property -dict {PACKAGE_PIN M19 IOSTANDARD LVCMOS25 } [get_ports ad3552r_spi_sclk] ; # FMC_LA00_CC_P IO_L13P_T2_MRCC_34
set_property -dict {PACKAGE_PIN M20 IOSTANDARD LVCMOS25 } [get_ports ad3552r_spi_cs] ; # FMC_LA00_CC_N IO_L13N_T2_MRCC_34
set_property -dict {PACKAGE_PIN M19 IOSTANDARD LVCMOS25 } [get_ports ad35xxr_spi_sclk] ; # FMC_LA00_CC_P IO_L13P_T2_MRCC_34
set_property -dict {PACKAGE_PIN M20 IOSTANDARD LVCMOS25 } [get_ports ad35xxr_spi_cs] ; # FMC_LA00_CC_N IO_L13N_T2_MRCC_34

set_property -dict {PACKAGE_PIN J18 IOSTANDARD LVCMOS25} [get_ports ad3552r_ldacn] ; # FMC_LA05_P IO_L7P_T1_34
set_property -dict {PACKAGE_PIN K18 IOSTANDARD LVCMOS25} [get_ports ad3552r_resetn] ; # FMC_LA05_N IO_L7N_T1_34
set_property -dict {PACKAGE_PIN M21 IOSTANDARD LVCMOS25} [get_ports ad3552r_alertn] ; # FMC_LA04_P IO_L15P_T2_DQS_34
set_property -dict {PACKAGE_PIN M22 IOSTANDARD LVCMOS25} [get_ports ad3552r_qspi_sel] ; # FMC_LA04_N IO_L15N_T2_DQS_34
set_property -dict {PACKAGE_PIN J18 IOSTANDARD LVCMOS25} [get_ports ad35xxr_ldacn] ; # FMC_LA05_P IO_L7P_T1_34
set_property -dict {PACKAGE_PIN K18 IOSTANDARD LVCMOS25} [get_ports ad35xxr_resetn] ; # FMC_LA05_N IO_L7N_T1_34
set_property -dict {PACKAGE_PIN M21 IOSTANDARD LVCMOS25} [get_ports ad35xxr_alertn] ; # FMC_LA04_P IO_L15P_T2_DQS_34
set_property -dict {PACKAGE_PIN M22 IOSTANDARD LVCMOS25} [get_ports ad35xxr_qspi_sel] ; # FMC_LA04_N IO_L15N_T2_DQS_34

set_property -dict {PACKAGE_PIN L21 IOSTANDARD LVCMOS25} [get_ports ad3552r_gpio_6] ; # FMC_LA06_P IO_L10P_T1_34
set_property -dict {PACKAGE_PIN L22 IOSTANDARD LVCMOS25} [get_ports ad3552r_gpio_7] ; # FMC_LA06_N IO_L10N_T1_34
set_property -dict {PACKAGE_PIN T16 IOSTANDARD LVCMOS25} [get_ports ad3552r_gpio_8] ; # FMC_LA07_P IO_L21P_T3_DQS_34
set_property -dict {PACKAGE_PIN T17 IOSTANDARD LVCMOS25} [get_ports ad3552r_gpio_9] ; # FMC_LA07_N IO_L21N_T3_DQS_34
set_property -dict {PACKAGE_PIN L21 IOSTANDARD LVCMOS25} [get_ports ad35xxr_gpio_6] ; # FMC_LA06_P IO_L10P_T1_34
set_property -dict {PACKAGE_PIN L22 IOSTANDARD LVCMOS25} [get_ports ad35xxr_gpio_7] ; # FMC_LA06_N IO_L10N_T1_34
set_property -dict {PACKAGE_PIN T16 IOSTANDARD LVCMOS25} [get_ports ad35xxr_gpio_8] ; # FMC_LA07_P IO_L21P_T3_DQS_34
set_property -dict {PACKAGE_PIN T17 IOSTANDARD LVCMOS25} [get_ports ad35xxr_gpio_9] ; # FMC_LA07_N IO_L21N_T3_DQS_34
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,11 @@ source ../../../scripts/adi_env.tcl
source $ad_hdl_dir/projects/scripts/adi_project_xilinx.tcl
source $ad_hdl_dir/projects/scripts/adi_board.tcl

adi_project ad3552r_evb_zed
adi_project_files ad3552r_evb_zed [list \
adi_project ad35xxr_evb_zed
adi_project_files ad35xxr_evb_zed [list \
"system_top.v" \
"system_constr.xdc" \
"$ad_hdl_dir/projects/common/zed/zed_system_constr.xdc" \
"$ad_hdl_dir/library/common/ad_iobuf.v" ]

adi_project_run ad3552r_evb_zed
adi_project_run ad35xxr_evb_zed
64 changes: 32 additions & 32 deletions projects/ad3552r_evb/zed/system_top.v → projects/ad35xxr_evb/zed/system_top.v
100755 → 100644
Original file line number Diff line number Diff line change
Expand Up @@ -85,17 +85,17 @@ module system_top (

// dac interface

inout ad3552r_ldacn,
inout ad3552r_alertn,
inout ad3552r_gpio_6,
inout ad3552r_gpio_7,
inout ad3552r_gpio_8,
inout ad3552r_gpio_9,
inout [ 3:0] ad3552r_spi_sdio,
output ad3552r_resetn,
output ad3552r_qspi_sel,
output ad3552r_spi_cs,
output ad3552r_spi_sclk
inout ad35xxr_ldacn,
inout ad35xxr_alertn,
inout ad35xxr_gpio_6,
inout ad35xxr_gpio_7,
inout ad35xxr_gpio_8,
inout ad35xxr_gpio_9,
inout [ 3:0] ad35xxr_spi_sdio,
output ad35xxr_resetn,
output ad35xxr_qspi_sel,
output ad35xxr_spi_cs,
output ad35xxr_spi_sclk
);

// internal signals
Expand All @@ -109,35 +109,34 @@ module system_top (
wire [ 1:0] iic_mux_sda_i_s;
wire [ 1:0] iic_mux_sda_o_s;
wire iic_mux_sda_t_s;
wire [ 3:0] ad3552r_spi_sdo;
wire [ 3:0] ad3552r_spi_sdi;
wire ad3552r_spi_t;
wire [ 3:0] ad35xxr_spi_sdo;
wire [ 3:0] ad35xxr_spi_sdi;
wire [ 3:0] ad35xxr_spi_t;

assign gpio_i[63:39] = gpio_o[63:39];

assign ad3552r_qspi_sel = 1'b1;
assign ad3552r_resetn = gpio_o[38];
assign ad35xxr_resetn = gpio_o[38];

ad_iobuf #(
.DATA_WIDTH(4)
) i_dac_0_spi_iobuf (
.dio_t({4{ad3552r_spi_t}}),
.dio_i(ad3552r_spi_sdo),
.dio_o(ad3552r_spi_sdi),
.dio_p(ad3552r_spi_sdio));
.dio_t({ad35xxr_spi_t}),
.dio_i(ad35xxr_spi_sdo),
.dio_o(ad35xxr_spi_sdi),
.dio_p(ad35xxr_spi_sdio));

ad_iobuf #(
.DATA_WIDTH(6)
) i_ad3552r_iobuf (
) i_ad35xxr_iobuf (
.dio_t(gpio_t[37:32]),
.dio_i(gpio_o[37:32]),
.dio_o(gpio_i[37:32]),
.dio_p({ad3552r_gpio_9,
ad3552r_gpio_8,
ad3552r_gpio_7,
ad3552r_gpio_6,
ad3552r_alertn,
ad3552r_ldacn}));
.dio_p({ad35xxr_gpio_9,
ad35xxr_gpio_8,
ad35xxr_gpio_7,
ad35xxr_gpio_6,
ad35xxr_alertn,
ad35xxr_ldacn}));

ad_iobuf #(
.DATA_WIDTH (32)
Expand Down Expand Up @@ -236,9 +235,10 @@ module system_top (

//dac interface

.dac_sclk(ad3552r_spi_sclk),
.dac_csn(ad3552r_spi_cs),
.dac_spi_sdi(ad3552r_spi_sdi),
.dac_spi_sdo(ad3552r_spi_sdo),
.dac_spi_sdo_t(ad3552r_spi_t));
.dac_sclk(ad35xxr_spi_sclk),
.dac_csn(ad35xxr_spi_cs),
.dac_spi_sdi(ad35xxr_spi_sdi),
.dac_spi_sdo(ad35xxr_spi_sdo),
.dac_spi_sdo_t(ad35xxr_spi_t),
.dac_qspi_sel(ad35xxr_qspi_sel));
endmodule

0 comments on commit 1aca596

Please sign in to comment.