fmcjesdadc1: Updated ZC706 project
parent
2ed161628d
commit
70c7c2aeb8
|
@ -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_jesd_gt/axi_jesd_gt.xpr
|
||||||
M_DEPS += ../../../library/axi_spdif_tx/axi_spdif_tx.xpr
|
M_DEPS += ../../../library/axi_spdif_tx/axi_spdif_tx.xpr
|
||||||
M_DEPS += ../../../library/util_bsplit/util_bsplit.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
|
M_VIVADO := vivado -mode batch -source
|
||||||
|
|
||||||
|
@ -56,6 +58,8 @@ clean-all:clean
|
||||||
make -C ../../../library/axi_jesd_gt clean
|
make -C ../../../library/axi_jesd_gt clean
|
||||||
make -C ../../../library/axi_spdif_tx clean
|
make -C ../../../library/axi_spdif_tx clean
|
||||||
make -C ../../../library/util_bsplit 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)
|
fmcjesdadc1_zc706.sdk/system_top.hdf: $(M_DEPS)
|
||||||
|
@ -71,6 +75,8 @@ lib:
|
||||||
make -C ../../../library/axi_jesd_gt
|
make -C ../../../library/axi_jesd_gt
|
||||||
make -C ../../../library/axi_spdif_tx
|
make -C ../../../library/axi_spdif_tx
|
||||||
make -C ../../../library/util_bsplit
|
make -C ../../../library/util_bsplit
|
||||||
|
make -C ../../../library/util_cpack
|
||||||
|
make -C ../../../library/util_jesd_gt
|
||||||
|
|
||||||
####################################################################################
|
####################################################################################
|
||||||
####################################################################################
|
####################################################################################
|
||||||
|
|
|
@ -21,13 +21,3 @@ set_property -dict {PACKAGE_PIN P21 IOSTANDARD LVCMOS25} [get_ports spi_sdio
|
||||||
# clocks
|
# clocks
|
||||||
|
|
||||||
create_clock -name rx_ref_clk -period 4.00 [get_ports rx_ref_clk_p]
|
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]
|
|
||||||
|
|
|
@ -135,13 +135,6 @@ module system_top (
|
||||||
output spi_clk;
|
output spi_clk;
|
||||||
inout spi_sdio;
|
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
|
// internal signals
|
||||||
|
|
||||||
wire [63:0] gpio_i;
|
wire [63:0] gpio_i;
|
||||||
|
@ -156,90 +149,12 @@ module system_top (
|
||||||
wire spi1_clk;
|
wire spi1_clk;
|
||||||
wire spi1_mosi;
|
wire spi1_mosi;
|
||||||
wire spi1_miso;
|
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_csn = spi0_csn[0];
|
||||||
assign spi_clk = spi0_clk;
|
assign spi_clk = spi0_clk;
|
||||||
assign spi_mosi = spi0_mosi;
|
assign spi_mosi = spi0_mosi;
|
||||||
assign spi0_miso = spi_miso;
|
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
|
// instantiations
|
||||||
|
|
||||||
IBUFDS_GTE2 i_ibufds_rx_ref_clk (
|
IBUFDS_GTE2 i_ibufds_rx_ref_clk (
|
||||||
|
@ -290,25 +205,6 @@ module system_top (
|
||||||
.gpio_i (gpio_i),
|
.gpio_i (gpio_i),
|
||||||
.gpio_o (gpio_o),
|
.gpio_o (gpio_o),
|
||||||
.gpio_t (gpio_t),
|
.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 (hdmi_data),
|
||||||
.hdmi_data_e (hdmi_data_e),
|
.hdmi_data_e (hdmi_data_e),
|
||||||
.hdmi_hsync (hdmi_hsync),
|
.hdmi_hsync (hdmi_hsync),
|
||||||
|
@ -330,9 +226,6 @@ module system_top (
|
||||||
.ps_intr_11 (1'b0),
|
.ps_intr_11 (1'b0),
|
||||||
.rx_data_n (rx_data_n),
|
.rx_data_n (rx_data_n),
|
||||||
.rx_data_p (rx_data_p),
|
.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_ref_clk (rx_ref_clk),
|
||||||
.rx_sync (rx_sync),
|
.rx_sync (rx_sync),
|
||||||
.rx_sysref (rx_sysref),
|
.rx_sysref (rx_sysref),
|
||||||
|
|
Loading…
Reference in New Issue