--************************************************--
--**          Blok hodin pro MC Mazard          **--
--**   Autor: Leos Marsalek    (c) 2002-2003    **--
--**     E-mail: Leos.Marsalek@tiscali.cz       **--
--**      Spolupracovali : Lukas Vaculík,       **--
--**              Miroslav Copian               **--
--************************************************--

library IEEE;                                   -- Zviditelnìní knihovny
use IEEE.std_logic_1164.all;                         -- Vyu¾ití knihovny

entity clock is                                  --entita hodin
generic (Tpw Time:=25 ns;                        --¹íøka pulsu
Tps Time:=25 nS);                              --fazove posunuti
port (reset:in std_logic:='1';clk1clk2clk3,notclk1,notclk2,notclk3 out std_logic:='1');
end clock;

architecture behaviour of clock is
signal 
clk
:STD_logic;
begin
clock_driver 
process                                 -- proces k vytvoøeni hodin
begin
     if reset
='0' then
      clk 
<= '1''0' after Tpw;
    clk1<=clk;
    notclk1<=not clk;
    clk <= '1' after Tpw+Tps-10 ns'0' after Tpw+Tps+Tpw-10 nS;
      clk2<=clk;
    notclk2<=not clk;
    clk <= '1' after (Tpw+Tps+Tpw),'0' after 2*(Tpw+Tps);
    clk3<=clk;
    notclk3<=not clk;
    wait for 100 nS;
else
    wait for 100 nS
;
    clk1 <= '0';
    clk2 <= '0';
      clk3 <= '0';
      notclk1<= '0';   
      notclk2<= '0';
      notclk3<= '0';     
end if
;
     
end process clock_driver;
end behaviour;