ad_fmclidar1_ebz: Connect the TIA sequencer to the GPIOs

main
Istvan Csomortani 2019-05-09 13:28:17 +01:00 committed by István Csomortáni
parent 21bbc900c8
commit ea18636586
2 changed files with 18 additions and 5 deletions

View File

@ -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
create_bd_port -dir O laser_driver_en_n create_bd_port -dir O laser_driver_en_n
create_bd_port -dir I laser_driver_otw_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 # 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_en_n axi_laser_driver_0/driver_en_n
ad_connect laser_driver_otw_n axi_laser_driver_0/driver_otw_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 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 rx_device_clk util_axis_syncgen_0/s_axis_aclk
ad_connect util_axis_syncgen_0/s_axis_aresetn VCC ad_connect util_axis_syncgen_0/s_axis_aresetn VCC

View File

@ -152,6 +152,7 @@ module system_top (
wire rx_sysref; wire rx_sysref;
wire rx_device_clk; wire rx_device_clk;
wire laser_driver; wire laser_driver;
wire [ 1:0] tia_chsel_s;
// instantiations // instantiations
@ -191,12 +192,11 @@ module system_top (
// GPIO connections to the FMC connector // GPIO connections to the FMC connector
ad_iobuf #(.DATA_WIDTH(28)) i_fmc_iobuf ( ad_iobuf #(.DATA_WIDTH(20)) i_fmc_iobuf (
.dio_t ({8'b0, gpio_t[51:38], 3'b0, gpio_t[34:32]}), .dio_t ({gpio_t[51:38], 3'b0, gpio_t[34:32]}),
.dio_i ({gpio_o[59:32]}), .dio_i ({gpio_o[51:32]}),
.dio_o ({gpio_i[59:32]}), .dio_o ({gpio_i[51:32]}),
.dio_p ({ .dio_p ({
afe_sel, // 59:52 - output only
laser_gpio, // 51:38 laser_gpio, // 51:38
afe_adc_convst, // 37 - output only afe_adc_convst, // 37 - output only
afe_dac_load, // 36 - output only afe_dac_load, // 36 - output only
@ -206,6 +206,9 @@ module system_top (
adc_fda // 32 adc_fda // 32
})); }));
assign gpio_i[63:52] = 12'b0;
assign gpio_i[31:15] = 17'b0;
// GPIO connections for the carrier // GPIO connections for the carrier
ad_iobuf #(.DATA_WIDTH(15)) i_iobuf_bd ( ad_iobuf #(.DATA_WIDTH(15)) i_iobuf_bd (
@ -214,6 +217,13 @@ module system_top (
.dio_o (gpio_i[14:0]), .dio_o (gpio_i[14:0]),
.dio_p (gpio_bd)); .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 // block design instance
system_wrapper i_system_wrapper ( system_wrapper i_system_wrapper (
@ -264,6 +274,7 @@ module system_top (
.laser_driver (laser_driver), .laser_driver (laser_driver),
.laser_driver_en_n (laser_driver_en_n), .laser_driver_en_n (laser_driver_en_n),
.laser_driver_otw_n (laser_driver_otw_n), .laser_driver_otw_n (laser_driver_otw_n),
.tia_chsel (tia_chsel_s),
.iic_dac_scl_io (afe_dac_scl), .iic_dac_scl_io (afe_dac_scl),
.iic_dac_sda_io (afe_dac_sda), .iic_dac_sda_io (afe_dac_sda),
.spi0_clk_i (spi_adc_clk), .spi0_clk_i (spi_adc_clk),