blob: 607f98b8021dfcbea16e709cf9cc312cd7b088fb [file] [log] [blame]
// ============================================================================
// CMT
// PLLE2_ADV_VPR
(* blackbox *)
module PLLE2_ADV_VPR
(
input CLKFBIN,
input CLKIN1,
input CLKIN2,
input CLKINSEL,
output CLKFBOUT,
output CLKOUT0,
output CLKOUT1,
output CLKOUT2,
output CLKOUT3,
output CLKOUT4,
output CLKOUT5,
input PWRDWN,
input RST,
output LOCKED,
input DCLK,
input DEN,
input DWE,
output DRDY,
input [ 6:0] DADDR,
input [15:0] DI,
output [15:0] DO
);
parameter [0:0] INV_CLKINSEL = 1'd0;
parameter [0:0] ZINV_PWRDWN = 1'd0;
parameter [0:0] ZINV_RST = 1'd1;
parameter [0:0] STARTUP_WAIT = 1'd0;
// Tables
parameter [9:0] TABLE = 10'd0;
parameter [39:0] LKTABLE = 40'd0;
parameter [15:0] POWER_REG = 16'd0;
parameter [11:0] FILTREG1_RESERVED = 12'd0;
parameter [9:0] FILTREG2_RESERVED = 10'd0;
parameter [5:0] LOCKREG1_RESERVED = 6'd0;
parameter [0:0] LOCKREG2_RESERVED = 1'b0;
parameter [0:0] LOCKREG3_RESERVED = 1'b0;
// DIVCLK
parameter [5:0] DIVCLK_DIVCLK_HIGH_TIME = 6'd0;
parameter [5:0] DIVCLK_DIVCLK_LOW_TIME = 6'd0;
parameter [0:0] DIVCLK_DIVCLK_NO_COUNT = 1'b1;
parameter [0:0] DIVCLK_DIVCLK_EDGE = 1'b0;
// CLKFBOUT
parameter [5:0] CLKFBOUT_CLKOUT1_HIGH_TIME = 6'd0;
parameter [5:0] CLKFBOUT_CLKOUT1_LOW_TIME = 6'd0;
parameter [0:0] CLKFBOUT_CLKOUT1_OUTPUT_ENABLE = 1'b0;
parameter [2:0] CLKFBOUT_CLKOUT1_PHASE_MUX = 3'd0;
parameter [5:0] CLKFBOUT_CLKOUT2_DELAY_TIME = 6'd0;
parameter [0:0] CLKFBOUT_CLKOUT2_EDGE = 1'b0;
parameter [2:0] CLKFBOUT_CLKOUT2_FRAC = 3'd0;
parameter [0:0] CLKFBOUT_CLKOUT2_FRAC_EN = 1'b0;
parameter [0:0] CLKFBOUT_CLKOUT2_FRAC_WF_R = 1'b0;
parameter [0:0] CLKFBOUT_CLKOUT2_NO_COUNT = 1'b1;
// CLKOUT0
parameter [5:0] CLKOUT0_CLKOUT1_HIGH_TIME = 6'd0;
parameter [5:0] CLKOUT0_CLKOUT1_LOW_TIME = 6'd0;
parameter [0:0] CLKOUT0_CLKOUT1_OUTPUT_ENABLE = 1'b0;
parameter [2:0] CLKOUT0_CLKOUT1_PHASE_MUX = 3'd0;
parameter [5:0] CLKOUT0_CLKOUT2_DELAY_TIME = 6'd0;
parameter [0:0] CLKOUT0_CLKOUT2_EDGE = 1'b0;
parameter [2:0] CLKOUT0_CLKOUT2_FRAC = 3'd0;
parameter [0:0] CLKOUT0_CLKOUT2_FRAC_EN = 1'b0;
parameter [0:0] CLKOUT0_CLKOUT2_FRAC_WF_R = 1'b0;
parameter [0:0] CLKOUT0_CLKOUT2_NO_COUNT = 1'b1;
// CLKOUT1
parameter [5:0] CLKOUT1_CLKOUT1_HIGH_TIME = 6'd0;
parameter [5:0] CLKOUT1_CLKOUT1_LOW_TIME = 6'd0;
parameter [0:0] CLKOUT1_CLKOUT1_OUTPUT_ENABLE = 1'b0;
parameter [2:0] CLKOUT1_CLKOUT1_PHASE_MUX = 3'd0;
parameter [5:0] CLKOUT1_CLKOUT2_DELAY_TIME = 6'd0;
parameter [0:0] CLKOUT1_CLKOUT2_EDGE = 1'b0;
parameter [2:0] CLKOUT1_CLKOUT2_FRAC = 3'd0;
parameter [0:0] CLKOUT1_CLKOUT2_FRAC_EN = 1'b0;
parameter [0:0] CLKOUT1_CLKOUT2_FRAC_WF_R = 1'b0;
parameter [0:0] CLKOUT1_CLKOUT2_NO_COUNT = 1'b1;
// CLKOUT2
parameter [5:0] CLKOUT2_CLKOUT1_HIGH_TIME = 6'd0;
parameter [5:0] CLKOUT2_CLKOUT1_LOW_TIME = 6'd0;
parameter [0:0] CLKOUT2_CLKOUT1_OUTPUT_ENABLE = 1'b0;
parameter [2:0] CLKOUT2_CLKOUT1_PHASE_MUX = 3'd0;
parameter [5:0] CLKOUT2_CLKOUT2_DELAY_TIME = 6'd0;
parameter [0:0] CLKOUT2_CLKOUT2_EDGE = 1'b0;
parameter [2:0] CLKOUT2_CLKOUT2_FRAC = 3'd0;
parameter [0:0] CLKOUT2_CLKOUT2_FRAC_EN = 1'b0;
parameter [0:0] CLKOUT2_CLKOUT2_FRAC_WF_R = 1'b0;
parameter [0:0] CLKOUT2_CLKOUT2_NO_COUNT = 1'b1;
// CLKOUT3
parameter [5:0] CLKOUT3_CLKOUT1_HIGH_TIME = 6'd0;
parameter [5:0] CLKOUT3_CLKOUT1_LOW_TIME = 6'd0;
parameter [0:0] CLKOUT3_CLKOUT1_OUTPUT_ENABLE = 1'b0;
parameter [2:0] CLKOUT3_CLKOUT1_PHASE_MUX = 3'd0;
parameter [5:0] CLKOUT3_CLKOUT2_DELAY_TIME = 6'd0;
parameter [0:0] CLKOUT3_CLKOUT2_EDGE = 1'b0;
parameter [2:0] CLKOUT3_CLKOUT2_FRAC = 3'd0;
parameter [0:0] CLKOUT3_CLKOUT2_FRAC_EN = 1'b0;
parameter [0:0] CLKOUT3_CLKOUT2_FRAC_WF_R = 1'b0;
parameter [0:0] CLKOUT3_CLKOUT2_NO_COUNT = 1'b1;
// CLKOUT4
parameter [5:0] CLKOUT4_CLKOUT1_HIGH_TIME = 6'd0;
parameter [5:0] CLKOUT4_CLKOUT1_LOW_TIME = 6'd0;
parameter [0:0] CLKOUT4_CLKOUT1_OUTPUT_ENABLE = 1'b0;
parameter [2:0] CLKOUT4_CLKOUT1_PHASE_MUX = 3'd0;
parameter [5:0] CLKOUT4_CLKOUT2_DELAY_TIME = 6'd0;
parameter [0:0] CLKOUT4_CLKOUT2_EDGE = 1'b0;
parameter [2:0] CLKOUT4_CLKOUT2_FRAC = 3'd0;
parameter [0:0] CLKOUT4_CLKOUT2_FRAC_EN = 1'b0;
parameter [0:0] CLKOUT4_CLKOUT2_FRAC_WF_R = 1'b0;
parameter [0:0] CLKOUT4_CLKOUT2_NO_COUNT = 1'b1;
// CLKOUT5
parameter [5:0] CLKOUT5_CLKOUT1_HIGH_TIME = 6'd0;
parameter [5:0] CLKOUT5_CLKOUT1_LOW_TIME = 6'd0;
parameter [0:0] CLKOUT5_CLKOUT1_OUTPUT_ENABLE = 1'b0;
parameter [2:0] CLKOUT5_CLKOUT1_PHASE_MUX = 3'd0;
parameter [5:0] CLKOUT5_CLKOUT2_DELAY_TIME = 6'd0;
parameter [0:0] CLKOUT5_CLKOUT2_EDGE = 1'b0;
parameter [2:0] CLKOUT5_CLKOUT2_FRAC = 3'd0;
parameter [0:0] CLKOUT5_CLKOUT2_FRAC_EN = 1'b0;
parameter [0:0] CLKOUT5_CLKOUT2_FRAC_WF_R = 1'b0;
parameter [0:0] CLKOUT5_CLKOUT2_NO_COUNT = 1'b1;
// TODO: Compensation parameters
// TODO: How to simulate a PLL in verilog (i.e. the VCO) ???
endmodule