diff --git a/projects/fmcjesdadc1/zc706/Makefile b/projects/fmcjesdadc1/zc706/Makefile index 5437515df..de77fa60b 100644 --- a/projects/fmcjesdadc1/zc706/Makefile +++ b/projects/fmcjesdadc1/zc706/Makefile @@ -24,6 +24,8 @@ M_DEPS += ../../../library/axi_hdmi_tx/axi_hdmi_tx.xpr M_DEPS += ../../../library/axi_jesd_gt/axi_jesd_gt.xpr M_DEPS += ../../../library/axi_spdif_tx/axi_spdif_tx.xpr M_DEPS += ../../../library/util_bsplit/util_bsplit.xpr +M_DEPS += ../../../library/util_cpack/util_cpack.xpr +M_DEPS += ../../../library/util_jesd_gt/util_jesd_gt.xpr M_VIVADO := vivado -mode batch -source @@ -56,6 +58,8 @@ clean-all:clean make -C ../../../library/axi_jesd_gt clean make -C ../../../library/axi_spdif_tx clean make -C ../../../library/util_bsplit clean + make -C ../../../library/util_cpack clean + make -C ../../../library/util_jesd_gt clean fmcjesdadc1_zc706.sdk/system_top.hdf: $(M_DEPS) @@ -71,6 +75,8 @@ lib: make -C ../../../library/axi_jesd_gt make -C ../../../library/axi_spdif_tx make -C ../../../library/util_bsplit + make -C ../../../library/util_cpack + make -C ../../../library/util_jesd_gt #################################################################################### #################################################################################### diff --git a/projects/fmcjesdadc1/zc706/system_constr.xdc b/projects/fmcjesdadc1/zc706/system_constr.xdc index d199e927f..bfd1910df 100644 --- a/projects/fmcjesdadc1/zc706/system_constr.xdc +++ b/projects/fmcjesdadc1/zc706/system_constr.xdc @@ -21,13 +21,3 @@ set_property -dict {PACKAGE_PIN P21 IOSTANDARD LVCMOS25} [get_ports spi_sdio # clocks create_clock -name rx_ref_clk -period 4.00 [get_ports rx_ref_clk_p] -create_clock -name rx_div_clk -period 8.80 [get_nets i_system_wrapper/system_i/axi_ad9250_gt_rx_clk] - -set_clock_groups -asynchronous -group {rx_div_clk} - -set_false_path -through [get_pins i_system_wrapper/system_i/axi_ad9250_gt/inst/i_up_gt/i_drp_rst_reg/i_rst_reg/PRE] -set_false_path -through [get_pins i_system_wrapper/system_i/axi_ad9250_gt/inst/i_up_gt/i_gt_pll_rst_reg/i_rst_reg/PRE] -set_false_path -through [get_pins i_system_wrapper/system_i/axi_ad9250_gt/inst/i_up_gt/i_gt_rx_rst_reg/i_rst_reg/PRE] -set_false_path -through [get_pins i_system_wrapper/system_i/axi_ad9250_gt/inst/i_up_gt/i_gt_tx_rst_reg/i_rst_reg/PRE] -set_false_path -through [get_pins i_system_wrapper/system_i/axi_ad9250_gt/inst/i_up_gt/i_rx_rst_reg/i_rst_reg/PRE] -set_false_path -through [get_pins i_system_wrapper/system_i/axi_ad9250_gt/inst/i_up_gt/i_tx_rst_reg/i_rst_reg/PRE] diff --git a/projects/fmcjesdadc1/zc706/system_top.v b/projects/fmcjesdadc1/zc706/system_top.v index b237e2ba9..6037cc59c 100644 --- a/projects/fmcjesdadc1/zc706/system_top.v +++ b/projects/fmcjesdadc1/zc706/system_top.v @@ -135,13 +135,6 @@ module system_top ( output spi_clk; inout spi_sdio; - // internal registers - - reg dma_0_wr = 'd0; - reg [63:0] dma_0_data = 'd0; - reg dma_1_wr = 'd0; - reg [63:0] dma_1_data = 'd0; - // internal signals wire [63:0] gpio_i; @@ -156,90 +149,12 @@ module system_top ( wire spi1_clk; wire spi1_mosi; wire spi1_miso; - wire adc_clk; - wire [127:0] rx_gt_data; - wire adc_0_enable_a; - wire [31:0] adc_0_data_a; - wire adc_0_enable_b; - wire [31:0] adc_0_data_b; - wire adc_1_enable_a; - wire [31:0] adc_1_data_a; - wire adc_1_enable_b; - wire [31:0] adc_1_data_b; assign spi_csn = spi0_csn[0]; assign spi_clk = spi0_clk; assign spi_mosi = spi0_mosi; assign spi0_miso = spi_miso; - // pack & unpack here - - always @(posedge adc_clk) begin - case ({adc_0_enable_b, adc_0_enable_a}) - 2'b11: begin - dma_0_wr <= 1'b1; - dma_0_data[63:48] <= adc_0_data_b[31:16]; - dma_0_data[47:32] <= adc_0_data_a[31:16]; - dma_0_data[31:16] <= adc_0_data_b[15: 0]; - dma_0_data[15: 0] <= adc_0_data_a[15: 0]; - end - 2'b10: begin - dma_0_wr <= ~dma_0_wr; - dma_0_data[63:48] <= adc_0_data_b[31:16]; - dma_0_data[47:32] <= adc_0_data_b[15: 0]; - dma_0_data[31:16] <= dma_0_data[63:48]; - dma_0_data[15: 0] <= dma_0_data[47:32]; - end - 2'b01: begin - dma_0_wr <= ~dma_0_wr; - dma_0_data[63:48] <= adc_0_data_a[31:16]; - dma_0_data[47:32] <= adc_0_data_a[15: 0]; - dma_0_data[31:16] <= dma_0_data[63:48]; - dma_0_data[15: 0] <= dma_0_data[47:32]; - end - default: begin - dma_0_wr <= 1'b0; - dma_0_data[63:48] <= 16'd0; - dma_0_data[47:32] <= 16'd0; - dma_0_data[31:16] <= 16'd0; - dma_0_data[15: 0] <= 16'd0; - end - endcase - end - - always @(posedge adc_clk) begin - case ({adc_1_enable_b, adc_1_enable_a}) - 2'b11: begin - dma_1_wr <= 1'b1; - dma_1_data[63:48] <= adc_1_data_b[31:16]; - dma_1_data[47:32] <= adc_1_data_a[31:16]; - dma_1_data[31:16] <= adc_1_data_b[15: 0]; - dma_1_data[15: 0] <= adc_1_data_a[15: 0]; - end - 2'b10: begin - dma_1_wr <= ~dma_1_wr; - dma_1_data[63:48] <= adc_1_data_b[31:16]; - dma_1_data[47:32] <= adc_1_data_b[15: 0]; - dma_1_data[31:16] <= dma_1_data[63:48]; - dma_1_data[15: 0] <= dma_1_data[47:32]; - end - 2'b01: begin - dma_1_wr <= ~dma_1_wr; - dma_1_data[63:48] <= adc_1_data_a[31:16]; - dma_1_data[47:32] <= adc_1_data_a[15: 0]; - dma_1_data[31:16] <= dma_1_data[63:48]; - dma_1_data[15: 0] <= dma_1_data[47:32]; - end - default: begin - dma_1_wr <= 1'b0; - dma_1_data[63:48] <= 16'd0; - dma_1_data[47:32] <= 16'd0; - dma_1_data[31:16] <= 16'd0; - dma_1_data[15: 0] <= 16'd0; - end - endcase - end - // instantiations IBUFDS_GTE2 i_ibufds_rx_ref_clk ( @@ -290,25 +205,6 @@ module system_top ( .gpio_i (gpio_i), .gpio_o (gpio_o), .gpio_t (gpio_t), - .adc_0_data_a (adc_0_data_a), - .adc_0_data_b (adc_0_data_b), - .adc_0_enable_a (adc_0_enable_a), - .adc_0_enable_b (adc_0_enable_b), - .adc_0_valid_a (), - .adc_0_valid_b (), - .adc_1_data_a (adc_1_data_a), - .adc_1_data_b (adc_1_data_b), - .adc_1_enable_a (adc_1_enable_a), - .adc_1_enable_b (adc_1_enable_b), - .adc_1_valid_a (), - .adc_1_valid_b (), - .adc_clk (adc_clk), - .dma_0_data (dma_0_data), - .dma_0_sync (1'b1), - .dma_0_wr (dma_0_wr), - .dma_1_data (dma_1_data), - .dma_1_sync (1'b1), - .dma_1_wr (dma_1_wr), .hdmi_data (hdmi_data), .hdmi_data_e (hdmi_data_e), .hdmi_hsync (hdmi_hsync), @@ -330,9 +226,6 @@ module system_top ( .ps_intr_11 (1'b0), .rx_data_n (rx_data_n), .rx_data_p (rx_data_p), - .rx_gt_data (rx_gt_data), - .rx_gt_data_0 (rx_gt_data[63:0]), - .rx_gt_data_1 (rx_gt_data[127:64]), .rx_ref_clk (rx_ref_clk), .rx_sync (rx_sync), .rx_sysref (rx_sysref),