axi_adrv9001: Add status bit for Tx clocking

If Tx source synchronous clock is not routed through clock capable pins
the interface and driving logic must run on the Rx interface clock.
This introduces a dependency, Rx interface must be bring up before the
Tx. In this mode a Tx only operation is not possible.

This is done through a synthesis parameter.
Expose this parameter to the software so it can query if the limitations
exists in the implementation.
main
Laszlo Nagy 2021-02-09 08:34:18 +00:00 committed by Laszlo Nagy
parent c9ca1ac00a
commit c718ba91f1
3 changed files with 7 additions and 1 deletions

View File

@ -377,6 +377,7 @@ module axi_adrv9001 #(
.ID (ID),
.NUM_LANES (NUM_LANES),
.CMOS_LVDS_N (CMOS_LVDS_N),
.USE_RX_CLK_FOR_TX (USE_RX_CLK_FOR_TX),
.DRP_WIDTH (DRP_WIDTH),
.TDD_DISABLE (TDD_DISABLE),
.DDS_DISABLE (DDS_DISABLE),

View File

@ -38,6 +38,7 @@
module axi_ad9001_core #(
parameter ID = 0,
parameter CMOS_LVDS_N = 0,
parameter USE_RX_CLK_FOR_TX = 0,
parameter NUM_LANES = 3,
parameter DRP_WIDTH = 5,
parameter TDD_DISABLE = 0,
@ -399,6 +400,7 @@ module axi_ad9001_core #(
.ID (ID),
.ENABLED (1),
.CMOS_LVDS_N (CMOS_LVDS_N),
.USE_RX_CLK_FOR_TX (USE_RX_CLK_FOR_TX),
.COMMON_BASE_ADDR ('h08),
.CHANNEL_BASE_ADDR ('h09),
.MODE_R1 (COMMON_2R2T_SUPPORT==0),
@ -451,6 +453,7 @@ module axi_ad9001_core #(
.ID (ID),
.ENABLED (INDEPENDENT_1R1T_SUPPORT),
.CMOS_LVDS_N (CMOS_LVDS_N),
.USE_RX_CLK_FOR_TX (USE_RX_CLK_FOR_TX),
.COMMON_BASE_ADDR ('h10),
.CHANNEL_BASE_ADDR ('h11),
.MODE_R1 (1),

View File

@ -39,6 +39,7 @@ module axi_adrv9001_tx #(
parameter ID = 0,
parameter ENABLED = 1,
parameter CMOS_LVDS_N = 0,
parameter USE_RX_CLK_FOR_TX = 0,
parameter COMMON_BASE_ADDR = 'h10,
parameter CHANNEL_BASE_ADDR = 'h11,
parameter MODE_R1 = 1,
@ -131,7 +132,8 @@ end else begin : core_enabled
// configuration settings
localparam CONFIG = (CMOS_LVDS_N * 128) +
localparam CONFIG = (USE_RX_CLK_FOR_TX * 1024) +
(CMOS_LVDS_N * 128) +
(MODE_R1 * 16) +
(DDS_DISABLE * 64) +
(IQCORRECTION_DISABLE * 1);