diff --git a/Archie.qpf b/Archie.qpf
index ebd3bcf..21cf306 100644
--- a/Archie.qpf
+++ b/Archie.qpf
@@ -10,4 +10,3 @@ DATE = "23:13:02 April 27, 2017"
# Revisions
PROJECT_REVISION = "Archie"
-PROJECT_REVISION = "Archie-lite"
diff --git a/Archie.qsf b/Archie.qsf
index db43127..e69257a 100644
--- a/Archie.qsf
+++ b/Archie.qsf
@@ -367,6 +367,7 @@ set_global_assignment -name PRE_FLOW_SCRIPT_FILE "quartus_sh:sys/build_id.tcl"
set_global_assignment -name CDF_FILE jtag.cdf
set_global_assignment -name QIP_FILE sys/sys.qip
+set_global_assignment -name QIP_FILE vpll.qip
set_global_assignment -name VERILOG_FILE fdc1772.v
set_global_assignment -name VERILOG_FILE latches.v
set_global_assignment -name VERILOG_FILE floppy.v
diff --git a/Archie.sv b/Archie.sv
index e80b89a..b10a9b3 100644
--- a/Archie.sv
+++ b/Archie.sv
@@ -1,101 +1,101 @@
-//============================================================================
-// Acorn Archimedes
-//
-// Port to MiSTer.
-// Copyright (C) 2017-2019 Sorgelig
-//
-// This program is free software; you can redistribute it and/or modify it
-// under the terms of the GNU General Public License as published by the Free
-// Software Foundation; either version 2 of the License, or (at your option)
-// any later version.
-//
-// This program is distributed in the hope that it will be useful, but WITHOUT
-// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-// FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
-// more details.
-//
-// You should have received a copy of the GNU General Public License along
-// with this program; if not, write to the Free Software Foundation, Inc.,
-// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
-//============================================================================
-
-module emu
-(
- //Master input clock
- input CLK_50M,
-
- //Async reset from top-level module.
- //Can be used as initial reset.
- input RESET,
-
- //Must be passed to hps_io module
- inout [44:0] HPS_BUS,
-
- //Base video clock. Usually equals to CLK_SYS.
- output CLK_VIDEO,
-
- //Multiple resolutions are supported using different CE_PIXEL rates.
- //Must be based on CLK_VIDEO
- output CE_PIXEL,
-
- //Video aspect ratio for HDMI. Most retro systems have ratio 4:3.
- output [7:0] VIDEO_ARX,
- output [7:0] VIDEO_ARY,
-
- output [7:0] VGA_R,
- output [7:0] VGA_G,
- output [7:0] VGA_B,
- output VGA_HS,
- output VGA_VS,
- output VGA_DE, // = ~(VBlank | HBlank)
+//============================================================================
+// Acorn Archimedes
+//
+// Port to MiSTer.
+// Copyright (C) 2017-2019 Sorgelig
+//
+// This program is free software; you can redistribute it and/or modify it
+// under the terms of the GNU General Public License as published by the Free
+// Software Foundation; either version 2 of the License, or (at your option)
+// any later version.
+//
+// This program is distributed in the hope that it will be useful, but WITHOUT
+// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+// FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+// more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this program; if not, write to the Free Software Foundation, Inc.,
+// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+//============================================================================
+
+module emu
+(
+ //Master input clock
+ input CLK_50M,
+
+ //Async reset from top-level module.
+ //Can be used as initial reset.
+ input RESET,
+
+ //Must be passed to hps_io module
+ inout [44:0] HPS_BUS,
+
+ //Base video clock. Usually equals to CLK_SYS.
+ output CLK_VIDEO,
+
+ //Multiple resolutions are supported using different CE_PIXEL rates.
+ //Must be based on CLK_VIDEO
+ output CE_PIXEL,
+
+ //Video aspect ratio for HDMI. Most retro systems have ratio 4:3.
+ output [7:0] VIDEO_ARX,
+ output [7:0] VIDEO_ARY,
+
+ output [7:0] VGA_R,
+ output [7:0] VGA_G,
+ output [7:0] VGA_B,
+ output VGA_HS,
+ output VGA_VS,
+ output VGA_DE, // = ~(VBlank | HBlank)
output VGA_F1,
output [1:0] VGA_SL,
-
- output LED_USER, // 1 - ON, 0 - OFF.
-
- // b[1]: 0 - LED status is system status OR'd with b[0]
- // 1 - LED status is controled solely by b[0]
- // hint: supply 2'b00 to let the system control the LED.
- output [1:0] LED_POWER,
- output [1:0] LED_DISK,
-
- output [15:0] AUDIO_L,
- output [15:0] AUDIO_R,
- output AUDIO_S, // 1 - signed audio samples, 0 - unsigned
- output [1:0] AUDIO_MIX, // 0 - no mix, 1 - 25%, 2 - 50%, 3 - 100% (mono)
- input TAPE_IN,
-
- // SD-SPI
- output SD_SCK,
- output SD_MOSI,
- input SD_MISO,
- output SD_CS,
- input SD_CD,
-
- //High latency DDR3 RAM interface
- //Use for non-critical time purposes
- output DDRAM_CLK,
- input DDRAM_BUSY,
- output [7:0] DDRAM_BURSTCNT,
- output [28:0] DDRAM_ADDR,
- input [63:0] DDRAM_DOUT,
- input DDRAM_DOUT_READY,
- output DDRAM_RD,
- output [63:0] DDRAM_DIN,
- output [7:0] DDRAM_BE,
- output DDRAM_WE,
-
- //SDRAM interface with lower latency
- output SDRAM_CLK,
- output SDRAM_CKE,
- output [12:0] SDRAM_A,
- output [1:0] SDRAM_BA,
- inout [15:0] SDRAM_DQ,
- output SDRAM_DQML,
- output SDRAM_DQMH,
- output SDRAM_nCS,
- output SDRAM_nCAS,
- output SDRAM_nRAS,
+
+ output LED_USER, // 1 - ON, 0 - OFF.
+
+ // b[1]: 0 - LED status is system status OR'd with b[0]
+ // 1 - LED status is controled solely by b[0]
+ // hint: supply 2'b00 to let the system control the LED.
+ output [1:0] LED_POWER,
+ output [1:0] LED_DISK,
+
+ output [15:0] AUDIO_L,
+ output [15:0] AUDIO_R,
+ output AUDIO_S, // 1 - signed audio samples, 0 - unsigned
+ output [1:0] AUDIO_MIX, // 0 - no mix, 1 - 25%, 2 - 50%, 3 - 100% (mono)
+ input TAPE_IN,
+
+ // SD-SPI
+ output SD_SCK,
+ output SD_MOSI,
+ input SD_MISO,
+ output SD_CS,
+ input SD_CD,
+
+ //High latency DDR3 RAM interface
+ //Use for non-critical time purposes
+ output DDRAM_CLK,
+ input DDRAM_BUSY,
+ output [7:0] DDRAM_BURSTCNT,
+ output [28:0] DDRAM_ADDR,
+ input [63:0] DDRAM_DOUT,
+ input DDRAM_DOUT_READY,
+ output DDRAM_RD,
+ output [63:0] DDRAM_DIN,
+ output [7:0] DDRAM_BE,
+ output DDRAM_WE,
+
+ //SDRAM interface with lower latency
+ output SDRAM_CLK,
+ output SDRAM_CKE,
+ output [12:0] SDRAM_A,
+ output [1:0] SDRAM_BA,
+ inout [15:0] SDRAM_DQ,
+ output SDRAM_DQML,
+ output SDRAM_DQMH,
+ output SDRAM_nCS,
+ output SDRAM_nCAS,
+ output SDRAM_nRAS,
output SDRAM_nWE,
input UART_CTS,
@@ -106,253 +106,327 @@ module emu
input UART_DSR,
input OSD_STATUS
-);
-
-assign {UART_RTS, UART_TXD, UART_DTR} = 0;
-assign {DDRAM_CLK, DDRAM_BURSTCNT, DDRAM_ADDR, DDRAM_DIN, DDRAM_BE, DDRAM_RD, DDRAM_WE} = 0;
-assign {SD_SCK, SD_MOSI, SD_CS} = 'Z;
-
-assign LED_USER = 0;
-assign LED_DISK = 0;
-assign LED_POWER = 0;
-
-assign VIDEO_ARX = status[1] ? 8'd16 : 8'd4;
-assign VIDEO_ARY = status[1] ? 8'd9 : 8'd3;
-
-`include "build_id.v"
-localparam CONF_STR = {
- "ARCHIE;;",
- "J,Fire;",
- "V,v",`BUILD_DATE
-};
-
-//////////////////// CLOCKS ///////////////////
-
-wire pll_ready;
-wire clk_128m;
-wire clk_32m;
-
-/*
- 24, 16, 12, 8
- 25, 16.6, 12.6, 8.3
- 36, 24, 18, 12
- 24, 16, 12, 8
-*/
-
-
-pll pll
-(
- .refclk(CLK_50M),
- .outclk_0(clk_128m),
- .outclk_1(SDRAM_CLK),
- .outclk_2(clk_32m),
- .outclk_3(CLK_VIDEO),
- .locked(pll_ready)
-);
-
-wire reset = buttons[1] | ~initReset_n;
-
-reg initReset_n = 0;
-always @(posedge clk_32m) if(loader_active) initReset_n <= 1;
-
-////////////////// HPS I/O ///////////////////
-wire [15:0] joyA;
-wire [15:0] joyB;
-wire [1:0] buttons;
-wire [31:0] status;
-
-wire [7:0] kbd_out_data;
-wire kbd_out_strobe;
-wire [7:0] kbd_in_data;
-wire kbd_in_strobe;
-
-wire [31:0] fdc_status_out;
-wire [31:0] fdc_status_in;
-wire [7:0] fdc_data_in;
-wire fdc_data_in_strobe;
-
-wire loader_active;
-wire loader_we;
-reg loader_stb = 0;
-wire [3:0] loader_sel;
-wire [24:0] loader_addr;
-wire [31:0] loader_data;
-
-hps_io #(.STRLEN($size(CONF_STR)>>3)) hps_io
-(
- .clk_sys(clk_32m),
- .HPS_BUS(HPS_BUS),
-
- .conf_str(CONF_STR),
-
- .joystick_0(joyA),
- .joystick_1(joyB),
-
- .buttons(buttons),
- .status(status),
-
- .kbd_out_data(kbd_out_data),
- .kbd_out_strobe(kbd_out_strobe),
- .kbd_in_data(kbd_in_data),
- .kbd_in_strobe(kbd_in_strobe),
-
- .fdc_status_out(fdc_status_out),
- .fdc_status_in(fdc_status_in),
- .fdc_data_in_strobe(fdc_data_in_strobe),
- .fdc_data_in(fdc_data_in),
-
- .ioctl_wr(loader_we),
- .ioctl_addr(loader_addr),
- .ioctl_dout(loader_data),
- .ioctl_download(loader_active),
- .ioctl_sel(loader_sel),
-
- .sd_lba(0),
- .sd_rd(0),
- .sd_wr(0),
- .sd_conf(0),
- .sd_buff_din(0),
- .ioctl_wait(loader_stb)
-);
-
-assign AUDIO_S = 0;
-assign AUDIO_MIX = status[3:2];
-
-wire [3:0] core_r, core_g, core_b;
-wire core_hs, core_vs;
-
-assign VGA_R = {core_r,core_r};
-assign VGA_G = {core_g,core_g};
-assign VGA_B = {core_b,core_b};
-assign VGA_HS = ~core_hs;
-assign VGA_VS = ~core_vs;
-assign VGA_F1 = 0;
-assign VGA_SL = 0;
-
-wire core_ack_in;
-wire core_stb_out;
-wire core_cyc_out;
-wire core_we_o;
-wire [3:0] core_sel_o;
-wire [2:0] core_cti_o;
-wire [31:0] core_data_in, core_data_out;
-wire [31:0] ram_data_in;
-wire [26:2] core_address_out;
-
-wire [1:0] pixbaseclk_select;
-
-wire i2c_din, i2c_dout, i2c_clock;
-
-archimedes_top ARCHIMEDES
-(
- .CLKCPU_I ( clk_32m ),
- .CLKPIX_I ( CLK_VIDEO ),
- .CEPIX_O ( CE_PIXEL ),
-
- .RESET_I (~ram_ready | loader_active | reset),
-
- .MEM_ACK_I ( core_ack_in ),
- .MEM_DAT_I ( core_data_in ),
- .MEM_DAT_O ( core_data_out ),
- .MEM_ADDR_O ( core_address_out),
- .MEM_STB_O ( core_stb_out ),
- .MEM_CYC_O ( core_cyc_out ),
- .MEM_SEL_O ( core_sel_o ),
- .MEM_WE_O ( core_we_o ),
- .MEM_CTI_O ( core_cti_o ),
-
- .HSYNC ( core_hs ),
- .VSYNC ( core_vs ),
-
- .VIDEO_R ( core_r ),
- .VIDEO_G ( core_g ),
- .VIDEO_B ( core_b ),
- .VIDEO_EN ( VGA_DE ),
-
- .AUDIO_L ( AUDIO_L ),
- .AUDIO_R ( AUDIO_R ),
-
- .I2C_DOUT ( i2c_din ),
- .I2C_DIN ( i2c_dout ),
- .I2C_CLOCK ( i2c_clock ),
-
- .DEBUG_LED ( ),
-
- .FDC_DIO_STATUS_OUT ( fdc_status_out ),
- .FDC_DIO_STATUS_IN ( fdc_status_in ),
- .FDC_DIN_STROBE ( fdc_data_in_strobe ),
- .FDC_DIN ( fdc_data_in ),
-
- .KBD_OUT_DATA ( kbd_out_data ),
- .KBD_OUT_STROBE ( kbd_out_strobe ),
- .KBD_IN_DATA ( kbd_in_data ),
- .KBD_IN_STROBE ( kbd_in_strobe ),
-
- .JOYSTICK0 (~{joyA[4], joyA[0],joyA[1],joyA[2],joyA[3]}),
- .JOYSTICK1 (~{joyB[4], joyB[0],joyB[1],joyB[2],joyB[3]}),
- .VIDBASECLK_O ( pixbaseclk_select ),
- .VIDSYNCPOL_O ( )
-);
-
-wire ram_ack;
-wire ram_stb;
-wire ram_cyc;
-wire ram_we;
-wire [3:0] ram_sel;
-wire [25:0] ram_address;
-wire ram_ready;
-
-sdram_top SDRAM
-(
- // wishbone interface
- .wb_clk (clk_32m ),
- .wb_stb (ram_stb ),
- .wb_cyc (ram_cyc ),
- .wb_we (ram_we ),
- .wb_ack (ram_ack ),
-
- .wb_sel (ram_sel ),
- .wb_adr (ram_address ),
- .wb_dat_i (ram_data_in ),
- .wb_dat_o (core_data_in),
- .wb_cti (core_cti_o ),
-
- // SDRAM Interface
- .sd_clk (clk_128m ),
- .sd_rst (~pll_ready ),
-
- .sd_cke (SDRAM_CKE ),
- .sd_dq (SDRAM_DQ ),
- .sd_addr (SDRAM_A ),
- .sd_dqm ({SDRAM_DQMH,SDRAM_DQML}),
- .sd_cs_n (SDRAM_nCS ),
- .sd_ba (SDRAM_BA ),
- .sd_we_n (SDRAM_nWE ),
- .sd_ras_n (SDRAM_nRAS ),
- .sd_cas_n (SDRAM_nCAS ),
- .sd_ready (ram_ready )
-);
-
-i2cSlaveTop CMOS
-(
- .clk (clk_32m ),
- .rst (~pll_ready ),
- .sdaIn (i2c_din ),
- .sdaOut (i2c_dout ),
- .scl (i2c_clock )
-);
-
-always @(posedge clk_32m) begin
- if (loader_we) loader_stb <= 1'b1;
- else if (ram_ack) loader_stb <= 1'b0;
-end
-
-assign ram_we = loader_active ? loader_active : core_we_o;
-assign ram_sel = loader_active ? loader_sel : core_sel_o;
-assign ram_address = loader_active ? {loader_addr[23:2],2'b00} : {core_address_out[23:2],2'b00};
-assign ram_stb = loader_active ? loader_stb : core_stb_out;
-assign ram_cyc = loader_active ? loader_stb : core_stb_out;
-assign ram_data_in = loader_active ? loader_data : core_data_out;
-assign core_ack_in = loader_active ? 1'b0 : ram_ack;
-
-endmodule
+);
+
+assign {UART_RTS, UART_TXD, UART_DTR} = 0;
+assign {DDRAM_CLK, DDRAM_BURSTCNT, DDRAM_ADDR, DDRAM_DIN, DDRAM_BE, DDRAM_RD, DDRAM_WE} = 0;
+assign {SD_SCK, SD_MOSI, SD_CS} = 'Z;
+
+assign LED_USER = 0;
+assign LED_DISK = 0;
+assign LED_POWER = 0;
+
+assign VIDEO_ARX = status[1] ? 8'd16 : 8'd4;
+assign VIDEO_ARY = status[1] ? 8'd9 : 8'd3;
+
+`include "build_id.v"
+localparam CONF_STR = {
+ "ARCHIE;;",
+ "J,Fire;",
+ "V,v",`BUILD_DATE
+};
+
+//////////////////// CLOCKS ///////////////////
+
+/*
+ 24, 16, 12, 8
+ 25, 16.6, 12.6, 8.3
+ 36, 24, 18, 12
+ 24, 16, 12, 8
+*/
+
+vpll vpll
+(
+ .refclk(CLK_50M),
+ .rst(reset),
+ .reconfig_to_pll(reconfig_to_pll),
+ .reconfig_from_pll(reconfig_from_pll),
+ .outclk_0(CLK_VIDEO)
+);
+
+wire [63:0] reconfig_to_pll;
+wire [63:0] reconfig_from_pll;
+wire cfg_waitrequest;
+reg cfg_write;
+reg [5:0] cfg_address;
+reg [31:0] cfg_writedata;
+
+altera_pll_reconfig_top #(
+ .device_family ("Cyclone V"),
+ .ENABLE_MIF (1),
+ .MIF_FILE_NAME ("vpll_conf.mif"),
+ .ENABLE_BYTEENABLE (0),
+ .BYTEENABLE_WIDTH (4),
+ .RECONFIG_ADDR_WIDTH (6),
+ .RECONFIG_DATA_WIDTH (32),
+ .reconf_width (64),
+ .WAIT_FOR_LOCK (1)
+) vpll_cfg (
+ .mgmt_reset (reset),
+ .mgmt_clk (CLK_50M),
+ .mgmt_write (cfg_write),
+ .mgmt_address (cfg_address),
+ .mgmt_writedata (cfg_writedata),
+ .mgmt_waitrequest (cfg_waitrequest),
+ .reconfig_to_pll (reconfig_to_pll),
+ .reconfig_from_pll (reconfig_from_pll)
+);
+
+always @(posedge CLK_50M) begin
+ reg [2:0] cfg_state = 0;
+ reg cfg_start = 0;
+ reg [1:0] cfg_cur;
+
+ if(reset) cfg_start <= 1;
+ else begin
+ cfg_cur <= pixbaseclk_select;
+ if(cfg_cur != pixbaseclk_select) cfg_start = 1;
+
+ if(!cfg_waitrequest) begin
+ cfg_write <= 0;
+ case(cfg_state)
+ 0: if(cfg_start) begin
+ cfg_cur <= pixbaseclk_select;
+ cfg_start <= 0;
+ cfg_state <= cfg_state + 1'd1;
+ end
+ 1: begin
+ cfg_address <= 31;
+ cfg_writedata <= {cfg_cur,6'b000000};
+ cfg_write <= 1;
+ cfg_state <= cfg_state + 1'd1;
+ end
+ 2: cfg_state <= cfg_state + 1'd1;
+ 3: begin
+ cfg_address <= 2;
+ cfg_writedata <= 0;
+ cfg_write <= 1;
+ cfg_state <= cfg_state + 1'd1;
+ end
+ 4: cfg_state <= cfg_state + 1'd1;
+ 5: cfg_state <= 0;
+ endcase
+ end
+ end
+end
+
+
+wire pll_ready;
+wire clk_128m;
+wire clk_32m;
+
+pll pll
+(
+ .refclk(CLK_50M),
+ .outclk_0(clk_128m),
+ .outclk_1(SDRAM_CLK),
+ .outclk_2(clk_32m),
+ .locked(pll_ready)
+);
+
+wire reset = buttons[1] | ~initReset_n;
+
+reg initReset_n = 0;
+always @(posedge clk_32m) if(loader_active) initReset_n <= 1;
+
+////////////////// HPS I/O ///////////////////
+wire [15:0] joyA;
+wire [15:0] joyB;
+wire [1:0] buttons;
+wire [31:0] status;
+
+wire [7:0] kbd_out_data;
+wire kbd_out_strobe;
+wire [7:0] kbd_in_data;
+wire kbd_in_strobe;
+
+wire [31:0] fdc_status_out;
+wire [31:0] fdc_status_in;
+wire [7:0] fdc_data_in;
+wire fdc_data_in_strobe;
+
+wire loader_active;
+wire loader_we;
+reg loader_stb = 0;
+wire [3:0] loader_sel;
+wire [24:0] loader_addr;
+wire [31:0] loader_data;
+
+hps_io #(.STRLEN($size(CONF_STR)>>3)) hps_io
+(
+ .clk_sys(clk_32m),
+ .HPS_BUS(HPS_BUS),
+
+ .conf_str(CONF_STR),
+
+ .joystick_0(joyA),
+ .joystick_1(joyB),
+
+ .buttons(buttons),
+ .status(status),
+
+ .kbd_out_data(kbd_out_data),
+ .kbd_out_strobe(kbd_out_strobe),
+ .kbd_in_data(kbd_in_data),
+ .kbd_in_strobe(kbd_in_strobe),
+
+ .fdc_status_out(fdc_status_out),
+ .fdc_status_in(fdc_status_in),
+ .fdc_data_in_strobe(fdc_data_in_strobe),
+ .fdc_data_in(fdc_data_in),
+
+ .ioctl_wr(loader_we),
+ .ioctl_addr(loader_addr),
+ .ioctl_dout(loader_data),
+ .ioctl_download(loader_active),
+ .ioctl_sel(loader_sel),
+
+ .sd_lba(0),
+ .sd_rd(0),
+ .sd_wr(0),
+ .sd_conf(0),
+ .sd_buff_din(0),
+ .ioctl_wait(loader_stb)
+);
+
+assign AUDIO_S = 0;
+assign AUDIO_MIX = status[3:2];
+
+wire [3:0] core_r, core_g, core_b;
+wire core_hs, core_vs;
+
+assign VGA_R = {core_r,core_r};
+assign VGA_G = {core_g,core_g};
+assign VGA_B = {core_b,core_b};
+assign VGA_HS = ~core_hs;
+assign VGA_VS = ~core_vs;
+assign VGA_F1 = 0;
+assign VGA_SL = 0;
+
+wire core_ack_in;
+wire core_stb_out;
+wire core_cyc_out;
+wire core_we_o;
+wire [3:0] core_sel_o;
+wire [2:0] core_cti_o;
+wire [31:0] core_data_in, core_data_out;
+wire [31:0] ram_data_in;
+wire [26:2] core_address_out;
+
+wire [1:0] pixbaseclk_select;
+
+wire i2c_din, i2c_dout, i2c_clock;
+
+archimedes_top ARCHIMEDES
+(
+ .CLKCPU_I ( clk_32m ),
+ .CLKPIX_I ( CLK_VIDEO ),
+ .CEPIX_O ( CE_PIXEL ),
+
+ .RESET_I (~ram_ready | loader_active | reset),
+
+ .MEM_ACK_I ( core_ack_in ),
+ .MEM_DAT_I ( core_data_in ),
+ .MEM_DAT_O ( core_data_out ),
+ .MEM_ADDR_O ( core_address_out),
+ .MEM_STB_O ( core_stb_out ),
+ .MEM_CYC_O ( core_cyc_out ),
+ .MEM_SEL_O ( core_sel_o ),
+ .MEM_WE_O ( core_we_o ),
+ .MEM_CTI_O ( core_cti_o ),
+
+ .HSYNC ( core_hs ),
+ .VSYNC ( core_vs ),
+
+ .VIDEO_R ( core_r ),
+ .VIDEO_G ( core_g ),
+ .VIDEO_B ( core_b ),
+ .VIDEO_EN ( VGA_DE ),
+
+ .AUDIO_L ( AUDIO_L ),
+ .AUDIO_R ( AUDIO_R ),
+
+ .I2C_DOUT ( i2c_din ),
+ .I2C_DIN ( i2c_dout ),
+ .I2C_CLOCK ( i2c_clock ),
+
+ .DEBUG_LED ( ),
+
+ .FDC_DIO_STATUS_OUT ( fdc_status_out ),
+ .FDC_DIO_STATUS_IN ( fdc_status_in ),
+ .FDC_DIN_STROBE ( fdc_data_in_strobe ),
+ .FDC_DIN ( fdc_data_in ),
+
+ .KBD_OUT_DATA ( kbd_out_data ),
+ .KBD_OUT_STROBE ( kbd_out_strobe ),
+ .KBD_IN_DATA ( kbd_in_data ),
+ .KBD_IN_STROBE ( kbd_in_strobe ),
+
+ .JOYSTICK0 (~{joyA[4], joyA[0],joyA[1],joyA[2],joyA[3]}),
+ .JOYSTICK1 (~{joyB[4], joyB[0],joyB[1],joyB[2],joyB[3]}),
+ .VIDBASECLK_O ( pixbaseclk_select ),
+ .VIDSYNCPOL_O ( )
+);
+
+wire ram_ack;
+wire ram_stb;
+wire ram_cyc;
+wire ram_we;
+wire [3:0] ram_sel;
+wire [25:0] ram_address;
+wire ram_ready;
+
+sdram_top SDRAM
+(
+ // wishbone interface
+ .wb_clk (clk_32m ),
+ .wb_stb (ram_stb ),
+ .wb_cyc (ram_cyc ),
+ .wb_we (ram_we ),
+ .wb_ack (ram_ack ),
+
+ .wb_sel (ram_sel ),
+ .wb_adr (ram_address ),
+ .wb_dat_i (ram_data_in ),
+ .wb_dat_o (core_data_in),
+ .wb_cti (core_cti_o ),
+
+ // SDRAM Interface
+ .sd_clk (clk_128m ),
+ .sd_rst (~pll_ready ),
+
+ .sd_cke (SDRAM_CKE ),
+ .sd_dq (SDRAM_DQ ),
+ .sd_addr (SDRAM_A ),
+ .sd_dqm ({SDRAM_DQMH,SDRAM_DQML}),
+ .sd_cs_n (SDRAM_nCS ),
+ .sd_ba (SDRAM_BA ),
+ .sd_we_n (SDRAM_nWE ),
+ .sd_ras_n (SDRAM_nRAS ),
+ .sd_cas_n (SDRAM_nCAS ),
+ .sd_ready (ram_ready )
+);
+
+i2cSlaveTop CMOS
+(
+ .clk (clk_32m ),
+ .rst (~pll_ready ),
+ .sdaIn (i2c_din ),
+ .sdaOut (i2c_dout ),
+ .scl (i2c_clock )
+);
+
+always @(posedge clk_32m) begin
+ if (loader_we) loader_stb <= 1'b1;
+ else if (ram_ack) loader_stb <= 1'b0;
+end
+
+assign ram_we = loader_active ? loader_active : core_we_o;
+assign ram_sel = loader_active ? loader_sel : core_sel_o;
+assign ram_address = loader_active ? {loader_addr[23:2],2'b00} : {core_address_out[23:2],2'b00};
+assign ram_stb = loader_active ? loader_stb : core_stb_out;
+assign ram_cyc = loader_active ? loader_stb : core_stb_out;
+assign ram_data_in = loader_active ? loader_data : core_data_out;
+assign core_ack_in = loader_active ? 1'b0 : ram_ack;
+
+endmodule
diff --git a/sys/pll.qip b/sys/pll.qip
index 411167f..b08e56b 100644
--- a/sys/pll.qip
+++ b/sys/pll.qip
@@ -35,8 +35,8 @@ set_global_assignment -entity "pll_0002" -library "pll" -name IP_COMPONENT_PARAM
set_global_assignment -entity "pll_0002" -library "pll" -name IP_COMPONENT_PARAMETER "b3BlcmF0aW9uX21vZGU=::ZGlyZWN0::b3BlcmF0aW9uX21vZGU="
set_global_assignment -entity "pll_0002" -library "pll" -name IP_COMPONENT_PARAMETER "Z3VpX3VzZV9sb2NrZWQ=::dHJ1ZQ==::RW5hYmxlIGxvY2tlZCBvdXRwdXQgcG9ydA=="
set_global_assignment -entity "pll_0002" -library "pll" -name IP_COMPONENT_PARAMETER "Z3VpX2VuX2Fkdl9wYXJhbXM=::ZmFsc2U=::RW5hYmxlIHBoeXNpY2FsIG91dHB1dCBjbG9jayBwYXJhbWV0ZXJz"
-set_global_assignment -entity "pll_0002" -library "pll" -name IP_COMPONENT_PARAMETER "Z3VpX251bWJlcl9vZl9jbG9ja3M=::NA==::TnVtYmVyIE9mIENsb2Nrcw=="
-set_global_assignment -entity "pll_0002" -library "pll" -name IP_COMPONENT_PARAMETER "bnVtYmVyX29mX2Nsb2Nrcw==::NA==::bnVtYmVyX29mX2Nsb2Nrcw=="
+set_global_assignment -entity "pll_0002" -library "pll" -name IP_COMPONENT_PARAMETER "Z3VpX251bWJlcl9vZl9jbG9ja3M=::Mw==::TnVtYmVyIE9mIENsb2Nrcw=="
+set_global_assignment -entity "pll_0002" -library "pll" -name IP_COMPONENT_PARAMETER "bnVtYmVyX29mX2Nsb2Nrcw==::Mw==::bnVtYmVyX29mX2Nsb2Nrcw=="
set_global_assignment -entity "pll_0002" -library "pll" -name IP_COMPONENT_PARAMETER "Z3VpX211bHRpcGx5X2ZhY3Rvcg==::MQ==::TXVsdGlwbHkgRmFjdG9yIChNLUNvdW50ZXIp"
set_global_assignment -entity "pll_0002" -library "pll" -name IP_COMPONENT_PARAMETER "Z3VpX2ZyYWNfbXVsdGlwbHlfZmFjdG9y::MQ==::RnJhY3Rpb25hbCBNdWx0aXBseSBGYWN0b3IgKEsp"
set_global_assignment -entity "pll_0002" -library "pll" -name IP_COMPONENT_PARAMETER "Z3VpX2RpdmlkZV9mYWN0b3Jfbg==::MQ==::RGl2aWRlIEZhY3RvciAoTi1Db3VudGVyKQ=="
@@ -44,7 +44,7 @@ set_global_assignment -entity "pll_0002" -library "pll" -name IP_COMPONENT_PARAM
set_global_assignment -entity "pll_0002" -library "pll" -name IP_COMPONENT_PARAMETER "Z3VpX291dHB1dF9jbG9ja19mcmVxdWVuY3kw::MTI4LjA=::RGVzaXJlZCBGcmVxdWVuY3k="
set_global_assignment -entity "pll_0002" -library "pll" -name IP_COMPONENT_PARAMETER "Z3VpX2RpdmlkZV9mYWN0b3JfYzA=::MQ==::RGl2aWRlIEZhY3RvciAoQy1Db3VudGVyKQ=="
set_global_assignment -entity "pll_0002" -library "pll" -name IP_COMPONENT_PARAMETER "Z3VpX2FjdHVhbF9tdWx0aXBseV9mYWN0b3Iw::MTc=::QWN0dWFsIE11bHRpcGx5IEZhY3Rvcg=="
-set_global_assignment -entity "pll_0002" -library "pll" -name IP_COMPONENT_PARAMETER "Z3VpX2FjdHVhbF9mcmFjX211bHRpcGx5X2ZhY3RvcjA=::Mzk1MTM2ODAyMw==::QWN0dWFsIEZyYWN0aW9uYWwgTXVsdGlwbHkgRmFjdG9yIChLKQ=="
+set_global_assignment -entity "pll_0002" -library "pll" -name IP_COMPONENT_PARAMETER "Z3VpX2FjdHVhbF9mcmFjX211bHRpcGx5X2ZhY3RvcjA=::Mzk1MTM2OTgyNg==::QWN0dWFsIEZyYWN0aW9uYWwgTXVsdGlwbHkgRmFjdG9yIChLKQ=="
set_global_assignment -entity "pll_0002" -library "pll" -name IP_COMPONENT_PARAMETER "Z3VpX2FjdHVhbF9kaXZpZGVfZmFjdG9yMA==::Nw==::QWN0dWFsIERpdmlkZSBGYWN0b3I="
set_global_assignment -entity "pll_0002" -library "pll" -name IP_COMPONENT_PARAMETER "Z3VpX2FjdHVhbF9vdXRwdXRfY2xvY2tfZnJlcXVlbmN5MA==::MCBNSHo=::QWN0dWFsIEZyZXF1ZW5jeQ=="
set_global_assignment -entity "pll_0002" -library "pll" -name IP_COMPONENT_PARAMETER "Z3VpX3BzX3VuaXRzMA==::cHM=::UGhhc2UgU2hpZnQgdW5pdHM="
@@ -56,7 +56,7 @@ set_global_assignment -entity "pll_0002" -library "pll" -name IP_COMPONENT_PARAM
set_global_assignment -entity "pll_0002" -library "pll" -name IP_COMPONENT_PARAMETER "Z3VpX291dHB1dF9jbG9ja19mcmVxdWVuY3kx::MTI4LjA=::RGVzaXJlZCBGcmVxdWVuY3k="
set_global_assignment -entity "pll_0002" -library "pll" -name IP_COMPONENT_PARAMETER "Z3VpX2RpdmlkZV9mYWN0b3JfYzE=::MQ==::RGl2aWRlIEZhY3RvciAoQy1Db3VudGVyKQ=="
set_global_assignment -entity "pll_0002" -library "pll" -name IP_COMPONENT_PARAMETER "Z3VpX2FjdHVhbF9tdWx0aXBseV9mYWN0b3Ix::MTc=::QWN0dWFsIE11bHRpcGx5IEZhY3Rvcg=="
-set_global_assignment -entity "pll_0002" -library "pll" -name IP_COMPONENT_PARAMETER "Z3VpX2FjdHVhbF9mcmFjX211bHRpcGx5X2ZhY3RvcjE=::Mzk1MTM2ODAyMw==::QWN0dWFsIEZyYWN0aW9uYWwgTXVsdGlwbHkgRmFjdG9yIChLKQ=="
+set_global_assignment -entity "pll_0002" -library "pll" -name IP_COMPONENT_PARAMETER "Z3VpX2FjdHVhbF9mcmFjX211bHRpcGx5X2ZhY3RvcjE=::Mzk1MTM2OTgyNg==::QWN0dWFsIEZyYWN0aW9uYWwgTXVsdGlwbHkgRmFjdG9yIChLKQ=="
set_global_assignment -entity "pll_0002" -library "pll" -name IP_COMPONENT_PARAMETER "Z3VpX2FjdHVhbF9kaXZpZGVfZmFjdG9yMQ==::Nw==::QWN0dWFsIERpdmlkZSBGYWN0b3I="
set_global_assignment -entity "pll_0002" -library "pll" -name IP_COMPONENT_PARAMETER "Z3VpX2FjdHVhbF9vdXRwdXRfY2xvY2tfZnJlcXVlbmN5MQ==::MCBNSHo=::QWN0dWFsIEZyZXF1ZW5jeQ=="
set_global_assignment -entity "pll_0002" -library "pll" -name IP_COMPONENT_PARAMETER "Z3VpX3BzX3VuaXRzMQ==::cHM=::UGhhc2UgU2hpZnQgdW5pdHM="
@@ -68,7 +68,7 @@ set_global_assignment -entity "pll_0002" -library "pll" -name IP_COMPONENT_PARAM
set_global_assignment -entity "pll_0002" -library "pll" -name IP_COMPONENT_PARAMETER "Z3VpX291dHB1dF9jbG9ja19mcmVxdWVuY3ky::MzIuMA==::RGVzaXJlZCBGcmVxdWVuY3k="
set_global_assignment -entity "pll_0002" -library "pll" -name IP_COMPONENT_PARAMETER "Z3VpX2RpdmlkZV9mYWN0b3JfYzI=::MQ==::RGl2aWRlIEZhY3RvciAoQy1Db3VudGVyKQ=="
set_global_assignment -entity "pll_0002" -library "pll" -name IP_COMPONENT_PARAMETER "Z3VpX2FjdHVhbF9tdWx0aXBseV9mYWN0b3Iy::MTc=::QWN0dWFsIE11bHRpcGx5IEZhY3Rvcg=="
-set_global_assignment -entity "pll_0002" -library "pll" -name IP_COMPONENT_PARAMETER "Z3VpX2FjdHVhbF9mcmFjX211bHRpcGx5X2ZhY3RvcjI=::Mzk1MTM2ODAyMw==::QWN0dWFsIEZyYWN0aW9uYWwgTXVsdGlwbHkgRmFjdG9yIChLKQ=="
+set_global_assignment -entity "pll_0002" -library "pll" -name IP_COMPONENT_PARAMETER "Z3VpX2FjdHVhbF9mcmFjX211bHRpcGx5X2ZhY3RvcjI=::Mzk1MTM2OTgyNg==::QWN0dWFsIEZyYWN0aW9uYWwgTXVsdGlwbHkgRmFjdG9yIChLKQ=="
set_global_assignment -entity "pll_0002" -library "pll" -name IP_COMPONENT_PARAMETER "Z3VpX2FjdHVhbF9kaXZpZGVfZmFjdG9yMg==::Mjg=::QWN0dWFsIERpdmlkZSBGYWN0b3I="
set_global_assignment -entity "pll_0002" -library "pll" -name IP_COMPONENT_PARAMETER "Z3VpX2FjdHVhbF9vdXRwdXRfY2xvY2tfZnJlcXVlbmN5Mg==::MCBNSHo=::QWN0dWFsIEZyZXF1ZW5jeQ=="
set_global_assignment -entity "pll_0002" -library "pll" -name IP_COMPONENT_PARAMETER "Z3VpX3BzX3VuaXRzMg==::cHM=::UGhhc2UgU2hpZnQgdW5pdHM="
@@ -256,16 +256,16 @@ set_global_assignment -entity "pll_0002" -library "pll" -name IP_COMPONENT_PARAM
set_global_assignment -entity "pll_0002" -library "pll" -name IP_COMPONENT_PARAMETER "Z3VpX3BoYXNlX3NoaWZ0X2RlZzE3::MC4w::UGhhc2UgU2hpZnQ="
set_global_assignment -entity "pll_0002" -library "pll" -name IP_COMPONENT_PARAMETER "Z3VpX2FjdHVhbF9waGFzZV9zaGlmdDE3::MA==::QWN0dWFsIFBoYXNlIFNoaWZ0"
set_global_assignment -entity "pll_0002" -library "pll" -name IP_COMPONENT_PARAMETER "Z3VpX2R1dHlfY3ljbGUxNw==::NTA=::RHV0eSBDeWNsZQ=="
-set_global_assignment -entity "pll_0002" -library "pll" -name IP_COMPONENT_PARAMETER "b3V0cHV0X2Nsb2NrX2ZyZXF1ZW5jeTA=::MTI3Ljk5OTk5OSBNSHo=::b3V0cHV0X2Nsb2NrX2ZyZXF1ZW5jeTA="
+set_global_assignment -entity "pll_0002" -library "pll" -name IP_COMPONENT_PARAMETER "b3V0cHV0X2Nsb2NrX2ZyZXF1ZW5jeTA=::MTI4LjAwMDAwMCBNSHo=::b3V0cHV0X2Nsb2NrX2ZyZXF1ZW5jeTA="
set_global_assignment -entity "pll_0002" -library "pll" -name IP_COMPONENT_PARAMETER "cGhhc2Vfc2hpZnQw::MCBwcw==::cGhhc2Vfc2hpZnQw"
set_global_assignment -entity "pll_0002" -library "pll" -name IP_COMPONENT_PARAMETER "ZHV0eV9jeWNsZTA=::NTA=::ZHV0eV9jeWNsZTA="
-set_global_assignment -entity "pll_0002" -library "pll" -name IP_COMPONENT_PARAMETER "b3V0cHV0X2Nsb2NrX2ZyZXF1ZW5jeTE=::MTI3Ljk5OTk5OCBNSHo=::b3V0cHV0X2Nsb2NrX2ZyZXF1ZW5jeTE="
+set_global_assignment -entity "pll_0002" -library "pll" -name IP_COMPONENT_PARAMETER "b3V0cHV0X2Nsb2NrX2ZyZXF1ZW5jeTE=::MTI4LjAwMDAwMCBNSHo=::b3V0cHV0X2Nsb2NrX2ZyZXF1ZW5jeTE="
set_global_assignment -entity "pll_0002" -library "pll" -name IP_COMPONENT_PARAMETER "cGhhc2Vfc2hpZnQx::LTQzMjQgcHM=::cGhhc2Vfc2hpZnQx"
set_global_assignment -entity "pll_0002" -library "pll" -name IP_COMPONENT_PARAMETER "ZHV0eV9jeWNsZTE=::NTA=::ZHV0eV9jeWNsZTE="
-set_global_assignment -entity "pll_0002" -library "pll" -name IP_COMPONENT_PARAMETER "b3V0cHV0X2Nsb2NrX2ZyZXF1ZW5jeTI=::MzEuOTk5OTk5IE1Ieg==::b3V0cHV0X2Nsb2NrX2ZyZXF1ZW5jeTI="
+set_global_assignment -entity "pll_0002" -library "pll" -name IP_COMPONENT_PARAMETER "b3V0cHV0X2Nsb2NrX2ZyZXF1ZW5jeTI=::MzIuMDAwMDAwIE1Ieg==::b3V0cHV0X2Nsb2NrX2ZyZXF1ZW5jeTI="
set_global_assignment -entity "pll_0002" -library "pll" -name IP_COMPONENT_PARAMETER "cGhhc2Vfc2hpZnQy::MCBwcw==::cGhhc2Vfc2hpZnQy"
set_global_assignment -entity "pll_0002" -library "pll" -name IP_COMPONENT_PARAMETER "ZHV0eV9jeWNsZTI=::NTA=::ZHV0eV9jeWNsZTI="
-set_global_assignment -entity "pll_0002" -library "pll" -name IP_COMPONENT_PARAMETER "b3V0cHV0X2Nsb2NrX2ZyZXF1ZW5jeTM=::NDkuNzc3Nzc2IE1Ieg==::b3V0cHV0X2Nsb2NrX2ZyZXF1ZW5jeTM="
+set_global_assignment -entity "pll_0002" -library "pll" -name IP_COMPONENT_PARAMETER "b3V0cHV0X2Nsb2NrX2ZyZXF1ZW5jeTM=::MCBNSHo=::b3V0cHV0X2Nsb2NrX2ZyZXF1ZW5jeTM="
set_global_assignment -entity "pll_0002" -library "pll" -name IP_COMPONENT_PARAMETER "cGhhc2Vfc2hpZnQz::MCBwcw==::cGhhc2Vfc2hpZnQz"
set_global_assignment -entity "pll_0002" -library "pll" -name IP_COMPONENT_PARAMETER "ZHV0eV9jeWNsZTM=::NTA=::ZHV0eV9jeWNsZTM="
set_global_assignment -entity "pll_0002" -library "pll" -name IP_COMPONENT_PARAMETER "b3V0cHV0X2Nsb2NrX2ZyZXF1ZW5jeTQ=::MCBNSHo=::b3V0cHV0X2Nsb2NrX2ZyZXF1ZW5jeTQ="
@@ -317,8 +317,8 @@ set_global_assignment -entity "pll_0002" -library "pll" -name IP_COMPONENT_PARAM
set_global_assignment -entity "pll_0002" -library "pll" -name IP_COMPONENT_PARAMETER "Z3VpX2VuX3Bob3V0X3BvcnRz::ZmFsc2U=::RW5hYmxlIGFjY2VzcyB0byBQTEwgRFBBIG91dHB1dCBwb3J0"
set_global_assignment -entity "pll_0002" -library "pll" -name IP_COMPONENT_PARAMETER "cGxsX3R5cGU=::R2VuZXJhbA==::UExMIFRZUEU="
set_global_assignment -entity "pll_0002" -library "pll" -name IP_COMPONENT_PARAMETER "cGxsX3N1YnR5cGU=::R2VuZXJhbA==::UExMIFNVQlRZUEU="
-set_global_assignment -entity "pll_0002" -library "pll" -name IP_COMPONENT_PARAMETER "Z3VpX3BhcmFtZXRlcl9saXN0::TS1Db3VudGVyIEhpIERpdmlkZSxNLUNvdW50ZXIgTG93IERpdmlkZSxOLUNvdW50ZXIgSGkgRGl2aWRlLE4tQ291bnRlciBMb3cgRGl2aWRlLE0tQ291bnRlciBCeXBhc3MgRW5hYmxlLE4tQ291bnRlciBCeXBhc3MgRW5hYmxlLE0tQ291bnRlciBPZGQgRGl2aWRlIEVuYWJsZSxOLUNvdW50ZXIgT2RkIERpdmlkZSBFbmFibGUsQy1Db3VudGVyLTAgSGkgRGl2aWRlLEMtQ291bnRlci0wIExvdyBEaXZpZGUsQy1Db3VudGVyLTAgQ29hcnNlIFBoYXNlIFNoaWZ0LEMtQ291bnRlci0wIFZDTyBQaGFzZSBUYXAsQy1Db3VudGVyLTAgSW5wdXQgU291cmNlLEMtQ291bnRlci0wIEJ5cGFzcyBFbmFibGUsQy1Db3VudGVyLTAgT2RkIERpdmlkZSBFbmFibGUsQy1Db3VudGVyLTEgSGkgRGl2aWRlLEMtQ291bnRlci0xIExvdyBEaXZpZGUsQy1Db3VudGVyLTEgQ29hcnNlIFBoYXNlIFNoaWZ0LEMtQ291bnRlci0xIFZDTyBQaGFzZSBUYXAsQy1Db3VudGVyLTEgSW5wdXQgU291cmNlLEMtQ291bnRlci0xIEJ5cGFzcyBFbmFibGUsQy1Db3VudGVyLTEgT2RkIERpdmlkZSBFbmFibGUsQy1Db3VudGVyLTIgSGkgRGl2aWRlLEMtQ291bnRlci0yIExvdyBEaXZpZGUsQy1Db3VudGVyLTIgQ29hcnNlIFBoYXNlIFNoaWZ0LEMtQ291bnRlci0yIFZDTyBQaGFzZSBUYXAsQy1Db3VudGVyLTIgSW5wdXQgU291cmNlLEMtQ291bnRlci0yIEJ5cGFzcyBFbmFibGUsQy1Db3VudGVyLTIgT2RkIERpdmlkZSBFbmFibGUsQy1Db3VudGVyLTMgSGkgRGl2aWRlLEMtQ291bnRlci0zIExvdyBEaXZpZGUsQy1Db3VudGVyLTMgQ29hcnNlIFBoYXNlIFNoaWZ0LEMtQ291bnRlci0zIFZDTyBQaGFzZSBUYXAsQy1Db3VudGVyLTMgSW5wdXQgU291cmNlLEMtQ291bnRlci0zIEJ5cGFzcyBFbmFibGUsQy1Db3VudGVyLTMgT2RkIERpdmlkZSBFbmFibGUsVkNPIFBvc3QgRGl2aWRlIENvdW50ZXIgRW5hYmxlLENoYXJnZSBQdW1wIGN1cnJlbnQgKHVBKSxMb29wIEZpbHRlciBCYW5kd2lkdGggUmVzaXN0b3IgKE9obXMpICxQTEwgT3V0cHV0IFZDTyBGcmVxdWVuY3ksSy1GcmFjdGlvbmFsIERpdmlzaW9uIFZhbHVlIChEU00pLEZlZWRiYWNrIENsb2NrIFR5cGUsRmVlZGJhY2sgQ2xvY2sgTVVYIDEsRmVlZGJhY2sgQ2xvY2sgTVVYIDIsTSBDb3VudGVyIFNvdXJjZSBNVVgsUExMIEF1dG8gUmVzZXQ=::UGFyYW1ldGVyIE5hbWVz"
-set_global_assignment -entity "pll_0002" -library "pll" -name IP_COMPONENT_PARAMETER "Z3VpX3BhcmFtZXRlcl92YWx1ZXM=::OSw4LDI1NiwyNTYsZmFsc2UsdHJ1ZSx0cnVlLGZhbHNlLDQsMywxLDAscGhfbXV4X2NsayxmYWxzZSx0cnVlLDQsMyw0LDEscGhfbXV4X2NsayxmYWxzZSx0cnVlLDE0LDE0LDEsMCxwaF9tdXhfY2xrLGZhbHNlLGZhbHNlLDksOSwxLDAscGhfbXV4X2NsayxmYWxzZSxmYWxzZSwxLDIwLDQwMDAsODk1Ljk5OTk3OCBNSHosMzk1MTM2ODAyMyxub25lLGdsYixtX2NudCxwaF9tdXhfY2xrLHRydWU=::UGFyYW1ldGVyIFZhbHVlcw=="
+set_global_assignment -entity "pll_0002" -library "pll" -name IP_COMPONENT_PARAMETER "Z3VpX3BhcmFtZXRlcl9saXN0::TS1Db3VudGVyIEhpIERpdmlkZSxNLUNvdW50ZXIgTG93IERpdmlkZSxOLUNvdW50ZXIgSGkgRGl2aWRlLE4tQ291bnRlciBMb3cgRGl2aWRlLE0tQ291bnRlciBCeXBhc3MgRW5hYmxlLE4tQ291bnRlciBCeXBhc3MgRW5hYmxlLE0tQ291bnRlciBPZGQgRGl2aWRlIEVuYWJsZSxOLUNvdW50ZXIgT2RkIERpdmlkZSBFbmFibGUsQy1Db3VudGVyLTAgSGkgRGl2aWRlLEMtQ291bnRlci0wIExvdyBEaXZpZGUsQy1Db3VudGVyLTAgQ29hcnNlIFBoYXNlIFNoaWZ0LEMtQ291bnRlci0wIFZDTyBQaGFzZSBUYXAsQy1Db3VudGVyLTAgSW5wdXQgU291cmNlLEMtQ291bnRlci0wIEJ5cGFzcyBFbmFibGUsQy1Db3VudGVyLTAgT2RkIERpdmlkZSBFbmFibGUsQy1Db3VudGVyLTEgSGkgRGl2aWRlLEMtQ291bnRlci0xIExvdyBEaXZpZGUsQy1Db3VudGVyLTEgQ29hcnNlIFBoYXNlIFNoaWZ0LEMtQ291bnRlci0xIFZDTyBQaGFzZSBUYXAsQy1Db3VudGVyLTEgSW5wdXQgU291cmNlLEMtQ291bnRlci0xIEJ5cGFzcyBFbmFibGUsQy1Db3VudGVyLTEgT2RkIERpdmlkZSBFbmFibGUsQy1Db3VudGVyLTIgSGkgRGl2aWRlLEMtQ291bnRlci0yIExvdyBEaXZpZGUsQy1Db3VudGVyLTIgQ29hcnNlIFBoYXNlIFNoaWZ0LEMtQ291bnRlci0yIFZDTyBQaGFzZSBUYXAsQy1Db3VudGVyLTIgSW5wdXQgU291cmNlLEMtQ291bnRlci0yIEJ5cGFzcyBFbmFibGUsQy1Db3VudGVyLTIgT2RkIERpdmlkZSBFbmFibGUsVkNPIFBvc3QgRGl2aWRlIENvdW50ZXIgRW5hYmxlLENoYXJnZSBQdW1wIGN1cnJlbnQgKHVBKSxMb29wIEZpbHRlciBCYW5kd2lkdGggUmVzaXN0b3IgKE9obXMpICxQTEwgT3V0cHV0IFZDTyBGcmVxdWVuY3ksSy1GcmFjdGlvbmFsIERpdmlzaW9uIFZhbHVlIChEU00pLEZlZWRiYWNrIENsb2NrIFR5cGUsRmVlZGJhY2sgQ2xvY2sgTVVYIDEsRmVlZGJhY2sgQ2xvY2sgTVVYIDIsTSBDb3VudGVyIFNvdXJjZSBNVVgsUExMIEF1dG8gUmVzZXQ=::UGFyYW1ldGVyIE5hbWVz"
+set_global_assignment -entity "pll_0002" -library "pll" -name IP_COMPONENT_PARAMETER "Z3VpX3BhcmFtZXRlcl92YWx1ZXM=::OSw4LDI1NiwyNTYsZmFsc2UsdHJ1ZSx0cnVlLGZhbHNlLDQsMywxLDAscGhfbXV4X2NsayxmYWxzZSx0cnVlLDQsMyw0LDEscGhfbXV4X2NsayxmYWxzZSx0cnVlLDE0LDE0LDEsMCxwaF9tdXhfY2xrLGZhbHNlLGZhbHNlLDEsMjAsNDAwMCw4OTUuOTk5OTk5IE1IeiwzOTUxMzY5ODI2LG5vbmUsZ2xiLG1fY250LHBoX211eF9jbGssdHJ1ZQ==::UGFyYW1ldGVyIFZhbHVlcw=="
set_global_assignment -entity "pll_0002" -library "pll" -name IP_COMPONENT_PARAMETER "Z3VpX21pZl9nZW5lcmF0ZQ==::ZmFsc2U=::R2VuZXJhdGUgTUlGIGZpbGU="
set_global_assignment -entity "pll_0002" -library "pll" -name IP_COMPONENT_PARAMETER "Z3VpX2VuYWJsZV9taWZfZHBz::ZmFsc2U=::RW5hYmxlIER5bmFtaWMgUGhhc2UgU2hpZnQgZm9yIE1JRiBzdHJlYW1pbmc="
set_global_assignment -entity "pll_0002" -library "pll" -name IP_COMPONENT_PARAMETER "Z3VpX2Rwc19jbnRy::QzA=::RFBTIENvdW50ZXIgU2VsZWN0aW9u"
diff --git a/sys/pll.v b/sys/pll.v
index 63e648b..d45b14c 100644
--- a/sys/pll.v
+++ b/sys/pll.v
@@ -11,7 +11,6 @@ module pll (
output wire outclk_0, // outclk0.clk
output wire outclk_1, // outclk1.clk
output wire outclk_2, // outclk2.clk
- output wire outclk_3, // outclk3.clk
output wire locked // locked.export
);
@@ -21,7 +20,6 @@ module pll (
.outclk_0 (outclk_0), // outclk0.clk
.outclk_1 (outclk_1), // outclk1.clk
.outclk_2 (outclk_2), // outclk2.clk
- .outclk_3 (outclk_3), // outclk3.clk
.locked (locked) // locked.export
);
@@ -67,7 +65,7 @@ endmodule
// Retrieval info:
// Retrieval info:
// Retrieval info:
-// Retrieval info:
+// Retrieval info:
// Retrieval info:
// Retrieval info:
// Retrieval info:
diff --git a/sys/pll/pll_0002.v b/sys/pll/pll_0002.v
index 28b4167..b843c73 100644
--- a/sys/pll/pll_0002.v
+++ b/sys/pll/pll_0002.v
@@ -16,9 +16,6 @@ module pll_0002(
// interface 'outclk2'
output wire outclk_2,
- // interface 'outclk3'
- output wire outclk_3,
-
// interface 'locked'
output wire locked
);
@@ -27,17 +24,17 @@ module pll_0002(
.fractional_vco_multiplier("true"),
.reference_clock_frequency("50.0 MHz"),
.operation_mode("direct"),
- .number_of_clocks(4),
- .output_clock_frequency0("127.999999 MHz"),
+ .number_of_clocks(3),
+ .output_clock_frequency0("128.000000 MHz"),
.phase_shift0("0 ps"),
.duty_cycle0(50),
- .output_clock_frequency1("127.999998 MHz"),
+ .output_clock_frequency1("128.000000 MHz"),
.phase_shift1("-4324 ps"),
.duty_cycle1(50),
- .output_clock_frequency2("31.999999 MHz"),
+ .output_clock_frequency2("32.000000 MHz"),
.phase_shift2("0 ps"),
.duty_cycle2(50),
- .output_clock_frequency3("49.777776 MHz"),
+ .output_clock_frequency3("0 MHz"),
.phase_shift3("0 ps"),
.duty_cycle3(50),
.output_clock_frequency4("0 MHz"),
@@ -86,7 +83,7 @@ module pll_0002(
.pll_subtype("General")
) altera_pll_i (
.rst (rst),
- .outclk ({outclk_3, outclk_2, outclk_1, outclk_0}),
+ .outclk ({outclk_2, outclk_1, outclk_0}),
.locked (locked),
.fboutclk ( ),
.fbclk (1'b0),
diff --git a/sys/pll_hdmi_cfg.qip b/sys/pll_hdmi_cfg.qip
index f6447f5..0dcea41 100644
--- a/sys/pll_hdmi_cfg.qip
+++ b/sys/pll_hdmi_cfg.qip
@@ -37,6 +37,7 @@ set_global_assignment -entity "altera_pll_reconfig_top" -library "pll_hdmi_cfg"
set_global_assignment -library "pll_hdmi_cfg" -name VERILOG_FILE [file join $::quartus(qip_path) "pll_hdmi_cfg.v"]
set_global_assignment -library "pll_hdmi_cfg" -name VERILOG_FILE [file join $::quartus(qip_path) "pll_hdmi_cfg/altera_pll_reconfig_top.v"]
+set_global_assignment -library "pll_hdmi_cfg" -name VERILOG_FILE [file join $::quartus(qip_path) "pll_hdmi_cfg/altera_pll_reconfig_mif_reader.v"]
set_global_assignment -library "pll_hdmi_cfg" -name VERILOG_FILE [file join $::quartus(qip_path) "pll_hdmi_cfg/altera_pll_reconfig_core.v"]
set_global_assignment -entity "altera_pll_reconfig_top" -library "pll_hdmi_cfg" -name IP_TOOL_NAME "altera_pll_reconfig"
diff --git a/sys/pll_hdmi_cfg/altera_pll_reconfig_mif_reader.v b/sys/pll_hdmi_cfg/altera_pll_reconfig_mif_reader.v
new file mode 100644
index 0000000..1610cd5
--- /dev/null
+++ b/sys/pll_hdmi_cfg/altera_pll_reconfig_mif_reader.v
@@ -0,0 +1,758 @@
+// (C) 2001-2017 Intel Corporation. All rights reserved.
+// Your use of Intel Corporation's design tools, logic functions and other
+// software and tools, and its AMPP partner logic functions, and any output
+// files any of the foregoing (including device programming or simulation
+// files), and any associated documentation or information are expressly subject
+// to the terms and conditions of the Intel Program License Subscription
+// Agreement, Intel MegaCore Function License Agreement, or other applicable
+// license agreement, including, without limitation, that your use is for the
+// sole purpose of programming logic devices manufactured by Intel and sold by
+// Intel or its authorized distributors. Please refer to the applicable
+// agreement for further details.
+
+
+`timescale 1ps/1ps
+
+module altera_pll_reconfig_mif_reader
+#(
+ parameter RECONFIG_ADDR_WIDTH = 6,
+ parameter RECONFIG_DATA_WIDTH = 32,
+
+ parameter MIF_ADDR_WIDTH = 6,
+
+ parameter ROM_ADDR_WIDTH = 9, // 512 words x
+ parameter ROM_DATA_WIDTH = 32, // 32 bits per word = 20kB
+ parameter ROM_NUM_WORDS = 512, // Default 512 32-bit words = 1 M20K
+
+ parameter DEVICE_FAMILY = "Stratix V",
+ parameter ENABLE_MIF = 0,
+ parameter MIF_FILE_NAME = ""
+) (
+
+ // Inputs
+ input wire mif_clk,
+ input wire mif_rst,
+
+ // Reconfig Module interface for internal register mapping
+ input wire reconfig_busy, // waitrequest
+ input wire [RECONFIG_DATA_WIDTH-1:0] reconfig_read_data,
+ output reg [RECONFIG_DATA_WIDTH-1:0] reconfig_write_data,
+ output reg [RECONFIG_ADDR_WIDTH-1:0] reconfig_addr,
+ output reg reconfig_write,
+ output reg reconfig_read,
+
+ // MIF Controller Interface
+ input wire [ROM_ADDR_WIDTH-1:0] mif_base_addr,
+ input wire mif_start,
+ output wire mif_busy
+
+);
+
+// NOTE: Assumes settings opcodes/registers are continguous and OP_MODE is 0
+
+// ROM Interface ctlr states
+localparam NUM_STATES = 5;
+localparam STATE_REG_WIDTH = 32;
+localparam MIF_IDLE = 32'd0;
+localparam SET_INSTR_ADDR = 32'd1;
+localparam FETCH_INSTR = 32'd2;
+localparam WAIT_FOR_ROM_INSTR = 32'd3;
+localparam STORE_INSTR = 32'd4;
+localparam DECODE_ROM_INSTR = 32'd5;
+localparam SET_DATA_ADDR = 32'd6;
+localparam SET_DATA_ADDR_DLY = 32'd34;
+localparam FETCH_DATA = 32'd7;
+localparam WAIT_FOR_ROM_DATA = 32'd8;
+localparam STORE_DATA = 32'd9;
+localparam SET_INDEX = 32'd35;
+localparam CHANGE_SETTINGS_REG = 32'd10;
+localparam SET_MODE_REG_INFO = 32'd11;
+localparam WAIT_MODE_REG = 32'd12;
+localparam SAVE_MODE_REG = 32'd13;
+localparam SET_WR_MODE = 32'd14;
+localparam WAIT_WRITE_MODE = 32'd15;
+localparam INIT_RECONFIG_PARAMS = 32'd16;
+localparam CHECK_RECONFIG_SETTING = 32'd17;
+localparam WRITE_RECONFIG_SETTING = 32'd18;
+localparam DECREMENT_SETTING_NUM = 32'd19;
+localparam CHECK_C_SETTINGS = 32'd20;
+localparam WRITE_C_SETTINGS = 32'd21;
+localparam DECREMENT_C_NUM = 32'd22;
+localparam CHECK_DPS_SETTINGS = 32'd23;
+localparam WRITE_DPS_SETTINGS = 32'd24;
+localparam DECREMENT_DPS_NUM = 32'd25;
+localparam START_RECONFIG_CHANGE = 32'd26;
+localparam START_RECONFIG_DELAY = 32'd27;
+localparam START_RECONFIG_DELAY2 = 32'd28;
+localparam WAIT_DONE_SIGNAL = 32'd29;
+localparam SET_MODE_REG = 32'd30;
+localparam WRITE_FINAL_MODE = 32'd31;
+localparam WAIT_FINAL_MODE = 32'd32;
+localparam MIF_STREAMING_DONE = 32'd33;
+
+
+// MIF Opcodes
+// Addresses for settings from PLL Reconfig module
+localparam OP_MODE = 6'b000000;
+localparam OP_STATUS = 6'b000001; // Read only
+localparam OP_START = 6'b000010;
+localparam OP_N = 6'b000011;
+localparam OP_M = 6'b000100;
+localparam OP_C_COUNTERS = 6'b000101;
+localparam OP_DPS = 6'b000110;
+localparam OP_DSM = 6'b000111;
+localparam OP_BWCTRL = 6'b001000;
+localparam OP_CP_CURRENT = 6'b001001;
+
+localparam OP_SOM = 6'b111110;
+localparam OP_EOM = 6'b111111;
+
+localparam INVAL_SETTING = 6'b111100;
+
+localparam MODE_WR = 1'b0;
+localparam MODE_POLL = 1'b1;
+
+// Total MIF changeable settings = 8
+// + Total non-MIF changeable settings = 2 (status, start)
+// + StartOfMif, EndOfMif, Invalid = 3
+// = 13 total settings
+localparam NUM_SETTINGS = 6'd13;
+localparam NUM_MIF_SETTINGS = 6'd10; // Mode = 0.. CP_Current=9
+localparam LOG2NUM_SETTINGS = 6; // Consistent with Reconfig addr width
+localparam NUM_C_COUNTERS = 5'd18;
+localparam LOG2NUM_C_COUNTERS = 3'd5;
+localparam NUM_DPS_COUNTERS = 6'd32;
+localparam LOG2NUM_DPS_COUNTERS = 3'd6;
+
+// Reconfig Module parameters
+localparam WAITREQUEST_MODE = 1'b1;
+
+// Control flow registers
+reg [STATE_REG_WIDTH-1:0] mif_curstate;
+reg [STATE_REG_WIDTH-1:0] mif_nextstate;
+wire is_done;
+
+// Internal data registers
+reg [ROM_ADDR_WIDTH-1:0] reg_mif_base_addr;
+reg [LOG2NUM_SETTINGS-1:0] reg_instr;
+reg [RECONFIG_DATA_WIDTH-1:0] reg_data;
+reg [RECONFIG_DATA_WIDTH-1:0] settings_reg [NUM_MIF_SETTINGS-1:0];
+reg [RECONFIG_DATA_WIDTH-1:0] c_settings_reg [NUM_C_COUNTERS-1:0];
+reg [RECONFIG_DATA_WIDTH-1:0] dps_settings_reg [NUM_DPS_COUNTERS-1:0];
+reg [4:0] c_cntr_index; // C cntr is data[22:18];
+reg [4:0] dps_index; // DPS is data[20:16];
+
+reg [NUM_SETTINGS-1:0] is_setting_changed; // 1 bit per setting
+reg [NUM_C_COUNTERS-1:0] is_c_cntr_changed;
+reg [NUM_DPS_COUNTERS-1:0] is_dps_changed;
+
+reg user_mode_setting; // 0 for waitrequest mode, 1 for polling
+reg mif_started;
+reg saved_mode;
+reg mode_reg;
+reg [RECONFIG_ADDR_WIDTH-1:0] setting_number;
+reg [LOG2NUM_C_COUNTERS-1:0] c_cntr_number;
+reg [LOG2NUM_DPS_COUNTERS-1:0] dps_number;
+reg c_done;
+reg dps_done;
+reg is_mode_changed;
+
+// ROM Interface
+wire [ROM_DATA_WIDTH-1:0] rom_q;
+reg [ROM_ADDR_WIDTH-1:0] rom_addr;
+
+assign mif_busy = (is_done) ? 1'b0 : 1'b1;
+
+// mif_started register
+always @(posedge mif_clk)
+begin
+ if (mif_curstate == MIF_IDLE)
+ mif_started <= 0;
+ else if (reg_instr == OP_SOM && mif_curstate == DECODE_ROM_INSTR)
+ mif_started <= 1;
+ else
+ mif_started <= mif_started;
+end
+
+// is_done logic
+assign is_done = (mif_curstate == MIF_IDLE && mif_nextstate == MIF_IDLE) ? 1'b1 : 1'b0;
+
+// State register
+always @(posedge mif_clk)
+begin
+ if (mif_rst)
+ mif_curstate <= MIF_IDLE;
+ else
+ mif_curstate <= mif_nextstate;
+end
+
+// Next state logic
+always @(*)
+begin
+ case (mif_curstate)
+ MIF_IDLE:
+ begin
+ if (mif_start)
+ mif_nextstate = SET_INSTR_ADDR;
+ else
+ mif_nextstate = MIF_IDLE;
+ end
+
+ // Set address for instruction to be fetched from ROM
+ SET_INSTR_ADDR: // SET_ROM_INFO
+ begin
+ mif_nextstate = FETCH_INSTR;
+ end
+
+ FETCH_INSTR:
+ begin
+ mif_nextstate = WAIT_FOR_ROM_INSTR;
+ end
+
+ WAIT_FOR_ROM_INSTR:
+ begin
+ mif_nextstate = STORE_INSTR;
+ end
+
+ STORE_INSTR:
+ begin
+ mif_nextstate = DECODE_ROM_INSTR;
+ end
+
+ DECODE_ROM_INSTR:
+ begin
+ if (reg_instr == OP_SOM)
+ mif_nextstate = SET_INSTR_ADDR;
+ else if (reg_instr == OP_EOM)
+ mif_nextstate = SET_MODE_REG_INFO; // Done reading MIF, send it to reconfig module
+ else
+ mif_nextstate = SET_DATA_ADDR;
+ end
+
+ SET_DATA_ADDR:
+ begin
+ mif_nextstate = SET_DATA_ADDR_DLY;
+ end
+
+ SET_DATA_ADDR_DLY:
+ begin
+ mif_nextstate = FETCH_DATA;
+ end
+
+ FETCH_DATA:
+ begin
+ mif_nextstate = WAIT_FOR_ROM_DATA;
+ end
+
+ WAIT_FOR_ROM_DATA:
+ begin
+ mif_nextstate = STORE_DATA;
+ end
+
+ STORE_DATA:
+ begin
+ mif_nextstate = SET_INDEX;
+ end
+
+ SET_INDEX:
+ begin
+ mif_nextstate = CHANGE_SETTINGS_REG;
+ end
+
+ CHANGE_SETTINGS_REG:
+ begin
+ mif_nextstate = SET_INSTR_ADDR; // Loop back to read rest of MIF file
+ end
+
+ // --- CHANGE RECONFIG REGISTERS --- //
+ // GENERAL STEPS FOR MANAGING WITH RECONFIG MODULE:
+ // 1) Save user's configured mode register,
+ // 2) Change mode to waitrequest mode,
+ // 3) Send all settings that have changed to
+ // 4) Start reconfig
+ // 5) Wait till PLL has locked again.
+ // 6) Restore user's mode register
+ SET_MODE_REG_INFO:
+ begin
+ mif_nextstate = WAIT_MODE_REG;
+ end
+
+ WAIT_MODE_REG:
+ begin
+ mif_nextstate = SAVE_MODE_REG;
+ end
+
+ SAVE_MODE_REG:
+ begin
+ mif_nextstate = SET_WR_MODE;
+ end
+
+ SET_WR_MODE:
+ begin
+ mif_nextstate = WAIT_WRITE_MODE;
+ end
+
+ WAIT_WRITE_MODE:
+ begin
+ mif_nextstate = INIT_RECONFIG_PARAMS;
+ end
+
+ INIT_RECONFIG_PARAMS:
+ begin
+ mif_nextstate = CHECK_RECONFIG_SETTING;
+ end
+
+ // PARENT LOOP (writing to reconfig)
+ CHECK_RECONFIG_SETTING: // Loop over changed settings until setting_num = 0 = MODE
+ begin
+ // Don't write the user's mode reg just yet
+ // Stay in WR mode till we're done with reconfig IP
+ // then restore the user's old mode/the new mode
+ // they wrote in the MIF
+ if (setting_number == 6'b0)
+ mif_nextstate = START_RECONFIG_CHANGE;
+ else
+ begin
+ if(is_setting_changed[setting_number])
+ // C and DPS settings are different,
+ // since multiple can be reconfigured in
+ // one MIF. If they are changed, check them all.
+ // In their respective loops
+ if (setting_number == OP_C_COUNTERS)
+ begin
+ mif_nextstate = DECREMENT_C_NUM;
+ end
+ else if (setting_number == OP_DPS)
+ begin
+ mif_nextstate = DECREMENT_DPS_NUM;
+ end
+ else
+ begin
+ mif_nextstate = WRITE_RECONFIG_SETTING;
+ end
+ else
+ mif_nextstate = DECREMENT_SETTING_NUM;
+ end
+ end
+
+ // C LOOP
+ // We need to check the 0th setting always (unlike the parent loop) so decrement first.
+ DECREMENT_C_NUM:
+ begin
+ if (c_done)
+ begin
+ // Done checking and writing C counters
+ // check next setting in parent loop
+ mif_nextstate = DECREMENT_SETTING_NUM;
+ end
+ else
+ mif_nextstate = CHECK_C_SETTINGS;
+ end
+
+ CHECK_C_SETTINGS:
+ begin
+ if (is_c_cntr_changed[c_cntr_number])
+ mif_nextstate = WRITE_C_SETTINGS;
+ else
+ mif_nextstate = DECREMENT_C_NUM;
+ end
+
+ WRITE_C_SETTINGS:
+ begin
+ mif_nextstate = DECREMENT_C_NUM;
+ end
+ //End C Loop
+
+ // DPS LOOP
+ // Same as C loop, decrement first.
+ DECREMENT_DPS_NUM:
+ begin
+ if (dps_done)
+ begin
+ // Done checking and writing DPS counters
+ // check next setting in parent loop
+ mif_nextstate = DECREMENT_SETTING_NUM;
+ end
+ else
+ mif_nextstate = CHECK_DPS_SETTINGS; // Check next DPS setting
+ end
+
+ CHECK_DPS_SETTINGS:
+ begin
+ if(is_dps_changed[dps_number])
+ mif_nextstate = WRITE_DPS_SETTINGS;
+ else
+ mif_nextstate = DECREMENT_DPS_NUM;
+ end
+
+ WRITE_DPS_SETTINGS:
+ begin
+ mif_nextstate = DECREMENT_DPS_NUM;
+ end
+ //End DPS Loop
+
+
+ WRITE_RECONFIG_SETTING:
+ begin
+ mif_nextstate = DECREMENT_SETTING_NUM;
+ end
+
+ DECREMENT_SETTING_NUM:
+ begin
+ mif_nextstate = CHECK_RECONFIG_SETTING; // Loop back
+ end
+
+ // --- DONE CHANGING SETTINGS, START RECONFIG --- //
+
+ START_RECONFIG_CHANGE:
+ begin
+ mif_nextstate = START_RECONFIG_DELAY;
+ end
+
+ START_RECONFIG_DELAY:
+ begin
+ mif_nextstate = START_RECONFIG_DELAY2;
+ end
+
+ START_RECONFIG_DELAY2: // register at top level before we mux into reconfig
+ begin
+ mif_nextstate = WAIT_DONE_SIGNAL;
+ end
+
+ WAIT_DONE_SIGNAL:
+ begin
+ if (reconfig_busy)
+ mif_nextstate = WAIT_DONE_SIGNAL;
+ else
+ mif_nextstate = SET_MODE_REG;
+ end
+
+ SET_MODE_REG:
+ begin
+ mif_nextstate = WRITE_FINAL_MODE;
+ end
+
+ WRITE_FINAL_MODE:
+ begin
+ mif_nextstate = WAIT_FINAL_MODE;
+ end
+
+ WAIT_FINAL_MODE:
+ begin
+ mif_nextstate = MIF_STREAMING_DONE;
+ end
+
+ MIF_STREAMING_DONE:
+ begin
+ mif_nextstate = MIF_IDLE;
+ end
+
+ default:
+ begin
+ mif_nextstate = MIF_IDLE;
+ end
+ endcase
+end
+
+// Data flow
+reg [LOG2NUM_SETTINGS-1:0] i;
+reg [LOG2NUM_C_COUNTERS-1:0] j;
+reg [LOG2NUM_DPS_COUNTERS-1:0] k;
+always @(posedge mif_clk)
+begin
+ if (mif_rst)
+ begin
+ reg_mif_base_addr <= 0;
+ is_setting_changed <= 0;
+ is_c_cntr_changed <= 0;
+ is_dps_changed <= 0;
+ rom_addr <= 0;
+ reg_instr <= 0;
+ reg_data <= 0;
+ for (i = 0; i < NUM_MIF_SETTINGS; i = i + 1'b1)
+ begin
+ settings_reg [i] <= 0;
+ end
+ for (j = 0; j < NUM_C_COUNTERS; j = j + 1'b1)
+ begin
+ c_settings_reg [j] <= 0;
+ end
+ for (k = 0; k < NUM_DPS_COUNTERS; k = k + 1'b1)
+ begin
+ dps_settings_reg [k] <= 0;
+ end
+ setting_number <= 0;
+ c_cntr_number <= 0;
+ dps_number <= 0;
+ c_done <= 0;
+ dps_done <= 0;
+ c_cntr_index <= 0;
+ dps_index <= 0;
+ reconfig_write_data <= 0;
+ reconfig_addr <= 0;
+ reconfig_write <= 0;
+ reconfig_read <= 0;
+ end
+ else
+ begin
+ case (mif_curstate)
+ MIF_IDLE:
+ begin
+ reg_mif_base_addr <= mif_base_addr;
+ is_setting_changed <= 0;
+ is_c_cntr_changed <= 0;
+ is_dps_changed <= 0;
+ rom_addr <= 0;
+ reg_instr <= 0;
+ reg_data <= 0;
+ for (i = 0; i < NUM_MIF_SETTINGS; i = i + 1'b1)
+ begin
+ settings_reg [i] <= 0;
+ end
+ for (j = 0; j < NUM_C_COUNTERS; j = j + 1'b1)
+ begin
+ c_settings_reg [j] <= 0;
+ end
+ for (k = 0; k < NUM_DPS_COUNTERS; k = k + 1'b1)
+ begin
+ dps_settings_reg [k] <= 0;
+ end
+ setting_number <= 0;
+ c_cntr_number <= 0;
+ dps_number <= 0;
+ c_done <= 0;
+ dps_done <= 0;
+ c_cntr_index <= 0;
+ dps_index <= 0;
+ reconfig_write_data <= 0;
+ reconfig_addr <= 0;
+ reconfig_write <= 0;
+ reconfig_read <= 0;
+ end
+
+ // ----- ROM FLOW ----- //
+ SET_INSTR_ADDR: rom_addr <= (mif_started) ? rom_addr + 9'd1 : reg_mif_base_addr; // ROM_ADDR_WIDTH = 9
+ FETCH_INSTR: ;
+ WAIT_FOR_ROM_INSTR: ;
+ STORE_INSTR: reg_instr <= rom_q [LOG2NUM_SETTINGS-1:0]; // Only the last 6 bits are instr bits, rest is reserved
+ DECODE_ROM_INSTR: ;
+ SET_DATA_ADDR: rom_addr <= rom_addr + 9'd1; // ROM_ADDR_WIDTH = 9
+ SET_DATA_ADDR_DLY: ;
+ FETCH_DATA: ;
+ WAIT_FOR_ROM_DATA: ;
+ STORE_DATA: reg_data <= rom_q; // Data is 32 bits
+
+ SET_INDEX:
+ begin
+ c_cntr_index <= reg_data[22:18];
+ dps_index <= reg_data[20:16];
+ end
+
+
+ CHANGE_SETTINGS_REG:
+ begin
+ if (reg_instr == OP_C_COUNTERS)
+ begin
+ c_settings_reg [c_cntr_index] <= reg_data; //22:18 is c cnt number
+ is_c_cntr_changed [c_cntr_index] <= 1'b1;
+ end
+ else if (reg_instr == OP_DPS)
+ begin
+ dps_settings_reg [dps_index] <= reg_data; //20:16 is DPS number
+ is_dps_changed [dps_index] <= 1'b1;
+ end
+ else
+ begin
+ c_settings_reg [c_cntr_index] <= c_settings_reg [c_cntr_index];
+ is_c_cntr_changed [c_cntr_index] <= is_c_cntr_changed[c_cntr_index];
+ dps_settings_reg [dps_index] <= dps_settings_reg [dps_index];
+ is_dps_changed [dps_index] <= is_dps_changed [dps_index];
+ end
+
+ settings_reg [reg_instr] <= reg_data;
+ is_setting_changed [reg_instr] <= 1'b1;
+ end
+
+
+ // ---------- RECONFIG FLOW ---------- //
+
+ // Reading/writing mode takes only one cycle
+ // (we don't know what mode its in initally)
+ SET_MODE_REG_INFO:
+ begin
+ reconfig_addr <= OP_MODE;
+ reconfig_read <= 1'b1;
+ reconfig_write <= 1'b0;
+ reconfig_write_data <= 0;
+ end
+
+ WAIT_MODE_REG: reconfig_read <= 1'b0;
+ SAVE_MODE_REG: saved_mode <= reconfig_read_data[0];
+ SET_WR_MODE:
+ begin
+ reconfig_addr <= OP_MODE;
+ reconfig_write <= 1'b1;
+ reconfig_write_data[0] <= MODE_WR; // Want WaitRequest Mode while MIF reader changes Reconfig regs
+ end
+ WAIT_WRITE_MODE: reconfig_write <= 1'b0;
+
+ // Done saving the mode reg, start writing the reconfig regs
+ // Start with the highest setting and work our way down
+ INIT_RECONFIG_PARAMS:
+ begin
+ setting_number <= NUM_MIF_SETTINGS - 6'd1;
+ c_cntr_number <= NUM_C_COUNTERS;
+ dps_number <= NUM_DPS_COUNTERS;
+ end
+
+ CHECK_RECONFIG_SETTING: ;
+
+ // C LOOP
+ DECREMENT_C_NUM:
+ begin
+ c_cntr_number <= c_cntr_number - 5'd1;
+ reconfig_write <= 1'b0;
+ end
+
+ CHECK_C_SETTINGS:
+ begin
+ if (c_cntr_number == 5'b0)
+ c_done <= 1'b1;
+ else
+ c_done <= c_done;
+ end
+
+ WRITE_C_SETTINGS:
+ begin
+ reconfig_addr <= OP_C_COUNTERS;
+ reconfig_write_data <= c_settings_reg[c_cntr_number];
+ reconfig_read <= 1'b0;
+ reconfig_write <= 1'b1;
+ end
+ //End C Loop
+
+ // DPS LOOP
+ DECREMENT_DPS_NUM:
+ begin
+ dps_number <= dps_number - 5'd1;
+ reconfig_write <= 1'b0;
+ end
+
+ CHECK_DPS_SETTINGS:
+ begin
+ if (dps_number == 5'b0)
+ dps_done <= 1'b1;
+ else
+ dps_done <= dps_done;
+ end
+
+ WRITE_DPS_SETTINGS:
+ begin
+ reconfig_addr <= OP_DPS;
+ reconfig_write_data <= dps_settings_reg[dps_number];
+ reconfig_read <= 1'b0;
+ reconfig_write <= 1'b1;
+ end
+ //End DPS Loop
+
+ WRITE_RECONFIG_SETTING:
+ begin
+ reconfig_addr <= setting_number; // setting_number = OP_CODE
+ reconfig_write_data <= settings_reg[setting_number];
+ reconfig_read <= 1'b0;
+ reconfig_write <= 1'b1;
+ end
+
+ DECREMENT_SETTING_NUM:
+ begin
+ reconfig_write <= 1'b0;
+ setting_number <= setting_number - 6'd1; // Decrement for looping back
+ end
+
+ // --- Wrote all the changed settings to the Reconfig IP except MODE
+ // --- Start the Reconfig process (write to start reg) and wait for
+ // --- waitrequest signal to deassert
+
+ START_RECONFIG_CHANGE:
+ begin
+ reconfig_addr <= OP_START;
+ reconfig_write_data <= 1;
+ reconfig_read <= 1'b0;
+ reconfig_write <= 1'b1;
+ end
+
+ START_RECONFIG_DELAY:
+ begin
+ reconfig_write <= 1'b0;
+ end
+
+ WAIT_DONE_SIGNAL: ;
+
+ // --- Restore saved MODE reg ONLY if mode hasn't been changed by MIF
+ SET_MODE_REG:
+ mode_reg <= (is_setting_changed[OP_MODE]) ? settings_reg [OP_MODE][0] : saved_mode;
+
+ WRITE_FINAL_MODE:
+ begin
+ reconfig_addr <= OP_MODE;
+ reconfig_write_data[0] <= mode_reg;
+ reconfig_read <= 1'b0;
+ reconfig_write <= 1'b1;
+ end
+
+ WAIT_FINAL_MODE:
+ begin
+ reconfig_write <= 1'b0;
+ end
+
+ MIF_STREAMING_DONE: ;
+
+ default : ;
+
+ endcase
+ end
+end
+
+// RAM block
+ altsyncram altsyncram_component (
+ .address_a (rom_addr),
+ .clock0 (mif_clk),
+ .q_a (rom_q),
+ .aclr0 (1'b0),
+ .aclr1 (1'b0),
+ .address_b (1'b1),
+ .addressstall_a (1'b0),
+ .addressstall_b (1'b0),
+ .byteena_a (1'b1),
+ .byteena_b (1'b1),
+ .clock1 (1'b1),
+ .clocken0 (1'b1),
+ .clocken1 (1'b1),
+ .clocken2 (1'b1),
+ .clocken3 (1'b1),
+ .data_a ({32{1'b1}}),
+ .data_b (1'b1),
+ .eccstatus (),
+ .q_b (),
+ .rden_a (1'b1),
+ .rden_b (1'b1),
+ .wren_a (1'b0),
+ .wren_b (1'b0));
+ defparam
+ altsyncram_component.address_aclr_a = "NONE",
+ altsyncram_component.clock_enable_input_a = "BYPASS",
+ altsyncram_component.clock_enable_output_a = "BYPASS",
+ altsyncram_component.init_file = MIF_FILE_NAME,
+ altsyncram_component.intended_device_family = "Stratix V",
+ altsyncram_component.lpm_hint = "ENABLE_RUNTIME_MOD=NO",
+ altsyncram_component.lpm_type = "altsyncram",
+ altsyncram_component.numwords_a = ROM_NUM_WORDS,
+ altsyncram_component.operation_mode = "ROM",
+ altsyncram_component.outdata_aclr_a = "NONE",
+ altsyncram_component.outdata_reg_a = "CLOCK0",
+ altsyncram_component.widthad_a = ROM_ADDR_WIDTH,
+ altsyncram_component.width_a = ROM_DATA_WIDTH,
+ altsyncram_component.width_byteena_a = 1;
+
+endmodule // mif_reader
+
diff --git a/vpll.qip b/vpll.qip
new file mode 100644
index 0000000..608d8c7
--- /dev/null
+++ b/vpll.qip
@@ -0,0 +1,484 @@
+set_global_assignment -entity "vpll" -library "vpll" -name IP_TOOL_NAME "altera_pll"
+set_global_assignment -entity "vpll" -library "vpll" -name IP_TOOL_VERSION "17.0"
+set_global_assignment -entity "vpll" -library "vpll" -name IP_TOOL_ENV "mwpim"
+set_global_assignment -library "vpll" -name MISC_FILE [file join $::quartus(qip_path) "vpll.cmp"]
+set_global_assignment -entity "vpll" -library "vpll" -name IP_TARGETED_DEVICE_FAMILY "Cyclone V"
+set_global_assignment -entity "vpll" -library "vpll" -name IP_GENERATED_DEVICE_FAMILY "{Cyclone V}"
+set_global_assignment -entity "vpll" -library "vpll" -name IP_QSYS_MODE "UNKNOWN"
+set_global_assignment -name SYNTHESIS_ONLY_QIP ON
+set_global_assignment -entity "vpll" -library "vpll" -name IP_COMPONENT_NAME "dnBsbA=="
+set_global_assignment -entity "vpll" -library "vpll" -name IP_COMPONENT_DISPLAY_NAME "QWx0ZXJhIFBMTA=="
+set_global_assignment -entity "vpll" -library "vpll" -name IP_COMPONENT_REPORT_HIERARCHY "Off"
+set_global_assignment -entity "vpll" -library "vpll" -name IP_COMPONENT_INTERNAL "Off"
+set_global_assignment -entity "vpll" -library "vpll" -name IP_COMPONENT_AUTHOR "QWx0ZXJhIENvcnBvcmF0aW9u"
+set_global_assignment -entity "vpll" -library "vpll" -name IP_COMPONENT_VERSION "MTcuMA=="
+set_global_assignment -entity "vpll" -library "vpll" -name IP_COMPONENT_DESCRIPTION "QWx0ZXJhIFBoYXNlLUxvY2tlZCBMb29wIChBTFRFUkFfUExMKQ=="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_NAME "dnBsbF8wMDAy"
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_DISPLAY_NAME "QWx0ZXJhIFBMTA=="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_REPORT_HIERARCHY "Off"
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_INTERNAL "Off"
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_AUTHOR "QWx0ZXJhIENvcnBvcmF0aW9u"
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_VERSION "MTcuMA=="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_DESCRIPTION "QWx0ZXJhIFBoYXNlLUxvY2tlZCBMb29wIChBTFRFUkFfUExMKQ=="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "ZGVidWdfcHJpbnRfb3V0cHV0::ZmFsc2U=::ZGVidWdfcHJpbnRfb3V0cHV0"
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "ZGVidWdfdXNlX3JiY190YWZfbWV0aG9k::ZmFsc2U=::ZGVidWdfdXNlX3JiY190YWZfbWV0aG9k"
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "ZGV2aWNl::NUNFQkEyRjE3QTc=::ZGV2aWNl"
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX3BsbF9tb2Rl::RnJhY3Rpb25hbC1OIFBMTA==::UExMIE1vZGU="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "ZnJhY3Rpb25hbF92Y29fbXVsdGlwbGllcg==::dHJ1ZQ==::ZnJhY3Rpb25hbF92Y29fbXVsdGlwbGllcg=="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX3JlZmVyZW5jZV9jbG9ja19mcmVxdWVuY3k=::NTAuMA==::UmVmZXJlbmNlIENsb2NrIEZyZXF1ZW5jeQ=="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "cmVmZXJlbmNlX2Nsb2NrX2ZyZXF1ZW5jeQ==::NTAuMCBNSHo=::cmVmZXJlbmNlX2Nsb2NrX2ZyZXF1ZW5jeQ=="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX2NoYW5uZWxfc3BhY2luZw==::MC4w::Q2hhbm5lbCBTcGFjaW5n"
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX29wZXJhdGlvbl9tb2Rl::ZGlyZWN0::T3BlcmF0aW9uIE1vZGU="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX2ZlZWRiYWNrX2Nsb2Nr::R2xvYmFsIENsb2Nr::RmVlZGJhY2sgQ2xvY2s="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX2ZyYWN0aW9uYWxfY291dA==::MzI=::RnJhY3Rpb25hbCBjYXJyeSBvdXQ="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "cGxsX2ZyYWN0aW9uYWxfY291dA==::MzI=::cGxsX2ZyYWN0aW9uYWxfY291dA=="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX2RzbV9vdXRfc2Vs::MXN0X29yZGVy::RFNNIE9yZGVy"
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "cGxsX2RzbV9vdXRfc2Vs::MXN0X29yZGVy::cGxsX2RzbV9vdXRfc2Vs"
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "b3BlcmF0aW9uX21vZGU=::ZGlyZWN0::b3BlcmF0aW9uX21vZGU="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX3VzZV9sb2NrZWQ=::dHJ1ZQ==::RW5hYmxlIGxvY2tlZCBvdXRwdXQgcG9ydA=="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX2VuX2Fkdl9wYXJhbXM=::ZmFsc2U=::RW5hYmxlIHBoeXNpY2FsIG91dHB1dCBjbG9jayBwYXJhbWV0ZXJz"
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX251bWJlcl9vZl9jbG9ja3M=::MQ==::TnVtYmVyIE9mIENsb2Nrcw=="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "bnVtYmVyX29mX2Nsb2Nrcw==::MQ==::bnVtYmVyX29mX2Nsb2Nrcw=="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX211bHRpcGx5X2ZhY3Rvcg==::MQ==::TXVsdGlwbHkgRmFjdG9yIChNLUNvdW50ZXIp"
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX2ZyYWNfbXVsdGlwbHlfZmFjdG9y::MQ==::RnJhY3Rpb25hbCBNdWx0aXBseSBGYWN0b3IgKEsp"
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX2RpdmlkZV9mYWN0b3Jfbg==::MQ==::RGl2aWRlIEZhY3RvciAoTi1Db3VudGVyKQ=="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX2Nhc2NhZGVfY291bnRlcjA=::ZmFsc2U=::TWFrZSB0aGlzIGEgY2FzY2FkZSBjb3VudGVy"
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX291dHB1dF9jbG9ja19mcmVxdWVuY3kw::NzIuMA==::RGVzaXJlZCBGcmVxdWVuY3k="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX2RpdmlkZV9mYWN0b3JfYzA=::MQ==::RGl2aWRlIEZhY3RvciAoQy1Db3VudGVyKQ=="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX2FjdHVhbF9tdWx0aXBseV9mYWN0b3Iw::OA==::QWN0dWFsIE11bHRpcGx5IEZhY3Rvcg=="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX2FjdHVhbF9mcmFjX211bHRpcGx5X2ZhY3RvcjA=::Mjc0ODc3ODk4NA==::QWN0dWFsIEZyYWN0aW9uYWwgTXVsdGlwbHkgRmFjdG9yIChLKQ=="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX2FjdHVhbF9kaXZpZGVfZmFjdG9yMA==::Ng==::QWN0dWFsIERpdmlkZSBGYWN0b3I="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX2FjdHVhbF9vdXRwdXRfY2xvY2tfZnJlcXVlbmN5MA==::MCBNSHo=::QWN0dWFsIEZyZXF1ZW5jeQ=="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX3BzX3VuaXRzMA==::cHM=::UGhhc2UgU2hpZnQgdW5pdHM="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX3BoYXNlX3NoaWZ0MA==::MA==::UGhhc2UgU2hpZnQ="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX3BoYXNlX3NoaWZ0X2RlZzA=::MC4w::UGhhc2UgU2hpZnQ="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX2FjdHVhbF9waGFzZV9zaGlmdDA=::MA==::QWN0dWFsIFBoYXNlIFNoaWZ0"
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX2R1dHlfY3ljbGUw::NTA=::RHV0eSBDeWNsZQ=="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX2Nhc2NhZGVfY291bnRlcjE=::ZmFsc2U=::TWFrZSB0aGlzIGEgY2FzY2FkZSBjb3VudGVy"
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX291dHB1dF9jbG9ja19mcmVxdWVuY3kx::NDguMA==::RGVzaXJlZCBGcmVxdWVuY3k="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX2RpdmlkZV9mYWN0b3JfYzE=::MQ==::RGl2aWRlIEZhY3RvciAoQy1Db3VudGVyKQ=="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX2FjdHVhbF9tdWx0aXBseV9mYWN0b3Ix::MQ==::QWN0dWFsIE11bHRpcGx5IEZhY3Rvcg=="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX2FjdHVhbF9mcmFjX211bHRpcGx5X2ZhY3RvcjE=::MQ==::QWN0dWFsIEZyYWN0aW9uYWwgTXVsdGlwbHkgRmFjdG9yIChLKQ=="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX2FjdHVhbF9kaXZpZGVfZmFjdG9yMQ==::MQ==::QWN0dWFsIERpdmlkZSBGYWN0b3I="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX2FjdHVhbF9vdXRwdXRfY2xvY2tfZnJlcXVlbmN5MQ==::MCBNSHo=::QWN0dWFsIEZyZXF1ZW5jeQ=="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX3BzX3VuaXRzMQ==::cHM=::UGhhc2UgU2hpZnQgdW5pdHM="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX3BoYXNlX3NoaWZ0MQ==::MA==::UGhhc2UgU2hpZnQ="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX3BoYXNlX3NoaWZ0X2RlZzE=::MC4w::UGhhc2UgU2hpZnQ="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX2FjdHVhbF9waGFzZV9zaGlmdDE=::MA==::QWN0dWFsIFBoYXNlIFNoaWZ0"
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX2R1dHlfY3ljbGUx::NTA=::RHV0eSBDeWNsZQ=="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX2Nhc2NhZGVfY291bnRlcjI=::ZmFsc2U=::TWFrZSB0aGlzIGEgY2FzY2FkZSBjb3VudGVy"
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX291dHB1dF9jbG9ja19mcmVxdWVuY3ky::NDguMA==::RGVzaXJlZCBGcmVxdWVuY3k="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX2RpdmlkZV9mYWN0b3JfYzI=::MQ==::RGl2aWRlIEZhY3RvciAoQy1Db3VudGVyKQ=="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX2FjdHVhbF9tdWx0aXBseV9mYWN0b3Iy::MQ==::QWN0dWFsIE11bHRpcGx5IEZhY3Rvcg=="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX2FjdHVhbF9mcmFjX211bHRpcGx5X2ZhY3RvcjI=::MQ==::QWN0dWFsIEZyYWN0aW9uYWwgTXVsdGlwbHkgRmFjdG9yIChLKQ=="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX2FjdHVhbF9kaXZpZGVfZmFjdG9yMg==::MQ==::QWN0dWFsIERpdmlkZSBGYWN0b3I="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX2FjdHVhbF9vdXRwdXRfY2xvY2tfZnJlcXVlbmN5Mg==::MCBNSHo=::QWN0dWFsIEZyZXF1ZW5jeQ=="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX3BzX3VuaXRzMg==::cHM=::UGhhc2UgU2hpZnQgdW5pdHM="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX3BoYXNlX3NoaWZ0Mg==::MA==::UGhhc2UgU2hpZnQ="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX3BoYXNlX3NoaWZ0X2RlZzI=::MC4w::UGhhc2UgU2hpZnQ="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX2FjdHVhbF9waGFzZV9zaGlmdDI=::MA==::QWN0dWFsIFBoYXNlIFNoaWZ0"
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX2R1dHlfY3ljbGUy::NTA=::RHV0eSBDeWNsZQ=="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX2Nhc2NhZGVfY291bnRlcjM=::ZmFsc2U=::TWFrZSB0aGlzIGEgY2FzY2FkZSBjb3VudGVy"
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX291dHB1dF9jbG9ja19mcmVxdWVuY3kz::MTAwLjA=::RGVzaXJlZCBGcmVxdWVuY3k="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX2RpdmlkZV9mYWN0b3JfYzM=::MQ==::RGl2aWRlIEZhY3RvciAoQy1Db3VudGVyKQ=="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX2FjdHVhbF9tdWx0aXBseV9mYWN0b3Iz::MQ==::QWN0dWFsIE11bHRpcGx5IEZhY3Rvcg=="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX2FjdHVhbF9mcmFjX211bHRpcGx5X2ZhY3RvcjM=::MQ==::QWN0dWFsIEZyYWN0aW9uYWwgTXVsdGlwbHkgRmFjdG9yIChLKQ=="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX2FjdHVhbF9kaXZpZGVfZmFjdG9yMw==::MQ==::QWN0dWFsIERpdmlkZSBGYWN0b3I="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX2FjdHVhbF9vdXRwdXRfY2xvY2tfZnJlcXVlbmN5Mw==::MCBNSHo=::QWN0dWFsIEZyZXF1ZW5jeQ=="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX3BzX3VuaXRzMw==::cHM=::UGhhc2UgU2hpZnQgdW5pdHM="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX3BoYXNlX3NoaWZ0Mw==::MA==::UGhhc2UgU2hpZnQ="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX3BoYXNlX3NoaWZ0X2RlZzM=::MC4w::UGhhc2UgU2hpZnQ="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX2FjdHVhbF9waGFzZV9zaGlmdDM=::MA==::QWN0dWFsIFBoYXNlIFNoaWZ0"
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX2R1dHlfY3ljbGUz::NTA=::RHV0eSBDeWNsZQ=="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX2Nhc2NhZGVfY291bnRlcjQ=::ZmFsc2U=::TWFrZSB0aGlzIGEgY2FzY2FkZSBjb3VudGVy"
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX291dHB1dF9jbG9ja19mcmVxdWVuY3k0::MTAwLjA=::RGVzaXJlZCBGcmVxdWVuY3k="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX2RpdmlkZV9mYWN0b3JfYzQ=::MQ==::RGl2aWRlIEZhY3RvciAoQy1Db3VudGVyKQ=="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX2FjdHVhbF9tdWx0aXBseV9mYWN0b3I0::MQ==::QWN0dWFsIE11bHRpcGx5IEZhY3Rvcg=="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX2FjdHVhbF9mcmFjX211bHRpcGx5X2ZhY3RvcjQ=::MQ==::QWN0dWFsIEZyYWN0aW9uYWwgTXVsdGlwbHkgRmFjdG9yIChLKQ=="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX2FjdHVhbF9kaXZpZGVfZmFjdG9yNA==::MQ==::QWN0dWFsIERpdmlkZSBGYWN0b3I="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX2FjdHVhbF9vdXRwdXRfY2xvY2tfZnJlcXVlbmN5NA==::MCBNSHo=::QWN0dWFsIEZyZXF1ZW5jeQ=="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX3BzX3VuaXRzNA==::cHM=::UGhhc2UgU2hpZnQgdW5pdHM="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX3BoYXNlX3NoaWZ0NA==::MA==::UGhhc2UgU2hpZnQ="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX3BoYXNlX3NoaWZ0X2RlZzQ=::MC4w::UGhhc2UgU2hpZnQ="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX2FjdHVhbF9waGFzZV9zaGlmdDQ=::MA==::QWN0dWFsIFBoYXNlIFNoaWZ0"
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX2R1dHlfY3ljbGU0::NTA=::RHV0eSBDeWNsZQ=="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX2Nhc2NhZGVfY291bnRlcjU=::ZmFsc2U=::TWFrZSB0aGlzIGEgY2FzY2FkZSBjb3VudGVy"
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX291dHB1dF9jbG9ja19mcmVxdWVuY3k1::MTAwLjA=::RGVzaXJlZCBGcmVxdWVuY3k="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX2RpdmlkZV9mYWN0b3JfYzU=::MQ==::RGl2aWRlIEZhY3RvciAoQy1Db3VudGVyKQ=="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX2FjdHVhbF9tdWx0aXBseV9mYWN0b3I1::MQ==::QWN0dWFsIE11bHRpcGx5IEZhY3Rvcg=="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX2FjdHVhbF9mcmFjX211bHRpcGx5X2ZhY3RvcjU=::MQ==::QWN0dWFsIEZyYWN0aW9uYWwgTXVsdGlwbHkgRmFjdG9yIChLKQ=="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX2FjdHVhbF9kaXZpZGVfZmFjdG9yNQ==::MQ==::QWN0dWFsIERpdmlkZSBGYWN0b3I="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX2FjdHVhbF9vdXRwdXRfY2xvY2tfZnJlcXVlbmN5NQ==::MCBNSHo=::QWN0dWFsIEZyZXF1ZW5jeQ=="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX3BzX3VuaXRzNQ==::cHM=::UGhhc2UgU2hpZnQgdW5pdHM="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX3BoYXNlX3NoaWZ0NQ==::MA==::UGhhc2UgU2hpZnQ="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX3BoYXNlX3NoaWZ0X2RlZzU=::MC4w::UGhhc2UgU2hpZnQ="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX2FjdHVhbF9waGFzZV9zaGlmdDU=::MA==::QWN0dWFsIFBoYXNlIFNoaWZ0"
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX2R1dHlfY3ljbGU1::NTA=::RHV0eSBDeWNsZQ=="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX2Nhc2NhZGVfY291bnRlcjY=::ZmFsc2U=::TWFrZSB0aGlzIGEgY2FzY2FkZSBjb3VudGVy"
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX291dHB1dF9jbG9ja19mcmVxdWVuY3k2::MTAwLjA=::RGVzaXJlZCBGcmVxdWVuY3k="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX2RpdmlkZV9mYWN0b3JfYzY=::MQ==::RGl2aWRlIEZhY3RvciAoQy1Db3VudGVyKQ=="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX2FjdHVhbF9tdWx0aXBseV9mYWN0b3I2::MQ==::QWN0dWFsIE11bHRpcGx5IEZhY3Rvcg=="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX2FjdHVhbF9mcmFjX211bHRpcGx5X2ZhY3RvcjY=::MQ==::QWN0dWFsIEZyYWN0aW9uYWwgTXVsdGlwbHkgRmFjdG9yIChLKQ=="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX2FjdHVhbF9kaXZpZGVfZmFjdG9yNg==::MQ==::QWN0dWFsIERpdmlkZSBGYWN0b3I="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX2FjdHVhbF9vdXRwdXRfY2xvY2tfZnJlcXVlbmN5Ng==::MCBNSHo=::QWN0dWFsIEZyZXF1ZW5jeQ=="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX3BzX3VuaXRzNg==::cHM=::UGhhc2UgU2hpZnQgdW5pdHM="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX3BoYXNlX3NoaWZ0Ng==::MA==::UGhhc2UgU2hpZnQ="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX3BoYXNlX3NoaWZ0X2RlZzY=::MC4w::UGhhc2UgU2hpZnQ="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX2FjdHVhbF9waGFzZV9zaGlmdDY=::MA==::QWN0dWFsIFBoYXNlIFNoaWZ0"
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX2R1dHlfY3ljbGU2::NTA=::RHV0eSBDeWNsZQ=="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX2Nhc2NhZGVfY291bnRlcjc=::ZmFsc2U=::TWFrZSB0aGlzIGEgY2FzY2FkZSBjb3VudGVy"
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX291dHB1dF9jbG9ja19mcmVxdWVuY3k3::MTAwLjA=::RGVzaXJlZCBGcmVxdWVuY3k="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX2RpdmlkZV9mYWN0b3JfYzc=::MQ==::RGl2aWRlIEZhY3RvciAoQy1Db3VudGVyKQ=="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX2FjdHVhbF9tdWx0aXBseV9mYWN0b3I3::MQ==::QWN0dWFsIE11bHRpcGx5IEZhY3Rvcg=="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX2FjdHVhbF9mcmFjX211bHRpcGx5X2ZhY3Rvcjc=::MQ==::QWN0dWFsIEZyYWN0aW9uYWwgTXVsdGlwbHkgRmFjdG9yIChLKQ=="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX2FjdHVhbF9kaXZpZGVfZmFjdG9yNw==::MQ==::QWN0dWFsIERpdmlkZSBGYWN0b3I="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX2FjdHVhbF9vdXRwdXRfY2xvY2tfZnJlcXVlbmN5Nw==::MCBNSHo=::QWN0dWFsIEZyZXF1ZW5jeQ=="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX3BzX3VuaXRzNw==::cHM=::UGhhc2UgU2hpZnQgdW5pdHM="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX3BoYXNlX3NoaWZ0Nw==::MA==::UGhhc2UgU2hpZnQ="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX3BoYXNlX3NoaWZ0X2RlZzc=::MC4w::UGhhc2UgU2hpZnQ="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX2FjdHVhbF9waGFzZV9zaGlmdDc=::MA==::QWN0dWFsIFBoYXNlIFNoaWZ0"
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX2R1dHlfY3ljbGU3::NTA=::RHV0eSBDeWNsZQ=="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX2Nhc2NhZGVfY291bnRlcjg=::ZmFsc2U=::TWFrZSB0aGlzIGEgY2FzY2FkZSBjb3VudGVy"
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX291dHB1dF9jbG9ja19mcmVxdWVuY3k4::MTAwLjA=::RGVzaXJlZCBGcmVxdWVuY3k="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX2RpdmlkZV9mYWN0b3JfYzg=::MQ==::RGl2aWRlIEZhY3RvciAoQy1Db3VudGVyKQ=="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX2FjdHVhbF9tdWx0aXBseV9mYWN0b3I4::MQ==::QWN0dWFsIE11bHRpcGx5IEZhY3Rvcg=="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX2FjdHVhbF9mcmFjX211bHRpcGx5X2ZhY3Rvcjg=::MQ==::QWN0dWFsIEZyYWN0aW9uYWwgTXVsdGlwbHkgRmFjdG9yIChLKQ=="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX2FjdHVhbF9kaXZpZGVfZmFjdG9yOA==::MQ==::QWN0dWFsIERpdmlkZSBGYWN0b3I="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX2FjdHVhbF9vdXRwdXRfY2xvY2tfZnJlcXVlbmN5OA==::MCBNSHo=::QWN0dWFsIEZyZXF1ZW5jeQ=="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX3BzX3VuaXRzOA==::cHM=::UGhhc2UgU2hpZnQgdW5pdHM="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX3BoYXNlX3NoaWZ0OA==::MA==::UGhhc2UgU2hpZnQ="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX3BoYXNlX3NoaWZ0X2RlZzg=::MC4w::UGhhc2UgU2hpZnQ="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX2FjdHVhbF9waGFzZV9zaGlmdDg=::MA==::QWN0dWFsIFBoYXNlIFNoaWZ0"
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX2R1dHlfY3ljbGU4::NTA=::RHV0eSBDeWNsZQ=="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX2Nhc2NhZGVfY291bnRlcjk=::ZmFsc2U=::TWFrZSB0aGlzIGEgY2FzY2FkZSBjb3VudGVy"
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX291dHB1dF9jbG9ja19mcmVxdWVuY3k5::MTAwLjA=::RGVzaXJlZCBGcmVxdWVuY3k="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX2RpdmlkZV9mYWN0b3JfYzk=::MQ==::RGl2aWRlIEZhY3RvciAoQy1Db3VudGVyKQ=="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX2FjdHVhbF9tdWx0aXBseV9mYWN0b3I5::MQ==::QWN0dWFsIE11bHRpcGx5IEZhY3Rvcg=="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX2FjdHVhbF9mcmFjX211bHRpcGx5X2ZhY3Rvcjk=::MQ==::QWN0dWFsIEZyYWN0aW9uYWwgTXVsdGlwbHkgRmFjdG9yIChLKQ=="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX2FjdHVhbF9kaXZpZGVfZmFjdG9yOQ==::MQ==::QWN0dWFsIERpdmlkZSBGYWN0b3I="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX2FjdHVhbF9vdXRwdXRfY2xvY2tfZnJlcXVlbmN5OQ==::MCBNSHo=::QWN0dWFsIEZyZXF1ZW5jeQ=="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX3BzX3VuaXRzOQ==::cHM=::UGhhc2UgU2hpZnQgdW5pdHM="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX3BoYXNlX3NoaWZ0OQ==::MA==::UGhhc2UgU2hpZnQ="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX3BoYXNlX3NoaWZ0X2RlZzk=::MC4w::UGhhc2UgU2hpZnQ="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX2FjdHVhbF9waGFzZV9zaGlmdDk=::MA==::QWN0dWFsIFBoYXNlIFNoaWZ0"
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX2R1dHlfY3ljbGU5::NTA=::RHV0eSBDeWNsZQ=="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX2Nhc2NhZGVfY291bnRlcjEw::ZmFsc2U=::TWFrZSB0aGlzIGEgY2FzY2FkZSBjb3VudGVy"
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX291dHB1dF9jbG9ja19mcmVxdWVuY3kxMA==::MTAwLjA=::RGVzaXJlZCBGcmVxdWVuY3k="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX2RpdmlkZV9mYWN0b3JfYzEw::MQ==::RGl2aWRlIEZhY3RvciAoQy1Db3VudGVyKQ=="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX2FjdHVhbF9tdWx0aXBseV9mYWN0b3IxMA==::MQ==::QWN0dWFsIE11bHRpcGx5IEZhY3Rvcg=="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX2FjdHVhbF9mcmFjX211bHRpcGx5X2ZhY3RvcjEw::MQ==::QWN0dWFsIEZyYWN0aW9uYWwgTXVsdGlwbHkgRmFjdG9yIChLKQ=="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX2FjdHVhbF9kaXZpZGVfZmFjdG9yMTA=::MQ==::QWN0dWFsIERpdmlkZSBGYWN0b3I="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX2FjdHVhbF9vdXRwdXRfY2xvY2tfZnJlcXVlbmN5MTA=::MCBNSHo=::QWN0dWFsIEZyZXF1ZW5jeQ=="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX3BzX3VuaXRzMTA=::cHM=::UGhhc2UgU2hpZnQgdW5pdHM="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX3BoYXNlX3NoaWZ0MTA=::MA==::UGhhc2UgU2hpZnQ="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX3BoYXNlX3NoaWZ0X2RlZzEw::MC4w::UGhhc2UgU2hpZnQ="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX2FjdHVhbF9waGFzZV9zaGlmdDEw::MA==::QWN0dWFsIFBoYXNlIFNoaWZ0"
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX2R1dHlfY3ljbGUxMA==::NTA=::RHV0eSBDeWNsZQ=="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX2Nhc2NhZGVfY291bnRlcjEx::ZmFsc2U=::TWFrZSB0aGlzIGEgY2FzY2FkZSBjb3VudGVy"
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX291dHB1dF9jbG9ja19mcmVxdWVuY3kxMQ==::MTAwLjA=::RGVzaXJlZCBGcmVxdWVuY3k="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX2RpdmlkZV9mYWN0b3JfYzEx::MQ==::RGl2aWRlIEZhY3RvciAoQy1Db3VudGVyKQ=="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX2FjdHVhbF9tdWx0aXBseV9mYWN0b3IxMQ==::MQ==::QWN0dWFsIE11bHRpcGx5IEZhY3Rvcg=="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX2FjdHVhbF9mcmFjX211bHRpcGx5X2ZhY3RvcjEx::MQ==::QWN0dWFsIEZyYWN0aW9uYWwgTXVsdGlwbHkgRmFjdG9yIChLKQ=="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX2FjdHVhbF9kaXZpZGVfZmFjdG9yMTE=::MQ==::QWN0dWFsIERpdmlkZSBGYWN0b3I="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX2FjdHVhbF9vdXRwdXRfY2xvY2tfZnJlcXVlbmN5MTE=::MCBNSHo=::QWN0dWFsIEZyZXF1ZW5jeQ=="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX3BzX3VuaXRzMTE=::cHM=::UGhhc2UgU2hpZnQgdW5pdHM="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX3BoYXNlX3NoaWZ0MTE=::MA==::UGhhc2UgU2hpZnQ="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX3BoYXNlX3NoaWZ0X2RlZzEx::MC4w::UGhhc2UgU2hpZnQ="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX2FjdHVhbF9waGFzZV9zaGlmdDEx::MA==::QWN0dWFsIFBoYXNlIFNoaWZ0"
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX2R1dHlfY3ljbGUxMQ==::NTA=::RHV0eSBDeWNsZQ=="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX2Nhc2NhZGVfY291bnRlcjEy::ZmFsc2U=::TWFrZSB0aGlzIGEgY2FzY2FkZSBjb3VudGVy"
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX291dHB1dF9jbG9ja19mcmVxdWVuY3kxMg==::MTAwLjA=::RGVzaXJlZCBGcmVxdWVuY3k="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX2RpdmlkZV9mYWN0b3JfYzEy::MQ==::RGl2aWRlIEZhY3RvciAoQy1Db3VudGVyKQ=="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX2FjdHVhbF9tdWx0aXBseV9mYWN0b3IxMg==::MQ==::QWN0dWFsIE11bHRpcGx5IEZhY3Rvcg=="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX2FjdHVhbF9mcmFjX211bHRpcGx5X2ZhY3RvcjEy::MQ==::QWN0dWFsIEZyYWN0aW9uYWwgTXVsdGlwbHkgRmFjdG9yIChLKQ=="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX2FjdHVhbF9kaXZpZGVfZmFjdG9yMTI=::MQ==::QWN0dWFsIERpdmlkZSBGYWN0b3I="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX2FjdHVhbF9vdXRwdXRfY2xvY2tfZnJlcXVlbmN5MTI=::MCBNSHo=::QWN0dWFsIEZyZXF1ZW5jeQ=="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX3BzX3VuaXRzMTI=::cHM=::UGhhc2UgU2hpZnQgdW5pdHM="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX3BoYXNlX3NoaWZ0MTI=::MA==::UGhhc2UgU2hpZnQ="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX3BoYXNlX3NoaWZ0X2RlZzEy::MC4w::UGhhc2UgU2hpZnQ="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX2FjdHVhbF9waGFzZV9zaGlmdDEy::MA==::QWN0dWFsIFBoYXNlIFNoaWZ0"
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX2R1dHlfY3ljbGUxMg==::NTA=::RHV0eSBDeWNsZQ=="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX2Nhc2NhZGVfY291bnRlcjEz::ZmFsc2U=::TWFrZSB0aGlzIGEgY2FzY2FkZSBjb3VudGVy"
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX291dHB1dF9jbG9ja19mcmVxdWVuY3kxMw==::MTAwLjA=::RGVzaXJlZCBGcmVxdWVuY3k="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX2RpdmlkZV9mYWN0b3JfYzEz::MQ==::RGl2aWRlIEZhY3RvciAoQy1Db3VudGVyKQ=="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX2FjdHVhbF9tdWx0aXBseV9mYWN0b3IxMw==::MQ==::QWN0dWFsIE11bHRpcGx5IEZhY3Rvcg=="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX2FjdHVhbF9mcmFjX211bHRpcGx5X2ZhY3RvcjEz::MQ==::QWN0dWFsIEZyYWN0aW9uYWwgTXVsdGlwbHkgRmFjdG9yIChLKQ=="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX2FjdHVhbF9kaXZpZGVfZmFjdG9yMTM=::MQ==::QWN0dWFsIERpdmlkZSBGYWN0b3I="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX2FjdHVhbF9vdXRwdXRfY2xvY2tfZnJlcXVlbmN5MTM=::MCBNSHo=::QWN0dWFsIEZyZXF1ZW5jeQ=="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX3BzX3VuaXRzMTM=::cHM=::UGhhc2UgU2hpZnQgdW5pdHM="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX3BoYXNlX3NoaWZ0MTM=::MA==::UGhhc2UgU2hpZnQ="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX3BoYXNlX3NoaWZ0X2RlZzEz::MC4w::UGhhc2UgU2hpZnQ="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX2FjdHVhbF9waGFzZV9zaGlmdDEz::MA==::QWN0dWFsIFBoYXNlIFNoaWZ0"
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX2R1dHlfY3ljbGUxMw==::NTA=::RHV0eSBDeWNsZQ=="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX2Nhc2NhZGVfY291bnRlcjE0::ZmFsc2U=::TWFrZSB0aGlzIGEgY2FzY2FkZSBjb3VudGVy"
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX291dHB1dF9jbG9ja19mcmVxdWVuY3kxNA==::MTAwLjA=::RGVzaXJlZCBGcmVxdWVuY3k="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX2RpdmlkZV9mYWN0b3JfYzE0::MQ==::RGl2aWRlIEZhY3RvciAoQy1Db3VudGVyKQ=="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX2FjdHVhbF9tdWx0aXBseV9mYWN0b3IxNA==::MQ==::QWN0dWFsIE11bHRpcGx5IEZhY3Rvcg=="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX2FjdHVhbF9mcmFjX211bHRpcGx5X2ZhY3RvcjE0::MQ==::QWN0dWFsIEZyYWN0aW9uYWwgTXVsdGlwbHkgRmFjdG9yIChLKQ=="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX2FjdHVhbF9kaXZpZGVfZmFjdG9yMTQ=::MQ==::QWN0dWFsIERpdmlkZSBGYWN0b3I="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX2FjdHVhbF9vdXRwdXRfY2xvY2tfZnJlcXVlbmN5MTQ=::MCBNSHo=::QWN0dWFsIEZyZXF1ZW5jeQ=="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX3BzX3VuaXRzMTQ=::cHM=::UGhhc2UgU2hpZnQgdW5pdHM="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX3BoYXNlX3NoaWZ0MTQ=::MA==::UGhhc2UgU2hpZnQ="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX3BoYXNlX3NoaWZ0X2RlZzE0::MC4w::UGhhc2UgU2hpZnQ="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX2FjdHVhbF9waGFzZV9zaGlmdDE0::MA==::QWN0dWFsIFBoYXNlIFNoaWZ0"
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX2R1dHlfY3ljbGUxNA==::NTA=::RHV0eSBDeWNsZQ=="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX2Nhc2NhZGVfY291bnRlcjE1::ZmFsc2U=::TWFrZSB0aGlzIGEgY2FzY2FkZSBjb3VudGVy"
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX291dHB1dF9jbG9ja19mcmVxdWVuY3kxNQ==::MTAwLjA=::RGVzaXJlZCBGcmVxdWVuY3k="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX2RpdmlkZV9mYWN0b3JfYzE1::MQ==::RGl2aWRlIEZhY3RvciAoQy1Db3VudGVyKQ=="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX2FjdHVhbF9tdWx0aXBseV9mYWN0b3IxNQ==::MQ==::QWN0dWFsIE11bHRpcGx5IEZhY3Rvcg=="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX2FjdHVhbF9mcmFjX211bHRpcGx5X2ZhY3RvcjE1::MQ==::QWN0dWFsIEZyYWN0aW9uYWwgTXVsdGlwbHkgRmFjdG9yIChLKQ=="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX2FjdHVhbF9kaXZpZGVfZmFjdG9yMTU=::MQ==::QWN0dWFsIERpdmlkZSBGYWN0b3I="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX2FjdHVhbF9vdXRwdXRfY2xvY2tfZnJlcXVlbmN5MTU=::MCBNSHo=::QWN0dWFsIEZyZXF1ZW5jeQ=="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX3BzX3VuaXRzMTU=::cHM=::UGhhc2UgU2hpZnQgdW5pdHM="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX3BoYXNlX3NoaWZ0MTU=::MA==::UGhhc2UgU2hpZnQ="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX3BoYXNlX3NoaWZ0X2RlZzE1::MC4w::UGhhc2UgU2hpZnQ="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX2FjdHVhbF9waGFzZV9zaGlmdDE1::MA==::QWN0dWFsIFBoYXNlIFNoaWZ0"
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX2R1dHlfY3ljbGUxNQ==::NTA=::RHV0eSBDeWNsZQ=="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX2Nhc2NhZGVfY291bnRlcjE2::ZmFsc2U=::TWFrZSB0aGlzIGEgY2FzY2FkZSBjb3VudGVy"
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX291dHB1dF9jbG9ja19mcmVxdWVuY3kxNg==::MTAwLjA=::RGVzaXJlZCBGcmVxdWVuY3k="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX2RpdmlkZV9mYWN0b3JfYzE2::MQ==::RGl2aWRlIEZhY3RvciAoQy1Db3VudGVyKQ=="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX2FjdHVhbF9tdWx0aXBseV9mYWN0b3IxNg==::MQ==::QWN0dWFsIE11bHRpcGx5IEZhY3Rvcg=="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX2FjdHVhbF9mcmFjX211bHRpcGx5X2ZhY3RvcjE2::MQ==::QWN0dWFsIEZyYWN0aW9uYWwgTXVsdGlwbHkgRmFjdG9yIChLKQ=="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX2FjdHVhbF9kaXZpZGVfZmFjdG9yMTY=::MQ==::QWN0dWFsIERpdmlkZSBGYWN0b3I="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX2FjdHVhbF9vdXRwdXRfY2xvY2tfZnJlcXVlbmN5MTY=::MCBNSHo=::QWN0dWFsIEZyZXF1ZW5jeQ=="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX3BzX3VuaXRzMTY=::cHM=::UGhhc2UgU2hpZnQgdW5pdHM="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX3BoYXNlX3NoaWZ0MTY=::MA==::UGhhc2UgU2hpZnQ="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX3BoYXNlX3NoaWZ0X2RlZzE2::MC4w::UGhhc2UgU2hpZnQ="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX2FjdHVhbF9waGFzZV9zaGlmdDE2::MA==::QWN0dWFsIFBoYXNlIFNoaWZ0"
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX2R1dHlfY3ljbGUxNg==::NTA=::RHV0eSBDeWNsZQ=="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX2Nhc2NhZGVfY291bnRlcjE3::ZmFsc2U=::TWFrZSB0aGlzIGEgY2FzY2FkZSBjb3VudGVy"
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX291dHB1dF9jbG9ja19mcmVxdWVuY3kxNw==::MTAwLjA=::RGVzaXJlZCBGcmVxdWVuY3k="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX2RpdmlkZV9mYWN0b3JfYzE3::MQ==::RGl2aWRlIEZhY3RvciAoQy1Db3VudGVyKQ=="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX2FjdHVhbF9tdWx0aXBseV9mYWN0b3IxNw==::MQ==::QWN0dWFsIE11bHRpcGx5IEZhY3Rvcg=="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX2FjdHVhbF9mcmFjX211bHRpcGx5X2ZhY3RvcjE3::MQ==::QWN0dWFsIEZyYWN0aW9uYWwgTXVsdGlwbHkgRmFjdG9yIChLKQ=="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX2FjdHVhbF9kaXZpZGVfZmFjdG9yMTc=::MQ==::QWN0dWFsIERpdmlkZSBGYWN0b3I="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX2FjdHVhbF9vdXRwdXRfY2xvY2tfZnJlcXVlbmN5MTc=::MCBNSHo=::QWN0dWFsIEZyZXF1ZW5jeQ=="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX3BzX3VuaXRzMTc=::cHM=::UGhhc2UgU2hpZnQgdW5pdHM="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX3BoYXNlX3NoaWZ0MTc=::MA==::UGhhc2UgU2hpZnQ="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX3BoYXNlX3NoaWZ0X2RlZzE3::MC4w::UGhhc2UgU2hpZnQ="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX2FjdHVhbF9waGFzZV9zaGlmdDE3::MA==::QWN0dWFsIFBoYXNlIFNoaWZ0"
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX2R1dHlfY3ljbGUxNw==::NTA=::RHV0eSBDeWNsZQ=="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "b3V0cHV0X2Nsb2NrX2ZyZXF1ZW5jeTA=::NzIuMDAwMDAwIE1Ieg==::b3V0cHV0X2Nsb2NrX2ZyZXF1ZW5jeTA="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "cGhhc2Vfc2hpZnQw::MCBwcw==::cGhhc2Vfc2hpZnQw"
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "ZHV0eV9jeWNsZTA=::NTA=::ZHV0eV9jeWNsZTA="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "b3V0cHV0X2Nsb2NrX2ZyZXF1ZW5jeTE=::MCBNSHo=::b3V0cHV0X2Nsb2NrX2ZyZXF1ZW5jeTE="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "cGhhc2Vfc2hpZnQx::MCBwcw==::cGhhc2Vfc2hpZnQx"
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "ZHV0eV9jeWNsZTE=::NTA=::ZHV0eV9jeWNsZTE="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "b3V0cHV0X2Nsb2NrX2ZyZXF1ZW5jeTI=::MCBNSHo=::b3V0cHV0X2Nsb2NrX2ZyZXF1ZW5jeTI="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "cGhhc2Vfc2hpZnQy::MCBwcw==::cGhhc2Vfc2hpZnQy"
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "ZHV0eV9jeWNsZTI=::NTA=::ZHV0eV9jeWNsZTI="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "b3V0cHV0X2Nsb2NrX2ZyZXF1ZW5jeTM=::MCBNSHo=::b3V0cHV0X2Nsb2NrX2ZyZXF1ZW5jeTM="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "cGhhc2Vfc2hpZnQz::MCBwcw==::cGhhc2Vfc2hpZnQz"
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "ZHV0eV9jeWNsZTM=::NTA=::ZHV0eV9jeWNsZTM="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "b3V0cHV0X2Nsb2NrX2ZyZXF1ZW5jeTQ=::MCBNSHo=::b3V0cHV0X2Nsb2NrX2ZyZXF1ZW5jeTQ="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "cGhhc2Vfc2hpZnQ0::MCBwcw==::cGhhc2Vfc2hpZnQ0"
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "ZHV0eV9jeWNsZTQ=::NTA=::ZHV0eV9jeWNsZTQ="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "b3V0cHV0X2Nsb2NrX2ZyZXF1ZW5jeTU=::MCBNSHo=::b3V0cHV0X2Nsb2NrX2ZyZXF1ZW5jeTU="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "cGhhc2Vfc2hpZnQ1::MCBwcw==::cGhhc2Vfc2hpZnQ1"
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "ZHV0eV9jeWNsZTU=::NTA=::ZHV0eV9jeWNsZTU="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "b3V0cHV0X2Nsb2NrX2ZyZXF1ZW5jeTY=::MCBNSHo=::b3V0cHV0X2Nsb2NrX2ZyZXF1ZW5jeTY="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "cGhhc2Vfc2hpZnQ2::MCBwcw==::cGhhc2Vfc2hpZnQ2"
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "ZHV0eV9jeWNsZTY=::NTA=::ZHV0eV9jeWNsZTY="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "b3V0cHV0X2Nsb2NrX2ZyZXF1ZW5jeTc=::MCBNSHo=::b3V0cHV0X2Nsb2NrX2ZyZXF1ZW5jeTc="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "cGhhc2Vfc2hpZnQ3::MCBwcw==::cGhhc2Vfc2hpZnQ3"
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "ZHV0eV9jeWNsZTc=::NTA=::ZHV0eV9jeWNsZTc="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "b3V0cHV0X2Nsb2NrX2ZyZXF1ZW5jeTg=::MCBNSHo=::b3V0cHV0X2Nsb2NrX2ZyZXF1ZW5jeTg="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "cGhhc2Vfc2hpZnQ4::MCBwcw==::cGhhc2Vfc2hpZnQ4"
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "ZHV0eV9jeWNsZTg=::NTA=::ZHV0eV9jeWNsZTg="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "b3V0cHV0X2Nsb2NrX2ZyZXF1ZW5jeTk=::MCBNSHo=::b3V0cHV0X2Nsb2NrX2ZyZXF1ZW5jeTk="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "cGhhc2Vfc2hpZnQ5::MCBwcw==::cGhhc2Vfc2hpZnQ5"
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "ZHV0eV9jeWNsZTk=::NTA=::ZHV0eV9jeWNsZTk="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "b3V0cHV0X2Nsb2NrX2ZyZXF1ZW5jeTEw::MCBNSHo=::b3V0cHV0X2Nsb2NrX2ZyZXF1ZW5jeTEw"
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "cGhhc2Vfc2hpZnQxMA==::MCBwcw==::cGhhc2Vfc2hpZnQxMA=="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "ZHV0eV9jeWNsZTEw::NTA=::ZHV0eV9jeWNsZTEw"
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "b3V0cHV0X2Nsb2NrX2ZyZXF1ZW5jeTEx::MCBNSHo=::b3V0cHV0X2Nsb2NrX2ZyZXF1ZW5jeTEx"
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "cGhhc2Vfc2hpZnQxMQ==::MCBwcw==::cGhhc2Vfc2hpZnQxMQ=="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "ZHV0eV9jeWNsZTEx::NTA=::ZHV0eV9jeWNsZTEx"
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "b3V0cHV0X2Nsb2NrX2ZyZXF1ZW5jeTEy::MCBNSHo=::b3V0cHV0X2Nsb2NrX2ZyZXF1ZW5jeTEy"
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "cGhhc2Vfc2hpZnQxMg==::MCBwcw==::cGhhc2Vfc2hpZnQxMg=="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "ZHV0eV9jeWNsZTEy::NTA=::ZHV0eV9jeWNsZTEy"
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "b3V0cHV0X2Nsb2NrX2ZyZXF1ZW5jeTEz::MCBNSHo=::b3V0cHV0X2Nsb2NrX2ZyZXF1ZW5jeTEz"
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "cGhhc2Vfc2hpZnQxMw==::MCBwcw==::cGhhc2Vfc2hpZnQxMw=="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "ZHV0eV9jeWNsZTEz::NTA=::ZHV0eV9jeWNsZTEz"
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "b3V0cHV0X2Nsb2NrX2ZyZXF1ZW5jeTE0::MCBNSHo=::b3V0cHV0X2Nsb2NrX2ZyZXF1ZW5jeTE0"
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "cGhhc2Vfc2hpZnQxNA==::MCBwcw==::cGhhc2Vfc2hpZnQxNA=="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "ZHV0eV9jeWNsZTE0::NTA=::ZHV0eV9jeWNsZTE0"
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "b3V0cHV0X2Nsb2NrX2ZyZXF1ZW5jeTE1::MCBNSHo=::b3V0cHV0X2Nsb2NrX2ZyZXF1ZW5jeTE1"
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "cGhhc2Vfc2hpZnQxNQ==::MCBwcw==::cGhhc2Vfc2hpZnQxNQ=="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "ZHV0eV9jeWNsZTE1::NTA=::ZHV0eV9jeWNsZTE1"
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "b3V0cHV0X2Nsb2NrX2ZyZXF1ZW5jeTE2::MCBNSHo=::b3V0cHV0X2Nsb2NrX2ZyZXF1ZW5jeTE2"
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "cGhhc2Vfc2hpZnQxNg==::MCBwcw==::cGhhc2Vfc2hpZnQxNg=="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "ZHV0eV9jeWNsZTE2::NTA=::ZHV0eV9jeWNsZTE2"
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "b3V0cHV0X2Nsb2NrX2ZyZXF1ZW5jeTE3::MCBNSHo=::b3V0cHV0X2Nsb2NrX2ZyZXF1ZW5jeTE3"
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "cGhhc2Vfc2hpZnQxNw==::MCBwcw==::cGhhc2Vfc2hpZnQxNw=="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "ZHV0eV9jeWNsZTE3::NTA=::ZHV0eV9jeWNsZTE3"
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX3BsbF9hdXRvX3Jlc2V0::T24=::UExMIEF1dG8gUmVzZXQ="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX3BsbF9iYW5kd2lkdGhfcHJlc2V0::QXV0bw==::UExMIEJhbmR3aWR0aCBQcmVzZXQ="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX2VuX3JlY29uZg==::dHJ1ZQ==::RW5hYmxlIGR5bmFtaWMgcmVjb25maWd1cmF0aW9uIG9mIFBMTA=="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX2VuX2Rwc19wb3J0cw==::ZmFsc2U=::RW5hYmxlIGFjY2VzcyB0byBkeW5hbWljIHBoYXNlIHNoaWZ0IHBvcnRz"
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX2VuX3Bob3V0X3BvcnRz::ZmFsc2U=::RW5hYmxlIGFjY2VzcyB0byBQTEwgRFBBIG91dHB1dCBwb3J0"
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "cGxsX3R5cGU=::Q3ljbG9uZSBW::UExMIFRZUEU="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "cGxsX3N1YnR5cGU=::UmVjb25maWd1cmFibGU=::UExMIFNVQlRZUEU="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "bV9jbnRfaGlfZGl2::NA==::bV9jbnRfaGlfZGl2"
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "bV9jbnRfbG9fZGl2::NA==::bV9jbnRfbG9fZGl2"
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "bl9jbnRfaGlfZGl2::MjU2::bl9jbnRfaGlfZGl2"
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "bl9jbnRfbG9fZGl2::MjU2::bl9jbnRfbG9fZGl2"
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "bV9jbnRfYnlwYXNzX2Vu::ZmFsc2U=::bV9jbnRfYnlwYXNzX2Vu"
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "bl9jbnRfYnlwYXNzX2Vu::dHJ1ZQ==::bl9jbnRfYnlwYXNzX2Vu"
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "bV9jbnRfb2RkX2Rpdl9kdXR5X2Vu::ZmFsc2U=::bV9jbnRfb2RkX2Rpdl9kdXR5X2Vu"
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "bl9jbnRfb2RkX2Rpdl9kdXR5X2Vu::ZmFsc2U=::bl9jbnRfb2RkX2Rpdl9kdXR5X2Vu"
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Y19jbnRfaGlfZGl2MA==::Mw==::Y19jbnRfaGlfZGl2MA=="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Y19jbnRfbG9fZGl2MA==::Mw==::Y19jbnRfbG9fZGl2MA=="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Y19jbnRfcHJzdDA=::MQ==::Y19jbnRfcHJzdDA="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Y19jbnRfcGhfbXV4X3Byc3Qw::MA==::Y19jbnRfcGhfbXV4X3Byc3Qw"
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Y19jbnRfaW5fc3JjMA==::cGhfbXV4X2Nsaw==::Y19jbnRfaW5fc3JjMA=="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Y19jbnRfYnlwYXNzX2VuMA==::ZmFsc2U=::Y19jbnRfYnlwYXNzX2VuMA=="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Y19jbnRfb2RkX2Rpdl9kdXR5X2VuMA==::ZmFsc2U=::Y19jbnRfb2RkX2Rpdl9kdXR5X2VuMA=="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Y19jbnRfaGlfZGl2MQ==::MQ==::Y19jbnRfaGlfZGl2MQ=="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Y19jbnRfbG9fZGl2MQ==::MQ==::Y19jbnRfbG9fZGl2MQ=="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Y19jbnRfcHJzdDE=::MQ==::Y19jbnRfcHJzdDE="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Y19jbnRfcGhfbXV4X3Byc3Qx::MA==::Y19jbnRfcGhfbXV4X3Byc3Qx"
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Y19jbnRfaW5fc3JjMQ==::cGhfbXV4X2Nsaw==::Y19jbnRfaW5fc3JjMQ=="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Y19jbnRfYnlwYXNzX2VuMQ==::dHJ1ZQ==::Y19jbnRfYnlwYXNzX2VuMQ=="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Y19jbnRfb2RkX2Rpdl9kdXR5X2VuMQ==::ZmFsc2U=::Y19jbnRfb2RkX2Rpdl9kdXR5X2VuMQ=="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Y19jbnRfaGlfZGl2Mg==::MQ==::Y19jbnRfaGlfZGl2Mg=="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Y19jbnRfbG9fZGl2Mg==::MQ==::Y19jbnRfbG9fZGl2Mg=="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Y19jbnRfcHJzdDI=::MQ==::Y19jbnRfcHJzdDI="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Y19jbnRfcGhfbXV4X3Byc3Qy::MA==::Y19jbnRfcGhfbXV4X3Byc3Qy"
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Y19jbnRfaW5fc3JjMg==::cGhfbXV4X2Nsaw==::Y19jbnRfaW5fc3JjMg=="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Y19jbnRfYnlwYXNzX2VuMg==::dHJ1ZQ==::Y19jbnRfYnlwYXNzX2VuMg=="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Y19jbnRfb2RkX2Rpdl9kdXR5X2VuMg==::ZmFsc2U=::Y19jbnRfb2RkX2Rpdl9kdXR5X2VuMg=="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Y19jbnRfaGlfZGl2Mw==::MQ==::Y19jbnRfaGlfZGl2Mw=="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Y19jbnRfbG9fZGl2Mw==::MQ==::Y19jbnRfbG9fZGl2Mw=="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Y19jbnRfcHJzdDM=::MQ==::Y19jbnRfcHJzdDM="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Y19jbnRfcGhfbXV4X3Byc3Qz::MA==::Y19jbnRfcGhfbXV4X3Byc3Qz"
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Y19jbnRfaW5fc3JjMw==::cGhfbXV4X2Nsaw==::Y19jbnRfaW5fc3JjMw=="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Y19jbnRfYnlwYXNzX2VuMw==::dHJ1ZQ==::Y19jbnRfYnlwYXNzX2VuMw=="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Y19jbnRfb2RkX2Rpdl9kdXR5X2VuMw==::ZmFsc2U=::Y19jbnRfb2RkX2Rpdl9kdXR5X2VuMw=="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Y19jbnRfaGlfZGl2NA==::MQ==::Y19jbnRfaGlfZGl2NA=="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Y19jbnRfbG9fZGl2NA==::MQ==::Y19jbnRfbG9fZGl2NA=="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Y19jbnRfcHJzdDQ=::MQ==::Y19jbnRfcHJzdDQ="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Y19jbnRfcGhfbXV4X3Byc3Q0::MA==::Y19jbnRfcGhfbXV4X3Byc3Q0"
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Y19jbnRfaW5fc3JjNA==::cGhfbXV4X2Nsaw==::Y19jbnRfaW5fc3JjNA=="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Y19jbnRfYnlwYXNzX2VuNA==::dHJ1ZQ==::Y19jbnRfYnlwYXNzX2VuNA=="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Y19jbnRfb2RkX2Rpdl9kdXR5X2VuNA==::ZmFsc2U=::Y19jbnRfb2RkX2Rpdl9kdXR5X2VuNA=="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Y19jbnRfaGlfZGl2NQ==::MQ==::Y19jbnRfaGlfZGl2NQ=="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Y19jbnRfbG9fZGl2NQ==::MQ==::Y19jbnRfbG9fZGl2NQ=="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Y19jbnRfcHJzdDU=::MQ==::Y19jbnRfcHJzdDU="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Y19jbnRfcGhfbXV4X3Byc3Q1::MA==::Y19jbnRfcGhfbXV4X3Byc3Q1"
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Y19jbnRfaW5fc3JjNQ==::cGhfbXV4X2Nsaw==::Y19jbnRfaW5fc3JjNQ=="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Y19jbnRfYnlwYXNzX2VuNQ==::dHJ1ZQ==::Y19jbnRfYnlwYXNzX2VuNQ=="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Y19jbnRfb2RkX2Rpdl9kdXR5X2VuNQ==::ZmFsc2U=::Y19jbnRfb2RkX2Rpdl9kdXR5X2VuNQ=="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Y19jbnRfaGlfZGl2Ng==::MQ==::Y19jbnRfaGlfZGl2Ng=="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Y19jbnRfbG9fZGl2Ng==::MQ==::Y19jbnRfbG9fZGl2Ng=="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Y19jbnRfcHJzdDY=::MQ==::Y19jbnRfcHJzdDY="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Y19jbnRfcGhfbXV4X3Byc3Q2::MA==::Y19jbnRfcGhfbXV4X3Byc3Q2"
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Y19jbnRfaW5fc3JjNg==::cGhfbXV4X2Nsaw==::Y19jbnRfaW5fc3JjNg=="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Y19jbnRfYnlwYXNzX2VuNg==::dHJ1ZQ==::Y19jbnRfYnlwYXNzX2VuNg=="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Y19jbnRfb2RkX2Rpdl9kdXR5X2VuNg==::ZmFsc2U=::Y19jbnRfb2RkX2Rpdl9kdXR5X2VuNg=="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Y19jbnRfaGlfZGl2Nw==::MQ==::Y19jbnRfaGlfZGl2Nw=="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Y19jbnRfbG9fZGl2Nw==::MQ==::Y19jbnRfbG9fZGl2Nw=="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Y19jbnRfcHJzdDc=::MQ==::Y19jbnRfcHJzdDc="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Y19jbnRfcGhfbXV4X3Byc3Q3::MA==::Y19jbnRfcGhfbXV4X3Byc3Q3"
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Y19jbnRfaW5fc3JjNw==::cGhfbXV4X2Nsaw==::Y19jbnRfaW5fc3JjNw=="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Y19jbnRfYnlwYXNzX2VuNw==::dHJ1ZQ==::Y19jbnRfYnlwYXNzX2VuNw=="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Y19jbnRfb2RkX2Rpdl9kdXR5X2VuNw==::ZmFsc2U=::Y19jbnRfb2RkX2Rpdl9kdXR5X2VuNw=="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Y19jbnRfaGlfZGl2OA==::MQ==::Y19jbnRfaGlfZGl2OA=="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Y19jbnRfbG9fZGl2OA==::MQ==::Y19jbnRfbG9fZGl2OA=="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Y19jbnRfcHJzdDg=::MQ==::Y19jbnRfcHJzdDg="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Y19jbnRfcGhfbXV4X3Byc3Q4::MA==::Y19jbnRfcGhfbXV4X3Byc3Q4"
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Y19jbnRfaW5fc3JjOA==::cGhfbXV4X2Nsaw==::Y19jbnRfaW5fc3JjOA=="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Y19jbnRfYnlwYXNzX2VuOA==::dHJ1ZQ==::Y19jbnRfYnlwYXNzX2VuOA=="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Y19jbnRfb2RkX2Rpdl9kdXR5X2VuOA==::ZmFsc2U=::Y19jbnRfb2RkX2Rpdl9kdXR5X2VuOA=="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Y19jbnRfaGlfZGl2OQ==::MQ==::Y19jbnRfaGlfZGl2OQ=="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Y19jbnRfbG9fZGl2OQ==::MQ==::Y19jbnRfbG9fZGl2OQ=="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Y19jbnRfcHJzdDk=::MQ==::Y19jbnRfcHJzdDk="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Y19jbnRfcGhfbXV4X3Byc3Q5::MA==::Y19jbnRfcGhfbXV4X3Byc3Q5"
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Y19jbnRfaW5fc3JjOQ==::cGhfbXV4X2Nsaw==::Y19jbnRfaW5fc3JjOQ=="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Y19jbnRfYnlwYXNzX2VuOQ==::dHJ1ZQ==::Y19jbnRfYnlwYXNzX2VuOQ=="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Y19jbnRfb2RkX2Rpdl9kdXR5X2VuOQ==::ZmFsc2U=::Y19jbnRfb2RkX2Rpdl9kdXR5X2VuOQ=="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Y19jbnRfaGlfZGl2MTA=::MQ==::Y19jbnRfaGlfZGl2MTA="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Y19jbnRfbG9fZGl2MTA=::MQ==::Y19jbnRfbG9fZGl2MTA="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Y19jbnRfcHJzdDEw::MQ==::Y19jbnRfcHJzdDEw"
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Y19jbnRfcGhfbXV4X3Byc3QxMA==::MA==::Y19jbnRfcGhfbXV4X3Byc3QxMA=="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Y19jbnRfaW5fc3JjMTA=::cGhfbXV4X2Nsaw==::Y19jbnRfaW5fc3JjMTA="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Y19jbnRfYnlwYXNzX2VuMTA=::dHJ1ZQ==::Y19jbnRfYnlwYXNzX2VuMTA="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Y19jbnRfb2RkX2Rpdl9kdXR5X2VuMTA=::ZmFsc2U=::Y19jbnRfb2RkX2Rpdl9kdXR5X2VuMTA="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Y19jbnRfaGlfZGl2MTE=::MQ==::Y19jbnRfaGlfZGl2MTE="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Y19jbnRfbG9fZGl2MTE=::MQ==::Y19jbnRfbG9fZGl2MTE="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Y19jbnRfcHJzdDEx::MQ==::Y19jbnRfcHJzdDEx"
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Y19jbnRfcGhfbXV4X3Byc3QxMQ==::MA==::Y19jbnRfcGhfbXV4X3Byc3QxMQ=="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Y19jbnRfaW5fc3JjMTE=::cGhfbXV4X2Nsaw==::Y19jbnRfaW5fc3JjMTE="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Y19jbnRfYnlwYXNzX2VuMTE=::dHJ1ZQ==::Y19jbnRfYnlwYXNzX2VuMTE="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Y19jbnRfb2RkX2Rpdl9kdXR5X2VuMTE=::ZmFsc2U=::Y19jbnRfb2RkX2Rpdl9kdXR5X2VuMTE="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Y19jbnRfaGlfZGl2MTI=::MQ==::Y19jbnRfaGlfZGl2MTI="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Y19jbnRfbG9fZGl2MTI=::MQ==::Y19jbnRfbG9fZGl2MTI="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Y19jbnRfcHJzdDEy::MQ==::Y19jbnRfcHJzdDEy"
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Y19jbnRfcGhfbXV4X3Byc3QxMg==::MA==::Y19jbnRfcGhfbXV4X3Byc3QxMg=="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Y19jbnRfaW5fc3JjMTI=::cGhfbXV4X2Nsaw==::Y19jbnRfaW5fc3JjMTI="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Y19jbnRfYnlwYXNzX2VuMTI=::dHJ1ZQ==::Y19jbnRfYnlwYXNzX2VuMTI="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Y19jbnRfb2RkX2Rpdl9kdXR5X2VuMTI=::ZmFsc2U=::Y19jbnRfb2RkX2Rpdl9kdXR5X2VuMTI="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Y19jbnRfaGlfZGl2MTM=::MQ==::Y19jbnRfaGlfZGl2MTM="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Y19jbnRfbG9fZGl2MTM=::MQ==::Y19jbnRfbG9fZGl2MTM="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Y19jbnRfcHJzdDEz::MQ==::Y19jbnRfcHJzdDEz"
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Y19jbnRfcGhfbXV4X3Byc3QxMw==::MA==::Y19jbnRfcGhfbXV4X3Byc3QxMw=="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Y19jbnRfaW5fc3JjMTM=::cGhfbXV4X2Nsaw==::Y19jbnRfaW5fc3JjMTM="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Y19jbnRfYnlwYXNzX2VuMTM=::dHJ1ZQ==::Y19jbnRfYnlwYXNzX2VuMTM="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Y19jbnRfb2RkX2Rpdl9kdXR5X2VuMTM=::ZmFsc2U=::Y19jbnRfb2RkX2Rpdl9kdXR5X2VuMTM="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Y19jbnRfaGlfZGl2MTQ=::MQ==::Y19jbnRfaGlfZGl2MTQ="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Y19jbnRfbG9fZGl2MTQ=::MQ==::Y19jbnRfbG9fZGl2MTQ="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Y19jbnRfcHJzdDE0::MQ==::Y19jbnRfcHJzdDE0"
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Y19jbnRfcGhfbXV4X3Byc3QxNA==::MA==::Y19jbnRfcGhfbXV4X3Byc3QxNA=="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Y19jbnRfaW5fc3JjMTQ=::cGhfbXV4X2Nsaw==::Y19jbnRfaW5fc3JjMTQ="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Y19jbnRfYnlwYXNzX2VuMTQ=::dHJ1ZQ==::Y19jbnRfYnlwYXNzX2VuMTQ="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Y19jbnRfb2RkX2Rpdl9kdXR5X2VuMTQ=::ZmFsc2U=::Y19jbnRfb2RkX2Rpdl9kdXR5X2VuMTQ="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Y19jbnRfaGlfZGl2MTU=::MQ==::Y19jbnRfaGlfZGl2MTU="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Y19jbnRfbG9fZGl2MTU=::MQ==::Y19jbnRfbG9fZGl2MTU="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Y19jbnRfcHJzdDE1::MQ==::Y19jbnRfcHJzdDE1"
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Y19jbnRfcGhfbXV4X3Byc3QxNQ==::MA==::Y19jbnRfcGhfbXV4X3Byc3QxNQ=="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Y19jbnRfaW5fc3JjMTU=::cGhfbXV4X2Nsaw==::Y19jbnRfaW5fc3JjMTU="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Y19jbnRfYnlwYXNzX2VuMTU=::dHJ1ZQ==::Y19jbnRfYnlwYXNzX2VuMTU="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Y19jbnRfb2RkX2Rpdl9kdXR5X2VuMTU=::ZmFsc2U=::Y19jbnRfb2RkX2Rpdl9kdXR5X2VuMTU="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Y19jbnRfaGlfZGl2MTY=::MQ==::Y19jbnRfaGlfZGl2MTY="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Y19jbnRfbG9fZGl2MTY=::MQ==::Y19jbnRfbG9fZGl2MTY="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Y19jbnRfcHJzdDE2::MQ==::Y19jbnRfcHJzdDE2"
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Y19jbnRfcGhfbXV4X3Byc3QxNg==::MA==::Y19jbnRfcGhfbXV4X3Byc3QxNg=="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Y19jbnRfaW5fc3JjMTY=::cGhfbXV4X2Nsaw==::Y19jbnRfaW5fc3JjMTY="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Y19jbnRfYnlwYXNzX2VuMTY=::dHJ1ZQ==::Y19jbnRfYnlwYXNzX2VuMTY="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Y19jbnRfb2RkX2Rpdl9kdXR5X2VuMTY=::ZmFsc2U=::Y19jbnRfb2RkX2Rpdl9kdXR5X2VuMTY="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Y19jbnRfaGlfZGl2MTc=::MQ==::Y19jbnRfaGlfZGl2MTc="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Y19jbnRfbG9fZGl2MTc=::MQ==::Y19jbnRfbG9fZGl2MTc="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Y19jbnRfcHJzdDE3::MQ==::Y19jbnRfcHJzdDE3"
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Y19jbnRfcGhfbXV4X3Byc3QxNw==::MA==::Y19jbnRfcGhfbXV4X3Byc3QxNw=="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Y19jbnRfaW5fc3JjMTc=::cGhfbXV4X2Nsaw==::Y19jbnRfaW5fc3JjMTc="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Y19jbnRfYnlwYXNzX2VuMTc=::dHJ1ZQ==::Y19jbnRfYnlwYXNzX2VuMTc="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Y19jbnRfb2RkX2Rpdl9kdXR5X2VuMTc=::ZmFsc2U=::Y19jbnRfb2RkX2Rpdl9kdXR5X2VuMTc="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "cGxsX3Zjb19kaXY=::Mg==::cGxsX3Zjb19kaXY="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "cGxsX2NwX2N1cnJlbnQ=::MjA=::cGxsX2NwX2N1cnJlbnQ="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "cGxsX2J3Y3RybA==::NDAwMA==::cGxsX2J3Y3RybA=="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "cGxsX291dHB1dF9jbGtfZnJlcXVlbmN5::NDMxLjk5OTk5OSBNSHo=::cGxsX291dHB1dF9jbGtfZnJlcXVlbmN5"
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "cGxsX2ZyYWN0aW9uYWxfZGl2aXNpb24=::Mjc0ODc3ODk4NA==::cGxsX2ZyYWN0aW9uYWxfZGl2aXNpb24="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "bWltaWNfZmJjbGtfdHlwZQ==::bm9uZQ==::bWltaWNfZmJjbGtfdHlwZQ=="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "cGxsX2ZiY2xrX211eF8x::Z2xi::cGxsX2ZiY2xrX211eF8x"
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "cGxsX2ZiY2xrX211eF8y::bV9jbnQ=::cGxsX2ZiY2xrX211eF8y"
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "cGxsX21fY250X2luX3NyYw==::cGhfbXV4X2Nsaw==::cGxsX21fY250X2luX3NyYw=="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "cGxsX3NsZl9yc3Q=::dHJ1ZQ==::cGxsX3NsZl9yc3Q="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX3BhcmFtZXRlcl9saXN0::TS1Db3VudGVyIEhpIERpdmlkZSxNLUNvdW50ZXIgTG93IERpdmlkZSxOLUNvdW50ZXIgSGkgRGl2aWRlLE4tQ291bnRlciBMb3cgRGl2aWRlLE0tQ291bnRlciBCeXBhc3MgRW5hYmxlLE4tQ291bnRlciBCeXBhc3MgRW5hYmxlLE0tQ291bnRlciBPZGQgRGl2aWRlIEVuYWJsZSxOLUNvdW50ZXIgT2RkIERpdmlkZSBFbmFibGUsQy1Db3VudGVyLTAgSGkgRGl2aWRlLEMtQ291bnRlci0wIExvdyBEaXZpZGUsQy1Db3VudGVyLTAgQ29hcnNlIFBoYXNlIFNoaWZ0LEMtQ291bnRlci0wIFZDTyBQaGFzZSBUYXAsQy1Db3VudGVyLTAgSW5wdXQgU291cmNlLEMtQ291bnRlci0wIEJ5cGFzcyBFbmFibGUsQy1Db3VudGVyLTAgT2RkIERpdmlkZSBFbmFibGUsVkNPIFBvc3QgRGl2aWRlIENvdW50ZXIgRW5hYmxlLENoYXJnZSBQdW1wIGN1cnJlbnQgKHVBKSxMb29wIEZpbHRlciBCYW5kd2lkdGggUmVzaXN0b3IgKE9obXMpICxQTEwgT3V0cHV0IFZDTyBGcmVxdWVuY3ksSy1GcmFjdGlvbmFsIERpdmlzaW9uIFZhbHVlIChEU00pLEZlZWRiYWNrIENsb2NrIFR5cGUsRmVlZGJhY2sgQ2xvY2sgTVVYIDEsRmVlZGJhY2sgQ2xvY2sgTVVYIDIsTSBDb3VudGVyIFNvdXJjZSBNVVgsUExMIEF1dG8gUmVzZXQ=::UGFyYW1ldGVyIE5hbWVz"
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX3BhcmFtZXRlcl92YWx1ZXM=::NCw0LDI1NiwyNTYsZmFsc2UsdHJ1ZSxmYWxzZSxmYWxzZSwzLDMsMSwwLHBoX211eF9jbGssZmFsc2UsZmFsc2UsMiwyMCw0MDAwLDQzMS45OTk5OTkgTUh6LDI3NDg3Nzg5ODQsbm9uZSxnbGIsbV9jbnQscGhfbXV4X2Nsayx0cnVl::UGFyYW1ldGVyIFZhbHVlcw=="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX21pZl9nZW5lcmF0ZQ==::dHJ1ZQ==::R2VuZXJhdGUgTUlGIGZpbGU="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX2VuYWJsZV9taWZfZHBz::ZmFsc2U=::RW5hYmxlIER5bmFtaWMgUGhhc2UgU2hpZnQgZm9yIE1JRiBzdHJlYW1pbmc="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX2Rwc19jbnRy::QzA=::RFBTIENvdW50ZXIgU2VsZWN0aW9u"
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX2Rwc19udW0=::MQ==::TnVtYmVyIG9mIER5bmFtaWMgUGhhc2UgU2hpZnRz"
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX2Rwc19kaXI=::UG9zaXRpdmU=::RHluYW1pYyBQaGFzZSBTaGlmdCBEaXJlY3Rpb24="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX3JlZmNsa19zd2l0Y2g=::ZmFsc2U=::Q3JlYXRlIGEgc2Vjb25kIGlucHV0IGNsayAncmVmY2xrMSc="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX2VuYWJsZV9jYXNjYWRlX291dA==::ZmFsc2U=::Q3JlYXRlIGEgJ2Nhc2NhZGVfb3V0JyBzaWduYWwgdG8gY29ubmVjdCB3aXRoIGEgZG93bnN0cmVhbSBQTEw="
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_COMPONENT_PARAMETER "Z3VpX2VuYWJsZV9jYXNjYWRlX2lu::ZmFsc2U=::Q3JlYXRlIGFuIGFkanBsbGluIG9yIGNjbGsgc2lnbmFsIHRvIGNvbm5lY3Qgd2l0aCBhbiB1cHN0cmVhbSBQTEw="
+
+set_global_assignment -library "vpll" -name VERILOG_FILE [file join $::quartus(qip_path) "vpll.v"]
+set_global_assignment -library "vpll" -name VERILOG_FILE [file join $::quartus(qip_path) "vpll/vpll_0002.v"]
+set_global_assignment -library "vpll" -name QIP_FILE [file join $::quartus(qip_path) "vpll/vpll_0002.qip"]
+set_global_assignment -library "vpll" -name SOURCE_FILE [file join $::quartus(qip_path) "vpll/vpll.mif"]
+
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_TOOL_NAME "altera_pll"
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_TOOL_VERSION "17.0"
+set_global_assignment -entity "vpll_0002" -library "vpll" -name IP_TOOL_ENV "mwpim"
diff --git a/vpll.v b/vpll.v
new file mode 100644
index 0000000..49c825c
--- /dev/null
+++ b/vpll.v
@@ -0,0 +1,257 @@
+// megafunction wizard: %Altera PLL v17.0%
+// GENERATION: XML
+// vpll.v
+
+// Generated using ACDS version 17.0 602
+
+`timescale 1 ps / 1 ps
+module vpll (
+ input wire refclk, // refclk.clk
+ input wire rst, // reset.reset
+ output wire outclk_0, // outclk0.clk
+ output wire locked, // locked.export
+ input wire [63:0] reconfig_to_pll, // reconfig_to_pll.reconfig_to_pll
+ output wire [63:0] reconfig_from_pll // reconfig_from_pll.reconfig_from_pll
+ );
+
+ vpll_0002 vpll_inst (
+ .refclk (refclk), // refclk.clk
+ .rst (rst), // reset.reset
+ .outclk_0 (outclk_0), // outclk0.clk
+ .locked (locked), // locked.export
+ .reconfig_to_pll (reconfig_to_pll), // reconfig_to_pll.reconfig_to_pll
+ .reconfig_from_pll (reconfig_from_pll) // reconfig_from_pll.reconfig_from_pll
+ );
+
+endmodule
+// Retrieval info:
+//
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// Retrieval info:
+// IPFS_FILES : vpll.vo
+// RELATED_FILES: vpll.v, vpll_0002.v
diff --git a/vpll/vpll_0002.qip b/vpll/vpll_0002.qip
new file mode 100644
index 0000000..8509f3c
--- /dev/null
+++ b/vpll/vpll_0002.qip
@@ -0,0 +1,2 @@
+set_instance_assignment -name PLL_COMPENSATION_MODE DIRECT -to "*vpll_0002*|altera_pll:altera_pll_i*|*"
+set_instance_assignment -name UNFORCE_MERGE_PLL_OUTPUT_COUNTER ON -to "*vpll_0002*|altera_pll:altera_pll_i*|*"
diff --git a/vpll/vpll_0002.v b/vpll/vpll_0002.v
new file mode 100644
index 0000000..f477e36
--- /dev/null
+++ b/vpll/vpll_0002.v
@@ -0,0 +1,241 @@
+`timescale 1ns/10ps
+module vpll_0002(
+
+ // interface 'refclk'
+ input wire refclk,
+
+ // interface 'reset'
+ input wire rst,
+
+ // interface 'outclk0'
+ output wire outclk_0,
+
+ // interface 'locked'
+ output wire locked,
+
+ // interface 'reconfig_to_pll'
+ input wire [63:0] reconfig_to_pll,
+
+ // interface 'reconfig_from_pll'
+ output wire [63:0] reconfig_from_pll
+);
+
+ altera_pll #(
+ .fractional_vco_multiplier("true"),
+ .reference_clock_frequency("50.0 MHz"),
+ .pll_fractional_cout(32),
+ .pll_dsm_out_sel("1st_order"),
+ .operation_mode("direct"),
+ .number_of_clocks(1),
+ .output_clock_frequency0("72.000000 MHz"),
+ .phase_shift0("0 ps"),
+ .duty_cycle0(50),
+ .output_clock_frequency1("0 MHz"),
+ .phase_shift1("0 ps"),
+ .duty_cycle1(50),
+ .output_clock_frequency2("0 MHz"),
+ .phase_shift2("0 ps"),
+ .duty_cycle2(50),
+ .output_clock_frequency3("0 MHz"),
+ .phase_shift3("0 ps"),
+ .duty_cycle3(50),
+ .output_clock_frequency4("0 MHz"),
+ .phase_shift4("0 ps"),
+ .duty_cycle4(50),
+ .output_clock_frequency5("0 MHz"),
+ .phase_shift5("0 ps"),
+ .duty_cycle5(50),
+ .output_clock_frequency6("0 MHz"),
+ .phase_shift6("0 ps"),
+ .duty_cycle6(50),
+ .output_clock_frequency7("0 MHz"),
+ .phase_shift7("0 ps"),
+ .duty_cycle7(50),
+ .output_clock_frequency8("0 MHz"),
+ .phase_shift8("0 ps"),
+ .duty_cycle8(50),
+ .output_clock_frequency9("0 MHz"),
+ .phase_shift9("0 ps"),
+ .duty_cycle9(50),
+ .output_clock_frequency10("0 MHz"),
+ .phase_shift10("0 ps"),
+ .duty_cycle10(50),
+ .output_clock_frequency11("0 MHz"),
+ .phase_shift11("0 ps"),
+ .duty_cycle11(50),
+ .output_clock_frequency12("0 MHz"),
+ .phase_shift12("0 ps"),
+ .duty_cycle12(50),
+ .output_clock_frequency13("0 MHz"),
+ .phase_shift13("0 ps"),
+ .duty_cycle13(50),
+ .output_clock_frequency14("0 MHz"),
+ .phase_shift14("0 ps"),
+ .duty_cycle14(50),
+ .output_clock_frequency15("0 MHz"),
+ .phase_shift15("0 ps"),
+ .duty_cycle15(50),
+ .output_clock_frequency16("0 MHz"),
+ .phase_shift16("0 ps"),
+ .duty_cycle16(50),
+ .output_clock_frequency17("0 MHz"),
+ .phase_shift17("0 ps"),
+ .duty_cycle17(50),
+ .pll_type("Cyclone V"),
+ .pll_subtype("Reconfigurable"),
+ .m_cnt_hi_div(4),
+ .m_cnt_lo_div(4),
+ .n_cnt_hi_div(256),
+ .n_cnt_lo_div(256),
+ .m_cnt_bypass_en("false"),
+ .n_cnt_bypass_en("true"),
+ .m_cnt_odd_div_duty_en("false"),
+ .n_cnt_odd_div_duty_en("false"),
+ .c_cnt_hi_div0(3),
+ .c_cnt_lo_div0(3),
+ .c_cnt_prst0(1),
+ .c_cnt_ph_mux_prst0(0),
+ .c_cnt_in_src0("ph_mux_clk"),
+ .c_cnt_bypass_en0("false"),
+ .c_cnt_odd_div_duty_en0("false"),
+ .c_cnt_hi_div1(1),
+ .c_cnt_lo_div1(1),
+ .c_cnt_prst1(1),
+ .c_cnt_ph_mux_prst1(0),
+ .c_cnt_in_src1("ph_mux_clk"),
+ .c_cnt_bypass_en1("true"),
+ .c_cnt_odd_div_duty_en1("false"),
+ .c_cnt_hi_div2(1),
+ .c_cnt_lo_div2(1),
+ .c_cnt_prst2(1),
+ .c_cnt_ph_mux_prst2(0),
+ .c_cnt_in_src2("ph_mux_clk"),
+ .c_cnt_bypass_en2("true"),
+ .c_cnt_odd_div_duty_en2("false"),
+ .c_cnt_hi_div3(1),
+ .c_cnt_lo_div3(1),
+ .c_cnt_prst3(1),
+ .c_cnt_ph_mux_prst3(0),
+ .c_cnt_in_src3("ph_mux_clk"),
+ .c_cnt_bypass_en3("true"),
+ .c_cnt_odd_div_duty_en3("false"),
+ .c_cnt_hi_div4(1),
+ .c_cnt_lo_div4(1),
+ .c_cnt_prst4(1),
+ .c_cnt_ph_mux_prst4(0),
+ .c_cnt_in_src4("ph_mux_clk"),
+ .c_cnt_bypass_en4("true"),
+ .c_cnt_odd_div_duty_en4("false"),
+ .c_cnt_hi_div5(1),
+ .c_cnt_lo_div5(1),
+ .c_cnt_prst5(1),
+ .c_cnt_ph_mux_prst5(0),
+ .c_cnt_in_src5("ph_mux_clk"),
+ .c_cnt_bypass_en5("true"),
+ .c_cnt_odd_div_duty_en5("false"),
+ .c_cnt_hi_div6(1),
+ .c_cnt_lo_div6(1),
+ .c_cnt_prst6(1),
+ .c_cnt_ph_mux_prst6(0),
+ .c_cnt_in_src6("ph_mux_clk"),
+ .c_cnt_bypass_en6("true"),
+ .c_cnt_odd_div_duty_en6("false"),
+ .c_cnt_hi_div7(1),
+ .c_cnt_lo_div7(1),
+ .c_cnt_prst7(1),
+ .c_cnt_ph_mux_prst7(0),
+ .c_cnt_in_src7("ph_mux_clk"),
+ .c_cnt_bypass_en7("true"),
+ .c_cnt_odd_div_duty_en7("false"),
+ .c_cnt_hi_div8(1),
+ .c_cnt_lo_div8(1),
+ .c_cnt_prst8(1),
+ .c_cnt_ph_mux_prst8(0),
+ .c_cnt_in_src8("ph_mux_clk"),
+ .c_cnt_bypass_en8("true"),
+ .c_cnt_odd_div_duty_en8("false"),
+ .c_cnt_hi_div9(1),
+ .c_cnt_lo_div9(1),
+ .c_cnt_prst9(1),
+ .c_cnt_ph_mux_prst9(0),
+ .c_cnt_in_src9("ph_mux_clk"),
+ .c_cnt_bypass_en9("true"),
+ .c_cnt_odd_div_duty_en9("false"),
+ .c_cnt_hi_div10(1),
+ .c_cnt_lo_div10(1),
+ .c_cnt_prst10(1),
+ .c_cnt_ph_mux_prst10(0),
+ .c_cnt_in_src10("ph_mux_clk"),
+ .c_cnt_bypass_en10("true"),
+ .c_cnt_odd_div_duty_en10("false"),
+ .c_cnt_hi_div11(1),
+ .c_cnt_lo_div11(1),
+ .c_cnt_prst11(1),
+ .c_cnt_ph_mux_prst11(0),
+ .c_cnt_in_src11("ph_mux_clk"),
+ .c_cnt_bypass_en11("true"),
+ .c_cnt_odd_div_duty_en11("false"),
+ .c_cnt_hi_div12(1),
+ .c_cnt_lo_div12(1),
+ .c_cnt_prst12(1),
+ .c_cnt_ph_mux_prst12(0),
+ .c_cnt_in_src12("ph_mux_clk"),
+ .c_cnt_bypass_en12("true"),
+ .c_cnt_odd_div_duty_en12("false"),
+ .c_cnt_hi_div13(1),
+ .c_cnt_lo_div13(1),
+ .c_cnt_prst13(1),
+ .c_cnt_ph_mux_prst13(0),
+ .c_cnt_in_src13("ph_mux_clk"),
+ .c_cnt_bypass_en13("true"),
+ .c_cnt_odd_div_duty_en13("false"),
+ .c_cnt_hi_div14(1),
+ .c_cnt_lo_div14(1),
+ .c_cnt_prst14(1),
+ .c_cnt_ph_mux_prst14(0),
+ .c_cnt_in_src14("ph_mux_clk"),
+ .c_cnt_bypass_en14("true"),
+ .c_cnt_odd_div_duty_en14("false"),
+ .c_cnt_hi_div15(1),
+ .c_cnt_lo_div15(1),
+ .c_cnt_prst15(1),
+ .c_cnt_ph_mux_prst15(0),
+ .c_cnt_in_src15("ph_mux_clk"),
+ .c_cnt_bypass_en15("true"),
+ .c_cnt_odd_div_duty_en15("false"),
+ .c_cnt_hi_div16(1),
+ .c_cnt_lo_div16(1),
+ .c_cnt_prst16(1),
+ .c_cnt_ph_mux_prst16(0),
+ .c_cnt_in_src16("ph_mux_clk"),
+ .c_cnt_bypass_en16("true"),
+ .c_cnt_odd_div_duty_en16("false"),
+ .c_cnt_hi_div17(1),
+ .c_cnt_lo_div17(1),
+ .c_cnt_prst17(1),
+ .c_cnt_ph_mux_prst17(0),
+ .c_cnt_in_src17("ph_mux_clk"),
+ .c_cnt_bypass_en17("true"),
+ .c_cnt_odd_div_duty_en17("false"),
+ .pll_vco_div(2),
+ .pll_cp_current(20),
+ .pll_bwctrl(4000),
+ .pll_output_clk_frequency("431.999999 MHz"),
+ .pll_fractional_division("2748778984"),
+ .mimic_fbclk_type("none"),
+ .pll_fbclk_mux_1("glb"),
+ .pll_fbclk_mux_2("m_cnt"),
+ .pll_m_cnt_in_src("ph_mux_clk"),
+ .pll_slf_rst("true")
+ ) altera_pll_i (
+ .rst (rst),
+ .outclk ({outclk_0}),
+ .locked (locked),
+ .reconfig_to_pll (reconfig_to_pll),
+ .fboutclk ( ),
+ .fbclk (1'b0),
+ .refclk (refclk),
+ .reconfig_from_pll (reconfig_from_pll)
+ );
+endmodule
+
diff --git a/vpll/vpll_48.mif b/vpll/vpll_48.mif
new file mode 100644
index 0000000..52bd3d6
--- /dev/null
+++ b/vpll/vpll_48.mif
@@ -0,0 +1,519 @@
+DEPTH = 512;
+WIDTH = 32;
+ADDRESS_RADIX = UNS;
+DATA_RADIX = BIN;
+CONTENT
+BEGIN
+0 : 00000000000000000000000000111110; -- START OF MIF
+1 : 00000000000000000000000000000100; -- M COUNTER
+2 : 00000000000000000000010000000100;
+3 : 00000000000000000000000000000011; -- N COUNTER
+4 : 00000000000000010000000000000000;
+5 : 00000000000000000000000000000101; -- C0 COUNTER
+6 : 00000000000000100000010100000100;
+7 : 00000000000000000000000000000101; -- C1 COUNTER
+8 : 00000000000001010000000100000001;
+9 : 00000000000000000000000000000101; -- C2 COUNTER
+10 : 00000000000010010000000100000001;
+11 : 00000000000000000000000000000101; -- C3 COUNTER
+12 : 00000000000011010000000100000001;
+13 : 00000000000000000000000000000101; -- C4 COUNTER
+14 : 00000000000100010000000100000001;
+15 : 00000000000000000000000000000101; -- C5 COUNTER
+16 : 00000000000101010000000100000001;
+17 : 00000000000000000000000000000101; -- C6 COUNTER
+18 : 00000000000110010000000100000001;
+19 : 00000000000000000000000000000101; -- C7 COUNTER
+20 : 00000000000111010000000100000001;
+21 : 00000000000000000000000000000101; -- C8 COUNTER
+22 : 00000000001000010000000100000001;
+23 : 00000000000000000000000000000101; -- C9 COUNTER
+24 : 00000000001001010000000100000001;
+25 : 00000000000000000000000000000101; -- C10 COUNTER
+26 : 00000000001010010000000100000001;
+27 : 00000000000000000000000000000101; -- C11 COUNTER
+28 : 00000000001011010000000100000001;
+29 : 00000000000000000000000000000101; -- C12 COUNTER
+30 : 00000000001100010000000100000001;
+31 : 00000000000000000000000000000101; -- C13 COUNTER
+32 : 00000000001101010000000100000001;
+33 : 00000000000000000000000000000101; -- C14 COUNTER
+34 : 00000000001110010000000100000001;
+35 : 00000000000000000000000000000101; -- C15 COUNTER
+36 : 00000000001111010000000100000001;
+37 : 00000000000000000000000000000101; -- C16 COUNTER
+38 : 00000000010000010000000100000001;
+39 : 00000000000000000000000000000101; -- C17 COUNTER
+40 : 00000000010001010000000100000001;
+41 : 00000000000000000000000000001001; -- CHARGE PUMP
+42 : 00000000000000000000000000000010;
+43 : 00000000000000000000000000001000; -- BANDWIDTH SETTING
+44 : 00000000000000000000000000000111;
+45 : 00000000000000000000000000000111; -- M COUNTER FRACTIONAL VALUE
+46 : 10100011110101110000100111101000;
+47 : 00000000000000000000000000111111; -- END OF MIF
+48 : 00000000000000000000000000000000;
+49 : 00000000000000000000000000000000;
+50 : 00000000000000000000000000000000;
+51 : 00000000000000000000000000000000;
+52 : 00000000000000000000000000000000;
+53 : 00000000000000000000000000000000;
+54 : 00000000000000000000000000000000;
+55 : 00000000000000000000000000000000;
+56 : 00000000000000000000000000000000;
+57 : 00000000000000000000000000000000;
+58 : 00000000000000000000000000000000;
+59 : 00000000000000000000000000000000;
+60 : 00000000000000000000000000000000;
+61 : 00000000000000000000000000000000;
+62 : 00000000000000000000000000000000;
+63 : 00000000000000000000000000000000;
+64 : 00000000000000000000000000000000;
+65 : 00000000000000000000000000000000;
+66 : 00000000000000000000000000000000;
+67 : 00000000000000000000000000000000;
+68 : 00000000000000000000000000000000;
+69 : 00000000000000000000000000000000;
+70 : 00000000000000000000000000000000;
+71 : 00000000000000000000000000000000;
+72 : 00000000000000000000000000000000;
+73 : 00000000000000000000000000000000;
+74 : 00000000000000000000000000000000;
+75 : 00000000000000000000000000000000;
+76 : 00000000000000000000000000000000;
+77 : 00000000000000000000000000000000;
+78 : 00000000000000000000000000000000;
+79 : 00000000000000000000000000000000;
+80 : 00000000000000000000000000000000;
+81 : 00000000000000000000000000000000;
+82 : 00000000000000000000000000000000;
+83 : 00000000000000000000000000000000;
+84 : 00000000000000000000000000000000;
+85 : 00000000000000000000000000000000;
+86 : 00000000000000000000000000000000;
+87 : 00000000000000000000000000000000;
+88 : 00000000000000000000000000000000;
+89 : 00000000000000000000000000000000;
+90 : 00000000000000000000000000000000;
+91 : 00000000000000000000000000000000;
+92 : 00000000000000000000000000000000;
+93 : 00000000000000000000000000000000;
+94 : 00000000000000000000000000000000;
+95 : 00000000000000000000000000000000;
+96 : 00000000000000000000000000000000;
+97 : 00000000000000000000000000000000;
+98 : 00000000000000000000000000000000;
+99 : 00000000000000000000000000000000;
+100 : 00000000000000000000000000000000;
+101 : 00000000000000000000000000000000;
+102 : 00000000000000000000000000000000;
+103 : 00000000000000000000000000000000;
+104 : 00000000000000000000000000000000;
+105 : 00000000000000000000000000000000;
+106 : 00000000000000000000000000000000;
+107 : 00000000000000000000000000000000;
+108 : 00000000000000000000000000000000;
+109 : 00000000000000000000000000000000;
+110 : 00000000000000000000000000000000;
+111 : 00000000000000000000000000000000;
+112 : 00000000000000000000000000000000;
+113 : 00000000000000000000000000000000;
+114 : 00000000000000000000000000000000;
+115 : 00000000000000000000000000000000;
+116 : 00000000000000000000000000000000;
+117 : 00000000000000000000000000000000;
+118 : 00000000000000000000000000000000;
+119 : 00000000000000000000000000000000;
+120 : 00000000000000000000000000000000;
+121 : 00000000000000000000000000000000;
+122 : 00000000000000000000000000000000;
+123 : 00000000000000000000000000000000;
+124 : 00000000000000000000000000000000;
+125 : 00000000000000000000000000000000;
+126 : 00000000000000000000000000000000;
+127 : 00000000000000000000000000000000;
+128 : 00000000000000000000000000000000;
+129 : 00000000000000000000000000000000;
+130 : 00000000000000000000000000000000;
+131 : 00000000000000000000000000000000;
+132 : 00000000000000000000000000000000;
+133 : 00000000000000000000000000000000;
+134 : 00000000000000000000000000000000;
+135 : 00000000000000000000000000000000;
+136 : 00000000000000000000000000000000;
+137 : 00000000000000000000000000000000;
+138 : 00000000000000000000000000000000;
+139 : 00000000000000000000000000000000;
+140 : 00000000000000000000000000000000;
+141 : 00000000000000000000000000000000;
+142 : 00000000000000000000000000000000;
+143 : 00000000000000000000000000000000;
+144 : 00000000000000000000000000000000;
+145 : 00000000000000000000000000000000;
+146 : 00000000000000000000000000000000;
+147 : 00000000000000000000000000000000;
+148 : 00000000000000000000000000000000;
+149 : 00000000000000000000000000000000;
+150 : 00000000000000000000000000000000;
+151 : 00000000000000000000000000000000;
+152 : 00000000000000000000000000000000;
+153 : 00000000000000000000000000000000;
+154 : 00000000000000000000000000000000;
+155 : 00000000000000000000000000000000;
+156 : 00000000000000000000000000000000;
+157 : 00000000000000000000000000000000;
+158 : 00000000000000000000000000000000;
+159 : 00000000000000000000000000000000;
+160 : 00000000000000000000000000000000;
+161 : 00000000000000000000000000000000;
+162 : 00000000000000000000000000000000;
+163 : 00000000000000000000000000000000;
+164 : 00000000000000000000000000000000;
+165 : 00000000000000000000000000000000;
+166 : 00000000000000000000000000000000;
+167 : 00000000000000000000000000000000;
+168 : 00000000000000000000000000000000;
+169 : 00000000000000000000000000000000;
+170 : 00000000000000000000000000000000;
+171 : 00000000000000000000000000000000;
+172 : 00000000000000000000000000000000;
+173 : 00000000000000000000000000000000;
+174 : 00000000000000000000000000000000;
+175 : 00000000000000000000000000000000;
+176 : 00000000000000000000000000000000;
+177 : 00000000000000000000000000000000;
+178 : 00000000000000000000000000000000;
+179 : 00000000000000000000000000000000;
+180 : 00000000000000000000000000000000;
+181 : 00000000000000000000000000000000;
+182 : 00000000000000000000000000000000;
+183 : 00000000000000000000000000000000;
+184 : 00000000000000000000000000000000;
+185 : 00000000000000000000000000000000;
+186 : 00000000000000000000000000000000;
+187 : 00000000000000000000000000000000;
+188 : 00000000000000000000000000000000;
+189 : 00000000000000000000000000000000;
+190 : 00000000000000000000000000000000;
+191 : 00000000000000000000000000000000;
+192 : 00000000000000000000000000000000;
+193 : 00000000000000000000000000000000;
+194 : 00000000000000000000000000000000;
+195 : 00000000000000000000000000000000;
+196 : 00000000000000000000000000000000;
+197 : 00000000000000000000000000000000;
+198 : 00000000000000000000000000000000;
+199 : 00000000000000000000000000000000;
+200 : 00000000000000000000000000000000;
+201 : 00000000000000000000000000000000;
+202 : 00000000000000000000000000000000;
+203 : 00000000000000000000000000000000;
+204 : 00000000000000000000000000000000;
+205 : 00000000000000000000000000000000;
+206 : 00000000000000000000000000000000;
+207 : 00000000000000000000000000000000;
+208 : 00000000000000000000000000000000;
+209 : 00000000000000000000000000000000;
+210 : 00000000000000000000000000000000;
+211 : 00000000000000000000000000000000;
+212 : 00000000000000000000000000000000;
+213 : 00000000000000000000000000000000;
+214 : 00000000000000000000000000000000;
+215 : 00000000000000000000000000000000;
+216 : 00000000000000000000000000000000;
+217 : 00000000000000000000000000000000;
+218 : 00000000000000000000000000000000;
+219 : 00000000000000000000000000000000;
+220 : 00000000000000000000000000000000;
+221 : 00000000000000000000000000000000;
+222 : 00000000000000000000000000000000;
+223 : 00000000000000000000000000000000;
+224 : 00000000000000000000000000000000;
+225 : 00000000000000000000000000000000;
+226 : 00000000000000000000000000000000;
+227 : 00000000000000000000000000000000;
+228 : 00000000000000000000000000000000;
+229 : 00000000000000000000000000000000;
+230 : 00000000000000000000000000000000;
+231 : 00000000000000000000000000000000;
+232 : 00000000000000000000000000000000;
+233 : 00000000000000000000000000000000;
+234 : 00000000000000000000000000000000;
+235 : 00000000000000000000000000000000;
+236 : 00000000000000000000000000000000;
+237 : 00000000000000000000000000000000;
+238 : 00000000000000000000000000000000;
+239 : 00000000000000000000000000000000;
+240 : 00000000000000000000000000000000;
+241 : 00000000000000000000000000000000;
+242 : 00000000000000000000000000000000;
+243 : 00000000000000000000000000000000;
+244 : 00000000000000000000000000000000;
+245 : 00000000000000000000000000000000;
+246 : 00000000000000000000000000000000;
+247 : 00000000000000000000000000000000;
+248 : 00000000000000000000000000000000;
+249 : 00000000000000000000000000000000;
+250 : 00000000000000000000000000000000;
+251 : 00000000000000000000000000000000;
+252 : 00000000000000000000000000000000;
+253 : 00000000000000000000000000000000;
+254 : 00000000000000000000000000000000;
+255 : 00000000000000000000000000000000;
+256 : 00000000000000000000000000000000;
+257 : 00000000000000000000000000000000;
+258 : 00000000000000000000000000000000;
+259 : 00000000000000000000000000000000;
+260 : 00000000000000000000000000000000;
+261 : 00000000000000000000000000000000;
+262 : 00000000000000000000000000000000;
+263 : 00000000000000000000000000000000;
+264 : 00000000000000000000000000000000;
+265 : 00000000000000000000000000000000;
+266 : 00000000000000000000000000000000;
+267 : 00000000000000000000000000000000;
+268 : 00000000000000000000000000000000;
+269 : 00000000000000000000000000000000;
+270 : 00000000000000000000000000000000;
+271 : 00000000000000000000000000000000;
+272 : 00000000000000000000000000000000;
+273 : 00000000000000000000000000000000;
+274 : 00000000000000000000000000000000;
+275 : 00000000000000000000000000000000;
+276 : 00000000000000000000000000000000;
+277 : 00000000000000000000000000000000;
+278 : 00000000000000000000000000000000;
+279 : 00000000000000000000000000000000;
+280 : 00000000000000000000000000000000;
+281 : 00000000000000000000000000000000;
+282 : 00000000000000000000000000000000;
+283 : 00000000000000000000000000000000;
+284 : 00000000000000000000000000000000;
+285 : 00000000000000000000000000000000;
+286 : 00000000000000000000000000000000;
+287 : 00000000000000000000000000000000;
+288 : 00000000000000000000000000000000;
+289 : 00000000000000000000000000000000;
+290 : 00000000000000000000000000000000;
+291 : 00000000000000000000000000000000;
+292 : 00000000000000000000000000000000;
+293 : 00000000000000000000000000000000;
+294 : 00000000000000000000000000000000;
+295 : 00000000000000000000000000000000;
+296 : 00000000000000000000000000000000;
+297 : 00000000000000000000000000000000;
+298 : 00000000000000000000000000000000;
+299 : 00000000000000000000000000000000;
+300 : 00000000000000000000000000000000;
+301 : 00000000000000000000000000000000;
+302 : 00000000000000000000000000000000;
+303 : 00000000000000000000000000000000;
+304 : 00000000000000000000000000000000;
+305 : 00000000000000000000000000000000;
+306 : 00000000000000000000000000000000;
+307 : 00000000000000000000000000000000;
+308 : 00000000000000000000000000000000;
+309 : 00000000000000000000000000000000;
+310 : 00000000000000000000000000000000;
+311 : 00000000000000000000000000000000;
+312 : 00000000000000000000000000000000;
+313 : 00000000000000000000000000000000;
+314 : 00000000000000000000000000000000;
+315 : 00000000000000000000000000000000;
+316 : 00000000000000000000000000000000;
+317 : 00000000000000000000000000000000;
+318 : 00000000000000000000000000000000;
+319 : 00000000000000000000000000000000;
+320 : 00000000000000000000000000000000;
+321 : 00000000000000000000000000000000;
+322 : 00000000000000000000000000000000;
+323 : 00000000000000000000000000000000;
+324 : 00000000000000000000000000000000;
+325 : 00000000000000000000000000000000;
+326 : 00000000000000000000000000000000;
+327 : 00000000000000000000000000000000;
+328 : 00000000000000000000000000000000;
+329 : 00000000000000000000000000000000;
+330 : 00000000000000000000000000000000;
+331 : 00000000000000000000000000000000;
+332 : 00000000000000000000000000000000;
+333 : 00000000000000000000000000000000;
+334 : 00000000000000000000000000000000;
+335 : 00000000000000000000000000000000;
+336 : 00000000000000000000000000000000;
+337 : 00000000000000000000000000000000;
+338 : 00000000000000000000000000000000;
+339 : 00000000000000000000000000000000;
+340 : 00000000000000000000000000000000;
+341 : 00000000000000000000000000000000;
+342 : 00000000000000000000000000000000;
+343 : 00000000000000000000000000000000;
+344 : 00000000000000000000000000000000;
+345 : 00000000000000000000000000000000;
+346 : 00000000000000000000000000000000;
+347 : 00000000000000000000000000000000;
+348 : 00000000000000000000000000000000;
+349 : 00000000000000000000000000000000;
+350 : 00000000000000000000000000000000;
+351 : 00000000000000000000000000000000;
+352 : 00000000000000000000000000000000;
+353 : 00000000000000000000000000000000;
+354 : 00000000000000000000000000000000;
+355 : 00000000000000000000000000000000;
+356 : 00000000000000000000000000000000;
+357 : 00000000000000000000000000000000;
+358 : 00000000000000000000000000000000;
+359 : 00000000000000000000000000000000;
+360 : 00000000000000000000000000000000;
+361 : 00000000000000000000000000000000;
+362 : 00000000000000000000000000000000;
+363 : 00000000000000000000000000000000;
+364 : 00000000000000000000000000000000;
+365 : 00000000000000000000000000000000;
+366 : 00000000000000000000000000000000;
+367 : 00000000000000000000000000000000;
+368 : 00000000000000000000000000000000;
+369 : 00000000000000000000000000000000;
+370 : 00000000000000000000000000000000;
+371 : 00000000000000000000000000000000;
+372 : 00000000000000000000000000000000;
+373 : 00000000000000000000000000000000;
+374 : 00000000000000000000000000000000;
+375 : 00000000000000000000000000000000;
+376 : 00000000000000000000000000000000;
+377 : 00000000000000000000000000000000;
+378 : 00000000000000000000000000000000;
+379 : 00000000000000000000000000000000;
+380 : 00000000000000000000000000000000;
+381 : 00000000000000000000000000000000;
+382 : 00000000000000000000000000000000;
+383 : 00000000000000000000000000000000;
+384 : 00000000000000000000000000000000;
+385 : 00000000000000000000000000000000;
+386 : 00000000000000000000000000000000;
+387 : 00000000000000000000000000000000;
+388 : 00000000000000000000000000000000;
+389 : 00000000000000000000000000000000;
+390 : 00000000000000000000000000000000;
+391 : 00000000000000000000000000000000;
+392 : 00000000000000000000000000000000;
+393 : 00000000000000000000000000000000;
+394 : 00000000000000000000000000000000;
+395 : 00000000000000000000000000000000;
+396 : 00000000000000000000000000000000;
+397 : 00000000000000000000000000000000;
+398 : 00000000000000000000000000000000;
+399 : 00000000000000000000000000000000;
+400 : 00000000000000000000000000000000;
+401 : 00000000000000000000000000000000;
+402 : 00000000000000000000000000000000;
+403 : 00000000000000000000000000000000;
+404 : 00000000000000000000000000000000;
+405 : 00000000000000000000000000000000;
+406 : 00000000000000000000000000000000;
+407 : 00000000000000000000000000000000;
+408 : 00000000000000000000000000000000;
+409 : 00000000000000000000000000000000;
+410 : 00000000000000000000000000000000;
+411 : 00000000000000000000000000000000;
+412 : 00000000000000000000000000000000;
+413 : 00000000000000000000000000000000;
+414 : 00000000000000000000000000000000;
+415 : 00000000000000000000000000000000;
+416 : 00000000000000000000000000000000;
+417 : 00000000000000000000000000000000;
+418 : 00000000000000000000000000000000;
+419 : 00000000000000000000000000000000;
+420 : 00000000000000000000000000000000;
+421 : 00000000000000000000000000000000;
+422 : 00000000000000000000000000000000;
+423 : 00000000000000000000000000000000;
+424 : 00000000000000000000000000000000;
+425 : 00000000000000000000000000000000;
+426 : 00000000000000000000000000000000;
+427 : 00000000000000000000000000000000;
+428 : 00000000000000000000000000000000;
+429 : 00000000000000000000000000000000;
+430 : 00000000000000000000000000000000;
+431 : 00000000000000000000000000000000;
+432 : 00000000000000000000000000000000;
+433 : 00000000000000000000000000000000;
+434 : 00000000000000000000000000000000;
+435 : 00000000000000000000000000000000;
+436 : 00000000000000000000000000000000;
+437 : 00000000000000000000000000000000;
+438 : 00000000000000000000000000000000;
+439 : 00000000000000000000000000000000;
+440 : 00000000000000000000000000000000;
+441 : 00000000000000000000000000000000;
+442 : 00000000000000000000000000000000;
+443 : 00000000000000000000000000000000;
+444 : 00000000000000000000000000000000;
+445 : 00000000000000000000000000000000;
+446 : 00000000000000000000000000000000;
+447 : 00000000000000000000000000000000;
+448 : 00000000000000000000000000000000;
+449 : 00000000000000000000000000000000;
+450 : 00000000000000000000000000000000;
+451 : 00000000000000000000000000000000;
+452 : 00000000000000000000000000000000;
+453 : 00000000000000000000000000000000;
+454 : 00000000000000000000000000000000;
+455 : 00000000000000000000000000000000;
+456 : 00000000000000000000000000000000;
+457 : 00000000000000000000000000000000;
+458 : 00000000000000000000000000000000;
+459 : 00000000000000000000000000000000;
+460 : 00000000000000000000000000000000;
+461 : 00000000000000000000000000000000;
+462 : 00000000000000000000000000000000;
+463 : 00000000000000000000000000000000;
+464 : 00000000000000000000000000000000;
+465 : 00000000000000000000000000000000;
+466 : 00000000000000000000000000000000;
+467 : 00000000000000000000000000000000;
+468 : 00000000000000000000000000000000;
+469 : 00000000000000000000000000000000;
+470 : 00000000000000000000000000000000;
+471 : 00000000000000000000000000000000;
+472 : 00000000000000000000000000000000;
+473 : 00000000000000000000000000000000;
+474 : 00000000000000000000000000000000;
+475 : 00000000000000000000000000000000;
+476 : 00000000000000000000000000000000;
+477 : 00000000000000000000000000000000;
+478 : 00000000000000000000000000000000;
+479 : 00000000000000000000000000000000;
+480 : 00000000000000000000000000000000;
+481 : 00000000000000000000000000000000;
+482 : 00000000000000000000000000000000;
+483 : 00000000000000000000000000000000;
+484 : 00000000000000000000000000000000;
+485 : 00000000000000000000000000000000;
+486 : 00000000000000000000000000000000;
+487 : 00000000000000000000000000000000;
+488 : 00000000000000000000000000000000;
+489 : 00000000000000000000000000000000;
+490 : 00000000000000000000000000000000;
+491 : 00000000000000000000000000000000;
+492 : 00000000000000000000000000000000;
+493 : 00000000000000000000000000000000;
+494 : 00000000000000000000000000000000;
+495 : 00000000000000000000000000000000;
+496 : 00000000000000000000000000000000;
+497 : 00000000000000000000000000000000;
+498 : 00000000000000000000000000000000;
+499 : 00000000000000000000000000000000;
+500 : 00000000000000000000000000000000;
+501 : 00000000000000000000000000000000;
+502 : 00000000000000000000000000000000;
+503 : 00000000000000000000000000000000;
+504 : 00000000000000000000000000000000;
+505 : 00000000000000000000000000000000;
+506 : 00000000000000000000000000000000;
+507 : 00000000000000000000000000000000;
+508 : 00000000000000000000000000000000;
+509 : 00000000000000000000000000000000;
+510 : 00000000000000000000000000000000;
+511 : 00000000000000000000000000000000;
+END;
diff --git a/vpll/vpll_50.mif b/vpll/vpll_50.mif
new file mode 100644
index 0000000..460eafd
--- /dev/null
+++ b/vpll/vpll_50.mif
@@ -0,0 +1,519 @@
+DEPTH = 512;
+WIDTH = 32;
+ADDRESS_RADIX = UNS;
+DATA_RADIX = BIN;
+CONTENT
+BEGIN
+0 : 00000000000000000000000000111110; -- START OF MIF
+1 : 00000000000000000000000000000100; -- M COUNTER
+2 : 00000000000000000000010000000100;
+3 : 00000000000000000000000000000011; -- N COUNTER
+4 : 00000000000000010000000000000000;
+5 : 00000000000000000000000000000101; -- C0 COUNTER
+6 : 00000000000000000000010000000100;
+7 : 00000000000000000000000000000101; -- C1 COUNTER
+8 : 00000000000001010000000100000001;
+9 : 00000000000000000000000000000101; -- C2 COUNTER
+10 : 00000000000010010000000100000001;
+11 : 00000000000000000000000000000101; -- C3 COUNTER
+12 : 00000000000011010000000100000001;
+13 : 00000000000000000000000000000101; -- C4 COUNTER
+14 : 00000000000100010000000100000001;
+15 : 00000000000000000000000000000101; -- C5 COUNTER
+16 : 00000000000101010000000100000001;
+17 : 00000000000000000000000000000101; -- C6 COUNTER
+18 : 00000000000110010000000100000001;
+19 : 00000000000000000000000000000101; -- C7 COUNTER
+20 : 00000000000111010000000100000001;
+21 : 00000000000000000000000000000101; -- C8 COUNTER
+22 : 00000000001000010000000100000001;
+23 : 00000000000000000000000000000101; -- C9 COUNTER
+24 : 00000000001001010000000100000001;
+25 : 00000000000000000000000000000101; -- C10 COUNTER
+26 : 00000000001010010000000100000001;
+27 : 00000000000000000000000000000101; -- C11 COUNTER
+28 : 00000000001011010000000100000001;
+29 : 00000000000000000000000000000101; -- C12 COUNTER
+30 : 00000000001100010000000100000001;
+31 : 00000000000000000000000000000101; -- C13 COUNTER
+32 : 00000000001101010000000100000001;
+33 : 00000000000000000000000000000101; -- C14 COUNTER
+34 : 00000000001110010000000100000001;
+35 : 00000000000000000000000000000101; -- C15 COUNTER
+36 : 00000000001111010000000100000001;
+37 : 00000000000000000000000000000101; -- C16 COUNTER
+38 : 00000000010000010000000100000001;
+39 : 00000000000000000000000000000101; -- C17 COUNTER
+40 : 00000000010001010000000100000001;
+41 : 00000000000000000000000000001001; -- CHARGE PUMP
+42 : 00000000000000000000000000000010;
+43 : 00000000000000000000000000001000; -- BANDWIDTH SETTING
+44 : 00000000000000000000000000000111;
+45 : 00000000000000000000000000000111; -- M COUNTER FRACTIONAL VALUE
+46 : 00000000000000000000000000000001;
+47 : 00000000000000000000000000111111; -- END OF MIF
+48 : 00000000000000000000000000000000;
+49 : 00000000000000000000000000000000;
+50 : 00000000000000000000000000000000;
+51 : 00000000000000000000000000000000;
+52 : 00000000000000000000000000000000;
+53 : 00000000000000000000000000000000;
+54 : 00000000000000000000000000000000;
+55 : 00000000000000000000000000000000;
+56 : 00000000000000000000000000000000;
+57 : 00000000000000000000000000000000;
+58 : 00000000000000000000000000000000;
+59 : 00000000000000000000000000000000;
+60 : 00000000000000000000000000000000;
+61 : 00000000000000000000000000000000;
+62 : 00000000000000000000000000000000;
+63 : 00000000000000000000000000000000;
+64 : 00000000000000000000000000000000;
+65 : 00000000000000000000000000000000;
+66 : 00000000000000000000000000000000;
+67 : 00000000000000000000000000000000;
+68 : 00000000000000000000000000000000;
+69 : 00000000000000000000000000000000;
+70 : 00000000000000000000000000000000;
+71 : 00000000000000000000000000000000;
+72 : 00000000000000000000000000000000;
+73 : 00000000000000000000000000000000;
+74 : 00000000000000000000000000000000;
+75 : 00000000000000000000000000000000;
+76 : 00000000000000000000000000000000;
+77 : 00000000000000000000000000000000;
+78 : 00000000000000000000000000000000;
+79 : 00000000000000000000000000000000;
+80 : 00000000000000000000000000000000;
+81 : 00000000000000000000000000000000;
+82 : 00000000000000000000000000000000;
+83 : 00000000000000000000000000000000;
+84 : 00000000000000000000000000000000;
+85 : 00000000000000000000000000000000;
+86 : 00000000000000000000000000000000;
+87 : 00000000000000000000000000000000;
+88 : 00000000000000000000000000000000;
+89 : 00000000000000000000000000000000;
+90 : 00000000000000000000000000000000;
+91 : 00000000000000000000000000000000;
+92 : 00000000000000000000000000000000;
+93 : 00000000000000000000000000000000;
+94 : 00000000000000000000000000000000;
+95 : 00000000000000000000000000000000;
+96 : 00000000000000000000000000000000;
+97 : 00000000000000000000000000000000;
+98 : 00000000000000000000000000000000;
+99 : 00000000000000000000000000000000;
+100 : 00000000000000000000000000000000;
+101 : 00000000000000000000000000000000;
+102 : 00000000000000000000000000000000;
+103 : 00000000000000000000000000000000;
+104 : 00000000000000000000000000000000;
+105 : 00000000000000000000000000000000;
+106 : 00000000000000000000000000000000;
+107 : 00000000000000000000000000000000;
+108 : 00000000000000000000000000000000;
+109 : 00000000000000000000000000000000;
+110 : 00000000000000000000000000000000;
+111 : 00000000000000000000000000000000;
+112 : 00000000000000000000000000000000;
+113 : 00000000000000000000000000000000;
+114 : 00000000000000000000000000000000;
+115 : 00000000000000000000000000000000;
+116 : 00000000000000000000000000000000;
+117 : 00000000000000000000000000000000;
+118 : 00000000000000000000000000000000;
+119 : 00000000000000000000000000000000;
+120 : 00000000000000000000000000000000;
+121 : 00000000000000000000000000000000;
+122 : 00000000000000000000000000000000;
+123 : 00000000000000000000000000000000;
+124 : 00000000000000000000000000000000;
+125 : 00000000000000000000000000000000;
+126 : 00000000000000000000000000000000;
+127 : 00000000000000000000000000000000;
+128 : 00000000000000000000000000000000;
+129 : 00000000000000000000000000000000;
+130 : 00000000000000000000000000000000;
+131 : 00000000000000000000000000000000;
+132 : 00000000000000000000000000000000;
+133 : 00000000000000000000000000000000;
+134 : 00000000000000000000000000000000;
+135 : 00000000000000000000000000000000;
+136 : 00000000000000000000000000000000;
+137 : 00000000000000000000000000000000;
+138 : 00000000000000000000000000000000;
+139 : 00000000000000000000000000000000;
+140 : 00000000000000000000000000000000;
+141 : 00000000000000000000000000000000;
+142 : 00000000000000000000000000000000;
+143 : 00000000000000000000000000000000;
+144 : 00000000000000000000000000000000;
+145 : 00000000000000000000000000000000;
+146 : 00000000000000000000000000000000;
+147 : 00000000000000000000000000000000;
+148 : 00000000000000000000000000000000;
+149 : 00000000000000000000000000000000;
+150 : 00000000000000000000000000000000;
+151 : 00000000000000000000000000000000;
+152 : 00000000000000000000000000000000;
+153 : 00000000000000000000000000000000;
+154 : 00000000000000000000000000000000;
+155 : 00000000000000000000000000000000;
+156 : 00000000000000000000000000000000;
+157 : 00000000000000000000000000000000;
+158 : 00000000000000000000000000000000;
+159 : 00000000000000000000000000000000;
+160 : 00000000000000000000000000000000;
+161 : 00000000000000000000000000000000;
+162 : 00000000000000000000000000000000;
+163 : 00000000000000000000000000000000;
+164 : 00000000000000000000000000000000;
+165 : 00000000000000000000000000000000;
+166 : 00000000000000000000000000000000;
+167 : 00000000000000000000000000000000;
+168 : 00000000000000000000000000000000;
+169 : 00000000000000000000000000000000;
+170 : 00000000000000000000000000000000;
+171 : 00000000000000000000000000000000;
+172 : 00000000000000000000000000000000;
+173 : 00000000000000000000000000000000;
+174 : 00000000000000000000000000000000;
+175 : 00000000000000000000000000000000;
+176 : 00000000000000000000000000000000;
+177 : 00000000000000000000000000000000;
+178 : 00000000000000000000000000000000;
+179 : 00000000000000000000000000000000;
+180 : 00000000000000000000000000000000;
+181 : 00000000000000000000000000000000;
+182 : 00000000000000000000000000000000;
+183 : 00000000000000000000000000000000;
+184 : 00000000000000000000000000000000;
+185 : 00000000000000000000000000000000;
+186 : 00000000000000000000000000000000;
+187 : 00000000000000000000000000000000;
+188 : 00000000000000000000000000000000;
+189 : 00000000000000000000000000000000;
+190 : 00000000000000000000000000000000;
+191 : 00000000000000000000000000000000;
+192 : 00000000000000000000000000000000;
+193 : 00000000000000000000000000000000;
+194 : 00000000000000000000000000000000;
+195 : 00000000000000000000000000000000;
+196 : 00000000000000000000000000000000;
+197 : 00000000000000000000000000000000;
+198 : 00000000000000000000000000000000;
+199 : 00000000000000000000000000000000;
+200 : 00000000000000000000000000000000;
+201 : 00000000000000000000000000000000;
+202 : 00000000000000000000000000000000;
+203 : 00000000000000000000000000000000;
+204 : 00000000000000000000000000000000;
+205 : 00000000000000000000000000000000;
+206 : 00000000000000000000000000000000;
+207 : 00000000000000000000000000000000;
+208 : 00000000000000000000000000000000;
+209 : 00000000000000000000000000000000;
+210 : 00000000000000000000000000000000;
+211 : 00000000000000000000000000000000;
+212 : 00000000000000000000000000000000;
+213 : 00000000000000000000000000000000;
+214 : 00000000000000000000000000000000;
+215 : 00000000000000000000000000000000;
+216 : 00000000000000000000000000000000;
+217 : 00000000000000000000000000000000;
+218 : 00000000000000000000000000000000;
+219 : 00000000000000000000000000000000;
+220 : 00000000000000000000000000000000;
+221 : 00000000000000000000000000000000;
+222 : 00000000000000000000000000000000;
+223 : 00000000000000000000000000000000;
+224 : 00000000000000000000000000000000;
+225 : 00000000000000000000000000000000;
+226 : 00000000000000000000000000000000;
+227 : 00000000000000000000000000000000;
+228 : 00000000000000000000000000000000;
+229 : 00000000000000000000000000000000;
+230 : 00000000000000000000000000000000;
+231 : 00000000000000000000000000000000;
+232 : 00000000000000000000000000000000;
+233 : 00000000000000000000000000000000;
+234 : 00000000000000000000000000000000;
+235 : 00000000000000000000000000000000;
+236 : 00000000000000000000000000000000;
+237 : 00000000000000000000000000000000;
+238 : 00000000000000000000000000000000;
+239 : 00000000000000000000000000000000;
+240 : 00000000000000000000000000000000;
+241 : 00000000000000000000000000000000;
+242 : 00000000000000000000000000000000;
+243 : 00000000000000000000000000000000;
+244 : 00000000000000000000000000000000;
+245 : 00000000000000000000000000000000;
+246 : 00000000000000000000000000000000;
+247 : 00000000000000000000000000000000;
+248 : 00000000000000000000000000000000;
+249 : 00000000000000000000000000000000;
+250 : 00000000000000000000000000000000;
+251 : 00000000000000000000000000000000;
+252 : 00000000000000000000000000000000;
+253 : 00000000000000000000000000000000;
+254 : 00000000000000000000000000000000;
+255 : 00000000000000000000000000000000;
+256 : 00000000000000000000000000000000;
+257 : 00000000000000000000000000000000;
+258 : 00000000000000000000000000000000;
+259 : 00000000000000000000000000000000;
+260 : 00000000000000000000000000000000;
+261 : 00000000000000000000000000000000;
+262 : 00000000000000000000000000000000;
+263 : 00000000000000000000000000000000;
+264 : 00000000000000000000000000000000;
+265 : 00000000000000000000000000000000;
+266 : 00000000000000000000000000000000;
+267 : 00000000000000000000000000000000;
+268 : 00000000000000000000000000000000;
+269 : 00000000000000000000000000000000;
+270 : 00000000000000000000000000000000;
+271 : 00000000000000000000000000000000;
+272 : 00000000000000000000000000000000;
+273 : 00000000000000000000000000000000;
+274 : 00000000000000000000000000000000;
+275 : 00000000000000000000000000000000;
+276 : 00000000000000000000000000000000;
+277 : 00000000000000000000000000000000;
+278 : 00000000000000000000000000000000;
+279 : 00000000000000000000000000000000;
+280 : 00000000000000000000000000000000;
+281 : 00000000000000000000000000000000;
+282 : 00000000000000000000000000000000;
+283 : 00000000000000000000000000000000;
+284 : 00000000000000000000000000000000;
+285 : 00000000000000000000000000000000;
+286 : 00000000000000000000000000000000;
+287 : 00000000000000000000000000000000;
+288 : 00000000000000000000000000000000;
+289 : 00000000000000000000000000000000;
+290 : 00000000000000000000000000000000;
+291 : 00000000000000000000000000000000;
+292 : 00000000000000000000000000000000;
+293 : 00000000000000000000000000000000;
+294 : 00000000000000000000000000000000;
+295 : 00000000000000000000000000000000;
+296 : 00000000000000000000000000000000;
+297 : 00000000000000000000000000000000;
+298 : 00000000000000000000000000000000;
+299 : 00000000000000000000000000000000;
+300 : 00000000000000000000000000000000;
+301 : 00000000000000000000000000000000;
+302 : 00000000000000000000000000000000;
+303 : 00000000000000000000000000000000;
+304 : 00000000000000000000000000000000;
+305 : 00000000000000000000000000000000;
+306 : 00000000000000000000000000000000;
+307 : 00000000000000000000000000000000;
+308 : 00000000000000000000000000000000;
+309 : 00000000000000000000000000000000;
+310 : 00000000000000000000000000000000;
+311 : 00000000000000000000000000000000;
+312 : 00000000000000000000000000000000;
+313 : 00000000000000000000000000000000;
+314 : 00000000000000000000000000000000;
+315 : 00000000000000000000000000000000;
+316 : 00000000000000000000000000000000;
+317 : 00000000000000000000000000000000;
+318 : 00000000000000000000000000000000;
+319 : 00000000000000000000000000000000;
+320 : 00000000000000000000000000000000;
+321 : 00000000000000000000000000000000;
+322 : 00000000000000000000000000000000;
+323 : 00000000000000000000000000000000;
+324 : 00000000000000000000000000000000;
+325 : 00000000000000000000000000000000;
+326 : 00000000000000000000000000000000;
+327 : 00000000000000000000000000000000;
+328 : 00000000000000000000000000000000;
+329 : 00000000000000000000000000000000;
+330 : 00000000000000000000000000000000;
+331 : 00000000000000000000000000000000;
+332 : 00000000000000000000000000000000;
+333 : 00000000000000000000000000000000;
+334 : 00000000000000000000000000000000;
+335 : 00000000000000000000000000000000;
+336 : 00000000000000000000000000000000;
+337 : 00000000000000000000000000000000;
+338 : 00000000000000000000000000000000;
+339 : 00000000000000000000000000000000;
+340 : 00000000000000000000000000000000;
+341 : 00000000000000000000000000000000;
+342 : 00000000000000000000000000000000;
+343 : 00000000000000000000000000000000;
+344 : 00000000000000000000000000000000;
+345 : 00000000000000000000000000000000;
+346 : 00000000000000000000000000000000;
+347 : 00000000000000000000000000000000;
+348 : 00000000000000000000000000000000;
+349 : 00000000000000000000000000000000;
+350 : 00000000000000000000000000000000;
+351 : 00000000000000000000000000000000;
+352 : 00000000000000000000000000000000;
+353 : 00000000000000000000000000000000;
+354 : 00000000000000000000000000000000;
+355 : 00000000000000000000000000000000;
+356 : 00000000000000000000000000000000;
+357 : 00000000000000000000000000000000;
+358 : 00000000000000000000000000000000;
+359 : 00000000000000000000000000000000;
+360 : 00000000000000000000000000000000;
+361 : 00000000000000000000000000000000;
+362 : 00000000000000000000000000000000;
+363 : 00000000000000000000000000000000;
+364 : 00000000000000000000000000000000;
+365 : 00000000000000000000000000000000;
+366 : 00000000000000000000000000000000;
+367 : 00000000000000000000000000000000;
+368 : 00000000000000000000000000000000;
+369 : 00000000000000000000000000000000;
+370 : 00000000000000000000000000000000;
+371 : 00000000000000000000000000000000;
+372 : 00000000000000000000000000000000;
+373 : 00000000000000000000000000000000;
+374 : 00000000000000000000000000000000;
+375 : 00000000000000000000000000000000;
+376 : 00000000000000000000000000000000;
+377 : 00000000000000000000000000000000;
+378 : 00000000000000000000000000000000;
+379 : 00000000000000000000000000000000;
+380 : 00000000000000000000000000000000;
+381 : 00000000000000000000000000000000;
+382 : 00000000000000000000000000000000;
+383 : 00000000000000000000000000000000;
+384 : 00000000000000000000000000000000;
+385 : 00000000000000000000000000000000;
+386 : 00000000000000000000000000000000;
+387 : 00000000000000000000000000000000;
+388 : 00000000000000000000000000000000;
+389 : 00000000000000000000000000000000;
+390 : 00000000000000000000000000000000;
+391 : 00000000000000000000000000000000;
+392 : 00000000000000000000000000000000;
+393 : 00000000000000000000000000000000;
+394 : 00000000000000000000000000000000;
+395 : 00000000000000000000000000000000;
+396 : 00000000000000000000000000000000;
+397 : 00000000000000000000000000000000;
+398 : 00000000000000000000000000000000;
+399 : 00000000000000000000000000000000;
+400 : 00000000000000000000000000000000;
+401 : 00000000000000000000000000000000;
+402 : 00000000000000000000000000000000;
+403 : 00000000000000000000000000000000;
+404 : 00000000000000000000000000000000;
+405 : 00000000000000000000000000000000;
+406 : 00000000000000000000000000000000;
+407 : 00000000000000000000000000000000;
+408 : 00000000000000000000000000000000;
+409 : 00000000000000000000000000000000;
+410 : 00000000000000000000000000000000;
+411 : 00000000000000000000000000000000;
+412 : 00000000000000000000000000000000;
+413 : 00000000000000000000000000000000;
+414 : 00000000000000000000000000000000;
+415 : 00000000000000000000000000000000;
+416 : 00000000000000000000000000000000;
+417 : 00000000000000000000000000000000;
+418 : 00000000000000000000000000000000;
+419 : 00000000000000000000000000000000;
+420 : 00000000000000000000000000000000;
+421 : 00000000000000000000000000000000;
+422 : 00000000000000000000000000000000;
+423 : 00000000000000000000000000000000;
+424 : 00000000000000000000000000000000;
+425 : 00000000000000000000000000000000;
+426 : 00000000000000000000000000000000;
+427 : 00000000000000000000000000000000;
+428 : 00000000000000000000000000000000;
+429 : 00000000000000000000000000000000;
+430 : 00000000000000000000000000000000;
+431 : 00000000000000000000000000000000;
+432 : 00000000000000000000000000000000;
+433 : 00000000000000000000000000000000;
+434 : 00000000000000000000000000000000;
+435 : 00000000000000000000000000000000;
+436 : 00000000000000000000000000000000;
+437 : 00000000000000000000000000000000;
+438 : 00000000000000000000000000000000;
+439 : 00000000000000000000000000000000;
+440 : 00000000000000000000000000000000;
+441 : 00000000000000000000000000000000;
+442 : 00000000000000000000000000000000;
+443 : 00000000000000000000000000000000;
+444 : 00000000000000000000000000000000;
+445 : 00000000000000000000000000000000;
+446 : 00000000000000000000000000000000;
+447 : 00000000000000000000000000000000;
+448 : 00000000000000000000000000000000;
+449 : 00000000000000000000000000000000;
+450 : 00000000000000000000000000000000;
+451 : 00000000000000000000000000000000;
+452 : 00000000000000000000000000000000;
+453 : 00000000000000000000000000000000;
+454 : 00000000000000000000000000000000;
+455 : 00000000000000000000000000000000;
+456 : 00000000000000000000000000000000;
+457 : 00000000000000000000000000000000;
+458 : 00000000000000000000000000000000;
+459 : 00000000000000000000000000000000;
+460 : 00000000000000000000000000000000;
+461 : 00000000000000000000000000000000;
+462 : 00000000000000000000000000000000;
+463 : 00000000000000000000000000000000;
+464 : 00000000000000000000000000000000;
+465 : 00000000000000000000000000000000;
+466 : 00000000000000000000000000000000;
+467 : 00000000000000000000000000000000;
+468 : 00000000000000000000000000000000;
+469 : 00000000000000000000000000000000;
+470 : 00000000000000000000000000000000;
+471 : 00000000000000000000000000000000;
+472 : 00000000000000000000000000000000;
+473 : 00000000000000000000000000000000;
+474 : 00000000000000000000000000000000;
+475 : 00000000000000000000000000000000;
+476 : 00000000000000000000000000000000;
+477 : 00000000000000000000000000000000;
+478 : 00000000000000000000000000000000;
+479 : 00000000000000000000000000000000;
+480 : 00000000000000000000000000000000;
+481 : 00000000000000000000000000000000;
+482 : 00000000000000000000000000000000;
+483 : 00000000000000000000000000000000;
+484 : 00000000000000000000000000000000;
+485 : 00000000000000000000000000000000;
+486 : 00000000000000000000000000000000;
+487 : 00000000000000000000000000000000;
+488 : 00000000000000000000000000000000;
+489 : 00000000000000000000000000000000;
+490 : 00000000000000000000000000000000;
+491 : 00000000000000000000000000000000;
+492 : 00000000000000000000000000000000;
+493 : 00000000000000000000000000000000;
+494 : 00000000000000000000000000000000;
+495 : 00000000000000000000000000000000;
+496 : 00000000000000000000000000000000;
+497 : 00000000000000000000000000000000;
+498 : 00000000000000000000000000000000;
+499 : 00000000000000000000000000000000;
+500 : 00000000000000000000000000000000;
+501 : 00000000000000000000000000000000;
+502 : 00000000000000000000000000000000;
+503 : 00000000000000000000000000000000;
+504 : 00000000000000000000000000000000;
+505 : 00000000000000000000000000000000;
+506 : 00000000000000000000000000000000;
+507 : 00000000000000000000000000000000;
+508 : 00000000000000000000000000000000;
+509 : 00000000000000000000000000000000;
+510 : 00000000000000000000000000000000;
+511 : 00000000000000000000000000000000;
+END;
diff --git a/vpll/vpll_72.mif b/vpll/vpll_72.mif
new file mode 100644
index 0000000..1564314
--- /dev/null
+++ b/vpll/vpll_72.mif
@@ -0,0 +1,519 @@
+DEPTH = 512;
+WIDTH = 32;
+ADDRESS_RADIX = UNS;
+DATA_RADIX = BIN;
+CONTENT
+BEGIN
+0 : 00000000000000000000000000111110; -- START OF MIF
+1 : 00000000000000000000000000000100; -- M COUNTER
+2 : 00000000000000000000010000000100;
+3 : 00000000000000000000000000000011; -- N COUNTER
+4 : 00000000000000010000000000000000;
+5 : 00000000000000000000000000000101; -- C0 COUNTER
+6 : 00000000000000000000001100000011;
+7 : 00000000000000000000000000000101; -- C1 COUNTER
+8 : 00000000000001010000000100000001;
+9 : 00000000000000000000000000000101; -- C2 COUNTER
+10 : 00000000000010010000000100000001;
+11 : 00000000000000000000000000000101; -- C3 COUNTER
+12 : 00000000000011010000000100000001;
+13 : 00000000000000000000000000000101; -- C4 COUNTER
+14 : 00000000000100010000000100000001;
+15 : 00000000000000000000000000000101; -- C5 COUNTER
+16 : 00000000000101010000000100000001;
+17 : 00000000000000000000000000000101; -- C6 COUNTER
+18 : 00000000000110010000000100000001;
+19 : 00000000000000000000000000000101; -- C7 COUNTER
+20 : 00000000000111010000000100000001;
+21 : 00000000000000000000000000000101; -- C8 COUNTER
+22 : 00000000001000010000000100000001;
+23 : 00000000000000000000000000000101; -- C9 COUNTER
+24 : 00000000001001010000000100000001;
+25 : 00000000000000000000000000000101; -- C10 COUNTER
+26 : 00000000001010010000000100000001;
+27 : 00000000000000000000000000000101; -- C11 COUNTER
+28 : 00000000001011010000000100000001;
+29 : 00000000000000000000000000000101; -- C12 COUNTER
+30 : 00000000001100010000000100000001;
+31 : 00000000000000000000000000000101; -- C13 COUNTER
+32 : 00000000001101010000000100000001;
+33 : 00000000000000000000000000000101; -- C14 COUNTER
+34 : 00000000001110010000000100000001;
+35 : 00000000000000000000000000000101; -- C15 COUNTER
+36 : 00000000001111010000000100000001;
+37 : 00000000000000000000000000000101; -- C16 COUNTER
+38 : 00000000010000010000000100000001;
+39 : 00000000000000000000000000000101; -- C17 COUNTER
+40 : 00000000010001010000000100000001;
+41 : 00000000000000000000000000001001; -- CHARGE PUMP
+42 : 00000000000000000000000000000010;
+43 : 00000000000000000000000000001000; -- BANDWIDTH SETTING
+44 : 00000000000000000000000000000111;
+45 : 00000000000000000000000000000111; -- M COUNTER FRACTIONAL VALUE
+46 : 10100011110101110000100111101000;
+47 : 00000000000000000000000000111111; -- END OF MIF
+48 : 00000000000000000000000000000000;
+49 : 00000000000000000000000000000000;
+50 : 00000000000000000000000000000000;
+51 : 00000000000000000000000000000000;
+52 : 00000000000000000000000000000000;
+53 : 00000000000000000000000000000000;
+54 : 00000000000000000000000000000000;
+55 : 00000000000000000000000000000000;
+56 : 00000000000000000000000000000000;
+57 : 00000000000000000000000000000000;
+58 : 00000000000000000000000000000000;
+59 : 00000000000000000000000000000000;
+60 : 00000000000000000000000000000000;
+61 : 00000000000000000000000000000000;
+62 : 00000000000000000000000000000000;
+63 : 00000000000000000000000000000000;
+64 : 00000000000000000000000000000000;
+65 : 00000000000000000000000000000000;
+66 : 00000000000000000000000000000000;
+67 : 00000000000000000000000000000000;
+68 : 00000000000000000000000000000000;
+69 : 00000000000000000000000000000000;
+70 : 00000000000000000000000000000000;
+71 : 00000000000000000000000000000000;
+72 : 00000000000000000000000000000000;
+73 : 00000000000000000000000000000000;
+74 : 00000000000000000000000000000000;
+75 : 00000000000000000000000000000000;
+76 : 00000000000000000000000000000000;
+77 : 00000000000000000000000000000000;
+78 : 00000000000000000000000000000000;
+79 : 00000000000000000000000000000000;
+80 : 00000000000000000000000000000000;
+81 : 00000000000000000000000000000000;
+82 : 00000000000000000000000000000000;
+83 : 00000000000000000000000000000000;
+84 : 00000000000000000000000000000000;
+85 : 00000000000000000000000000000000;
+86 : 00000000000000000000000000000000;
+87 : 00000000000000000000000000000000;
+88 : 00000000000000000000000000000000;
+89 : 00000000000000000000000000000000;
+90 : 00000000000000000000000000000000;
+91 : 00000000000000000000000000000000;
+92 : 00000000000000000000000000000000;
+93 : 00000000000000000000000000000000;
+94 : 00000000000000000000000000000000;
+95 : 00000000000000000000000000000000;
+96 : 00000000000000000000000000000000;
+97 : 00000000000000000000000000000000;
+98 : 00000000000000000000000000000000;
+99 : 00000000000000000000000000000000;
+100 : 00000000000000000000000000000000;
+101 : 00000000000000000000000000000000;
+102 : 00000000000000000000000000000000;
+103 : 00000000000000000000000000000000;
+104 : 00000000000000000000000000000000;
+105 : 00000000000000000000000000000000;
+106 : 00000000000000000000000000000000;
+107 : 00000000000000000000000000000000;
+108 : 00000000000000000000000000000000;
+109 : 00000000000000000000000000000000;
+110 : 00000000000000000000000000000000;
+111 : 00000000000000000000000000000000;
+112 : 00000000000000000000000000000000;
+113 : 00000000000000000000000000000000;
+114 : 00000000000000000000000000000000;
+115 : 00000000000000000000000000000000;
+116 : 00000000000000000000000000000000;
+117 : 00000000000000000000000000000000;
+118 : 00000000000000000000000000000000;
+119 : 00000000000000000000000000000000;
+120 : 00000000000000000000000000000000;
+121 : 00000000000000000000000000000000;
+122 : 00000000000000000000000000000000;
+123 : 00000000000000000000000000000000;
+124 : 00000000000000000000000000000000;
+125 : 00000000000000000000000000000000;
+126 : 00000000000000000000000000000000;
+127 : 00000000000000000000000000000000;
+128 : 00000000000000000000000000000000;
+129 : 00000000000000000000000000000000;
+130 : 00000000000000000000000000000000;
+131 : 00000000000000000000000000000000;
+132 : 00000000000000000000000000000000;
+133 : 00000000000000000000000000000000;
+134 : 00000000000000000000000000000000;
+135 : 00000000000000000000000000000000;
+136 : 00000000000000000000000000000000;
+137 : 00000000000000000000000000000000;
+138 : 00000000000000000000000000000000;
+139 : 00000000000000000000000000000000;
+140 : 00000000000000000000000000000000;
+141 : 00000000000000000000000000000000;
+142 : 00000000000000000000000000000000;
+143 : 00000000000000000000000000000000;
+144 : 00000000000000000000000000000000;
+145 : 00000000000000000000000000000000;
+146 : 00000000000000000000000000000000;
+147 : 00000000000000000000000000000000;
+148 : 00000000000000000000000000000000;
+149 : 00000000000000000000000000000000;
+150 : 00000000000000000000000000000000;
+151 : 00000000000000000000000000000000;
+152 : 00000000000000000000000000000000;
+153 : 00000000000000000000000000000000;
+154 : 00000000000000000000000000000000;
+155 : 00000000000000000000000000000000;
+156 : 00000000000000000000000000000000;
+157 : 00000000000000000000000000000000;
+158 : 00000000000000000000000000000000;
+159 : 00000000000000000000000000000000;
+160 : 00000000000000000000000000000000;
+161 : 00000000000000000000000000000000;
+162 : 00000000000000000000000000000000;
+163 : 00000000000000000000000000000000;
+164 : 00000000000000000000000000000000;
+165 : 00000000000000000000000000000000;
+166 : 00000000000000000000000000000000;
+167 : 00000000000000000000000000000000;
+168 : 00000000000000000000000000000000;
+169 : 00000000000000000000000000000000;
+170 : 00000000000000000000000000000000;
+171 : 00000000000000000000000000000000;
+172 : 00000000000000000000000000000000;
+173 : 00000000000000000000000000000000;
+174 : 00000000000000000000000000000000;
+175 : 00000000000000000000000000000000;
+176 : 00000000000000000000000000000000;
+177 : 00000000000000000000000000000000;
+178 : 00000000000000000000000000000000;
+179 : 00000000000000000000000000000000;
+180 : 00000000000000000000000000000000;
+181 : 00000000000000000000000000000000;
+182 : 00000000000000000000000000000000;
+183 : 00000000000000000000000000000000;
+184 : 00000000000000000000000000000000;
+185 : 00000000000000000000000000000000;
+186 : 00000000000000000000000000000000;
+187 : 00000000000000000000000000000000;
+188 : 00000000000000000000000000000000;
+189 : 00000000000000000000000000000000;
+190 : 00000000000000000000000000000000;
+191 : 00000000000000000000000000000000;
+192 : 00000000000000000000000000000000;
+193 : 00000000000000000000000000000000;
+194 : 00000000000000000000000000000000;
+195 : 00000000000000000000000000000000;
+196 : 00000000000000000000000000000000;
+197 : 00000000000000000000000000000000;
+198 : 00000000000000000000000000000000;
+199 : 00000000000000000000000000000000;
+200 : 00000000000000000000000000000000;
+201 : 00000000000000000000000000000000;
+202 : 00000000000000000000000000000000;
+203 : 00000000000000000000000000000000;
+204 : 00000000000000000000000000000000;
+205 : 00000000000000000000000000000000;
+206 : 00000000000000000000000000000000;
+207 : 00000000000000000000000000000000;
+208 : 00000000000000000000000000000000;
+209 : 00000000000000000000000000000000;
+210 : 00000000000000000000000000000000;
+211 : 00000000000000000000000000000000;
+212 : 00000000000000000000000000000000;
+213 : 00000000000000000000000000000000;
+214 : 00000000000000000000000000000000;
+215 : 00000000000000000000000000000000;
+216 : 00000000000000000000000000000000;
+217 : 00000000000000000000000000000000;
+218 : 00000000000000000000000000000000;
+219 : 00000000000000000000000000000000;
+220 : 00000000000000000000000000000000;
+221 : 00000000000000000000000000000000;
+222 : 00000000000000000000000000000000;
+223 : 00000000000000000000000000000000;
+224 : 00000000000000000000000000000000;
+225 : 00000000000000000000000000000000;
+226 : 00000000000000000000000000000000;
+227 : 00000000000000000000000000000000;
+228 : 00000000000000000000000000000000;
+229 : 00000000000000000000000000000000;
+230 : 00000000000000000000000000000000;
+231 : 00000000000000000000000000000000;
+232 : 00000000000000000000000000000000;
+233 : 00000000000000000000000000000000;
+234 : 00000000000000000000000000000000;
+235 : 00000000000000000000000000000000;
+236 : 00000000000000000000000000000000;
+237 : 00000000000000000000000000000000;
+238 : 00000000000000000000000000000000;
+239 : 00000000000000000000000000000000;
+240 : 00000000000000000000000000000000;
+241 : 00000000000000000000000000000000;
+242 : 00000000000000000000000000000000;
+243 : 00000000000000000000000000000000;
+244 : 00000000000000000000000000000000;
+245 : 00000000000000000000000000000000;
+246 : 00000000000000000000000000000000;
+247 : 00000000000000000000000000000000;
+248 : 00000000000000000000000000000000;
+249 : 00000000000000000000000000000000;
+250 : 00000000000000000000000000000000;
+251 : 00000000000000000000000000000000;
+252 : 00000000000000000000000000000000;
+253 : 00000000000000000000000000000000;
+254 : 00000000000000000000000000000000;
+255 : 00000000000000000000000000000000;
+256 : 00000000000000000000000000000000;
+257 : 00000000000000000000000000000000;
+258 : 00000000000000000000000000000000;
+259 : 00000000000000000000000000000000;
+260 : 00000000000000000000000000000000;
+261 : 00000000000000000000000000000000;
+262 : 00000000000000000000000000000000;
+263 : 00000000000000000000000000000000;
+264 : 00000000000000000000000000000000;
+265 : 00000000000000000000000000000000;
+266 : 00000000000000000000000000000000;
+267 : 00000000000000000000000000000000;
+268 : 00000000000000000000000000000000;
+269 : 00000000000000000000000000000000;
+270 : 00000000000000000000000000000000;
+271 : 00000000000000000000000000000000;
+272 : 00000000000000000000000000000000;
+273 : 00000000000000000000000000000000;
+274 : 00000000000000000000000000000000;
+275 : 00000000000000000000000000000000;
+276 : 00000000000000000000000000000000;
+277 : 00000000000000000000000000000000;
+278 : 00000000000000000000000000000000;
+279 : 00000000000000000000000000000000;
+280 : 00000000000000000000000000000000;
+281 : 00000000000000000000000000000000;
+282 : 00000000000000000000000000000000;
+283 : 00000000000000000000000000000000;
+284 : 00000000000000000000000000000000;
+285 : 00000000000000000000000000000000;
+286 : 00000000000000000000000000000000;
+287 : 00000000000000000000000000000000;
+288 : 00000000000000000000000000000000;
+289 : 00000000000000000000000000000000;
+290 : 00000000000000000000000000000000;
+291 : 00000000000000000000000000000000;
+292 : 00000000000000000000000000000000;
+293 : 00000000000000000000000000000000;
+294 : 00000000000000000000000000000000;
+295 : 00000000000000000000000000000000;
+296 : 00000000000000000000000000000000;
+297 : 00000000000000000000000000000000;
+298 : 00000000000000000000000000000000;
+299 : 00000000000000000000000000000000;
+300 : 00000000000000000000000000000000;
+301 : 00000000000000000000000000000000;
+302 : 00000000000000000000000000000000;
+303 : 00000000000000000000000000000000;
+304 : 00000000000000000000000000000000;
+305 : 00000000000000000000000000000000;
+306 : 00000000000000000000000000000000;
+307 : 00000000000000000000000000000000;
+308 : 00000000000000000000000000000000;
+309 : 00000000000000000000000000000000;
+310 : 00000000000000000000000000000000;
+311 : 00000000000000000000000000000000;
+312 : 00000000000000000000000000000000;
+313 : 00000000000000000000000000000000;
+314 : 00000000000000000000000000000000;
+315 : 00000000000000000000000000000000;
+316 : 00000000000000000000000000000000;
+317 : 00000000000000000000000000000000;
+318 : 00000000000000000000000000000000;
+319 : 00000000000000000000000000000000;
+320 : 00000000000000000000000000000000;
+321 : 00000000000000000000000000000000;
+322 : 00000000000000000000000000000000;
+323 : 00000000000000000000000000000000;
+324 : 00000000000000000000000000000000;
+325 : 00000000000000000000000000000000;
+326 : 00000000000000000000000000000000;
+327 : 00000000000000000000000000000000;
+328 : 00000000000000000000000000000000;
+329 : 00000000000000000000000000000000;
+330 : 00000000000000000000000000000000;
+331 : 00000000000000000000000000000000;
+332 : 00000000000000000000000000000000;
+333 : 00000000000000000000000000000000;
+334 : 00000000000000000000000000000000;
+335 : 00000000000000000000000000000000;
+336 : 00000000000000000000000000000000;
+337 : 00000000000000000000000000000000;
+338 : 00000000000000000000000000000000;
+339 : 00000000000000000000000000000000;
+340 : 00000000000000000000000000000000;
+341 : 00000000000000000000000000000000;
+342 : 00000000000000000000000000000000;
+343 : 00000000000000000000000000000000;
+344 : 00000000000000000000000000000000;
+345 : 00000000000000000000000000000000;
+346 : 00000000000000000000000000000000;
+347 : 00000000000000000000000000000000;
+348 : 00000000000000000000000000000000;
+349 : 00000000000000000000000000000000;
+350 : 00000000000000000000000000000000;
+351 : 00000000000000000000000000000000;
+352 : 00000000000000000000000000000000;
+353 : 00000000000000000000000000000000;
+354 : 00000000000000000000000000000000;
+355 : 00000000000000000000000000000000;
+356 : 00000000000000000000000000000000;
+357 : 00000000000000000000000000000000;
+358 : 00000000000000000000000000000000;
+359 : 00000000000000000000000000000000;
+360 : 00000000000000000000000000000000;
+361 : 00000000000000000000000000000000;
+362 : 00000000000000000000000000000000;
+363 : 00000000000000000000000000000000;
+364 : 00000000000000000000000000000000;
+365 : 00000000000000000000000000000000;
+366 : 00000000000000000000000000000000;
+367 : 00000000000000000000000000000000;
+368 : 00000000000000000000000000000000;
+369 : 00000000000000000000000000000000;
+370 : 00000000000000000000000000000000;
+371 : 00000000000000000000000000000000;
+372 : 00000000000000000000000000000000;
+373 : 00000000000000000000000000000000;
+374 : 00000000000000000000000000000000;
+375 : 00000000000000000000000000000000;
+376 : 00000000000000000000000000000000;
+377 : 00000000000000000000000000000000;
+378 : 00000000000000000000000000000000;
+379 : 00000000000000000000000000000000;
+380 : 00000000000000000000000000000000;
+381 : 00000000000000000000000000000000;
+382 : 00000000000000000000000000000000;
+383 : 00000000000000000000000000000000;
+384 : 00000000000000000000000000000000;
+385 : 00000000000000000000000000000000;
+386 : 00000000000000000000000000000000;
+387 : 00000000000000000000000000000000;
+388 : 00000000000000000000000000000000;
+389 : 00000000000000000000000000000000;
+390 : 00000000000000000000000000000000;
+391 : 00000000000000000000000000000000;
+392 : 00000000000000000000000000000000;
+393 : 00000000000000000000000000000000;
+394 : 00000000000000000000000000000000;
+395 : 00000000000000000000000000000000;
+396 : 00000000000000000000000000000000;
+397 : 00000000000000000000000000000000;
+398 : 00000000000000000000000000000000;
+399 : 00000000000000000000000000000000;
+400 : 00000000000000000000000000000000;
+401 : 00000000000000000000000000000000;
+402 : 00000000000000000000000000000000;
+403 : 00000000000000000000000000000000;
+404 : 00000000000000000000000000000000;
+405 : 00000000000000000000000000000000;
+406 : 00000000000000000000000000000000;
+407 : 00000000000000000000000000000000;
+408 : 00000000000000000000000000000000;
+409 : 00000000000000000000000000000000;
+410 : 00000000000000000000000000000000;
+411 : 00000000000000000000000000000000;
+412 : 00000000000000000000000000000000;
+413 : 00000000000000000000000000000000;
+414 : 00000000000000000000000000000000;
+415 : 00000000000000000000000000000000;
+416 : 00000000000000000000000000000000;
+417 : 00000000000000000000000000000000;
+418 : 00000000000000000000000000000000;
+419 : 00000000000000000000000000000000;
+420 : 00000000000000000000000000000000;
+421 : 00000000000000000000000000000000;
+422 : 00000000000000000000000000000000;
+423 : 00000000000000000000000000000000;
+424 : 00000000000000000000000000000000;
+425 : 00000000000000000000000000000000;
+426 : 00000000000000000000000000000000;
+427 : 00000000000000000000000000000000;
+428 : 00000000000000000000000000000000;
+429 : 00000000000000000000000000000000;
+430 : 00000000000000000000000000000000;
+431 : 00000000000000000000000000000000;
+432 : 00000000000000000000000000000000;
+433 : 00000000000000000000000000000000;
+434 : 00000000000000000000000000000000;
+435 : 00000000000000000000000000000000;
+436 : 00000000000000000000000000000000;
+437 : 00000000000000000000000000000000;
+438 : 00000000000000000000000000000000;
+439 : 00000000000000000000000000000000;
+440 : 00000000000000000000000000000000;
+441 : 00000000000000000000000000000000;
+442 : 00000000000000000000000000000000;
+443 : 00000000000000000000000000000000;
+444 : 00000000000000000000000000000000;
+445 : 00000000000000000000000000000000;
+446 : 00000000000000000000000000000000;
+447 : 00000000000000000000000000000000;
+448 : 00000000000000000000000000000000;
+449 : 00000000000000000000000000000000;
+450 : 00000000000000000000000000000000;
+451 : 00000000000000000000000000000000;
+452 : 00000000000000000000000000000000;
+453 : 00000000000000000000000000000000;
+454 : 00000000000000000000000000000000;
+455 : 00000000000000000000000000000000;
+456 : 00000000000000000000000000000000;
+457 : 00000000000000000000000000000000;
+458 : 00000000000000000000000000000000;
+459 : 00000000000000000000000000000000;
+460 : 00000000000000000000000000000000;
+461 : 00000000000000000000000000000000;
+462 : 00000000000000000000000000000000;
+463 : 00000000000000000000000000000000;
+464 : 00000000000000000000000000000000;
+465 : 00000000000000000000000000000000;
+466 : 00000000000000000000000000000000;
+467 : 00000000000000000000000000000000;
+468 : 00000000000000000000000000000000;
+469 : 00000000000000000000000000000000;
+470 : 00000000000000000000000000000000;
+471 : 00000000000000000000000000000000;
+472 : 00000000000000000000000000000000;
+473 : 00000000000000000000000000000000;
+474 : 00000000000000000000000000000000;
+475 : 00000000000000000000000000000000;
+476 : 00000000000000000000000000000000;
+477 : 00000000000000000000000000000000;
+478 : 00000000000000000000000000000000;
+479 : 00000000000000000000000000000000;
+480 : 00000000000000000000000000000000;
+481 : 00000000000000000000000000000000;
+482 : 00000000000000000000000000000000;
+483 : 00000000000000000000000000000000;
+484 : 00000000000000000000000000000000;
+485 : 00000000000000000000000000000000;
+486 : 00000000000000000000000000000000;
+487 : 00000000000000000000000000000000;
+488 : 00000000000000000000000000000000;
+489 : 00000000000000000000000000000000;
+490 : 00000000000000000000000000000000;
+491 : 00000000000000000000000000000000;
+492 : 00000000000000000000000000000000;
+493 : 00000000000000000000000000000000;
+494 : 00000000000000000000000000000000;
+495 : 00000000000000000000000000000000;
+496 : 00000000000000000000000000000000;
+497 : 00000000000000000000000000000000;
+498 : 00000000000000000000000000000000;
+499 : 00000000000000000000000000000000;
+500 : 00000000000000000000000000000000;
+501 : 00000000000000000000000000000000;
+502 : 00000000000000000000000000000000;
+503 : 00000000000000000000000000000000;
+504 : 00000000000000000000000000000000;
+505 : 00000000000000000000000000000000;
+506 : 00000000000000000000000000000000;
+507 : 00000000000000000000000000000000;
+508 : 00000000000000000000000000000000;
+509 : 00000000000000000000000000000000;
+510 : 00000000000000000000000000000000;
+511 : 00000000000000000000000000000000;
+END;
diff --git a/vpll_conf.mif b/vpll_conf.mif
new file mode 100644
index 0000000..159ee0c
--- /dev/null
+++ b/vpll_conf.mif
@@ -0,0 +1,519 @@
+DEPTH = 512;
+WIDTH = 32;
+ADDRESS_RADIX = UNS;
+DATA_RADIX = BIN;
+CONTENT
+BEGIN
+0 : 00000000000000000000000000111110; -- START OF MIF
+1 : 00000000000000000000000000000100; -- M COUNTER
+2 : 00000000000000000000010000000100;
+3 : 00000000000000000000000000000011; -- N COUNTER
+4 : 00000000000000010000000000000000;
+5 : 00000000000000000000000000000101; -- C0 COUNTER
+6 : 00000000000000100000010100000100;
+7 : 00000000000000000000000000000101; -- C1 COUNTER
+8 : 00000000000001010000000100000001;
+9 : 00000000000000000000000000000101; -- C2 COUNTER
+10 : 00000000000010010000000100000001;
+11 : 00000000000000000000000000000101; -- C3 COUNTER
+12 : 00000000000011010000000100000001;
+13 : 00000000000000000000000000000101; -- C4 COUNTER
+14 : 00000000000100010000000100000001;
+15 : 00000000000000000000000000000101; -- C5 COUNTER
+16 : 00000000000101010000000100000001;
+17 : 00000000000000000000000000000101; -- C6 COUNTER
+18 : 00000000000110010000000100000001;
+19 : 00000000000000000000000000000101; -- C7 COUNTER
+20 : 00000000000111010000000100000001;
+21 : 00000000000000000000000000000101; -- C8 COUNTER
+22 : 00000000001000010000000100000001;
+23 : 00000000000000000000000000000101; -- C9 COUNTER
+24 : 00000000001001010000000100000001;
+25 : 00000000000000000000000000000101; -- C10 COUNTER
+26 : 00000000001010010000000100000001;
+27 : 00000000000000000000000000000101; -- C11 COUNTER
+28 : 00000000001011010000000100000001;
+29 : 00000000000000000000000000000101; -- C12 COUNTER
+30 : 00000000001100010000000100000001;
+31 : 00000000000000000000000000000101; -- C13 COUNTER
+32 : 00000000001101010000000100000001;
+33 : 00000000000000000000000000000101; -- C14 COUNTER
+34 : 00000000001110010000000100000001;
+35 : 00000000000000000000000000000101; -- C15 COUNTER
+36 : 00000000001111010000000100000001;
+37 : 00000000000000000000000000000101; -- C16 COUNTER
+38 : 00000000010000010000000100000001;
+39 : 00000000000000000000000000000101; -- C17 COUNTER
+40 : 00000000010001010000000100000001;
+41 : 00000000000000000000000000001001; -- CHARGE PUMP
+42 : 00000000000000000000000000000010;
+43 : 00000000000000000000000000001000; -- BANDWIDTH SETTING
+44 : 00000000000000000000000000000111;
+45 : 00000000000000000000000000000111; -- M COUNTER FRACTIONAL VALUE
+46 : 10100011110101110000100111101000;
+47 : 00000000000000000000000000111111; -- END OF MIF
+48 : 00000000000000000000000000000000;
+49 : 00000000000000000000000000000000;
+50 : 00000000000000000000000000000000;
+51 : 00000000000000000000000000000000;
+52 : 00000000000000000000000000000000;
+53 : 00000000000000000000000000000000;
+54 : 00000000000000000000000000000000;
+55 : 00000000000000000000000000000000;
+56 : 00000000000000000000000000000000;
+57 : 00000000000000000000000000000000;
+58 : 00000000000000000000000000000000;
+59 : 00000000000000000000000000000000;
+60 : 00000000000000000000000000000000;
+61 : 00000000000000000000000000000000;
+62 : 00000000000000000000000000000000;
+63 : 00000000000000000000000000000000;
+64 : 00000000000000000000000000111110;
+65 : 00000000000000000000000000000100;
+66 : 00000000000000000000010000000100;
+67 : 00000000000000000000000000000011;
+68 : 00000000000000010000000000000000;
+69 : 00000000000000000000000000000101;
+70 : 00000000000000000000010000000100;
+71 : 00000000000000000000000000000101;
+72 : 00000000000001010000000100000001;
+73 : 00000000000000000000000000000101;
+74 : 00000000000010010000000100000001;
+75 : 00000000000000000000000000000101;
+76 : 00000000000011010000000100000001;
+77 : 00000000000000000000000000000101;
+78 : 00000000000100010000000100000001;
+79 : 00000000000000000000000000000101;
+80 : 00000000000101010000000100000001;
+81 : 00000000000000000000000000000101;
+82 : 00000000000110010000000100000001;
+83 : 00000000000000000000000000000101;
+84 : 00000000000111010000000100000001;
+85 : 00000000000000000000000000000101;
+86 : 00000000001000010000000100000001;
+87 : 00000000000000000000000000000101;
+88 : 00000000001001010000000100000001;
+89 : 00000000000000000000000000000101;
+90 : 00000000001010010000000100000001;
+91 : 00000000000000000000000000000101;
+92 : 00000000001011010000000100000001;
+93 : 00000000000000000000000000000101;
+94 : 00000000001100010000000100000001;
+95 : 00000000000000000000000000000101;
+96 : 00000000001101010000000100000001;
+97 : 00000000000000000000000000000101;
+98 : 00000000001110010000000100000001;
+99 : 00000000000000000000000000000101;
+100 : 00000000001111010000000100000001;
+101 : 00000000000000000000000000000101;
+102 : 00000000010000010000000100000001;
+103 : 00000000000000000000000000000101;
+104 : 00000000010001010000000100000001;
+105 : 00000000000000000000000000001001;
+106 : 00000000000000000000000000000010;
+107 : 00000000000000000000000000001000;
+108 : 00000000000000000000000000000111;
+109 : 00000000000000000000000000000111;
+110 : 00000000000000000000000000000001;
+111 : 00000000000000000000000000111111;
+112 : 00000000000000000000000000000000;
+113 : 00000000000000000000000000000000;
+114 : 00000000000000000000000000000000;
+115 : 00000000000000000000000000000000;
+116 : 00000000000000000000000000000000;
+117 : 00000000000000000000000000000000;
+118 : 00000000000000000000000000000000;
+119 : 00000000000000000000000000000000;
+120 : 00000000000000000000000000000000;
+121 : 00000000000000000000000000000000;
+122 : 00000000000000000000000000000000;
+123 : 00000000000000000000000000000000;
+124 : 00000000000000000000000000000000;
+125 : 00000000000000000000000000000000;
+126 : 00000000000000000000000000000000;
+127 : 00000000000000000000000000000000;
+128 : 00000000000000000000000000111110;
+129 : 00000000000000000000000000000100;
+130 : 00000000000000000000010000000100;
+131 : 00000000000000000000000000000011;
+132 : 00000000000000010000000000000000;
+133 : 00000000000000000000000000000101;
+134 : 00000000000000000000001100000011;
+135 : 00000000000000000000000000000101;
+136 : 00000000000001010000000100000001;
+137 : 00000000000000000000000000000101;
+138 : 00000000000010010000000100000001;
+139 : 00000000000000000000000000000101;
+140 : 00000000000011010000000100000001;
+141 : 00000000000000000000000000000101;
+142 : 00000000000100010000000100000001;
+143 : 00000000000000000000000000000101;
+144 : 00000000000101010000000100000001;
+145 : 00000000000000000000000000000101;
+146 : 00000000000110010000000100000001;
+147 : 00000000000000000000000000000101;
+148 : 00000000000111010000000100000001;
+149 : 00000000000000000000000000000101;
+150 : 00000000001000010000000100000001;
+151 : 00000000000000000000000000000101;
+152 : 00000000001001010000000100000001;
+153 : 00000000000000000000000000000101;
+154 : 00000000001010010000000100000001;
+155 : 00000000000000000000000000000101;
+156 : 00000000001011010000000100000001;
+157 : 00000000000000000000000000000101;
+158 : 00000000001100010000000100000001;
+159 : 00000000000000000000000000000101;
+160 : 00000000001101010000000100000001;
+161 : 00000000000000000000000000000101;
+162 : 00000000001110010000000100000001;
+163 : 00000000000000000000000000000101;
+164 : 00000000001111010000000100000001;
+165 : 00000000000000000000000000000101;
+166 : 00000000010000010000000100000001;
+167 : 00000000000000000000000000000101;
+168 : 00000000010001010000000100000001;
+169 : 00000000000000000000000000001001;
+170 : 00000000000000000000000000000010;
+171 : 00000000000000000000000000001000;
+172 : 00000000000000000000000000000111;
+173 : 00000000000000000000000000000111;
+174 : 10100011110101110000100111101000;
+175 : 00000000000000000000000000111111;
+176 : 00000000000000000000000000000000;
+177 : 00000000000000000000000000000000;
+178 : 00000000000000000000000000000000;
+179 : 00000000000000000000000000000000;
+180 : 00000000000000000000000000000000;
+181 : 00000000000000000000000000000000;
+182 : 00000000000000000000000000000000;
+183 : 00000000000000000000000000000000;
+184 : 00000000000000000000000000000000;
+185 : 00000000000000000000000000000000;
+186 : 00000000000000000000000000000000;
+187 : 00000000000000000000000000000000;
+188 : 00000000000000000000000000000000;
+189 : 00000000000000000000000000000000;
+190 : 00000000000000000000000000000000;
+191 : 00000000000000000000000000000000;
+192 : 00000000000000000000000000111110;
+193 : 00000000000000000000000000000100;
+194 : 00000000000000000000010000000100;
+195 : 00000000000000000000000000000011;
+196 : 00000000000000010000000000000000;
+197 : 00000000000000000000000000000101;
+198 : 00000000000000100000010100000100;
+199 : 00000000000000000000000000000101;
+200 : 00000000000001010000000100000001;
+201 : 00000000000000000000000000000101;
+202 : 00000000000010010000000100000001;
+203 : 00000000000000000000000000000101;
+204 : 00000000000011010000000100000001;
+205 : 00000000000000000000000000000101;
+206 : 00000000000100010000000100000001;
+207 : 00000000000000000000000000000101;
+208 : 00000000000101010000000100000001;
+209 : 00000000000000000000000000000101;
+210 : 00000000000110010000000100000001;
+211 : 00000000000000000000000000000101;
+212 : 00000000000111010000000100000001;
+213 : 00000000000000000000000000000101;
+214 : 00000000001000010000000100000001;
+215 : 00000000000000000000000000000101;
+216 : 00000000001001010000000100000001;
+217 : 00000000000000000000000000000101;
+218 : 00000000001010010000000100000001;
+219 : 00000000000000000000000000000101;
+220 : 00000000001011010000000100000001;
+221 : 00000000000000000000000000000101;
+222 : 00000000001100010000000100000001;
+223 : 00000000000000000000000000000101;
+224 : 00000000001101010000000100000001;
+225 : 00000000000000000000000000000101;
+226 : 00000000001110010000000100000001;
+227 : 00000000000000000000000000000101;
+228 : 00000000001111010000000100000001;
+229 : 00000000000000000000000000000101;
+230 : 00000000010000010000000100000001;
+231 : 00000000000000000000000000000101;
+232 : 00000000010001010000000100000001;
+233 : 00000000000000000000000000001001;
+234 : 00000000000000000000000000000010;
+235 : 00000000000000000000000000001000;
+236 : 00000000000000000000000000000111;
+237 : 00000000000000000000000000000111;
+238 : 10100011110101110000100111101000;
+239 : 00000000000000000000000000111111;
+240 : 00000000000000000000000000000000;
+241 : 00000000000000000000000000000000;
+242 : 00000000000000000000000000000000;
+243 : 00000000000000000000000000000000;
+244 : 00000000000000000000000000000000;
+245 : 00000000000000000000000000000000;
+246 : 00000000000000000000000000000000;
+247 : 00000000000000000000000000000000;
+248 : 00000000000000000000000000000000;
+249 : 00000000000000000000000000000000;
+250 : 00000000000000000000000000000000;
+251 : 00000000000000000000000000000000;
+252 : 00000000000000000000000000000000;
+253 : 00000000000000000000000000000000;
+254 : 00000000000000000000000000000000;
+255 : 00000000000000000000000000000000;
+256 : 00000000000000000000000000000000;
+257 : 00000000000000000000000000000000;
+258 : 00000000000000000000000000000000;
+259 : 00000000000000000000000000000000;
+260 : 00000000000000000000000000000000;
+261 : 00000000000000000000000000000000;
+262 : 00000000000000000000000000000000;
+263 : 00000000000000000000000000000000;
+264 : 00000000000000000000000000000000;
+265 : 00000000000000000000000000000000;
+266 : 00000000000000000000000000000000;
+267 : 00000000000000000000000000000000;
+268 : 00000000000000000000000000000000;
+269 : 00000000000000000000000000000000;
+270 : 00000000000000000000000000000000;
+271 : 00000000000000000000000000000000;
+272 : 00000000000000000000000000000000;
+273 : 00000000000000000000000000000000;
+274 : 00000000000000000000000000000000;
+275 : 00000000000000000000000000000000;
+276 : 00000000000000000000000000000000;
+277 : 00000000000000000000000000000000;
+278 : 00000000000000000000000000000000;
+279 : 00000000000000000000000000000000;
+280 : 00000000000000000000000000000000;
+281 : 00000000000000000000000000000000;
+282 : 00000000000000000000000000000000;
+283 : 00000000000000000000000000000000;
+284 : 00000000000000000000000000000000;
+285 : 00000000000000000000000000000000;
+286 : 00000000000000000000000000000000;
+287 : 00000000000000000000000000000000;
+288 : 00000000000000000000000000000000;
+289 : 00000000000000000000000000000000;
+290 : 00000000000000000000000000000000;
+291 : 00000000000000000000000000000000;
+292 : 00000000000000000000000000000000;
+293 : 00000000000000000000000000000000;
+294 : 00000000000000000000000000000000;
+295 : 00000000000000000000000000000000;
+296 : 00000000000000000000000000000000;
+297 : 00000000000000000000000000000000;
+298 : 00000000000000000000000000000000;
+299 : 00000000000000000000000000000000;
+300 : 00000000000000000000000000000000;
+301 : 00000000000000000000000000000000;
+302 : 00000000000000000000000000000000;
+303 : 00000000000000000000000000000000;
+304 : 00000000000000000000000000000000;
+305 : 00000000000000000000000000000000;
+306 : 00000000000000000000000000000000;
+307 : 00000000000000000000000000000000;
+308 : 00000000000000000000000000000000;
+309 : 00000000000000000000000000000000;
+310 : 00000000000000000000000000000000;
+311 : 00000000000000000000000000000000;
+312 : 00000000000000000000000000000000;
+313 : 00000000000000000000000000000000;
+314 : 00000000000000000000000000000000;
+315 : 00000000000000000000000000000000;
+316 : 00000000000000000000000000000000;
+317 : 00000000000000000000000000000000;
+318 : 00000000000000000000000000000000;
+319 : 00000000000000000000000000000000;
+320 : 00000000000000000000000000000000;
+321 : 00000000000000000000000000000000;
+322 : 00000000000000000000000000000000;
+323 : 00000000000000000000000000000000;
+324 : 00000000000000000000000000000000;
+325 : 00000000000000000000000000000000;
+326 : 00000000000000000000000000000000;
+327 : 00000000000000000000000000000000;
+328 : 00000000000000000000000000000000;
+329 : 00000000000000000000000000000000;
+330 : 00000000000000000000000000000000;
+331 : 00000000000000000000000000000000;
+332 : 00000000000000000000000000000000;
+333 : 00000000000000000000000000000000;
+334 : 00000000000000000000000000000000;
+335 : 00000000000000000000000000000000;
+336 : 00000000000000000000000000000000;
+337 : 00000000000000000000000000000000;
+338 : 00000000000000000000000000000000;
+339 : 00000000000000000000000000000000;
+340 : 00000000000000000000000000000000;
+341 : 00000000000000000000000000000000;
+342 : 00000000000000000000000000000000;
+343 : 00000000000000000000000000000000;
+344 : 00000000000000000000000000000000;
+345 : 00000000000000000000000000000000;
+346 : 00000000000000000000000000000000;
+347 : 00000000000000000000000000000000;
+348 : 00000000000000000000000000000000;
+349 : 00000000000000000000000000000000;
+350 : 00000000000000000000000000000000;
+351 : 00000000000000000000000000000000;
+352 : 00000000000000000000000000000000;
+353 : 00000000000000000000000000000000;
+354 : 00000000000000000000000000000000;
+355 : 00000000000000000000000000000000;
+356 : 00000000000000000000000000000000;
+357 : 00000000000000000000000000000000;
+358 : 00000000000000000000000000000000;
+359 : 00000000000000000000000000000000;
+360 : 00000000000000000000000000000000;
+361 : 00000000000000000000000000000000;
+362 : 00000000000000000000000000000000;
+363 : 00000000000000000000000000000000;
+364 : 00000000000000000000000000000000;
+365 : 00000000000000000000000000000000;
+366 : 00000000000000000000000000000000;
+367 : 00000000000000000000000000000000;
+368 : 00000000000000000000000000000000;
+369 : 00000000000000000000000000000000;
+370 : 00000000000000000000000000000000;
+371 : 00000000000000000000000000000000;
+372 : 00000000000000000000000000000000;
+373 : 00000000000000000000000000000000;
+374 : 00000000000000000000000000000000;
+375 : 00000000000000000000000000000000;
+376 : 00000000000000000000000000000000;
+377 : 00000000000000000000000000000000;
+378 : 00000000000000000000000000000000;
+379 : 00000000000000000000000000000000;
+380 : 00000000000000000000000000000000;
+381 : 00000000000000000000000000000000;
+382 : 00000000000000000000000000000000;
+383 : 00000000000000000000000000000000;
+384 : 00000000000000000000000000000000;
+385 : 00000000000000000000000000000000;
+386 : 00000000000000000000000000000000;
+387 : 00000000000000000000000000000000;
+388 : 00000000000000000000000000000000;
+389 : 00000000000000000000000000000000;
+390 : 00000000000000000000000000000000;
+391 : 00000000000000000000000000000000;
+392 : 00000000000000000000000000000000;
+393 : 00000000000000000000000000000000;
+394 : 00000000000000000000000000000000;
+395 : 00000000000000000000000000000000;
+396 : 00000000000000000000000000000000;
+397 : 00000000000000000000000000000000;
+398 : 00000000000000000000000000000000;
+399 : 00000000000000000000000000000000;
+400 : 00000000000000000000000000000000;
+401 : 00000000000000000000000000000000;
+402 : 00000000000000000000000000000000;
+403 : 00000000000000000000000000000000;
+404 : 00000000000000000000000000000000;
+405 : 00000000000000000000000000000000;
+406 : 00000000000000000000000000000000;
+407 : 00000000000000000000000000000000;
+408 : 00000000000000000000000000000000;
+409 : 00000000000000000000000000000000;
+410 : 00000000000000000000000000000000;
+411 : 00000000000000000000000000000000;
+412 : 00000000000000000000000000000000;
+413 : 00000000000000000000000000000000;
+414 : 00000000000000000000000000000000;
+415 : 00000000000000000000000000000000;
+416 : 00000000000000000000000000000000;
+417 : 00000000000000000000000000000000;
+418 : 00000000000000000000000000000000;
+419 : 00000000000000000000000000000000;
+420 : 00000000000000000000000000000000;
+421 : 00000000000000000000000000000000;
+422 : 00000000000000000000000000000000;
+423 : 00000000000000000000000000000000;
+424 : 00000000000000000000000000000000;
+425 : 00000000000000000000000000000000;
+426 : 00000000000000000000000000000000;
+427 : 00000000000000000000000000000000;
+428 : 00000000000000000000000000000000;
+429 : 00000000000000000000000000000000;
+430 : 00000000000000000000000000000000;
+431 : 00000000000000000000000000000000;
+432 : 00000000000000000000000000000000;
+433 : 00000000000000000000000000000000;
+434 : 00000000000000000000000000000000;
+435 : 00000000000000000000000000000000;
+436 : 00000000000000000000000000000000;
+437 : 00000000000000000000000000000000;
+438 : 00000000000000000000000000000000;
+439 : 00000000000000000000000000000000;
+440 : 00000000000000000000000000000000;
+441 : 00000000000000000000000000000000;
+442 : 00000000000000000000000000000000;
+443 : 00000000000000000000000000000000;
+444 : 00000000000000000000000000000000;
+445 : 00000000000000000000000000000000;
+446 : 00000000000000000000000000000000;
+447 : 00000000000000000000000000000000;
+448 : 00000000000000000000000000000000;
+449 : 00000000000000000000000000000000;
+450 : 00000000000000000000000000000000;
+451 : 00000000000000000000000000000000;
+452 : 00000000000000000000000000000000;
+453 : 00000000000000000000000000000000;
+454 : 00000000000000000000000000000000;
+455 : 00000000000000000000000000000000;
+456 : 00000000000000000000000000000000;
+457 : 00000000000000000000000000000000;
+458 : 00000000000000000000000000000000;
+459 : 00000000000000000000000000000000;
+460 : 00000000000000000000000000000000;
+461 : 00000000000000000000000000000000;
+462 : 00000000000000000000000000000000;
+463 : 00000000000000000000000000000000;
+464 : 00000000000000000000000000000000;
+465 : 00000000000000000000000000000000;
+466 : 00000000000000000000000000000000;
+467 : 00000000000000000000000000000000;
+468 : 00000000000000000000000000000000;
+469 : 00000000000000000000000000000000;
+470 : 00000000000000000000000000000000;
+471 : 00000000000000000000000000000000;
+472 : 00000000000000000000000000000000;
+473 : 00000000000000000000000000000000;
+474 : 00000000000000000000000000000000;
+475 : 00000000000000000000000000000000;
+476 : 00000000000000000000000000000000;
+477 : 00000000000000000000000000000000;
+478 : 00000000000000000000000000000000;
+479 : 00000000000000000000000000000000;
+480 : 00000000000000000000000000000000;
+481 : 00000000000000000000000000000000;
+482 : 00000000000000000000000000000000;
+483 : 00000000000000000000000000000000;
+484 : 00000000000000000000000000000000;
+485 : 00000000000000000000000000000000;
+486 : 00000000000000000000000000000000;
+487 : 00000000000000000000000000000000;
+488 : 00000000000000000000000000000000;
+489 : 00000000000000000000000000000000;
+490 : 00000000000000000000000000000000;
+491 : 00000000000000000000000000000000;
+492 : 00000000000000000000000000000000;
+493 : 00000000000000000000000000000000;
+494 : 00000000000000000000000000000000;
+495 : 00000000000000000000000000000000;
+496 : 00000000000000000000000000000000;
+497 : 00000000000000000000000000000000;
+498 : 00000000000000000000000000000000;
+499 : 00000000000000000000000000000000;
+500 : 00000000000000000000000000000000;
+501 : 00000000000000000000000000000000;
+502 : 00000000000000000000000000000000;
+503 : 00000000000000000000000000000000;
+504 : 00000000000000000000000000000000;
+505 : 00000000000000000000000000000000;
+506 : 00000000000000000000000000000000;
+507 : 00000000000000000000000000000000;
+508 : 00000000000000000000000000000000;
+509 : 00000000000000000000000000000000;
+510 : 00000000000000000000000000000000;
+511 : 00000000000000000000000000000000;
+END;