From ccb0b135ca0f3e048da4dfe2cdc07db3d5e7f05d Mon Sep 17 00:00:00 2001 From: Istvan Csomortani Date: Thu, 25 Sep 2014 16:50:09 +0300 Subject: [PATCH] ad9434: Fix the adc to dma interface. All the device2dma interfaces needs to have a generic form : (data, enable, valid)/channel --- library/axi_ad9434/axi_ad9434.v | 15 ++++++++++----- library/axi_ad9434/axi_ad9434_core.v | 15 ++++++++++++--- projects/ad9434_fmc/common/ad9434_bd.tcl | 2 +- 3 files changed, 23 insertions(+), 9 deletions(-) diff --git a/library/axi_ad9434/axi_ad9434.v b/library/axi_ad9434/axi_ad9434.v index 5da5ca982..9c84e0690 100644 --- a/library/axi_ad9434/axi_ad9434.v +++ b/library/axi_ad9434/axi_ad9434.v @@ -55,7 +55,8 @@ module axi_ad9434 ( // dma interface adc_clk, - adc_dwr, + adc_enable, + adc_valid, adc_data, adc_dovf, @@ -103,7 +104,8 @@ module axi_ad9434 ( // dma interface output adc_clk; - output adc_dwr; + output adc_valid; + output adc_enable; output [63:0] adc_data; input adc_dovf; @@ -175,6 +177,9 @@ module axi_ad9434 ( assign up_rstn = s_axi_aresetn; assign drp_clk = up_clk; + // single channel always enable + assign adc_enable = 1'b1; + axi_ad9434_if #( .PCORE_DEVTYPE(PCORE_DEVTYPE), .PCORE_IODELAY_GROUP(PCORE_IODELAY_GROUP)) @@ -219,9 +224,9 @@ module axi_ad9434 ( .mmcm_rst (mmcm_rst), .adc_rst (adc_rst), .adc_status (adc_status_s), - .adc_valid (adc_dwr), - .adc_data (adc_data), - .adc_dovf (adc_dovf), + .dma_dvalid (adc_valid), + .dma_data (adc_data), + .dma_dovf (adc_dovf), .delay_clk (delay_clk), .delay_rst (delay_rst_s), .delay_sel (delay_sel_s), diff --git a/library/axi_ad9434/axi_ad9434_core.v b/library/axi_ad9434/axi_ad9434_core.v index 905eb2133..60c0391f3 100644 --- a/library/axi_ad9434/axi_ad9434_core.v +++ b/library/axi_ad9434/axi_ad9434_core.v @@ -41,12 +41,21 @@ `timescale 1ns/100ps module axi_ad9434_core ( + // device interface + adc_clk, - adc_valid, adc_data, - adc_dovf, + adc_or, + + // dma interface + + dma_dvalid, + dma_data, + dma_dovf, + // drp interface + drp_clk, drp_rst, drp_sel, @@ -181,7 +190,7 @@ module axi_ad9434_core ( .adc_ddr_edgesel(), .adc_pin_mode(), .adc_status(adc_status), - .adc_status_ovf(adc_dovf), + .adc_status_ovf(dma_dovf), .adc_status_unf(1'b0), .adc_clk_ratio(32'd4), .up_status_pn_err(up_status_pn_err_s), diff --git a/projects/ad9434_fmc/common/ad9434_bd.tcl b/projects/ad9434_fmc/common/ad9434_bd.tcl index 8cabbceb0..16d556dc0 100644 --- a/projects/ad9434_fmc/common/ad9434_bd.tcl +++ b/projects/ad9434_fmc/common/ad9434_bd.tcl @@ -75,7 +75,7 @@ connect_bd_net -net axi_ad9434_data_in_n [get_bd_ports adc_data_n] [g connect_bd_net -net axi_ad9434_or_in_p [get_bd_ports adc_or_p] [get_bd_pins axi_ad9434/adc_or_in_p] connect_bd_net -net axi_ad9434_or_in_n [get_bd_ports adc_or_n] [get_bd_pins axi_ad9434/adc_or_in_n] -connect_bd_net -net axi_ad9434_denable [get_bd_pins axi_ad9434/adc_dwr] [get_bd_pins axi_ad9434_dma/fifo_wr_en] +connect_bd_net -net axi_ad9434_denable [get_bd_pins axi_ad9434/adc_dvalid] [get_bd_pins axi_ad9434_dma/fifo_wr_en] connect_bd_net -net axi_ad9434_data [get_bd_pins axi_ad9434/adc_data] [get_bd_pins axi_ad9434_dma/fifo_wr_din] connect_bd_net -net axi_ad9434_ovf [get_bd_pins axi_ad9434/adc_dovf] [get_bd_pins axi_ad9434_dma/fifo_wr_overflow]