[Cryptech-Commits] [core/platform/novena] branch master updated: Move novena_clkmgr IBUFGDS to clkmgr_dcm, to put the Xilinx-specific primitives in one place.

git at cryptech.is git at cryptech.is
Wed Nov 18 22:24:00 UTC 2015


This is an automated email from the git hooks/post-receive script.

paul at psgd.org pushed a commit to branch master
in repository core/platform/novena.

The following commit(s) were added to refs/heads/master by this push:
       new  81286a6   Move novena_clkmgr IBUFGDS to clkmgr_dcm, to put the Xilinx-specific primitives in one place.
81286a6 is described below

commit 81286a692a3edade788c6d42beec1a7c8e5e07c9
Author: Paul Selkirk <paul at psgd.org>
Date:   Wed Nov 18 17:23:40 2015 -0500

    Move novena_clkmgr IBUFGDS to clkmgr_dcm, to put the Xilinx-specific primitives in one place.
---
 common/rtl/clkmgr_dcm.v    | 19 ++++++++++++++++++-
 common/rtl/novena_clkmgr.v | 21 ++++++---------------
 2 files changed, 24 insertions(+), 16 deletions(-)

diff --git a/common/rtl/clkmgr_dcm.v b/common/rtl/clkmgr_dcm.v
index 7c851f1..141863e 100644
--- a/common/rtl/clkmgr_dcm.v
+++ b/common/rtl/clkmgr_dcm.v
@@ -38,9 +38,11 @@
 
 module clkmgr_dcm
   (
-   input wire  clk_in,
+   input wire  clk_in_p,
+   input wire  clk_in_n,
    input wire  reset_in,
   
+   output wire gclk_out,
    output wire gclk_missing_out,
 
    output wire clk_out,
@@ -56,6 +58,20 @@ module clkmgr_dcm
    
    
    //
+   // IBUFGDS
+   //
+   /* Xilinx-specific primitive to handle LVDS input signal. */
+   (* BUFFER_TYPE="NONE" *)
+   wire        clk_in;
+   
+   IBUFGDS IBUFGDS_gclk
+     (
+      .I(clk_in_p),
+      .IB(clk_in_n),
+      .O(clk_in)
+      );
+
+   //
    // DCM_SP
    //
    /* Xilinx-specific primitive. */
@@ -115,6 +131,7 @@ module clkmgr_dcm
    //
    // Mapping
    //
+   assign       gclk_out        = clk_in;
    assign       gclk_missing_out= dcm_status_int[1];
    assign       clk_valid_out   = dcm_locked_int & ((dcm_status_int[2:1] == 2'b00) ? 1'b1 : 1'b0);
 
diff --git a/common/rtl/novena_clkmgr.v b/common/rtl/novena_clkmgr.v
index e8ef1bd..83c6a68 100644
--- a/common/rtl/novena_clkmgr.v
+++ b/common/rtl/novena_clkmgr.v
@@ -56,22 +56,10 @@ module novena_clkmgr
    parameter    CLK_OUT_DIV     = 2;
 
    //
-   // IBUFGDS
+   // Wrapper for Xilinx-specific DCM (Digital Clock Manager) primitive.
    //
-   (* BUFFER_TYPE="NONE" *)
-   wire        gclk;
 
-   IBUFGDS IBUFGDS_gclk
-     (
-      .I(gclk_p),
-      .IB(gclk_n),
-      .O(gclk)
-      );
-
-
-   //
-   // DCM
-   //
+   wire        gclk;            // buffered input clock
    wire        dcm_reset;       // dcm reset
    wire        dcm_locked;      // output clock valid
    wire        gclk_missing;    // no input clock
@@ -83,8 +71,11 @@ module novena_clkmgr
       )
    dcm
      (
-      .clk_in                   (gclk),
+      .clk_in_p                 (gclk_p),
+      .clk_in_n                 (gclk_n),
       .reset_in                 (dcm_reset),
+
+      .gclk_out                 (gclk),
       .gclk_missing_out         (gclk_missing),
 
       .clk_out                  (sys_clk),

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.


More information about the Commits mailing list