Initial commit
This commit is contained in:
70
Libs/Lattice/hdl/pll_vga_Structure.vhd
Normal file
70
Libs/Lattice/hdl/pll_vga_Structure.vhd
Normal file
@@ -0,0 +1,70 @@
|
||||
library IEEE;
|
||||
use IEEE.std_logic_1164.all;
|
||||
library ECP5U;
|
||||
use ECP5U.components.all;
|
||||
|
||||
ENTITY pll_vga IS
|
||||
PORT(
|
||||
clkIn100M : IN std_ulogic;
|
||||
clk25MHz : OUT std_ulogic;
|
||||
pllLocked : OUT std_ulogic
|
||||
);
|
||||
|
||||
-- Declarations
|
||||
|
||||
END pll_vga ;
|
||||
|
||||
architecture Structure of pll_vga is
|
||||
|
||||
-- internal signal declarations
|
||||
signal REFCLK: std_logic;
|
||||
signal CLKOP_t: std_logic;
|
||||
signal CLKFB_t: std_logic;
|
||||
signal scuba_vhi: std_logic;
|
||||
signal scuba_vlo: std_logic;
|
||||
|
||||
attribute FREQUENCY_PIN_CLKOP : string;
|
||||
attribute FREQUENCY_PIN_CLKI : string;
|
||||
attribute ICP_CURRENT : string;
|
||||
attribute LPF_RESISTOR : string;
|
||||
attribute FREQUENCY_PIN_CLKOP of PLLInst_0 : label is "25.000000";
|
||||
attribute FREQUENCY_PIN_CLKI of PLLInst_0 : label is "100.000000";
|
||||
attribute ICP_CURRENT of PLLInst_0 : label is "6";
|
||||
attribute LPF_RESISTOR of PLLInst_0 : label is "16";
|
||||
attribute syn_keep : boolean;
|
||||
attribute NGD_DRC_MASK : integer;
|
||||
attribute NGD_DRC_MASK of Structure : architecture is 1;
|
||||
|
||||
begin
|
||||
-- component instantiation statements
|
||||
scuba_vhi_inst: VHI
|
||||
port map (Z=>scuba_vhi);
|
||||
|
||||
scuba_vlo_inst: VLO
|
||||
port map (Z=>scuba_vlo);
|
||||
|
||||
PLLInst_0: EHXPLLL
|
||||
generic map (PLLRST_ENA=> "DISABLED", INTFB_WAKE=> "DISABLED",
|
||||
STDBY_ENABLE=> "DISABLED", DPHASE_SOURCE=> "DISABLED",
|
||||
CLKOS3_FPHASE=> 0, CLKOS3_CPHASE=> 0, CLKOS2_FPHASE=> 0,
|
||||
CLKOS2_CPHASE=> 0, CLKOS_FPHASE=> 0, CLKOS_CPHASE=> 0,
|
||||
CLKOP_FPHASE=> 0, CLKOP_CPHASE=> 25, PLL_LOCK_MODE=> 0,
|
||||
CLKOS_TRIM_DELAY=> 0, CLKOS_TRIM_POL=> "FALLING",
|
||||
CLKOP_TRIM_DELAY=> 0, CLKOP_TRIM_POL=> "FALLING",
|
||||
OUTDIVIDER_MUXD=> "DIVD", CLKOS3_ENABLE=> "DISABLED",
|
||||
OUTDIVIDER_MUXC=> "DIVC", CLKOS2_ENABLE=> "DISABLED",
|
||||
OUTDIVIDER_MUXB=> "DIVB", CLKOS_ENABLE=> "DISABLED",
|
||||
OUTDIVIDER_MUXA=> "DIVA", CLKOP_ENABLE=> "ENABLED", CLKOS3_DIV=> 1,
|
||||
CLKOS2_DIV=> 1, CLKOS_DIV=> 1, CLKOP_DIV=> 26, CLKFB_DIV=> 1,
|
||||
CLKI_DIV=> 4, FEEDBK_PATH=> "INT_OP")
|
||||
port map (CLKI=>clkIn100M, CLKFB=>CLKFB_t, PHASESEL1=>scuba_vlo,
|
||||
PHASESEL0=>scuba_vlo, PHASEDIR=>scuba_vlo,
|
||||
PHASESTEP=>scuba_vlo, PHASELOADREG=>scuba_vlo,
|
||||
STDBY=>scuba_vlo, PLLWAKESYNC=>scuba_vlo, RST=>scuba_vlo,
|
||||
ENCLKOP=>scuba_vlo, ENCLKOS=>scuba_vlo, ENCLKOS2=>scuba_vlo,
|
||||
ENCLKOS3=>scuba_vlo, CLKOP=>CLKOP_t, CLKOS=>open,
|
||||
CLKOS2=>open, CLKOS3=>open, LOCK=>pllLocked, INTLOCK=>open,
|
||||
REFCLK=>REFCLK, CLKINTFB=>CLKFB_t);
|
||||
|
||||
clk25MHz <= CLKOP_t;
|
||||
end Structure;
|
||||
Reference in New Issue
Block a user