From cffb2e62261ad5f4f2df119711ca6203742535c8 Mon Sep 17 00:00:00 2001 From: Istvan Csomortani Date: Tue, 29 Sep 2015 14:19:52 +0300 Subject: [PATCH] up_gt_channel: Move the VERSION register to up_gt_channel, in order to preserve its address --- library/common/ad_gt_common_1.v | 3 +-- library/common/up_gt.v | 10 ---------- library/common/up_gt_channel.v | 9 +++++++++ 3 files changed, 10 insertions(+), 12 deletions(-) diff --git a/library/common/ad_gt_common_1.v b/library/common/ad_gt_common_1.v index 1e423ab5d..ae123af78 100644 --- a/library/common/ad_gt_common_1.v +++ b/library/common/ad_gt_common_1.v @@ -188,8 +188,7 @@ module ad_gt_common_1 ( .up_drp_ready (up_drp_qpll1_ready_s)); up_gt #( - .GTH_OR_GTX_N (GTH_OR_GTX_N), - .ID (ID)) + .GTH_OR_GTX_N (GTH_OR_GTX_N)) i_up ( .up_drp_qpll0_sel (up_drp_qpll0_sel_s), .up_drp_qpll0_wr (up_drp_qpll0_wr_s), diff --git a/library/common/up_gt.v b/library/common/up_gt.v index 88f8a52ab..8bc9dc31b 100644 --- a/library/common/up_gt.v +++ b/library/common/up_gt.v @@ -69,9 +69,7 @@ module up_gt ( // parameters - localparam [31:0] VERSION = 32'h00070161; parameter integer GTH_OR_GTX_N = 0; - parameter integer ID = 0; // drp interface @@ -104,7 +102,6 @@ module up_gt ( // internal registers reg up_wack = 'd0; - reg [31:0] up_scratch = 'd0; reg up_drp_qpll0_sel = 'd0; reg up_drp_qpll0_wr = 'd0; reg up_drp_qpll0_status = 'd0; @@ -137,7 +134,6 @@ module up_gt ( always @(negedge up_rstn or posedge up_clk) begin if (up_rstn == 0) begin up_wack <= 'd0; - up_scratch <= 'd0; up_drp_qpll0_sel <= 'd0; up_drp_qpll0_wr <= 'd0; up_drp_qpll0_status <= 'd0; @@ -154,9 +150,6 @@ module up_gt ( up_drp_qpll1_rdata_hold <= 'd0; end else begin up_wack <= up_wreq_s; - if ((up_wreq_s == 1'b1) && (up_waddr[7:0] == 8'h02)) begin - up_scratch <= up_wdata; - end if ((up_wreq_s == 1'b1) && (up_waddr[7:0] == 8'h14)) begin up_drp_qpll0_sel <= 1'b1; up_drp_qpll0_wr <= ~up_wdata[28]; @@ -210,9 +203,6 @@ module up_gt ( up_rack <= up_rreq_s; if (up_rreq_s == 1'b1) begin case (up_raddr[7:0]) - 8'h00: up_rdata <= VERSION; - 8'h01: up_rdata <= ID; - 8'h02: up_rdata <= up_scratch; 8'h14: up_rdata <= {3'd0, up_drp_qpll0_rwn, up_drp_qpll0_addr, up_drp_qpll0_wdata}; 8'h15: up_rdata <= {15'd0, up_drp_qpll0_status, up_drp_qpll0_rdata}; diff --git a/library/common/up_gt_channel.v b/library/common/up_gt_channel.v index b7ed601e9..d56c80849 100644 --- a/library/common/up_gt_channel.v +++ b/library/common/up_gt_channel.v @@ -143,6 +143,7 @@ module up_gt_channel ( // parameters + localparam [31:0] VERSION = 32'h00070161; parameter integer ID = 0; parameter integer GTH_OR_GTX_N = 0; @@ -354,6 +355,7 @@ module up_gt_channel ( reg tx_up_sync_m1 = 'd0; reg tx_up_sync = 'd0; reg tx_ip_sync = 'd0; + reg [31:0] up_scratch = 'd0; // internal signals @@ -407,6 +409,7 @@ module up_gt_channel ( always @(negedge up_rstn or posedge up_clk) begin if (up_rstn == 0) begin up_wack <= 'd0; + up_scratch <= 'd0; up_lpm_dfe_n <= 'd0; up_cpll_pd <= 'd1; up_drp_resetn <= 'd0; @@ -461,6 +464,9 @@ module up_gt_channel ( up_es_dma_err_hold <= 'd0; end else begin up_wack <= up_wreq_s; + if ((up_wreq_s == 1'b1) && (up_waddr[7:0] == 8'h02)) begin + up_scratch <= up_wdata; + end if ((up_wreq_s == 1'b1) && (up_waddr[7:0] == 8'h04)) begin up_lpm_dfe_n <= up_wdata[1]; up_cpll_pd <= up_wdata[0]; @@ -605,6 +611,9 @@ module up_gt_channel ( up_rack <= up_rreq_s; if (up_rreq_s == 1'b1) begin case (up_raddr[7:0]) + 8'h00: up_rdata <= VERSION; + 8'h01: up_rdata <= ID; + 8'h02: up_rdata <= up_scratch; 8'h04: up_rdata <= {30'd0, up_lpm_dfe_n, up_cpll_pd}; 8'h05: up_rdata <= {30'd0, up_drp_resetn, up_pll_resetn}; 8'h08: up_rdata <= {31'd0, up_rx_gt_resetn};