|
16 | 16 | * a problem in real designs. |
17 | 17 | * |
18 | 18 | *************************************************************************/ |
19 | | -module la_pll #(parameter PROP = "", // cell property |
20 | | - parameter NIN = 1, // number of input reference clocks |
21 | | - parameter NOUT = 1, // number of output clocks |
22 | | - parameter DIVINW = 8, // reference divider width |
23 | | - parameter DIVFBW = 8, // feedback divider width |
24 | | - parameter DIVPOSTW = 8, // post feedback divider width |
25 | | - parameter PHASEW = 8, // phase shift adjust width |
26 | | - parameter CW = 1, // control vector width |
27 | | - parameter SW = 1 // status vector width |
| 19 | +module la_pll #(parameter PROP = "", // cell property |
| 20 | + parameter NIN = 1, // number of input reference clocks |
| 21 | + parameter NOUT = 1, // number of output clocks |
| 22 | + parameter DIVINW = 8, // iunpyt divider width |
| 23 | + parameter DIVFBW = 8, // feedback divider width |
| 24 | + parameter DIVOUTW = 8, // output divider width |
| 25 | + parameter PHASEW = 8, // phase shift adjust width |
| 26 | + parameter CW = 1, // control vector width |
| 27 | + parameter SW = 1 // status vector width |
28 | 28 | ) |
29 | 29 | ( |
30 | 30 | // supplies |
31 | | - inout vdda, // analog supply |
32 | | - inout vdd, // digital core supply |
33 | | - inout vddaux, // aux core supply |
34 | | - inout vss, // common ground |
| 31 | + inout vdda, // analog supply |
| 32 | + inout vdd, // digital core supply |
| 33 | + inout vddaux, // aux core supply |
| 34 | + inout vss, // common ground |
35 | 35 | // clocks |
36 | | - input [NIN-1:0] clkin, // input reference clock |
37 | | - output [NOUT-1:0] clkout, // output clocks |
| 36 | + input [NIN-1:0] clkin, // input reference clock |
| 37 | + output [NOUT-1:0] clkout, // output clocks |
38 | 38 | // standard controls |
39 | | - input reset, // active high async reset |
40 | | - input en, // pll enable |
41 | | - input bypass, // pll bypasses |
42 | | - input [NIN-1:0] clksel, // one hot clock selector |
43 | | - input [DIVINW-1:0] divin, // reference divider |
44 | | - input [DIVFBW-1:0] divfb, // feedback divider |
45 | | - input [NOUT*DIVPOSTW-1:0] divpost, // output divider |
46 | | - input [NOUT*PHASEW-1:0] phase, // output phase shift |
47 | | - output locked, // pll is locked |
| 39 | + input reset, // active high async reset |
| 40 | + input en, // pll enable |
| 41 | + input bypass, // pll bypasses |
| 42 | + input [NIN-1:0] clksel, // one hot clock selector |
| 43 | + input [DIVINW-1:0] divin, // reference divider |
| 44 | + input [DIVFBW-1:0] divfb, // feedback divider |
| 45 | + input [NOUT*DIVOUTW-1:0] divout, // output divider |
| 46 | + input [NOUT*PHASEW-1:0] phase, // output phase shift |
| 47 | + output locked, // pll is locked |
48 | 48 | // user defined signals (defined per unique PLL) |
49 | | - input [CW-1:0] ctrl, // controls |
50 | | - output [SW-1:0] status // status |
| 49 | + input [CW-1:0] ctrl, // controls |
| 50 | + output [SW-1:0] status // status |
51 | 51 | ); |
52 | 52 |
|
53 | 53 | genvar i; |
|
0 commit comments