OpenCores
URL https://opencores.org/ocsvn/genesys_ddr2/genesys_ddr2/trunk

Subversion Repositories genesys_ddr2

[/] [genesys_ddr2/] [trunk/] [rtl/] [clkGenPLL.v] - Blame information for rev 2

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 2 oana.bonca
`timescale 1ns / 1ps
2
//////////////////////////////////////////////////////////////////////////////////
3
// Company: UPT
4
// Engineer: Oana Boncalo & Alexandru Amaricai
5
// 
6
// Create Date:    10:23:39 11/26/2012 
7
// Design Name: 
8
// Module Name:    clkGenPLL 
9
// Project Name: 
10
// Target Devices: 
11
// Tool versions: 
12
// Description: 
13
//
14
// Dependencies: 
15
//
16
// Revision: 
17
// Revision 0.01 - File Created
18
// Additional Comments: 
19
//
20
//////////////////////////////////////////////////////////////////////////////////
21
//parameter CLK_PERIOD_EXT        = 10000;   // External (FPGA board) clk period (in ps)
22
//localparam real CLK_PERIOD_EXT_NS   = CLK_PERIOD_EXT / 1000.0;
23
module clkGenPLL(
24
        input sysClk,
25
        input sysRst,  //Asynchronous PLL reset
26
        output clk0_125, //125 Mhz
27
        output clk0Phase90, //125 MHz clk200 with 90 degree phase
28
        output clk0Div2, //62.5 MHz
29
        output clk200,   //200 MHz clk
30
        output clkTFT10,
31
        output clkTFT10_180,
32
        output locked
33
    );
34
 
35
 
36
//  PLL_BASE   : In order to incorporate this function into the design,
37
//   Verilog   : the following instance declaration needs to be placed
38
//  instance   : in the body of the design code.  The instance name
39
// declaration : (PLL_BASE_inst) and/or the port declarations within the
40
//    code     : parenthesis may be changed to properly reference and
41
//             : connect this function to the design.  Unused inputs
42
//             : and outputs may be removed or commented out.
43
 
44
//  <-----Cut code below this line---->
45
 
46
   // PLL_BASE: Phase-Lock Loop Clock Circuit 
47
   //           Virtex-5
48
   // Xilinx HDL Language Template, version 13.1
49
   wire CLKFBOUT;
50
 
51
   PLL_BASE #(
52
      .BANDWIDTH("OPTIMIZED"),  // "HIGH", "LOW" or "OPTIMIZED" 
53
      .CLKFBOUT_MULT(10),        // Multiplication factor for all output clocks
54
      .CLKFBOUT_PHASE(0.0),     // Phase shift (degrees) of all output clocks
55
      .CLKIN_PERIOD(10.0),     // Clock period (ns) of input clock on CLKIN
56
      .CLKOUT0_DIVIDE(8),       // Division factor for CLKOUT0 (1 to 128)
57
      .CLKOUT0_DUTY_CYCLE(0.5), // Duty cycle for CLKOUT0 (0.01 to 0.99)
58
      .CLKOUT0_PHASE(0.0),      // Phase shift (degrees) for CLKOUT0 (0.0 to 360.0)
59
      .CLKOUT1_DIVIDE(8),       // Division factor for CLKOUT1 (1 to 128)
60
      .CLKOUT1_DUTY_CYCLE(0.5), // Duty cycle for CLKOUT1 (0.01 to 0.99)
61
      .CLKOUT1_PHASE(90.0),      // Phase shift (degrees) for CLKOUT1 (0.0 to 360.0)
62
      .CLKOUT2_DIVIDE(16),       // Division factor for CLKOUT2 (1 to 128)
63
      .CLKOUT2_DUTY_CYCLE(0.5), // Duty cycle for CLKOUT2 (0.01 to 0.99)
64
      .CLKOUT2_PHASE(0.0),      // Phase shift (degrees) for CLKOUT2 (0.0 to 360.0)
65
      .CLKOUT3_DIVIDE(5),       // Division factor for CLKOUT3 (1 to 128)
66
      .CLKOUT3_DUTY_CYCLE(0.5), // Duty cycle for CLKOUT3 (0.01 to 0.99)
67
      .CLKOUT3_PHASE(0.0),      // Phase shift (degrees) for CLKOUT3 (0.0 to 360.0)
68
      .CLKOUT4_DIVIDE(100),       // Division factor for CLKOUT4 (1 to 128)
69
      .CLKOUT4_DUTY_CYCLE(0.5), // Duty cycle for CLKOUT4 (0.01 to 0.99)
70
      .CLKOUT4_PHASE(180.0),      // Phase shift (degrees) for CLKOUT4 (0.0 to 360.0)
71
      .CLKOUT5_DIVIDE(100),       // Division factor for CLKOUT5 (1 to 128)
72
      .CLKOUT5_DUTY_CYCLE(0.5), // Duty cycle for CLKOUT5 (0.01 to 0.99)
73
      .CLKOUT5_PHASE(0.0),      // Phase shift (degrees) for CLKOUT5 (0.0 to 360.0)
74
      .COMPENSATION("SYSTEM_SYNCHRONOUS"), // "SYSTEM_SYNCHRONOUS", 
75
                                //   "SOURCE_SYNCHRONOUS", "INTERNAL", "EXTERNAL", 
76
                                //   "DCM2PLL", "PLL2DCM" 
77
      .DIVCLK_DIVIDE(1),        // Division factor for all clocks (1 to 52)
78
      .REF_JITTER(0.100)        // Input reference jitter (0.000 to 0.999 UI%)
79
   ) PLL_BASE_inst (
80
      .CLKFBOUT(CLKFBOUT),      // General output feedback signal
81
      .CLKOUT0(clk0_125),        // One of six general clock output signals
82
      .CLKOUT1(clk0Phase90),        // One of six general clock output signals
83
      .CLKOUT2(clk0Div2),        // One of six general clock output signals
84
      .CLKOUT3(clk200),        // One of six general clock output signals
85
      .CLKOUT4(clkTFT10_180),        // One of six general clock output signals
86
      .CLKOUT5(clkTFT10),        // One of six general clock output signals
87
      .LOCKED(locked),          // Active high PLL lock signal
88
      .CLKFBIN(CLKFBOUT),        // Clock feedback input
89
      .CLKIN(sysClk),            // Clock input
90
      .RST(sysRst)                 // Asynchronous PLL reset
91
   );
92
 
93
   // End of PLL_BASE_inst instantiation
94
 
95
 
96
endmodule

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.