From 3b319faef2c28ac3a86a7ea59f63868b54a223a2 Mon Sep 17 00:00:00 2001 From: AndreiGrozav Date: Wed, 7 Feb 2018 14:57:06 +0200 Subject: [PATCH] axi_ad9963:: Update for CORDIC algorithm Add the new files to the IP list Propagate DDS parameters to top file --- library/axi_ad9963/axi_ad9963.v | 4 ++++ library/axi_ad9963/axi_ad9963_ip.tcl | 2 ++ library/axi_ad9963/axi_ad9963_tx.v | 10 ++++++++-- library/axi_ad9963/axi_ad9963_tx_channel.v | 11 ++++++++--- 4 files changed, 22 insertions(+), 5 deletions(-) diff --git a/library/axi_ad9963/axi_ad9963.v b/library/axi_ad9963/axi_ad9963.v index abb72c68d..302b412bf 100644 --- a/library/axi_ad9963/axi_ad9963.v +++ b/library/axi_ad9963/axi_ad9963.v @@ -44,6 +44,8 @@ module axi_ad9963 #( parameter ADC_IODELAY_ENABLE = 0, parameter IO_DELAY_GROUP = "dev_if_delay_group", parameter IODELAY_ENABLE = 0, + parameter DAC_DDS_TYPE = 1, + parameter DAC_DDS_CORDIC_DW = 16, parameter DAC_DATAPATH_DISABLE = 0, parameter ADC_USERPORTS_DISABLE = 0, parameter ADC_DATAFORMAT_DISABLE = 0, @@ -248,6 +250,8 @@ module axi_ad9963 #( axi_ad9963_tx #( .ID (ID), + .DDS_TYPE (DAC_DDS_TYPE), + .DDS_CORDIC_DW (DAC_DDS_CORDIC_DW), .DATAPATH_DISABLE (DAC_DATAPATH_DISABLE)) i_tx ( .dac_clk (dac_clk), diff --git a/library/axi_ad9963/axi_ad9963_ip.tcl b/library/axi_ad9963/axi_ad9963_ip.tcl index 2efa2ba37..db4843bee 100644 --- a/library/axi_ad9963/axi_ad9963_ip.tcl +++ b/library/axi_ad9963/axi_ad9963_ip.tcl @@ -14,6 +14,8 @@ adi_ip_files axi_ad9963 [list \ "$ad_hdl_dir/library/xilinx/common/ad_dcfilter.v" \ "$ad_hdl_dir/library/xilinx/common/ad_mul.v" \ "$ad_hdl_dir/library/common/ad_pnmon.v" \ + "$ad_hdl_dir/library/common/ad_dds_cordic_pipe.v" \ + "$ad_hdl_dir/library/common/ad_dds_sine_cordic.v" \ "$ad_hdl_dir/library/common/ad_dds_sine.v" \ "$ad_hdl_dir/library/common/ad_dds_1.v" \ "$ad_hdl_dir/library/common/ad_dds.v" \ diff --git a/library/axi_ad9963/axi_ad9963_tx.v b/library/axi_ad9963/axi_ad9963_tx.v index c9813486e..aed7308a0 100644 --- a/library/axi_ad9963/axi_ad9963_tx.v +++ b/library/axi_ad9963/axi_ad9963_tx.v @@ -39,8 +39,10 @@ module axi_ad9963_tx #( // parameters - parameter DATAPATH_DISABLE = 0, - parameter ID = 0) ( + parameter ID = 0, + parameter DDS_TYPE = 1, + parameter DDS_CORDIC_DW = 16, + parameter DATAPATH_DISABLE = 0) ( // dac interface @@ -120,6 +122,8 @@ module axi_ad9963_tx #( axi_ad9963_tx_channel #( .CHANNEL_ID (0), .Q_OR_I_N (0), + .DDS_TYPE (DDS_TYPE), + .DDS_CORDIC_DW (DDS_CORDIC_DW), .DATAPATH_DISABLE (DATAPATH_DISABLE)) i_tx_channel_0 ( .dac_clk (dac_clk), @@ -149,6 +153,8 @@ module axi_ad9963_tx #( axi_ad9963_tx_channel #( .CHANNEL_ID (1), .Q_OR_I_N (1), + .DDS_TYPE (DDS_TYPE), + .DDS_CORDIC_DW (DDS_CORDIC_DW), .DATAPATH_DISABLE (DATAPATH_DISABLE)) i_tx_channel_1 ( .dac_clk (dac_clk), diff --git a/library/axi_ad9963/axi_ad9963_tx_channel.v b/library/axi_ad9963/axi_ad9963_tx_channel.v index 506920928..ac55743d9 100644 --- a/library/axi_ad9963/axi_ad9963_tx_channel.v +++ b/library/axi_ad9963/axi_ad9963_tx_channel.v @@ -41,8 +41,9 @@ module axi_ad9963_tx_channel #( parameter CHANNEL_ID = 32'h0, parameter Q_OR_I_N = 0, - parameter DATAPATH_DISABLE = 0 -) ( + parameter DDS_TYPE = 1, + parameter DDS_CORDIC_DW = 16, + parameter DATAPATH_DISABLE = 0) ( // dac interface @@ -214,7 +215,11 @@ module axi_ad9963_tx_channel #( end end - ad_dds i_dds ( + ad_dds #( + .DISABLE (0), + .DDS_TYPE (DDS_TYPE), + .CORDIC_DW (DDS_CORDIC_DW)) + i_dds ( .clk (dac_clk), .dds_format (dac_dds_format), .dds_phase_0 (dac_dds_phase_0),