[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