x393  1.0
FPGAcodeforElphelNC393camera
pll_base.v
Go to the documentation of this file.
1 
39 `timescale 1ns/1ps
40 
41 module pll_base#(
42  parameter CLKIN_PERIOD = 0.000, // input period in ns, 0..100.000 - MANDATORY, resolution down to 1 ps
43  parameter BANDWIDTH = "OPTIMIZED", // "OPTIMIZED", "HIGH","LOW"
44  parameter CLKFBOUT_MULT = 1, // integer 1 to 64 . Together with CLKOUT#_DIVIDE and DIVCLK_DIVIDE
45  parameter CLKFBOUT_PHASE = 0.000, // CLOCK FEEDBACK phase in degrees (3 significant digits, -360.000...+360.000)
46  parameter CLKOUT0_PHASE = 0.000, // CLOCK0 phase in degrees (3 significant digits, -360.000...+360.000)
47  parameter CLKOUT1_PHASE = 0.000, // Initial/static fine phase shift, 1/(56*Fvco) actual step
48  parameter CLKOUT2_PHASE = 0.000,
49  parameter CLKOUT3_PHASE = 0.000,
50  parameter CLKOUT4_PHASE = 0.000,
51  parameter CLKOUT5_PHASE = 0.000,
52  parameter CLKOUT0_DUTY_CYCLE= 0.5, // CLOCK 0 output duty factor, 3 significant digits
53  parameter CLKOUT1_DUTY_CYCLE= 0.5,
54  parameter CLKOUT2_DUTY_CYCLE= 0.5,
55  parameter CLKOUT3_DUTY_CYCLE= 0.5,
56  parameter CLKOUT4_DUTY_CYCLE= 0.5,
57  parameter CLKOUT5_DUTY_CYCLE= 0.5,
58  parameter CLKOUT0_DIVIDE = 1, // CLK0 outout divide, integer 1..128
59  parameter CLKOUT1_DIVIDE = 1, // CLK1 outout divide, integer 1..128 (determins a phase step as a fraction of pi/4)
60  parameter CLKOUT2_DIVIDE = 1,
61  parameter CLKOUT3_DIVIDE = 1,
62  parameter CLKOUT4_DIVIDE = 1,
63  parameter CLKOUT5_DIVIDE = 1,
64  parameter DIVCLK_DIVIDE = 1, // Integer 1..106. Divides all outputs with respect to CLKIN
65  parameter REF_JITTER1 = 0.010, // Expected jitter on CLKIN1 (0.000..0.999)
66  parameter STARTUP_WAIT = "FALSE" // Delays "DONE" signal until MMCM is locked
67 )
68 (
69  input clkin, // General clock input
70  input clkfbin, // Feedback clock input
71  input rst, // asynchronous reset input
72  input pwrdwn, // power down input
73  output clkout0, // output 0, HPC BUFR/BUFIO capable
74  output clkout1, // output 1, HPC BUFR/BUFIO capable
75  output clkout2, // output 2, HPC BUFR/BUFIO capable
76  output clkout3, // output 3, HPC BUFR/BUFIO capable
77  output clkout4, // output 4, HPC BUFR/BUFIO not capable
78  output clkout5, // output 5, HPC BUFR/BUFIO not capable
79  output clkfbout, // dedicate feedback output
80  output locked // PLL locked output
81 );
86  .CLKIN1_PERIOD (CLKIN_PERIOD),
108  ) PLLE2_ADV_i (
109  .CLKFBOUT (clkfbout), // output
110  .CLKOUT0 (clkout0), // output
111  .CLKOUT1 (clkout1), // output
112  .CLKOUT2 (clkout2), // output
113  .CLKOUT3 (clkout3), // output
114  .CLKOUT4 (clkout4), // output
115  .CLKOUT5 (clkout5), // output
116  .LOCKED (locked), // output
117  .CLKFBIN (clkfbin), // input
118  .CLKIN1 (clkin), // input
119  .PWRDWN (pwrdwn), // input
120  .RST (rst), // input
121  // Unused ports for advanced option
122  // Unused second clock input and select
123  .CLKIN2 (1'b0), // input
124  .CLKINSEL (1'b1), // input
125  // Unused DRP I/O
126  .DADDR (7'b0), // input[6:0]
127  .DCLK (1'b0), // input
128  .DEN (1'b0), // input
129  .DI (16'b0), // input[15:0]
130  .DO (), // output[15:0]
131  .DRDY (), // output
132  .DWE () // input
133  );
134 endmodule
11577clkout1
Definition: pll_base.v:74
11554CLKOUT3_PHASE0.000
Definition: pll_base.v:49
11551CLKOUT0_PHASE0.000
Definition: pll_base.v:46
11560CLKOUT3_DUTY_CYCLE0.5
Definition: pll_base.v:55
11571STARTUP_WAIT"FALSE"
Definition: pll_base.v:66
11572clkin
Definition: pll_base.v:69
11575pwrdwn
Definition: pll_base.v:72
11547CLKIN_PERIOD0.000
Definition: pll_base.v:42
11550CLKFBOUT_PHASE0.000
Definition: pll_base.v:45
11579clkout3
Definition: pll_base.v:76
11556CLKOUT5_PHASE0.000
Definition: pll_base.v:51
11573clkfbin
Definition: pll_base.v:70
11580clkout4
Definition: pll_base.v:77
11561CLKOUT4_DUTY_CYCLE0.5
Definition: pll_base.v:56
PLLE2_ADV_i PLLE2_ADV
Definition: pll_base.v:82
11564CLKOUT1_DIVIDE1
Definition: pll_base.v:59
11576clkout0
Definition: pll_base.v:73
11582clkfbout
Definition: pll_base.v:79
11581clkout5
Definition: pll_base.v:78
11566CLKOUT3_DIVIDE1
Definition: pll_base.v:61
11549CLKFBOUT_MULT1
Definition: pll_base.v:44
11574rst
Definition: pll_base.v:71
11567CLKOUT4_DIVIDE1
Definition: pll_base.v:62
11583locked
Definition: pll_base.v:80
11563CLKOUT0_DIVIDE1
Definition: pll_base.v:58
11568CLKOUT5_DIVIDE1
Definition: pll_base.v:63
11552CLKOUT1_PHASE0.000
Definition: pll_base.v:47
11562CLKOUT5_DUTY_CYCLE0.5
Definition: pll_base.v:57
11557CLKOUT0_DUTY_CYCLE0.5
Definition: pll_base.v:52
11558CLKOUT1_DUTY_CYCLE0.5
Definition: pll_base.v:53
11553CLKOUT2_PHASE0.000
Definition: pll_base.v:48
11548BANDWIDTH"OPTIMIZED"
Definition: pll_base.v:43
11565CLKOUT2_DIVIDE1
Definition: pll_base.v:60
11569DIVCLK_DIVIDE1
Definition: pll_base.v:64
11559CLKOUT2_DUTY_CYCLE0.5
Definition: pll_base.v:54
11570REF_JITTER10.010
Definition: pll_base.v:65
11578clkout2
Definition: pll_base.v:75
11555CLKOUT4_PHASE0.000
Definition: pll_base.v:50