Project

General

Profile

LIBRARY ieee;
USE ieee.std_logic_1164.all;
use ieee.numeric_std.all;


ENTITY pll IS
PORT
(
inclk0 : IN STD_LOGIC;
c0 : OUT STD_LOGIC;
locked : OUT STD_LOGIC
);
END pll;

ARCHITECTURE vhdl OF pll IS
constant CLK0_PERIOD : time := 1 us / (1.79*32);
begin
p_clk_gen_a : process
begin
if inclk0/= '1' then
wait until (inclk0='1');
end if;
c0 <= '1';
wait for clk0_period/2;
c0 <= '0';
wait for clk0_period - (clk0_period/2 );
c0 <= '1';
wait for CLK0_PERIOD/2;
c0 <= '0';
wait for CLK0_PERIOD - (CLK0_PERIOD/2 );
c0 <= '1';
wait for clk0_period/2;
c0 <= '0';
wait for clk0_period - (clk0_period/2 );
c0 <= '1';
wait for CLK0_PERIOD/2;
c0 <= '0';
wait for CLK0_PERIOD - (CLK0_PERIOD/2 );
c0 <= '1';
wait for clk0_period/2;
c0 <= '0';
wait for clk0_period - (clk0_period/2 );
c0 <= '1';
wait for CLK0_PERIOD/2;
c0 <= '0';
wait for CLK0_PERIOD - (CLK0_PERIOD/2 );
c0 <= '1';
wait for clk0_period/2;
c0 <= '0';
wait for clk0_period - (clk0_period/2 );
c0 <= '1';
wait for CLK0_PERIOD/2;
c0 <= '0';
wait for CLK0_PERIOD - (CLK0_PERIOD/2 );
c0 <= '1';
wait for clk0_period/2;
c0 <= '0';
wait for clk0_period - (clk0_period/2 );
c0 <= '1';
wait for CLK0_PERIOD/2;
c0 <= '0';
wait for CLK0_PERIOD - (CLK0_PERIOD/2 );
c0 <= '1';
wait for clk0_period/2;
c0 <= '0';
wait for clk0_period - (clk0_period/2 );
c0 <= '1';
wait for CLK0_PERIOD/2;
c0 <= '0';
wait for CLK0_PERIOD - (CLK0_PERIOD/2 );
c0 <= '1';
wait for clk0_period/2;
c0 <= '0';
wait for clk0_period - (clk0_period/2 );
c0 <= '1';
wait for CLK0_PERIOD/2;
c0 <= '0';
wait for CLK0_PERIOD - (CLK0_PERIOD/2 );
c0 <= '1';
wait for clk0_period/2;
c0 <= '0';
wait for clk0_period - (clk0_period/2 );
c0 <= '1';
wait for CLK0_PERIOD/2;
c0 <= '0';
wait for CLK0_PERIOD - (CLK0_PERIOD/2 );
c0 <= '1';
wait for clk0_period/2;
c0 <= '0';
wait for clk0_period - (clk0_period/2 );
c0 <= '1';
wait for CLK0_PERIOD/2;
c0 <= '0';
wait for CLK0_PERIOD - (CLK0_PERIOD/2 );
c0 <= '1';
wait for clk0_period/2;
c0 <= '0';
wait for clk0_period - (clk0_period/2 );
c0 <= '1';
wait for CLK0_PERIOD/2;
c0 <= '0';
wait for CLK0_PERIOD - (CLK0_PERIOD/2 );
c0 <= '1';
wait for clk0_period/2;
c0 <= '0';
wait for clk0_period - (clk0_period/2 );
c0 <= '1';
wait for CLK0_PERIOD/2;
c0 <= '0';
wait for CLK0_PERIOD - (CLK0_PERIOD/2 );
c0 <= '1';
wait for clk0_period/2;
c0 <= '0';
wait for clk0_period - (clk0_period/2 );
c0 <= '1';
wait for CLK0_PERIOD/2;
c0 <= '0';
wait for CLK0_PERIOD - (CLK0_PERIOD/2 );
c0 <= '1';
wait for clk0_period/2;
c0 <= '0';
wait for clk0_period - (clk0_period/2 );
c0 <= '1';
wait for CLK0_PERIOD/2;
c0 <= '0';
wait for CLK0_PERIOD - (CLK0_PERIOD/2 );
c0 <= '1';
wait for clk0_period/2;
c0 <= '0';
wait for clk0_period - (clk0_period/2 );
c0 <= '1';
wait for CLK0_PERIOD/2;
c0 <= '0';
wait for CLK0_PERIOD - (CLK0_PERIOD/2 );
c0 <= '1';
wait for clk0_period/2;
c0 <= '0';
wait for clk0_period - (clk0_period/2 );
c0 <= '1';
wait for CLK0_PERIOD/2;
c0 <= '0';
wait for CLK0_PERIOD - (CLK0_PERIOD/2 );
c0 <= '1';
wait for clk0_period/2;
c0 <= '0';
wait for CLK0_PERIOD - (CLK0_PERIOD/2 );
c0 <= '1';
wait for clk0_period/2;
c0 <= '0';
end process;

locked <= '0', '1' after 2000ns;
end vhdl;

(4-4/5)