ad7768-1evb: Remove ADC2, update spi engine framework

The second ADC was removed from the project, as the EV-AD7768-1FMCZ evaluation
board contains only one ADC. Therefore, all the IPs related to the
second ADC have been removed, too.

The data width supported by the spi IPs has been changed from 8 bits to
32 bits, therefore the axis_upscaler(util_axis_upscale_v1_0) and the
m_axis_samples_24(AXI4-Stream Data Width Converter) are no more necessary,
so they have been removed from the design.

The 24 bits width data transfer between the s_axis of axi_ad77681_dma
(AXI DMA Controller) and the offload_sdi of the spi_engine_offload is now made
directly.
main
Stanca Pop 2019-08-30 14:10:24 +01:00 committed by StancaPop
parent 4941d89fff
commit fba7cac0c6
3 changed files with 111 additions and 268 deletions

View File

@ -1,14 +1,12 @@
create_bd_intf_port -mode Master -vlnv analog.com:interface:spi_master_rtl:1.0 adc1_spi
create_bd_intf_port -mode Master -vlnv analog.com:interface:spi_master_rtl:1.0 adc2_spi
create_bd_intf_port -mode Master -vlnv analog.com:interface:spi_master_rtl:1.0 adc_spi
create_bd_port -dir I adc1_data_ready
create_bd_port -dir I adc2_data_ready
create_bd_port -dir I adc_data_ready
# create a SPI Engine architecture for both ADCs
# create a SPI Engine architecture for ADC
create_bd_cell -type hier spi_adc1
current_bd_instance /spi_adc1
create_bd_cell -type hier spi_adc
current_bd_instance /spi_adc
create_bd_pin -dir I -type clk clk
create_bd_pin -dir I -type rst resetn
@ -17,204 +15,86 @@ current_bd_instance /spi_adc1
create_bd_intf_pin -mode Master -vlnv analog.com:interface:spi_master_rtl:1.0 m_spi
create_bd_intf_pin -mode Master -vlnv xilinx.com:interface:axis_rtl:1.0 M_AXIS_SAMPLE
# DATA_WIDTH is set to 8, so the granularity of the transaction will be 8 bit
# So we can to support 16bit 24bit and 32bit transfers
# DATA_WIDTH is set to 32
ad_ip_instance spi_engine_execution execution
ad_ip_parameter execution CONFIG.DATA_WIDTH 8
ad_ip_parameter execution CONFIG.DATA_WIDTH 32
ad_ip_parameter execution CONFIG.NUM_OF_CS 1
ad_ip_instance axi_spi_engine axi_1
ad_ip_parameter axi_1 CONFIG.DATA_WIDTH 8
ad_ip_parameter axi_1 CONFIG.NUM_OFFLOAD 1
ad_ip_instance axi_spi_engine axi_regmap
ad_ip_parameter axi_regmap CONFIG.DATA_WIDTH 32
ad_ip_parameter axi_regmap CONFIG.NUM_OFFLOAD 1
ad_ip_instance spi_engine_offload offload
ad_ip_parameter offload CONFIG.DATA_WIDTH 8
ad_ip_parameter offload CONFIG.DATA_WIDTH 32
ad_ip_parameter offload CONFIG.ASYNC_TRIG 1
ad_ip_instance spi_engine_interconnect interconnect
ad_ip_parameter interconnect CONFIG.DATA_WIDTH 8
# to convert the 8bit AXI stream to 24bit AXI stream
ad_ip_instance axis_dwidth_converter m_axis_samples_24
ad_ip_parameter m_axis_samples_24 CONFIG.M_TDATA_NUM_BYTES 3
# upscale the data to 32bit, samples should be multiple of 16bit
ad_ip_instance util_axis_upscale axis_upscaler
ad_ip_parameter axis_upscaler CONFIG.NUM_OF_CHANNELS 1
ad_ip_parameter axis_upscaler CONFIG.DATA_WIDTH 24
ad_ip_parameter axis_upscaler CONFIG.UDATA_WIDTH 32
ad_connect axis_upscaler/dfmt_enable GND
ad_connect axis_upscaler/dfmt_type GND
ad_connect axis_upscaler/dfmt_se GND
ad_connect axi_1/spi_engine_offload_ctrl0 offload/spi_engine_offload_ctrl
ad_ip_parameter interconnect CONFIG.DATA_WIDTH 32
ad_connect axi_regmap/spi_engine_offload_ctrl0 offload/spi_engine_offload_ctrl
ad_connect offload/spi_engine_ctrl interconnect/s0_ctrl
ad_connect axi_1/spi_engine_ctrl interconnect/s1_ctrl
ad_connect axi_regmap/spi_engine_ctrl interconnect/s1_ctrl
ad_connect interconnect/m_ctrl execution/ctrl
ad_connect offload/offload_sdi m_axis_samples_24/S_AXIS
ad_connect m_axis_samples_24/M_AXIS axis_upscaler/s_axis
ad_connect axis_upscaler/m_axis M_AXIS_SAMPLE
ad_connect offload/offload_sdi M_AXIS_SAMPLE
ad_connect execution/spi m_spi
ad_connect clk offload/spi_clk
ad_connect clk offload/ctrl_clk
ad_connect clk execution/clk
ad_connect clk axi_1/s_axi_aclk
ad_connect clk axi_1/spi_clk
ad_connect clk axi_regmap/s_axi_aclk
ad_connect clk axi_regmap/spi_clk
ad_connect clk interconnect/clk
ad_connect clk m_axis_samples_24/aclk
ad_connect clk axis_upscaler/clk
ad_connect axi_1/spi_resetn offload/spi_resetn
ad_connect axi_1/spi_resetn execution/resetn
ad_connect axi_1/spi_resetn interconnect/resetn
ad_connect axi_1/spi_resetn m_axis_samples_24/aresetn
ad_connect axi_1/spi_resetn axis_upscaler/resetn
ad_connect axi_regmap/spi_resetn offload/spi_resetn
ad_connect axi_regmap/spi_resetn execution/resetn
ad_connect axi_regmap/spi_resetn interconnect/resetn
ad_connect drdy offload/trigger
ad_connect resetn axi_1/s_axi_aresetn
ad_connect irq axi_1/irq
ad_connect resetn axi_regmap/s_axi_aresetn
ad_connect irq axi_regmap/irq
current_bd_instance /
create_bd_cell -type hier spi_adc2
current_bd_instance /spi_adc2
ad_connect adc_data_ready spi_adc/drdy
create_bd_pin -dir I -type clk clk
create_bd_pin -dir I -type rst resetn
create_bd_pin -dir I drdy
create_bd_pin -dir O irq
create_bd_intf_pin -mode Master -vlnv analog.com:interface:spi_master_rtl:1.0 m_spi
create_bd_intf_pin -mode Master -vlnv xilinx.com:interface:axis_rtl:1.0 M_AXIS_SAMPLE
# dma for the ADC
ad_ip_instance spi_engine_execution execution
ad_ip_parameter execution CONFIG.DATA_WIDTH 8
ad_ip_parameter execution CONFIG.NUM_OF_CS 1
ad_ip_instance axi_dmac axi_ad77681_dma
ad_ip_parameter axi_ad77681_dma CONFIG.DMA_TYPE_SRC 1
ad_ip_parameter axi_ad77681_dma CONFIG.DMA_TYPE_DEST 0
ad_ip_parameter axi_ad77681_dma CONFIG.CYCLIC 0
ad_ip_parameter axi_ad77681_dma CONFIG.SYNC_TRANSFER_START 0
ad_ip_parameter axi_ad77681_dma CONFIG.AXI_SLICE_SRC 0
ad_ip_parameter axi_ad77681_dma CONFIG.AXI_SLICE_DEST 1
ad_ip_parameter axi_ad77681_dma CONFIG.DMA_2D_TRANSFER 0
ad_ip_parameter axi_ad77681_dma CONFIG.DMA_DATA_WIDTH_SRC 32
ad_ip_parameter axi_ad77681_dma CONFIG.DMA_DATA_WIDTH_DEST 64
ad_ip_instance axi_spi_engine axi_2
ad_ip_parameter axi_2 CONFIG.DATA_WIDTH 8
ad_ip_parameter axi_2 CONFIG.NUM_OFFLOAD 1
ad_connect sys_cpu_clk spi_adc/clk
ad_connect sys_cpu_resetn spi_adc/resetn
ad_connect sys_cpu_resetn axi_ad77681_dma/m_dest_axi_aresetn
ad_ip_instance spi_engine_offload offload
ad_ip_parameter offload CONFIG.DATA_WIDTH 8
ad_ip_parameter offload CONFIG.ASYNC_TRIG 1
ad_connect spi_adc/m_spi adc_spi
ad_connect axi_ad77681_dma/s_axis spi_adc/M_AXIS_SAMPLE
ad_ip_instance spi_engine_interconnect interconnect
ad_ip_parameter interconnect CONFIG.DATA_WIDTH 8
# to convert the 8bit AXI stream to 24bit AXI stream
ad_ip_instance axis_dwidth_converter m_axis_samples_24
ad_ip_parameter m_axis_samples_24 CONFIG.M_TDATA_NUM_BYTES 3
# upscale the data to 32bit, samples should be multiple of 16bit
ad_ip_instance util_axis_upscale axis_upscaler
ad_ip_parameter axis_upscaler CONFIG.NUM_OF_CHANNELS 1
ad_ip_parameter axis_upscaler CONFIG.DATA_WIDTH 24
ad_ip_parameter axis_upscaler CONFIG.UDATA_WIDTH 32
ad_connect axis_upscaler/dfmt_enable GND
ad_connect axis_upscaler/dfmt_type GND
ad_connect axis_upscaler/dfmt_se GND
ad_connect axi_2/spi_engine_offload_ctrl0 offload/spi_engine_offload_ctrl
ad_connect offload/spi_engine_ctrl interconnect/s0_ctrl
ad_connect axi_2/spi_engine_ctrl interconnect/s1_ctrl
ad_connect interconnect/m_ctrl execution/ctrl
ad_connect offload/offload_sdi m_axis_samples_24/S_AXIS
ad_connect m_axis_samples_24/M_AXIS axis_upscaler/s_axis
ad_connect axis_upscaler/m_axis M_AXIS_SAMPLE
ad_connect execution/spi m_spi
ad_connect clk offload/spi_clk
ad_connect clk offload/ctrl_clk
ad_connect clk execution/clk
ad_connect clk axi_2/s_axi_aclk
ad_connect clk axi_2/spi_clk
ad_connect clk interconnect/clk
ad_connect clk m_axis_samples_24/aclk
ad_connect clk axis_upscaler/clk
ad_connect axi_2/spi_resetn offload/spi_resetn
ad_connect axi_2/spi_resetn execution/resetn
ad_connect axi_2/spi_resetn interconnect/resetn
ad_connect axi_2/spi_resetn m_axis_samples_24/aresetn
ad_connect axi_2/spi_resetn axis_upscaler/resetn
ad_connect drdy offload/trigger
ad_connect resetn axi_2/s_axi_aresetn
ad_connect irq axi_2/irq
current_bd_instance /
ad_connect adc1_data_ready spi_adc1/drdy
ad_connect adc2_data_ready spi_adc2/drdy
# dma for the ADC1
ad_ip_instance axi_dmac axi_ad77681_dma_1
ad_ip_parameter axi_ad77681_dma_1 CONFIG.DMA_TYPE_SRC 1
ad_ip_parameter axi_ad77681_dma_1 CONFIG.DMA_TYPE_DEST 0
ad_ip_parameter axi_ad77681_dma_1 CONFIG.CYCLIC 0
ad_ip_parameter axi_ad77681_dma_1 CONFIG.SYNC_TRANSFER_START 0
ad_ip_parameter axi_ad77681_dma_1 CONFIG.AXI_SLICE_SRC 0
ad_ip_parameter axi_ad77681_dma_1 CONFIG.AXI_SLICE_DEST 1
ad_ip_parameter axi_ad77681_dma_1 CONFIG.DMA_2D_TRANSFER 0
ad_ip_parameter axi_ad77681_dma_1 CONFIG.DMA_DATA_WIDTH_SRC 32
ad_ip_parameter axi_ad77681_dma_1 CONFIG.DMA_DATA_WIDTH_DEST 64
ad_connect sys_cpu_clk spi_adc1/clk
ad_connect sys_cpu_resetn spi_adc1/resetn
ad_connect sys_cpu_resetn axi_ad77681_dma_1/m_dest_axi_aresetn
ad_connect spi_adc1/m_spi adc1_spi
ad_connect axi_ad77681_dma_1/s_axis spi_adc1/M_AXIS_SAMPLE
# dma for the ADC2
ad_ip_instance axi_dmac axi_ad77681_dma_2
ad_ip_parameter axi_ad77681_dma_2 CONFIG.DMA_TYPE_SRC 1
ad_ip_parameter axi_ad77681_dma_2 CONFIG.DMA_TYPE_DEST 0
ad_ip_parameter axi_ad77681_dma_2 CONFIG.CYCLIC 0
ad_ip_parameter axi_ad77681_dma_2 CONFIG.SYNC_TRANSFER_START 0
ad_ip_parameter axi_ad77681_dma_2 CONFIG.AXI_SLICE_SRC 0
ad_ip_parameter axi_ad77681_dma_2 CONFIG.AXI_SLICE_DEST 1
ad_ip_parameter axi_ad77681_dma_2 CONFIG.DMA_2D_TRANSFER 0
ad_ip_parameter axi_ad77681_dma_2 CONFIG.DMA_DATA_WIDTH_SRC 32
ad_ip_parameter axi_ad77681_dma_2 CONFIG.DMA_DATA_WIDTH_DEST 64
ad_connect sys_cpu_clk spi_adc2/clk
ad_connect sys_cpu_resetn spi_adc2/resetn
ad_connect sys_cpu_resetn axi_ad77681_dma_2/m_dest_axi_aresetn
ad_connect spi_adc2/m_spi adc2_spi
ad_connect axi_ad77681_dma_2/s_axis spi_adc2/M_AXIS_SAMPLE
# AXI address definitions
ad_cpu_interconnect 0x44a00000 spi_adc1/axi_1
ad_cpu_interconnect 0x44b00000 spi_adc2/axi_2
ad_cpu_interconnect 0x44a30000 axi_ad77681_dma_1
ad_cpu_interconnect 0x44b30000 axi_ad77681_dma_2
ad_cpu_interconnect 0x44a00000 spi_adc/axi_regmap
ad_cpu_interconnect 0x44a30000 axi_ad77681_dma
ad_connect sys_cpu_clk axi_ad77681_dma_1/s_axis_aclk
ad_connect sys_cpu_clk axi_ad77681_dma_2/s_axis_aclk
ad_connect sys_cpu_clk axi_ad77681_dma/s_axis_aclk
# interrupts
ad_cpu_interrupt "ps-13" "mb-13" axi_ad77681_dma_1/irq
ad_cpu_interrupt "ps-12" "mb-12" axi_ad77681_dma_2/irq
ad_cpu_interrupt "ps-11" "mb-11" spi_adc1/irq
ad_cpu_interrupt "ps-10" "mb-10" spi_adc2/irq
ad_cpu_interrupt "ps-13" "mb-13" axi_ad77681_dma/irq
ad_cpu_interrupt "ps-11" "mb-11" spi_adc/irq
# memory interconnects
ad_mem_hp2_interconnect sys_cpu_clk sys_ps7/S_AXI_HP2
ad_mem_hp2_interconnect sys_cpu_clk axi_ad77681_dma_1/m_dest_axi
ad_mem_hp3_interconnect sys_cpu_clk sys_ps7/S_AXI_HP3
ad_mem_hp3_interconnect sys_cpu_clk axi_ad77681_dma_2/m_dest_axi
ad_mem_hp2_interconnect sys_cpu_clk sys_ps7/S_AXI_HP0
ad_mem_hp2_interconnect sys_cpu_clk axi_ad77681_dma/m_dest_axi

View File

@ -1,41 +1,25 @@
# SPI interface
set_property -dict {PACKAGE_PIN N19 IOSTANDARD LVCMOS25 IOB TRUE} [get_ports ad7768_0_spi_sclk] ; ## FMC_LPC_LA01_CC_P
set_property -dict {PACKAGE_PIN P17 IOSTANDARD LVCMOS25 IOB TRUE PULLTYPE PULLUP} [get_ports ad7768_0_spi_miso] ; ## FMC_LPC_LA02_P
set_property -dict {PACKAGE_PIN N22 IOSTANDARD LVCMOS25} [get_ports ad7768_0_spi_mosi] ; ## FMC_LPC_LA03_P
set_property -dict {PACKAGE_PIN M21 IOSTANDARD LVCMOS25} [get_ports ad7768_0_spi_cs] ; ## FMC_LPC_LA04_P
set_property -dict {PACKAGE_PIN N20 IOSTANDARD LVCMOS25 IOB TRUE} [get_ports ad7768_1_spi_sclk] ; ## FMC_LPC_LA01_CC_N
set_property -dict {PACKAGE_PIN P18 IOSTANDARD LVCMOS25 IOB TRUE PULLTYPE PULLUP} [get_ports ad7768_1_spi_miso] ; ## FMC_LPC_LA02_N
set_property -dict {PACKAGE_PIN P22 IOSTANDARD LVCMOS25} [get_ports ad7768_1_spi_mosi] ; ## FMC_LPC_LA03_N
set_property -dict {PACKAGE_PIN M22 IOSTANDARD LVCMOS25} [get_ports ad7768_1_spi_cs] ; ## FMC_LPC_LA04_N
set_property -dict {PACKAGE_PIN N19 IOSTANDARD LVCMOS25 IOB TRUE} [get_ports ad7768_spi_sclk] ; ## FMC_LPC_LA01_CC_P
set_property -dict {PACKAGE_PIN P17 IOSTANDARD LVCMOS25 IOB TRUE PULLTYPE PULLUP} [get_ports ad7768_spi_miso] ; ## FMC_LPC_LA02_P
set_property -dict {PACKAGE_PIN N22 IOSTANDARD LVCMOS25} [get_ports ad7768_spi_mosi] ; ## FMC_LPC_LA03_P
set_property -dict {PACKAGE_PIN M21 IOSTANDARD LVCMOS25} [get_ports ad7768_spi_cs] ; ## FMC_LPC_LA04_P
# reset and GPIO signals
set_property -dict {PACKAGE_PIN P20 IOSTANDARD LVCMOS25} [get_ports ad7768_0_reset] ; ## FMC_LPC_LA12_P
set_property -dict {PACKAGE_PIN J21 IOSTANDARD LVCMOS25} [get_ports ad7768_0_gpio[0]] ; ## FMC_LPC_LA08_P
set_property -dict {PACKAGE_PIN R20 IOSTANDARD LVCMOS25} [get_ports ad7768_0_gpio[1]] ; ## FMC_LPC_LA09_P
set_property -dict {PACKAGE_PIN R19 IOSTANDARD LVCMOS25} [get_ports ad7768_0_gpio[2]] ; ## FMC_LPC_LA10_P
set_property -dict {PACKAGE_PIN N17 IOSTANDARD LVCMOS25} [get_ports ad7768_0_gpio[3]] ; ## FMC_LPC_LA11_P
set_property -dict {PACKAGE_PIN P21 IOSTANDARD LVCMOS25} [get_ports ad7768_1_reset] ; ## FMC_LPC_LA12_N
set_property -dict {PACKAGE_PIN J22 IOSTANDARD LVCMOS25} [get_ports ad7768_1_gpio[0]] ; ## FMC_LPC_LA08_N
set_property -dict {PACKAGE_PIN R21 IOSTANDARD LVCMOS25} [get_ports ad7768_1_gpio[1]] ; ## FMC_LPC_LA09_N
set_property -dict {PACKAGE_PIN T19 IOSTANDARD LVCMOS25} [get_ports ad7768_1_gpio[2]] ; ## FMC_LPC_LA10_N
set_property -dict {PACKAGE_PIN N18 IOSTANDARD LVCMOS25} [get_ports ad7768_1_gpio[3]] ; ## FMC_LPC_LA11_N
set_property -dict {PACKAGE_PIN P20 IOSTANDARD LVCMOS25} [get_ports ad7768_reset] ; ## FMC_LPC_LA12_P
set_property -dict {PACKAGE_PIN J21 IOSTANDARD LVCMOS25} [get_ports ad7768_gpio[0]] ; ## FMC_LPC_LA08_P
set_property -dict {PACKAGE_PIN R20 IOSTANDARD LVCMOS25} [get_ports ad7768_gpio[1]] ; ## FMC_LPC_LA09_P
set_property -dict {PACKAGE_PIN R19 IOSTANDARD LVCMOS25} [get_ports ad7768_gpio[2]] ; ## FMC_LPC_LA10_P
set_property -dict {PACKAGE_PIN N17 IOSTANDARD LVCMOS25} [get_ports ad7768_gpio[3]] ; ## FMC_LPC_LA11_P
# syncronization and timing
set_property -dict {PACKAGE_PIN J18 IOSTANDARD LVCMOS25 IOB TRUE} [get_ports ad7768_0_drdy] ; ## FMC_LPC_LA05_P
set_property -dict {PACKAGE_PIN L19 IOSTANDARD LVCMOS25} [get_ports ad7768_0_sync_out] ; ## FMC_LPC_CLK0_M2C_N
set_property -dict {PACKAGE_PIN L21 IOSTANDARD LVCMOS25} [get_ports ad7768_0_sync_in] ; ## FMC_LPC_LA06_P
set_property -dict {PACKAGE_PIN M19 IOSTANDARD LVCMOS25} [get_ports ad7768_0_mclk] ; ## FMC_LPC_LA00_CC_P
set_property -dict {PACKAGE_PIN J18 IOSTANDARD LVCMOS25 IOB TRUE} [get_ports ad7768_drdy] ; ## FMC_LPC_LA05_P
set_property -dict {PACKAGE_PIN L19 IOSTANDARD LVCMOS25} [get_ports ad7768_sync_out] ; ## FMC_LPC_CLK0_M2C_N
set_property -dict {PACKAGE_PIN L21 IOSTANDARD LVCMOS25} [get_ports ad7768_sync_in] ; ## FMC_LPC_LA06_P
set_property -dict {PACKAGE_PIN M19 IOSTANDARD LVCMOS25} [get_ports ad7768_mclk] ; ## FMC_LPC_LA00_CC_P
set_property -dict {PACKAGE_PIN K18 IOSTANDARD LVCMOS25 IOB TRUE} [get_ports ad7768_1_drdy] ; ## FMC_LPC_LA05_N
set_property -dict {PACKAGE_PIN T16 IOSTANDARD LVCMOS25} [get_ports ad7768_1_sync_out] ; ## FMC_LPC_LA07_P
set_property -dict {PACKAGE_PIN L22 IOSTANDARD LVCMOS25} [get_ports ad7768_1_sync_in] ; ## FMC_LPC_LA06_N
set_property -dict {PACKAGE_PIN M20 IOSTANDARD LVCMOS25} [get_ports ad7768_1_mclk] ; ## FMC_LPC_LA00_CC_N
set_property -dict {PACKAGE_PIN L18 IOSTANDARD LVCMOS25} [get_ports ad7768_mclk_return] ; ## FMC_LPC_LA00_CC_P
set_property -dict {PACKAGE_PIN L18 IOSTANDARD LVCMOS25} [get_ports ad7768_mclk_return] ; ## FMC_LPC_CLK0_M2C_P

View File

@ -84,31 +84,19 @@ module system_top (
input otg_vbusoc,
inout ad7768_0_reset,
inout ad7768_0_sync_out,
inout ad7768_0_sync_in,
inout [ 3:0] ad7768_0_gpio,
inout ad7768_reset,
inout ad7768_sync_out,
inout ad7768_sync_in,
inout [ 3:0] ad7768_gpio,
inout ad7768_1_reset,
inout ad7768_1_sync_out,
inout ad7768_1_sync_in,
inout [ 3:0] ad7768_1_gpio,
input ad7768_0_mclk,
input ad7768_1_mclk,
input ad7768_mclk,
output ad7768_mclk_return,
input ad7768_0_spi_miso,
output ad7768_0_spi_mosi,
output ad7768_0_spi_sclk,
output ad7768_0_spi_cs,
input ad7768_0_drdy,
input ad7768_1_spi_miso,
output ad7768_1_spi_mosi,
output ad7768_1_spi_sclk,
output ad7768_1_spi_cs,
input ad7768_1_drdy);
input ad7768_spi_miso,
output ad7768_spi_mosi,
output ad7768_spi_sclk,
output ad7768_spi_cs,
input ad7768_drdy);
// internal signals
@ -121,51 +109,31 @@ 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 ad7768_0_mclk_s;
wire ad7768_1_mclk_s;
wire ad7768_mclk_s;
// instantiations
ad_data_clk #(.SINGLE_ENDED (1)) i_ad7768_0_mclk_receiver(
ad_data_clk #(.SINGLE_ENDED (1)) i_ad7768_mclk_receiver(
.rst (1'b1),
.locked (),
.clk_in_p (ad7768_0_mclk),
.clk_in_n (1'd0),
.clk(ad7768_0_mclk_s));
ad_data_clk #(.SINGLE_ENDED (1)) i_ad7768_1_mclk_receiver(
.rst (1'b1),
.locked (),
.clk_in_p (ad7768_1_mclk),
.clk_in_n (1'd0),
.clk(ad7768_1_mclk_s));
assign ad7768_mclk_return = ad7768_0_mclk_s;
.clk(ad7768_mclk_s));
assign ad7768_mclk_return = ad7768_mclk_s;
ad_iobuf #(
.DATA_WIDTH(7)
) i_iobuf_ad7768_1_gpio (
.dio_t(gpio_t[54:48]),
.dio_i(gpio_o[54:48]),
.dio_o(gpio_i[54:48]),
.dio_p({ad7768_1_gpio,
ad7768_1_sync_in,
ad7768_1_sync_out,
ad7768_1_reset}));
ad_iobuf #(
.DATA_WIDTH(7)
) i_iobuf_ad7768_0_gpio (
) i_iobuf_ad7768_gpio (
.dio_t(gpio_t[38:32]),
.dio_i(gpio_o[38:32]),
.dio_o(gpio_i[38:32]),
.dio_p({ad7768_0_gpio,
ad7768_0_sync_in,
ad7768_0_sync_out,
ad7768_0_reset}));
.dio_p({ad7768_gpio,
ad7768_sync_in,
ad7768_sync_out,
ad7768_reset}));
assign gpio_i[47:39] = gpio_o[47:39];
assign gpio_i[63:55] = gpio_o[63:55];
assign gpio_i[63:39] = gpio_o[63:39];
ad_iobuf #(
.DATA_WIDTH(32)
@ -175,8 +143,7 @@ module system_top (
.dio_o(gpio_i[31:0]),
.dio_p(gpio_bd));
assign gpio_i[47:39] = gpio_o[47:39];
assign gpio_i[63:55] = gpio_o[63:55];
assign gpio_i[63:39] = gpio_o[63:39];
ad_iobuf #(
.DATA_WIDTH(2)
@ -239,18 +206,30 @@ module system_top (
.iic_mux_sda_t (iic_mux_sda_t_s),
.otg_vbusoc (otg_vbusoc),
.spdif (spdif),
.adc1_spi_sdo (ad7768_0_spi_mosi),
.adc1_spi_sdo_t (),
.adc1_spi_sdi (ad7768_0_spi_miso),
.adc1_spi_cs (ad7768_0_spi_cs),
.adc1_spi_sclk (ad7768_0_spi_sclk),
.adc1_data_ready (ad7768_0_drdy),
.adc2_spi_sdo (ad7768_1_spi_mosi),
.adc2_spi_sdo_t (),
.adc2_spi_sdi (ad7768_1_spi_miso),
.adc2_spi_cs (ad7768_1_spi_cs),
.adc2_spi_sclk (ad7768_1_spi_sclk),
.adc2_data_ready (ad7768_1_drdy));
.spi0_clk_i (1'b0),
.spi0_clk_o (),
.spi0_csn_0_o (),
.spi0_csn_1_o (),
.spi0_csn_2_o (),
.spi0_csn_i (1'b1),
.spi0_sdi_i (1'b0),
.spi0_sdo_i (1'b0),
.spi0_sdo_o (),
.spi1_clk_i (1'b0),
.spi1_clk_o (),
.spi1_csn_0_o (),
.spi1_csn_1_o (),
.spi1_csn_2_o (),
.spi1_csn_i (1'b1),
.spi1_sdi_i (1'b0),
.spi1_sdo_i (1'b0),
.spi1_sdo_o (),
.adc_spi_sdo (ad7768_spi_mosi),
.adc_spi_sdo_t (),
.adc_spi_sdi (ad7768_spi_miso),
.adc_spi_cs (ad7768_spi_cs),
.adc_spi_sclk (ad7768_spi_sclk),
.adc_data_ready (ad7768_drdy));
endmodule