From ea18636586a6dde7cb46b08ddb09efe19cdb64ad Mon Sep 17 00:00:00 2001 From: Istvan Csomortani Date: Thu, 9 May 2019 13:28:17 +0100 Subject: [PATCH] ad_fmclidar1_ebz: Connect the TIA sequencer to the GPIOs --- .../common/ad_fmclidar1_ebz_bd.tcl | 2 ++ projects/ad_fmclidar1_ebz/zc706/system_top.v | 21 ++++++++++++++----- 2 files changed, 18 insertions(+), 5 deletions(-) diff --git a/projects/ad_fmclidar1_ebz/common/ad_fmclidar1_ebz_bd.tcl b/projects/ad_fmclidar1_ebz/common/ad_fmclidar1_ebz_bd.tcl index 305716c43..f44e3eee9 100644 --- a/projects/ad_fmclidar1_ebz/common/ad_fmclidar1_ebz_bd.tcl +++ b/projects/ad_fmclidar1_ebz/common/ad_fmclidar1_ebz_bd.tcl @@ -21,6 +21,7 @@ create_bd_port -dir I spi_afe_adc_sdi_i create_bd_port -dir O laser_driver create_bd_port -dir O laser_driver_en_n create_bd_port -dir I laser_driver_otw_n +create_bd_port -dir O -from 1 -to 0 tia_chsel # adc peripherals - controlled by PS7/SPI0 @@ -158,6 +159,7 @@ ad_connect laser_driver axi_laser_driver_0/driver_pulse ad_connect laser_driver_en_n axi_laser_driver_0/driver_en_n ad_connect laser_driver_otw_n axi_laser_driver_0/driver_otw_n ad_connect axi_laser_driver_0/driver_dp_reset util_ad9694_cpack/reset +ad_connect tia_chsel axi_laser_driver_0/tia_chsel ad_connect rx_device_clk util_axis_syncgen_0/s_axis_aclk ad_connect util_axis_syncgen_0/s_axis_aresetn VCC diff --git a/projects/ad_fmclidar1_ebz/zc706/system_top.v b/projects/ad_fmclidar1_ebz/zc706/system_top.v index 661c4b733..052a0fdfd 100644 --- a/projects/ad_fmclidar1_ebz/zc706/system_top.v +++ b/projects/ad_fmclidar1_ebz/zc706/system_top.v @@ -152,6 +152,7 @@ module system_top ( wire rx_sysref; wire rx_device_clk; wire laser_driver; + wire [ 1:0] tia_chsel_s; // instantiations @@ -191,12 +192,11 @@ module system_top ( // GPIO connections to the FMC connector - ad_iobuf #(.DATA_WIDTH(28)) i_fmc_iobuf ( - .dio_t ({8'b0, gpio_t[51:38], 3'b0, gpio_t[34:32]}), - .dio_i ({gpio_o[59:32]}), - .dio_o ({gpio_i[59:32]}), + ad_iobuf #(.DATA_WIDTH(20)) i_fmc_iobuf ( + .dio_t ({gpio_t[51:38], 3'b0, gpio_t[34:32]}), + .dio_i ({gpio_o[51:32]}), + .dio_o ({gpio_i[51:32]}), .dio_p ({ - afe_sel, // 59:52 - output only laser_gpio, // 51:38 afe_adc_convst, // 37 - output only afe_dac_load, // 36 - output only @@ -206,6 +206,9 @@ module system_top ( adc_fda // 32 })); + assign gpio_i[63:52] = 12'b0; + assign gpio_i[31:15] = 17'b0; + // GPIO connections for the carrier ad_iobuf #(.DATA_WIDTH(15)) i_iobuf_bd ( @@ -214,6 +217,13 @@ module system_top ( .dio_o (gpio_i[14:0]), .dio_p (gpio_bd)); + // TIA multiplexer selection bits + + assign afe_sel[1:0] = tia_chsel_s; + assign afe_sel[3:2] = tia_chsel_s; + assign afe_sel[5:4] = tia_chsel_s; + assign afe_sel[7:6] = tia_chsel_s; + // block design instance system_wrapper i_system_wrapper ( @@ -264,6 +274,7 @@ module system_top ( .laser_driver (laser_driver), .laser_driver_en_n (laser_driver_en_n), .laser_driver_otw_n (laser_driver_otw_n), + .tia_chsel (tia_chsel_s), .iic_dac_scl_io (afe_dac_scl), .iic_dac_sda_io (afe_dac_sda), .spi0_clk_i (spi_adc_clk),