diff --git a/projects/daq3/zc706/system_top.v b/projects/daq3/zc706/system_top.v index 03262dac8..297ef78df 100644 --- a/projects/daq3/zc706/system_top.v +++ b/projects/daq3/zc706/system_top.v @@ -41,48 +41,28 @@ module system_top ( - sys_clk_p, - sys_clk_n, - sys_rst, + ddr_addr, + ddr_ba, + ddr_cas_n, + ddr_ck_n, + ddr_ck_p, + ddr_cke, + ddr_cs_n, + ddr_dm, + ddr_dq, + ddr_dqs_n, + ddr_dqs_p, + ddr_odt, + ddr_ras_n, + ddr_reset_n, + ddr_we_n, - DDR3_addr, - DDR3_ba, - DDR3_cas_n, - DDR3_ck_n, - DDR3_ck_p, - DDR3_cke, - DDR3_cs_n, - DDR3_dm, - DDR3_dq, - DDR3_dqs_n, - DDR3_dqs_p, - DDR3_odt, - DDR3_ras_n, - DDR3_reset_n, - DDR3_we_n, - - DDR_addr, - DDR_ba, - DDR_cas_n, - DDR_ck_n, - DDR_ck_p, - DDR_cke, - DDR_cs_n, - DDR_dm, - DDR_dq, - DDR_dqs_n, - DDR_dqs_p, - DDR_odt, - DDR_ras_n, - DDR_reset_n, - DDR_we_n, - - FIXED_IO_ddr_vrn, - FIXED_IO_ddr_vrp, - FIXED_IO_mio, - FIXED_IO_ps_clk, - FIXED_IO_ps_porb, - FIXED_IO_ps_srstb, + fixed_io_ddr_vrn, + fixed_io_ddr_vrp, + fixed_io_mio, + fixed_io_ps_clk, + fixed_io_ps_porb, + fixed_io_ps_srstb, gpio_bd, @@ -94,6 +74,26 @@ module system_top ( spdif, + sys_rst, + sys_clk_p, + sys_clk_n, + + ddr3_addr, + ddr3_ba, + ddr3_cas_n, + ddr3_ck_n, + ddr3_ck_p, + ddr3_cke, + ddr3_cs_n, + ddr3_dm, + ddr3_dq, + ddr3_dqs_n, + ddr3_dqs_p, + ddr3_odt, + ddr3_ras_n, + ddr3_reset_n, + ddr3_we_n, + iic_scl, iic_sda, @@ -135,48 +135,28 @@ module system_top ( spi_sdio, spi_dir); - input sys_clk_p; - input sys_clk_n; - input sys_rst; + inout [14:0] ddr_addr; + inout [ 2:0] ddr_ba; + inout ddr_cas_n; + inout ddr_ck_n; + inout ddr_ck_p; + inout ddr_cke; + inout ddr_cs_n; + inout [ 3:0] ddr_dm; + inout [31:0] ddr_dq; + inout [ 3:0] ddr_dqs_n; + inout [ 3:0] ddr_dqs_p; + inout ddr_odt; + inout ddr_ras_n; + inout ddr_reset_n; + inout ddr_we_n; - output [13:0] DDR3_addr; - output [ 2:0] DDR3_ba; - output DDR3_cas_n; - output [ 0:0] DDR3_ck_n; - output [ 0:0] DDR3_ck_p; - output [ 0:0] DDR3_cke; - output [ 0:0] DDR3_cs_n; - output [ 7:0] DDR3_dm; - inout [63:0] DDR3_dq; - inout [ 7:0] DDR3_dqs_n; - inout [ 7:0] DDR3_dqs_p; - output [ 0:0] DDR3_odt; - output DDR3_ras_n; - output DDR3_reset_n; - output DDR3_we_n; - - inout [14:0] DDR_addr; - inout [ 2:0] DDR_ba; - inout DDR_cas_n; - inout DDR_ck_n; - inout DDR_ck_p; - inout DDR_cke; - inout DDR_cs_n; - inout [ 3:0] DDR_dm; - inout [31:0] DDR_dq; - inout [ 3:0] DDR_dqs_n; - inout [ 3:0] DDR_dqs_p; - inout DDR_odt; - inout DDR_ras_n; - inout DDR_reset_n; - inout DDR_we_n; - - inout FIXED_IO_ddr_vrn; - inout FIXED_IO_ddr_vrp; - inout [53:0] FIXED_IO_mio; - inout FIXED_IO_ps_clk; - inout FIXED_IO_ps_porb; - inout FIXED_IO_ps_srstb; + inout fixed_io_ddr_vrn; + inout fixed_io_ddr_vrp; + inout [53:0] fixed_io_mio; + inout fixed_io_ps_clk; + inout fixed_io_ps_porb; + inout fixed_io_ps_srstb; inout [14:0] gpio_bd; @@ -188,6 +168,26 @@ module system_top ( output spdif; + input sys_rst; + input sys_clk_p; + input sys_clk_n; + + output [13:0] ddr3_addr; + output [ 2:0] ddr3_ba; + output ddr3_cas_n; + output [ 0:0] ddr3_ck_n; + output [ 0:0] ddr3_ck_p; + output [ 0:0] ddr3_cke; + output [ 0:0] ddr3_cs_n; + output [ 7:0] ddr3_dm; + inout [63:0] ddr3_dq; + inout [ 7:0] ddr3_dqs_n; + inout [ 7:0] ddr3_dqs_p; + output [ 0:0] ddr3_odt; + output ddr3_ras_n; + output ddr3_reset_n; + output ddr3_we_n; + inout iic_scl; inout iic_sda; @@ -241,19 +241,24 @@ module system_top ( // internal signals wire sysref; + wire [63:0] gpio_i; + wire [63:0] gpio_o; + wire [63:0] gpio_t; + wire [ 2:0] spi0_csn; + wire spi0_clk; + wire spi0_mosi; + wire spi0_miso; + wire [ 2:0] spi1_csn; + wire spi1_clk; + wire spi1_mosi; + wire spi1_miso; wire trig; - wire [42:0] gpio_i; - wire [42:0] gpio_o; - wire [42:0] gpio_t; wire rx_ref_clk; wire rx_sysref; wire rx_sync; wire tx_ref_clk; wire tx_sysref; wire tx_sync; - wire [ 2:0] spi_csn; - wire spi_mosi; - wire spi_miso; wire dac_clk; wire [127:0] dac_ddata; wire dac_enable_0; @@ -267,7 +272,6 @@ module system_top ( wire adc_enable_1; wire adc_valid_0; wire adc_valid_1; - wire [15:0] ps_intrs; // adc-dac data @@ -370,9 +374,9 @@ module system_top ( // spi - assign spi_csn_adc = spi_csn[2]; - assign spi_csn_dac = spi_csn[1]; - assign spi_csn_clk = spi_csn[0]; + assign spi_csn_adc = spi0_csn[2]; + assign spi_csn_dac = spi0_csn[1]; + assign spi_csn_clk = spi0_csn[0]; // instantiations @@ -411,10 +415,10 @@ module system_top ( .O (tx_sync)); daq3_spi i_spi ( - .spi_csn (spi_csn), + .spi_csn (spi0_csn), .spi_clk (spi_clk), - .spi_mosi (spi_mosi), - .spi_miso (spi_miso), + .spi_mosi (spi0_mosi), + .spi_miso (spi0_miso), .spi_sdio (spi_sdio), .spi_dir (spi_dir)); @@ -429,59 +433,26 @@ module system_top ( .O (trig)); assign gpio_i[39] = trig; + assign spi_clk = spi0_clk; - ad_iobuf #(.DATA_WIDTH(22)) i_iobuf ( - .dt ({gpio_t[38:32], gpio_t[14:0]}), - .di ({gpio_o[38:32], gpio_o[14:0]}), - .do ({gpio_i[38:32], gpio_i[14:0]}), - .dio ({ adc_pd, // 38 - dac_txen, // 37 - adc_fdb, // 36 - adc_fda, // 35 - dac_irq, // 34 - clkd_status, // 32 - gpio_bd})); // 0 + ad_iobuf #(.DATA_WIDTH(7)) i_iobuf ( + .dt (gpio_t[38:32]), + .di (gpio_o[38:32]), + .do (gpio_i[38:32]), + .dio ({ adc_pd, // 38 + dac_txen, // 37 + adc_fdb, // 36 + adc_fda, // 35 + dac_irq, // 34 + clkd_status})); // 32 + + ad_iobuf #(.DATA_WIDTH(15)) i_iobuf_bd ( + .dt (gpio_t[14:0]), + .di (gpio_o[14:0]), + .do (gpio_i[14:0]), + .dio (gpio_bd)); system_wrapper i_system_wrapper ( - .DDR3_addr (DDR3_addr), - .DDR3_ba (DDR3_ba), - .DDR3_cas_n (DDR3_cas_n), - .DDR3_ck_n (DDR3_ck_n), - .DDR3_ck_p (DDR3_ck_p), - .DDR3_cke (DDR3_cke), - .DDR3_cs_n (DDR3_cs_n), - .DDR3_dm (DDR3_dm), - .DDR3_dq (DDR3_dq), - .DDR3_dqs_n (DDR3_dqs_n), - .DDR3_dqs_p (DDR3_dqs_p), - .DDR3_odt (DDR3_odt), - .DDR3_ras_n (DDR3_ras_n), - .DDR3_reset_n (DDR3_reset_n), - .DDR3_we_n (DDR3_we_n), - .DDR_addr (DDR_addr), - .DDR_ba (DDR_ba), - .DDR_cas_n (DDR_cas_n), - .DDR_ck_n (DDR_ck_n), - .DDR_ck_p (DDR_ck_p), - .DDR_cke (DDR_cke), - .DDR_cs_n (DDR_cs_n), - .DDR_dm (DDR_dm), - .DDR_dq (DDR_dq), - .DDR_dqs_n (DDR_dqs_n), - .DDR_dqs_p (DDR_dqs_p), - .DDR_odt (DDR_odt), - .DDR_ras_n (DDR_ras_n), - .DDR_reset_n (DDR_reset_n), - .DDR_we_n (DDR_we_n), - .FIXED_IO_ddr_vrn (FIXED_IO_ddr_vrn), - .FIXED_IO_ddr_vrp (FIXED_IO_ddr_vrp), - .FIXED_IO_mio (FIXED_IO_mio), - .FIXED_IO_ps_clk (FIXED_IO_ps_clk), - .FIXED_IO_ps_porb (FIXED_IO_ps_porb), - .FIXED_IO_ps_srstb (FIXED_IO_ps_srstb), - .GPIO_I (gpio_i), - .GPIO_O (gpio_o), - .GPIO_T (gpio_t), .adc_clk (adc_clk), .adc_data_0 (adc_data_0), .adc_data_1 (adc_data_1), @@ -501,6 +472,45 @@ module system_top ( .dac_enable_1 (dac_enable_1), .dac_valid_0 (dac_valid_0), .dac_valid_1 (dac_valid_1), + .ddr3_addr (ddr3_addr), + .ddr3_ba (ddr3_ba), + .ddr3_cas_n (ddr3_cas_n), + .ddr3_ck_n (ddr3_ck_n), + .ddr3_ck_p (ddr3_ck_p), + .ddr3_cke (ddr3_cke), + .ddr3_cs_n (ddr3_cs_n), + .ddr3_dm (ddr3_dm), + .ddr3_dq (ddr3_dq), + .ddr3_dqs_n (ddr3_dqs_n), + .ddr3_dqs_p (ddr3_dqs_p), + .ddr3_odt (ddr3_odt), + .ddr3_ras_n (ddr3_ras_n), + .ddr3_reset_n (ddr3_reset_n), + .ddr3_we_n (ddr3_we_n), + .ddr_addr (ddr_addr), + .ddr_ba (ddr_ba), + .ddr_cas_n (ddr_cas_n), + .ddr_ck_n (ddr_ck_n), + .ddr_ck_p (ddr_ck_p), + .ddr_cke (ddr_cke), + .ddr_cs_n (ddr_cs_n), + .ddr_dm (ddr_dm), + .ddr_dq (ddr_dq), + .ddr_dqs_n (ddr_dqs_n), + .ddr_dqs_p (ddr_dqs_p), + .ddr_odt (ddr_odt), + .ddr_ras_n (ddr_ras_n), + .ddr_reset_n (ddr_reset_n), + .ddr_we_n (ddr_we_n), + .fixed_io_ddr_vrn (fixed_io_ddr_vrn), + .fixed_io_ddr_vrp (fixed_io_ddr_vrp), + .fixed_io_mio (fixed_io_mio), + .fixed_io_ps_clk (fixed_io_ps_clk), + .fixed_io_ps_porb (fixed_io_ps_porb), + .fixed_io_ps_srstb (fixed_io_ps_srstb), + .gpio_i (gpio_i), + .gpio_o (gpio_o), + .gpio_t (gpio_t), .hdmi_data (hdmi_data), .hdmi_data_e (hdmi_data_e), .hdmi_hsync (hdmi_hsync), @@ -508,37 +518,42 @@ module system_top ( .hdmi_vsync (hdmi_vsync), .iic_main_scl_io (iic_scl), .iic_main_sda_io (iic_sda), - .ps_intr_0 (ps_intrs[0]), - .ps_intr_1 (ps_intrs[1]), - .ps_intr_10 (ps_intrs[10]), - .ps_intr_11 (ps_intrs[11]), - .ps_intr_12 (ps_intrs[12]), - .ps_intr_13 (ps_intrs[13]), - .ps_intr_2 (ps_intrs[2]), - .ps_intr_3 (ps_intrs[3]), - .ps_intr_4 (ps_intrs[4]), - .ps_intr_5 (ps_intrs[5]), - .ps_intr_6 (ps_intrs[6]), - .ps_intr_7 (ps_intrs[7]), - .ps_intr_8 (ps_intrs[8]), - .ps_intr_9 (ps_intrs[9]), - .axi_ad9152_dma_intr (ps_intrs[12]), - .axi_ad9680_dma_intr (ps_intrs[13]), + .ps_intr_00 (1'b0), + .ps_intr_01 (1'b0), + .ps_intr_02 (1'b0), + .ps_intr_03 (1'b0), + .ps_intr_04 (1'b0), + .ps_intr_05 (1'b0), + .ps_intr_06 (1'b0), + .ps_intr_07 (1'b0), + .ps_intr_08 (1'b0), + .ps_intr_09 (1'b0), + .ps_intr_10 (1'b0), + .ps_intr_11 (1'b0), .rx_data_n (rx_data_n), .rx_data_p (rx_data_p), .rx_ref_clk (rx_ref_clk), .rx_sync (rx_sync), .rx_sysref (rx_sysref), .spdif (spdif), - .spi_clk_i (spi_clk), - .spi_clk_o (spi_clk), - .spi_csn_i (1'b1), - .spi_csn_0_o (spi_csn[0]), - .spi_csn_1_o (spi_csn[1]), - .spi_csn_2_o (spi_csn[2]), - .spi_sdi_i (spi_miso), - .spi_sdo_i (spi_mosi), - .spi_sdo_o (spi_mosi), + .spi0_clk_i (spi0_clk), + .spi0_clk_o (spi0_clk), + .spi0_csn_0_o (spi0_csn[0]), + .spi0_csn_1_o (spi0_csn[1]), + .spi0_csn_2_o (spi0_csn[2]), + .spi0_csn_i (1'b1), + .spi0_sdi_i (spi0_miso), + .spi0_sdo_i (spi0_mosi), + .spi0_sdo_o (spi0_mosi), + .spi1_clk_i (spi1_clk), + .spi1_clk_o (spi1_clk), + .spi1_csn_0_o (spi1_csn[0]), + .spi1_csn_1_o (spi1_csn[1]), + .spi1_csn_2_o (spi1_csn[2]), + .spi1_csn_i (1'b1), + .spi1_sdi_i (1'b1), + .spi1_sdo_i (spi1_mosi), + .spi1_sdo_o (spi1_mosi), .sys_clk_clk_n (sys_clk_n), .sys_clk_clk_p (sys_clk_p), .sys_rst (sys_rst),